Hi Claudio Just to note there are other python formatters available, for instance yapf https://pypi.org/project/yapf/ which you mind find of value. It can be used in BBedit in a similar way
On Wednesday, December 27, 2023 at 1:22:00 PM UTC-5 Claudio Pedrazzi wrote: > Hi Jean > I sincerely thank you for your rather comprehensive and instructive > reply. I installed black (it also installs with *pip3 install black*) > and tried it on my code. It does much more than just fix the indentation! > I don't always agree with the changes. Also I do not like that it > overwrites the original source file. However, this has nothing to do with > my question, which I consider adequately answered. I now understand that > indenting Python code is not as "straightforward" as I thought. > Thanks again for the clarification > Claudio Pedrazzi > > Il giorno mer 27 dic 2023 alle ore 16:23 jj <[email protected]> ha scritto: > >> Hi Claudio, >> >> You should never infer that something cannot be done with BBEdit. >> BBEdit has an incredibly useful toolset for editing text and code. >> So there is certainly a way with regular expressions to do what you want. >> >> But ... reformatting Python code is not as simple as it sounds because of >> indentation, >> line width wrapping, etc. >> >> The recommended *Black* Python formatter is a tool that addresses those >> difficulties. >> >> You can install it on you system with *Homebrew* <https://brew.sh>. >> >> Once *Homebrew *is installed, use it in the terminal to install *black*: >> >> % brew install black >> >> Once *black *is installed, you can use it from the terminal: >> >> % black /path/to/your/python_file.py >> >> Or you can also create a BBEdit Text Filter that will allow you to use it >> from BBEdit. >> >> Create a file with this content at this location ~/Library/Application >> Support/BBEdit/Text Filters/black.sh. >> >> #!/usr/bin/env zsh >> >> black -q - >> >> Give the *black.sh* shell script the executable permissions. >> You should now have in BBEdit a menu *Text > Apply Text Filter > black* you >> can use to reformat you python files. >> >> If you need help on *black*, in the terminal type: >> >> % black --help >> >> HTH >> >> Jean Jourdain >> >> On Tuesday, December 26, 2023 at 2:30:07 PM UTC+1 Claudio Pedrazzi wrote: >> >>> Hi Jean >>> >>> thanks a lot for the reply! >>> >>> So can I infer from your answer, that BBEdit is not able to do the >>> requested task, even in the paid (pro) version? >>> >>> Claudio >>> >>> Il giorno lunedì 25 dicembre 2023 alle 21:09:05 UTC+1 jj ha scritto: >>> >>>> Claudio, >>>> >>>> You should take a look at : >>>> https://github.com/psf/black >>>> HTH >>>> >>>> Jean Jourdain >>>> >>>> On Monday, December 25, 2023 at 6:05:52 PM UTC+1 Claudio Pedrazzi wrote: >>>> >>>>> Hi everyone, >>>>> this is my first post here and I hope I am in the right place. I have >>>>> a python code of about a thousand lines, contained in a .py file, and I >>>>> would like to fix, possibly automatically, the indentation (i.e. at the >>>>> first level four characters, then eight, and so on, as the standard >>>>> requires). >>>>> To explain myself better, the code is correct and it works, but some >>>>> parts are indented 2 characters, some 3, and some 4. I am trying to do >>>>> this >>>>> with BBedit, of which I have the pro version (the paid one). I don't know >>>>> if this is the right way but I use Markup > Utilities > Format and I >>>>> always >>>>> get an error: Unespected EOF; Document ended in the middle of a tag. >>>>> Maybe >>>>> I'm not using the right function? Are there ways to get this result? >>>>> If not, are there other free tools to perform this task? >>>>> I have to say that I am not very proficient with scripting and such >>>>> extensions, I would like a simple "menu based" solution, of course if it >>>>> exists. >>>>> >>>>> Thanks a lots in advance >>>>> Best regards >>>>> Claudio >>>>> >>>>> >>>>> -- >> This is the BBEdit Talk public discussion group. If you have a feature >> request or need technical support, please email "[email protected]" >> rather than posting here. Follow @bbedit on Twitter: < >> https://twitter.com/bbedit> >> --- >> You received this message because you are subscribed to the Google Groups >> "BBEdit Talk" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/bbedit/e79ac135-dfd9-41d7-a314-0ccda42b49c7n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/bbedit/e79ac135-dfd9-41d7-a314-0ccda42b49c7n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- This is the BBEdit Talk public discussion group. If you have a feature request or need technical support, please email "[email protected]" rather than posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit> --- You received this message because you are subscribed to the Google Groups "BBEdit Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/bbedit/fc5088e2-14e2-495f-adf3-416c5c05e8b9n%40googlegroups.com.
