mirror of
https://github.com/neovim/neovim.git
synced 2026-01-05 21:07:44 +00:00
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.
7cb24917a1
Co-authored-by: Hugo Osvaldo Barrera' via vim_dev <vim_dev@googlegroups.com>
This commit is contained in:
committed by
Christian Clason
parent
d1e00a5f6d
commit
665a0e85c4
@@ -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,
|
||||
|
||||
17
runtime/syntax/apkbuild.vim
Normal file
17
runtime/syntax/apkbuild.vim
Normal file
@@ -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'
|
||||
Reference in New Issue
Block a user