diff options
Diffstat (limited to 'autoload/org.vim')
-rw-r--r-- | autoload/org.vim | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/autoload/org.vim b/autoload/org.vim new file mode 100644 index 00000000..de8282c2 --- /dev/null +++ b/autoload/org.vim @@ -0,0 +1,30 @@ +if polyglot#init#is_disabled(expand('<sfile>:p'), 'org', 'autoload/org.vim') + finish +endif + +" Helper functions for org.vim +" +" Maintainer: Alex Vear <av@axvr.io> +" License: Vim (see `:help license`) +" Location: autoload/org.vim +" Website: https://github.com/axvr/org.vim +" Last Change: 2020-01-04 + +" Fallback chain for options. Buffer local --> Global --> default. +function org#option(name, default) abort + return get(b:, a:name, get(g:, a:name, a:default)) +endfunction + +" Emacs-like fold text. +function org#fold_text() abort + return getline(v:foldstart) . '...' +endfunction + +" Check fold depth of a line. +function org#fold_expr() + let l:depth = match(getline(v:lnum), '\(^\*\+\)\@<=\( .*$\)\@=') + if l:depth > 0 && synIDattr(synID(v:lnum, 1, 1), 'name') =~# '\m^o\(rg\|utline\)Heading' + return ">" . l:depth + endif + return "=" +endfunction |