vim-patch:9.1.1829: filetype: KerML and SysML files are not recognized (#36042)

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: vim/vim#18476

b73ccf7ff0

Co-authored-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
This commit is contained in:
zeertzjq
2025-10-06 06:07:41 +08:00
committed by GitHub
parent 6fefdd6b53
commit a4a8838178
4 changed files with 39 additions and 0 deletions

View File

@@ -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<'

View File

@@ -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

View File

@@ -672,6 +672,7 @@ local extension = {
kl = 'karel',
KL = 'karel',
kdl = 'kdl',
kerml = 'kerml',
kv = 'kivy',
kix = 'kix',
kts = 'kotlin',
@@ -1216,6 +1217,7 @@ local extension = {
sys = detect.sys,
Sys = detect.sys,
SYS = detect.sys,
sysml = 'sysml',
svh = 'systemverilog',
sv = 'systemverilog',
cmm = 'trace32',

View File

@@ -420,6 +420,7 @@ func s:GetFilenameChecks() abort
\ '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'],
@@ -778,6 +779,7 @@ func s:GetFilenameChecks() abort
\ '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',