]> git.madduck.net Git - etc/vim.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Fix indent calculation with tabs when computing prefixes (#595)
authorSamuel Cormier-Iijima <samuel@cormier-iijima.com>
Tue, 5 Feb 2019 02:55:01 +0000 (21:55 -0500)
committerJelle Zijlstra <jelle.zijlstra@gmail.com>
Tue, 5 Feb 2019 02:55:01 +0000 (18:55 -0800)
Closes #262

blib2to3/pgen2/driver.py
tests/test_black.py

index 72d9f4785c12f07f0c0f86c597dad54e1848df78..6626c055d2eb141a8b17136639ec338e56f52d0b 100644 (file)
@@ -131,10 +131,8 @@ class Driver(object):
                     current_line = ""
                     current_column = 0
                     wait_for_nl = False
                     current_line = ""
                     current_column = 0
                     wait_for_nl = False
-            elif char == ' ':
+            elif char in ' \t':
                 current_column += 1
                 current_column += 1
-            elif char == '\t':
-                current_column += 4
             elif char == '\n':
                 # unexpected empty line
                 current_column = 0
             elif char == '\n':
                 # unexpected empty line
                 current_column = 0
index b3f1f8262d3437e3203683e972db5cc64c8bf454..92031ca18984c945ea6f4b69e797698531c0454f 100644 (file)
@@ -509,6 +509,19 @@ class BlackTestCase(unittest.TestCase):
         black.assert_equivalent(source, actual)
         black.assert_stable(source, actual, line_length=ll)
 
         black.assert_equivalent(source, actual)
         black.assert_stable(source, actual, line_length=ll)
 
+    def test_comment_indentation(self) -> None:
+        contents_tab = "if 1:\n\tif 2:\n\t\tpass\n\t# comment\n\tpass\n"
+        contents_spc = "if 1:\n    if 2:\n        pass\n    # comment\n    pass\n"
+
+        self.assertFormatEqual(fs(contents_spc), contents_spc)
+        self.assertFormatEqual(fs(contents_tab), contents_spc)
+
+        contents_tab = "if 1:\n\tif 2:\n\t\tpass\n\t\t# comment\n\tpass\n"
+        contents_spc = "if 1:\n    if 2:\n        pass\n        # comment\n    pass\n"
+
+        self.assertFormatEqual(fs(contents_tab), contents_spc)
+        self.assertFormatEqual(fs(contents_spc), contents_spc)
+
     def test_report_verbose(self) -> None:
         report = black.Report(verbose=True)
         out_lines = []
     def test_report_verbose(self) -> None:
         report = black.Report(verbose=True)
         out_lines = []