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