Mercurial > vim
annotate runtime/ftplugin.vim @ 27623:179c118424a6
Update runtime files
Commit: https://github.com/vim/vim/commit/9da17d7c57071c306565da6a35c3704db1916b78
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Feb 9 21:50:44 2022 +0000
Update runtime files
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 09 Feb 2022 23:00:06 +0100 |
parents | f37561549ec2 |
children | 9fe2fed9bb4b |
rev | line source |
---|---|
27623 | 1 vim9script noclear |
7 | 2 |
27623 | 3 # Vim support file to switch on loading plugins for file types |
4 # | |
5 # Maintainer: Bram Moolenaar <Bram@vim.org> | |
6 # Last change: 2022 Feb 09 | |
7 | |
8 if exists("g:did_load_ftplugin") | |
7 | 9 finish |
10 endif | |
27623 | 11 g:did_load_ftplugin = 1 |
7 | 12 |
13 augroup filetypeplugin | |
27623 | 14 au FileType * call LoadFTPlugin() |
27538
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
15 augroup END |
856 | 16 |
27623 | 17 if exists('*LoadFTPlugin') |
18 # No need to define the function again. | |
19 finish | |
20 endif | |
21 | |
22 def LoadFTPlugin() | |
27538
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
23 if exists("b:undo_ftplugin") |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
24 exe b:undo_ftplugin |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
25 unlet! b:undo_ftplugin b:did_ftplugin |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
26 endif |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
27 |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
28 var s = expand("<amatch>") |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
29 if s != "" |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
30 if &cpo =~# "S" && exists("b:did_ftplugin") |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
31 # In compatible mode options are reset to the global values, need to |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
32 # set the local values also when a plugin was already used. |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
33 unlet b:did_ftplugin |
230 | 34 endif |
856 | 35 |
27538
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
36 # When there is a dot it is used to separate filetype names. Thus for |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
37 # "aaa.bbb" load "aaa" and then "bbb". |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
38 for name in split(s, '\.') |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
39 exe 'runtime! ftplugin/' .. name .. '.vim ftplugin/' .. name .. '_*.vim ftplugin/' .. name .. '/*.vim' |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
40 endfor |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
41 endif |
f37561549ec2
Update runtime files; use compiled functions
Bram Moolenaar <Bram@vim.org>
parents:
856
diff
changeset
|
42 enddef |