blob: 72b55873415483898bcc34ab48c5ef777556369a [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim support file to switch on loading indent files for file types
2"
Christian Brabandte978b452023-08-13 10:33:05 +02003" Maintainer: The Vim Project <https://github.com/vim/vim>
4" Last Change: 2023 Aug 10
5" Former Maintainer: Bram Moolenaar <Bram@vim.org>
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7if exists("did_indent_on")
8 finish
9endif
10let did_indent_on = 1
11
12augroup filetypeindent
Bram Moolenaar582fd852005-03-28 20:58:01 +000013 au FileType * call s:LoadIndent()
Bram Moolenaar071d4272004-06-13 20:20:40 +000014augroup END
Bram Moolenaar3e79c972022-02-04 19:48:06 +000015
16def s:LoadIndent()
17 if exists("b:undo_indent")
Bram Moolenaar92f645b2022-02-11 13:29:40 +000018 legacy exe b:undo_indent
Bram Moolenaar3e79c972022-02-04 19:48:06 +000019 unlet! b:undo_indent b:did_indent
20 endif
21 var s = expand("<amatch>")
22 if s != ""
23 if exists("b:did_indent")
24 unlet b:did_indent
25 endif
26
27 # When there is a dot it is used to separate filetype names. Thus for
28 # "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
29 for name in split(s, '\.')
30 exe 'runtime! indent/' .. name .. '.vim'
31 endfor
32 endif
33enddef