From: Scott McKendry Date: Sat, 27 Dec 2025 15:15:35 +0000 (+0000) Subject: patch 9.1.2027: filetype: bicep filetype used for 2 bicep file types X-Git-Tag: v9.1.2027^0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e722fdfdd987c11136e3533bd65d0ed4d15f829;p=thirdparty%2Fvim.git patch 9.1.2027: filetype: bicep filetype used for 2 bicep file types Problem: filetype: bicep filetype used for 2 bicep file types Solution: Detect *.bicepparam files as bicep-param filetype, include new bicep-params and bicep filetype plugin (Scott McKendry) The bicep language server handles parameter files differently than regular bicep files. Treating them the same at the editor level leads to false positive diagnostics in the editor. References: Bicep Language Constants: - https://github.com/Azure/bicep/blob/51392d32ca2c8b94b1bb7a255e78e1d559d12573/src/Bicep.Core/LanguageConstants.cs#L23 VS Code Extension definition: - https://github.com/Azure/bicep/blob/51392d32ca2c8b94b1bb7a255e78e1d559d12573/src/vscode-bicep/package.json#L47 closes: #19026 Signed-off-by: Scott McKendry Signed-off-by: Christian Brabandt --- diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS index 64ec257261..94c9eff887 100644 --- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -127,6 +127,8 @@ runtime/ftplugin/asy.vim @avidseeker runtime/ftplugin/autohotkey.vim @telemachus runtime/ftplugin/awk.vim @dkearns runtime/ftplugin/basic.vim @dkearns +runtime/ftplugin/bicep.vim @scottmckendry +runtime/ftplugin/bicep-params.vim @scottmckendry runtime/ftplugin/brighterscript.vim @ribru17 runtime/ftplugin/brightscript.vim @ribru17 runtime/ftplugin/bst.vim @tpope diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim index 0ab087b0f5..a81768bbde 100644 --- a/runtime/autoload/dist/ft.vim +++ b/runtime/autoload/dist/ft.vim @@ -3,7 +3,7 @@ vim9script # Vim functions for file type detection # # Maintainer: The Vim Project -# Last Change: 2025 Dec 26 +# Last Change: 2025 Dec 27 # Former Maintainer: Bram Moolenaar # These functions are moved here from runtime/filetype.vim to make startup @@ -1746,7 +1746,7 @@ const ft_from_ext = { "bst": "bst", # Bicep "bicep": "bicep", - "bicepparam": "bicep", + "bicepparam": "bicep-params", # BIND zone "zone": "bindzone", # Blank diff --git a/runtime/ftplugin/bicep-params.vim b/runtime/ftplugin/bicep-params.vim new file mode 100644 index 0000000000..7cc2d85126 --- /dev/null +++ b/runtime/ftplugin/bicep-params.vim @@ -0,0 +1,3 @@ +" Placeholder for maximum compatibility. While bicepparam files are treated as distinct filetypes, +" they are should share the same ftplugin settings as bicep files. +runtime! ftplugin/bicep.vim diff --git a/runtime/ftplugin/bicep.vim b/runtime/ftplugin/bicep.vim new file mode 100644 index 0000000000..f142daf135 --- /dev/null +++ b/runtime/ftplugin/bicep.vim @@ -0,0 +1,14 @@ +" Vim filetype plugin +" Language: Bicep +" Maintainer: Scott McKendry +" Last Change: 2025 Dec 27 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +setlocal comments=s1:/*,mb:*,ex:*/,:// +setlocal commentstring=//\ %s + +let b:undo_ftplugin = "setlocal comments< commentstring<" diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim index b3e6fc1719..cdf854bdd1 100644 --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -140,7 +140,8 @@ def s:GetFilenameChecks(): dict> bdf: ['file.bdf'], beancount: ['file.beancount'], bib: ['file.bib'], - bicep: ['file.bicep', 'file.bicepparam'], + bicep: ['file.bicep'], + bicep-params: ['file.bicepparam'], bindzone: ['named.root', '/bind/db.file', '/named/db.file', 'any/bind/db.file', 'any/named/db.file', 'foobar.zone'], bitbake: ['file.bb', 'file.bbappend', 'file.bbclass', 'build/conf/local.conf', 'meta/conf/layer.conf', 'build/conf/bbappend.conf', 'meta-layer/conf/distro/foo.conf', 'project-spec/configs/zynqmp-generic-xczu7ev.conf'], diff --git a/src/version.c b/src/version.c index 14e983beaa..a4d0ed19af 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2027, /**/ 2026, /**/