aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2024-12-22 15:15:57 +0100
committerChristian Clason <ch.clason+github@icloud.com>2024-12-22 18:05:07 +0100
commit665a0e85c4788cb2847e270c333c0aee306f07ad (patch)
tree3930e7bf81a2d321bd2c57099e3e71bbaa578ce9 /runtime
parentd1e00a5f6dce9cf1fa80f613d4d27019966e5a79 (diff)
downloadrneovim-665a0e85c4788cb2847e270c333c0aee306f07ad.tar.gz
rneovim-665a0e85c4788cb2847e270c333c0aee306f07ad.tar.bz2
rneovim-665a0e85c4788cb2847e270c333c0aee306f07ad.zip
vim-patch:9.1.0953: filetype: APKBUILD files not correctly detected
Problem: filetype: APKBUILD files not correctly detected Solution: detect 'APKBUILD' files as apkbuild filetype, include a apkbuild syntax script (which basically just sources the sh.vim syntax file) (Hugo Osvaldo Barrera) Vim plugins (e.g.: ALE, nvim-lspconfig, etc) rely on filetype to determine which integrations/helpers are applicable. They expect filetype=apkbuild for APKBUILD files. On the other hand, plugins also enable bash-specific linters and functionality when filetype=bash, but APKBUILD files are POSIX sh, not bash, so these often provide bogus results. Change the filetype for APKBUILD to a 'apkbuild', so that tools and ftplugin can properly target these files. This filetype will use the existing `sh` syntax rules, since these are applicable for them. https://github.com/vim/vim/commit/7cb24917a112ba473cb351bdcdc48b8adbd46793 Co-authored-by: Hugo Osvaldo Barrera' via vim_dev <vim_dev@googlegroups.com>
Diffstat (limited to 'runtime')
-rw-r--r--runtime/lua/vim/filetype.lua2
-rw-r--r--runtime/syntax/apkbuild.vim17
2 files changed, 18 insertions, 1 deletions
diff --git a/runtime/lua/vim/filetype.lua b/runtime/lua/vim/filetype.lua
index 31de25a714..6fa1684704 100644
--- a/runtime/lua/vim/filetype.lua
+++ b/runtime/lua/vim/filetype.lua
@@ -1439,6 +1439,7 @@ local filename = {
['/etc/asound.conf'] = 'alsaconf',
['build.xml'] = 'ant',
['.htaccess'] = 'apache',
+ APKBUILD = 'apkbuild',
['apt.conf'] = 'aptconf',
['/.aptitude/config'] = 'aptconf',
['=tagging-method'] = 'arch',
@@ -1798,7 +1799,6 @@ local filename = {
['.kshrc'] = detect.ksh,
['.profile'] = detect.sh,
['/etc/profile'] = detect.sh,
- APKBUILD = detect.bash,
PKGBUILD = detect.bash,
['.tcshrc'] = detect.tcsh,
['tcsh.login'] = detect.tcsh,
diff --git a/runtime/syntax/apkbuild.vim b/runtime/syntax/apkbuild.vim
new file mode 100644
index 0000000000..f969ff0e2e
--- /dev/null
+++ b/runtime/syntax/apkbuild.vim
@@ -0,0 +1,17 @@
+" Vim syntax file
+" Language: apkbuild
+" Maintainer: The Vim Project <https://github.com/vim/vim>
+" Last Change: 2024 Dec 22
+
+" quit when a syntax file was already loaded
+if exists("b:current_syntax")
+ finish
+endif
+
+" The actual syntax is in sh.vim and controlled by buffer-local variables.
+unlet! b:is_bash b:is_kornshell
+let b:is_sh = 1
+
+runtime! syntax/sh.vim
+
+let b:current_syntax = 'apkbuild'