Hi Claudio,
I mainly use Black for Python formatting as well. 
They have nice documentation that shows how to customize its output. 
That may get you closer to what you want. 
https://black.readthedocs.io/en/stable/index.html

On Wednesday, December 27, 2023 at 2:11:06 PM UTC-5 Todd Ingalls wrote:

> 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/35e351c1-ad2f-472e-9c5d-b246f7ac66d2n%40googlegroups.com.

Reply via email to