diff options
Diffstat (limited to 'indent')
| -rw-r--r-- | indent/context.vim | 40 | 
1 files changed, 40 insertions, 0 deletions
| diff --git a/indent/context.vim b/indent/context.vim new file mode 100644 index 00000000..16ec0829 --- /dev/null +++ b/indent/context.vim @@ -0,0 +1,40 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'context') == -1 + +" ConTeXt indent file +" Language: ConTeXt typesetting engine +" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com> +" Last Change:  2016 Oct 15 + +if exists("b:did_indent") +  finish +endif + +if !get(b:, 'context_metapost', get(g:, 'context_metapost', 1)) +  finish +endif + +" Load MetaPost indentation script +runtime! indent/mp.vim + +let s:keepcpo= &cpo +set cpo&vim + +setlocal indentexpr=GetConTeXtIndent() + +let b:undo_indent = "setl indentexpr<" + +function! GetConTeXtIndent() +  " Use MetaPost rules inside MetaPost graphic environments +  if len(synstack(v:lnum, 1)) > 0 && +        \ synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic' +    return GetMetaPostIndent() +  endif +  return -1 +endfunc + +let &cpo = s:keepcpo +unlet s:keepcpo + +" vim:sw=2 + +endif | 
