diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:09:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:09:20 +0000 |
commit | 029f72b1a93430b24b88eb3a72c6114d9f149737 (patch) | |
tree | 765d5c2041967f9c6fef195fe343d9234a030e90 /runtime/ftplugin.vim | |
parent | Initial commit. (diff) | |
download | vim-029f72b1a93430b24b88eb3a72c6114d9f149737.tar.xz vim-029f72b1a93430b24b88eb3a72c6114d9f149737.zip |
Adding upstream version 2:9.1.0016.upstream/2%9.1.0016
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/ftplugin.vim')
-rw-r--r-- | runtime/ftplugin.vim | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/runtime/ftplugin.vim b/runtime/ftplugin.vim new file mode 100644 index 0000000..93f6b05 --- /dev/null +++ b/runtime/ftplugin.vim @@ -0,0 +1,44 @@ +vim9script noclear + +# Vim support file to switch on loading plugins for file types +# +# Maintainer: The Vim Project <https://github.com/vim/vim> +# Last change: 2023 Aug 10 +# Former Maintainer: Bram Moolenaar <Bram@vim.org> + +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 |