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.
