blob: acddb923a3834b8f5794312bc58ebbd667d56f04 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim support file to switch on loading indent files for file types
2"
3" Maintainer: Bram Moolenaar <Bram@vim.org>
Bram Moolenaar3e79c972022-02-04 19:48:06 +00004" Last Change: 2022 Feb 04
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
6if exists("did_indent_on")
7 finish
8endif
9let did_indent_on = 1
10
11augroup filetypeindent
Bram Moolenaar582fd852005-03-28 20:58:01 +000012 au FileType * call s:LoadIndent()
Bram Moolenaar071d4272004-06-13 20:20:40 +000013augroup END
Bram Moolenaar3e79c972022-02-04 19:48:06 +000014
15def s:LoadIndent()
16 if exists("b:undo_indent")
17 exe b:undo_indent
18 unlet! b:undo_indent b:did_indent
19 endif
20 var s = expand("<amatch>")
21 if s != ""
22 if exists("b:did_indent")
23 unlet b:did_indent
24 endif
25
26 # When there is a dot it is used to separate filetype names. Thus for
27 # "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
28 for name in split(s, '\.')
29 exe 'runtime! indent/' .. name .. '.vim'
30 endfor
31 endif
32enddef