From: tocariimaa Date: Wed, 5 Nov 2025 20:49:26 +0000 (+0000) Subject: runtime(sml): add filetype plugin, move options from indent to ftplugin X-Git-Tag: v9.1.1897~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7dfdc7f6cb802d5283e2e0eedb87932b9cd2cb33;p=thirdparty%2Fvim.git runtime(sml): add filetype plugin, move options from indent to ftplugin closes: #18680 Signed-off-by: tocariimaa Signed-off-by: Doug Kearns Signed-off-by: Christian Brabandt --- diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS index d904e1c95a..b7e22e2020 100644 --- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -286,6 +286,7 @@ runtime/ftplugin/sed.vim @dkearns runtime/ftplugin/sh.vim @dkearns runtime/ftplugin/shaderslang.vim @mTvare6 runtime/ftplugin/slint.vim @ribru17 +runtime/ftplugin/sml.vim @tocariimaa runtime/ftplugin/snakemake.vim @ribru17 runtime/ftplugin/solidity.vim @coti-z runtime/ftplugin/solution.vim @dkearns diff --git a/runtime/ftplugin/sml.vim b/runtime/ftplugin/sml.vim new file mode 100644 index 0000000000..f4a2f4ecd0 --- /dev/null +++ b/runtime/ftplugin/sml.vim @@ -0,0 +1,39 @@ +" Vim filetype plugin file +" Language: SML +" Filenames: *.sml *.sig +" Maintainer: tocariimaa +" Last Change: 2025 Nov 04 + +if exists('b:did_ftplugin') + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +let b:undo_ftplugin = 'setl com< cms< fo<' + +setlocal formatoptions+=croql formatoptions-=t +setlocal commentstring=(*\ %s\ *) +setlocal comments=sr:(*,mb:*,ex:*) + +if exists('loaded_matchit') + let b:match_ignorecase = 0 + let b:match_words = '\<\%(abstype\|let\|local\|sig\|struct\)\>:\<\%(in\|with\)\>:\' + let b:undo_ftplugin ..= ' | unlet! b:match_ignorecase b:match_words' +endif + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "SML Source Files (*.sml)\t*.sml\n" .. + \ "SML Signature Files (*.sig)\t*.sig\n" + if has("win32") + let b:browsefilter ..= "All Files (*.*)\t*\n" + else + let b:browsefilter ..= "All Files (*)\t*\n" + endif + let b:undo_ftplugin ..= " | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/indent/sml.vim b/runtime/indent/sml.vim index a0b0c3e911..189452f477 100644 --- a/runtime/indent/sml.vim +++ b/runtime/indent/sml.vim @@ -1,17 +1,18 @@ " Vim indent file " Language: SML -" Maintainer: Saikat Guha -" Hubert Chao +" Maintainer: Saikat Guha +" Hubert Chao " Original OCaml Version: -" Jean-Francois Yuen +" Jean-Francois Yuen " Mike Leary " Markus Mottl " OCaml URL: http://www.oefai.at/~markus/vim/indent/ocaml.vim " Last Change: 2022 Apr 06 -" 2002 Nov 06 - Some fixes (JY) +" 2002 Nov 06 - Some fixes (JY) " 2002 Oct 28 - Fixed bug with indentation of ']' (MM) " 2002 Oct 22 - Major rewrite (JY) -" 2022 April: b:undo_indent added by Doug Kearns +" 2022 Apr 08 - b:undo_indent added by Doug Kearns +" 2025 Nov 04 - Move comments and formatoptions to ftplugin " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -29,12 +30,6 @@ setlocal shiftwidth=2 let b:undo_indent = "setl et< inde< indk< lisp< si< sw< tw<" -" Comment formatting -if (has("comments")) - set comments=sr:(*,mb:*,ex:*) - set fo=cqort -endif - " Only define the function once. "if exists("*GetSMLIndent") "finish