Commit: patch 9.1.2027: filetype: bicep filetype used for 2 bicep file types

0 views
Skip to first unread message

Christian Brabandt

unread,
10:31 AM (8 hours ago) 10:31 AM
to vim...@googlegroups.com
patch 9.1.2027: filetype: bicep filetype used for 2 bicep file types

Commit: https://github.com/vim/vim/commit/4e722fdfdd987c11136e3533bd65d0ed4d15f829
Author: Scott McKendry <m...@scottmckendry.tech>
Date: Sat Dec 27 15:15:35 2025 +0000

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 <m...@scottmckendry.tech>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS
index 64ec25726..94c9eff88 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 0ab087b0f..a81768bbd 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 <https://github.com/vim/vim>
-# Last Change: 2025 Dec 26
+# Last Change: 2025 Dec 27
# Former Maintainer: Bram Moolenaar <Br...@vim.org>

# 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 000000000..7cc2d8512
--- /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 000000000..f142daf13
--- /dev/null
+++ b/runtime/ftplugin/bicep.vim
@@ -0,0 +1,14 @@
+" Vim filetype plugin
+" Language: Bicep
+" Maintainer: Scott McKendry <m...@scottmckendry.tech>
+" 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 b3e6fc171..cdf854bdd 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -140,7 +140,8 @@ def s:GetFilenameChecks(): dict<list<string>>
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 14e983bea..a4d0ed19a 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,
/**/
Reply all
Reply to author
Forward
0 new messages