]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1829: filetype: KerML and SysML files are not recognized v9.1.1829
authorDaumantas Kavolis <daumantas.kavolis@sensmetry.com>
Sun, 5 Oct 2025 13:37:00 +0000 (13:37 +0000)
committerChristian Brabandt <cb@256bit.org>
Sun, 5 Oct 2025 13:37:00 +0000 (13:37 +0000)
Problem:  filetype: KerML and SysML files are not recognized
Solution: Detect *.kerml as kerml filetype, detect *.sysml as sysml
          filetype, include a kerml and sysml filetype plugin
          (Daumantas Kavolis)

closes: #18476

Signed-off-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
.github/MAINTAINERS
runtime/filetype.vim
runtime/ftplugin/kerml.vim [new file with mode: 0644]
runtime/ftplugin/sysml.vim [new file with mode: 0644]
src/testdir/test_filetype.vim
src/version.c

index f76fca089a892063762a2390ef79a0109fd50c85..b632c5085bf645321f4daf0f2aceefc7c70103c5 100644 (file)
@@ -214,6 +214,7 @@ runtime/ftplugin/julia.vim                          @carlobaldassi
 runtime/ftplugin/just.vim                              @pbnj
 runtime/ftplugin/kconfig.vim                           @chrisbra
 runtime/ftplugin/kdl.vim                               @imsnif @jiangyinzuo
+runtime/ftplugin/kerml.vim                         @daumantas-kavolis-sensmetry
 runtime/ftplugin/kivy.vim                              @ribru17
 runtime/ftplugin/kotlin.vim                            @udalov
 runtime/ftplugin/lc.vim                                        @ribru17
@@ -296,6 +297,7 @@ runtime/ftplugin/sshdconfig.vim                             @jiangyinzuo
 runtime/ftplugin/svelte.vim                            @igorlfs
 runtime/ftplugin/sway.vim                              @ribru17
 runtime/ftplugin/swayconfig.vim                                @jamespeapen
+runtime/ftplugin/sysml.vim                         @daumantas-kavolis-sensmetry
 runtime/ftplugin/systemverilog.vim                     @Kocha
 runtime/ftplugin/swig.vim                              @jmarrec
 runtime/ftplugin/tap.vim                               @petdance
index 662c3deac3505bb5ddc519ed883ccb72e2e06dc4..688e783f0aab007ceb5d38735fada20c36947ab6 100644 (file)
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:          The Vim Project <https://github.com/vim/vim>
-" Last Change:         2025 Oct 03
+" Last Change:         2025 Oct 05
 " Former Maintainer:   Bram Moolenaar <Bram@vim.org>
 
 " Listen very carefully, I will say this only once
@@ -1359,6 +1359,9 @@ endif
 " KDL
 au BufNewFile,BufRead *.kdl                    setf kdl
 
+" KerML
+au BufNewFile,BufRead *.kerml          setf kerml
+
 " Kixtart
 au BufNewFile,BufRead *.kix                    setf kix
 
@@ -2627,6 +2630,9 @@ au BufNewFile,BufRead *.svg                       setf svg
 " Surface
 au BufRead,BufNewFile *.sface                  setf surface
 
+" SysML
+au BufNewFile,BufReadPost *.sysml      setf sysml
+
 " LLVM TableGen
 au BufNewFile,BufRead *.td                     setf tablegen
 
diff --git a/runtime/ftplugin/kerml.vim b/runtime/ftplugin/kerml.vim
new file mode 100644 (file)
index 0000000..91f5f0f
--- /dev/null
@@ -0,0 +1,23 @@
+" Vim filetype plugin
+" Language:         KerML
+" Author:           Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
+" Last Change:      2025-10-03
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+  finish
+endif
+
+" Don't load another plugin for this buffer
+let b:did_ftplugin = 1
+
+" Set 'comments' to format dashed lists in comments.
+setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1://*,mb:*,ex:*/,:///,://
+setlocal commentstring=//*\ %s\ */
+
+" Set 'formatoptions' to break comment lines but not other lines,
+" and insert the comment leader when hitting <CR> or using "o"
+setlocal formatoptions-=t
+setlocal formatoptions+=croql
+
+let b:undo_ftplugin = 'setlocal comments< commentstring< formatoptions<'
diff --git a/runtime/ftplugin/sysml.vim b/runtime/ftplugin/sysml.vim
new file mode 100644 (file)
index 0000000..d4cdb31
--- /dev/null
@@ -0,0 +1,12 @@
+" Vim filetype plugin
+" Language:         SysML
+" Author:           Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
+" Last Change:      2025-10-03
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+  finish
+endif
+
+" Behaves mostly just like KerML, only differs by keywords
+runtime! ftplugin/kerml.vim
index 19dd807822b32c6a66b9016d523761bf612d5c84..4b10ccb63bf867ae7af86f0111900c841512e212 100644 (file)
@@ -423,6 +423,7 @@ def s:GetFilenameChecks(): dict<list<string>>
     karel: ['file.kl', 'file.KL'],
     kconfig: ['Kconfig', 'Kconfig.debug', 'Kconfig.file', 'Config.in', 'Config.in.host'],
     kdl: ['file.kdl'],
+    kerml: ['file.kerml'],
     kitty: ['kitty.conf', '~/.config/kitty/colorscheme.conf'],
     kivy: ['file.kv'],
     kix: ['file.kix'],
@@ -781,6 +782,7 @@ def s:GetFilenameChecks(): dict<list<string>>
     swiftgyb: ['file.swift.gyb'],
     swig: ['file.swg', 'file.swig'],
     sysctl: ['/etc/sysctl.conf', '/etc/sysctl.d/file.conf', 'any/etc/sysctl.conf', 'any/etc/sysctl.d/file.conf'],
+    sysml: ['file.sysml'],
     systemd: ['any/systemd/file.automount', 'any/systemd/file.dnssd',
               'any/systemd/file.link', 'any/systemd/file.mount',
               'any/systemd/file.netdev', 'any/systemd/file.network',
index d6b798e898054fd84aa8d3d4cf43b3a008333ceb..e8680b29a65573cdf91f6f9275f017cc796a4b90 100644 (file)
@@ -729,6 +729,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1829,
 /**/
     1828,
 /**/