Collapse level 2 not working for python language
-
Collapse level 1 works but Collapse level 2 doesn’t work for following Python code. [Notepad++ v7.5.8 (32-bit)].
Language is set to Python.class C1: def f1(): pass def f2(): pass
The fold margin shows the fold level correctly. If i put cursor inside a function and click Collapse current level, then it works correctly.
Is this a bug?
Thanks,
Karun -
I tried on v7.5.6 32bit, and it seems to not work right for me: collapse level 2 doesn’t collapse the two
def
’s. When I switched to a different language (Perl), withsub blah { do { tertiary: { 1; } }; while(1) { } }
I was able to properly collapse and uncollapse levels 1, 2, or 3 without difficulty in Perl; but if I switch the language to python, it will only do level 1.
Thus, it doesn’t seem to be solely the fault of v7.5.8, and it seems to be limited to Python.
I just searched the issues page, and found https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4633 already reported … Based on what they said there (each space if indent gives a new level), I tried to collapse level 5 on your example, and the two def’s collapsed. So the bug isn’t with Notepad++, it’s with the Python-lexer that comes bundled with Scintilla that comes bundled with Notepad++. And it appears that it’s not going to be fixed, because the author disagrees that it’s a bug (it’s working as he designed it, apparently).
So you might have to get used to calling a 4-space indent “level 5”. (sorry to be the bearer of bad news.)