How to enable folding ?
Is there a preferred way to use proper folding with python-syntax ?
By "proper folding" I mean not a trivial folding solely indent based but a more decent one based on def, class and # {{{ }}} markers declarations.
I tried to use Python-Syntax-Folding and braceless.vim but none seems to be compatible with python-syntax.
The indent mode of Python-Syntax-Folding suits my needs but lacks python 3 syntax.
@amigrave I'd like to point out some things about 'trivial' indent folding.
- It's possible to fold more with indent folding, than with existing 'smart' foldings. For example in pycharm I'm dissatisfied that I can't fold big dictionaries, because it only folds function and classes definitions.
- In any language I know decently written code is properly indented. So any meaningful construct that you'd like to fold is, guess what, should be also indented. So what would syntax folding or any other folding could bring to that?
Hi @purpleP
Well I guess it's a matter of taste and workflow.
In my case, I don't want to fold more levels than classes and functions. For some rare exceptions such as big dictionaries I use markers which is the third token set I want to be folded along with class and def.
When I open a python file, I want all classes, functions and markers to be folded, but I would hate to have all possible indent levels folded too.
I guess we have different ways to use folding and my way would not suit your needs, but your way does not suit mine either :-)
SimpylFold is by far the best Python folding plugin.
@nfnty Thanks, looks great except for the lack of support for markers ( # {{{)
I see you're pretty active in the development of SimpylFold. I've dropped an issue about this: tmhedberg/SimpylFold#81