Black: Long string remains unchanged, can black make them in multine representation [help]

Created on 1 Jul 2020  ·  5Comments  ·  Source: psf/black

Before:

value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"

After running black --line-length 80 file.py: (long string remains unchanged)

value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"

Expected behavior (something close to this):

value = """aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj
        sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj
        dsklfj dsklfj dsklfj dsklfj dsklfj dkl"""

or

value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj" \
        "sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj" \
        "dsklfj dsklfj dsklfj dsklfj dsklfj dkl"

[Q] Long string remains unchanged, can python-black convert them into multine?

enhancement

Most helpful comment

pip install git+git://github.com/psf/black

All 5 comments

Black already does wrap long string literals due to #1132. We haven't released a new version yet though, so it only lives in the master branch of this repo.

(black) richard-26@ubuntu-laptop:~/programming/black$ black test.py -l 80 --color --diff
--- test.py 2020-07-01 14:36:24.700946 +0000
+++ test.py 2020-07-01 14:36:38.436792 +0000
@@ -1 +1,4 @@
-value = "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"
+value = (
+    "aldkfdskdksfjdskfj dslkfj sdkl dklsfj dsklfj sdklfjdsklfjdskl fjdskl"
+    " jdsklf jdsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dsklfj dkl"
+)
would reformat test.py
All done! ✨ 🍰 ✨
1 file would be reformatted.

@ichard26 Thats great! //How could I use the master version?

Could I do with following line:

pip install https://github.com/psf/black/master.zip

pip install git+git://github.com/psf/black

@cooperlees : Also what should I write into .pre-commit-config.yaml. I updated as but it did not recognize it as a valid rev:

❯ black --version
black, version 19.10b1.dev123+g2471b92
-   repo: https://github.com/psf/black
    rev: 19.10b1.dev123+g2471b92
    hooks:
      - id: black
        name: black

Black has it own custom version output that isn't compatible with git so referencing the exact commit is necessary:

-   repo: https://github.com/psf/black
    rev: 2471b9256d9d9dfea1124d20072201693b9b0865
    hooks:
      - id: black
        name: black

Please note that if you update your pip installed installation of Black. it will be out of sync with your pre-commit version of Black.

Was this page helpful?
0 / 5 - 0 ratings