summaryrefslogtreecommitdiff
path: root/mnv/runtime/indent.mnv
blob: c3f11be27d122a5875b57f6b23b968d7bf9f4a29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
" MNV support file to switch on loading indent files for file types
"
" Maintainer:	The MNV Project <https://github.com/Project-Tick/Project-Tick>
" Last Change:	2023 Aug 10
" Former Maintainer:	Bram Moolenaar <Bram@mnv.org>

if exists("did_indent_on")
  finish
endif
let did_indent_on = 1

augroup filetypeindent
  au FileType * call s:LoadIndent()
augroup END

def s:LoadIndent()
  if exists("b:undo_indent")
    legacy exe b:undo_indent
    unlet! b:undo_indent b:did_indent
  endif
  var s = expand("<amatch>")
  if s != ""
    if exists("b:did_indent")
      unlet b:did_indent
    endif

    # When there is a dot it is used to separate filetype names.  Thus for
    # "aaa.bbb" load "indent/aaa.mnv" and then "indent/bbb.mnv".
    for name in split(s, '\.')
      exe 'runtime! indent/' .. name .. '.mnv'
    endfor
  endif
enddef