diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 08:50:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 08:50:31 +0000 |
commit | aed8ce9da277f5ecffe968b324f242c41c3b752a (patch) | |
tree | d2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /runtime/ftplugin.vim | |
parent | Initial commit. (diff) | |
download | vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.tar.xz vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.zip |
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/ftplugin.vim')
-rw-r--r-- | runtime/ftplugin.vim | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/runtime/ftplugin.vim b/runtime/ftplugin.vim new file mode 100644 index 0000000..2500a7f --- /dev/null +++ b/runtime/ftplugin.vim @@ -0,0 +1,43 @@ +vim9script noclear + +# Vim support file to switch on loading plugins for file types +# +# Maintainer: Bram Moolenaar <Bram@vim.org> +# Last change: 2022 Feb 11 + +if exists("g:did_load_ftplugin") + finish +endif +g:did_load_ftplugin = 1 + +augroup filetypeplugin + au FileType * call LoadFTPlugin() +augroup END + +if exists('*LoadFTPlugin') + # No need to define the function again. + finish +endif + +def LoadFTPlugin() + if exists("b:undo_ftplugin") + # We assume b:undo_ftplugin is using legacy script syntax + legacy exe b:undo_ftplugin + unlet! b:undo_ftplugin b:did_ftplugin + endif + + var s = expand("<amatch>") + if s != "" + if &cpo =~# "S" && exists("b:did_ftplugin") + # In compatible mode options are reset to the global values, need to + # set the local values also when a plugin was already used. + unlet b:did_ftplugin + endif + + # When there is a dot it is used to separate filetype names. Thus for + # "aaa.bbb" load "aaa" and then "bbb". + for name in split(s, '\.') + exe 'runtime! ftplugin/' .. name .. '.vim ftplugin/' .. name .. '_*.vim ftplugin/' .. name .. '/*.vim' + endfor + endif +enddef |