xref: /vim-8.2.3635/runtime/indent/context.vim (revision 46fceaaa)
1" ConTeXt indent file
2" Language: ConTeXt typesetting engine
3" Maintainer: Nicola Vitacolonna <[email protected]>
4" Last Change:  2016 Oct 15
5
6if exists("b:did_indent")
7  finish
8endif
9
10if !get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
11  finish
12endif
13
14" Load MetaPost indentation script
15runtime! indent/mp.vim
16
17let s:keepcpo= &cpo
18set cpo&vim
19
20setlocal indentexpr=GetConTeXtIndent()
21
22let b:undo_indent = "setl indentexpr<"
23
24function! GetConTeXtIndent()
25  " Use MetaPost rules inside MetaPost graphic environments
26  if len(synstack(v:lnum, 1)) > 0 &&
27        \ synIDattr(synstack(v:lnum, 1)[0], "name") ==# 'contextMPGraphic'
28    return GetMetaPostIndent()
29  endif
30  return -1
31endfunc
32
33let &cpo = s:keepcpo
34unlet s:keepcpo
35
36" vim:sw=2
37