]> git.madduck.net Git - etc/vim.git/blobdiff - black.py

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:

Simplify caching logic.
[etc/vim.git] / black.py
index b66ad0d00b9e7c1574011c5146c8f6e380488973..ab2394e485729151a0eef7615c30b1fc2f7faf5e 100644 (file)
--- a/black.py
+++ b/black.py
@@ -399,14 +399,9 @@ def reformat_one(
                 mode=mode,
             ):
                 changed = Changed.YES
-            if write_back is WriteBack.YES:
-                should_write = changed is not Changed.CACHED
-            elif write_back is WriteBack.CHECK:
-                should_write = changed is Changed.NO
-            else:
-                should_write = False
-
-            if should_write:
+            if (write_back is WriteBack.YES and changed is not Changed.CACHED) or (
+                write_back is WriteBack.CHECK and changed is Changed.NO
+            ):
                 write_cache(cache, [src], line_length, mode)
         report.done(src, changed)
     except Exception as exc:
@@ -437,7 +432,7 @@ async def schedule_formatting(
         for src in sorted(cached):
             report.done(src, Changed.CACHED)
     cancelled = []
-    formatted = []
+    sources_to_cache = []
     if sources:
         lock = None
         if write_back == WriteBack.DIFF:
@@ -475,17 +470,17 @@ async def schedule_formatting(
                     report.failed(src, str(task.exception()))
                 else:
                     changed = Changed.YES if task.result() else Changed.NO
-                    # In normal mode, write all files to the cache.
-                    if write_back is WriteBack.YES:
-                        formatted.append(src)
-                    # In check mode, write only unchanged files to the cache.
-                    elif write_back is WriteBack.CHECK and changed is Changed.NO:
-                        formatted.append(src)
+                    # If the file was written back or was successfully checked as
+                    # well-formatted, store this information in the cache.
+                    if write_back is WriteBack.YES or (
+                        write_back is WriteBack.CHECK and changed is Changed.NO
+                    ):
+                        sources_to_cache.append(src)
                     report.done(src, changed)
     if cancelled:
         await asyncio.gather(*cancelled, loop=loop, return_exceptions=True)
-    if write_back in (WriteBack.YES, WriteBack.CHECK) and formatted:
-        write_cache(cache, formatted, line_length, mode)
+    if sources_to_cache:
+        write_cache(cache, sources_to_cache, line_length, mode)
 
 
 def format_file_in_place(