Folds functions within your code. Currently comes with a toggle, fold, and unfold option that will look for functions marked with 'meta.function'. Handy because it won't fold things like comments associated with functions.
Note: this currently folds only those functions it finds at a single indentation (e.g. it will fold the top level functions)
Heavily inspired/influenced by Fold Comments. This package uses the "scopes" defined by a language instead of things like ctags.
You can turn on the auto-folding feature with the following in your configuration file:
"fold-functions":autofold: trueshortfileCutoff: 42autofoldGrammars: autofoldIgnoreGrammars: ['SQL', 'CSV', 'JSON', 'CSON', 'Plain Text']skipAutofoldWhenNotFirstLine: trueskipAutofoldWhenOnlyOneFunction: true
By default, this is setup to ignore files that are under 42 lines. This can be configured by changing the
shortfileCutoff option to a larger or smaller number. If you wish to fold all files, even short ones, you can change this option to
Autofolding also has the following options:
autofoldGrammarsallows you to specify grammar names for grammars you want to autofold. An empty list (which is the default), means everything is fair game to fold. That is except...
autofoldIgnoreGrammarsallows you to specify grammar names for grammars you do not want to autofold. This fires after
autofoldGrammarsand does have a default value (see above).
skipAutofoldWhenNotFirstLinewill stop autofolding if the line cursor is not the first line in the buffer. This will help with searching finding a line and folding it out-of-sight.
This module uses level language scopes to define what constitutes a function. Since this varies greatly by language, the package now exposes options for specifying scopes including by language!
"*":"fold-functions":foldScopes: ['meta.function']"source.php":"fold-functions":foldScopes: ['meta.something']
By default, this package folds on:
Good catch. Let us know what about this package looks wrong to you, and we'll investigate right away.