]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(sml): add filetype plugin, move options from indent to ftplugin
authortocariimaa <tocariimaa@pissmail.com>
Wed, 5 Nov 2025 20:49:26 +0000 (20:49 +0000)
committerChristian Brabandt <cb@256bit.org>
Wed, 5 Nov 2025 20:51:35 +0000 (20:51 +0000)
closes: #18680

Signed-off-by: tocariimaa <tocariimaa@pissmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
.github/MAINTAINERS
runtime/ftplugin/sml.vim [new file with mode: 0644]
runtime/indent/sml.vim

index d904e1c95ae36338f59b40ac78363f8572f61d10..b7e22e20203f06dd797f222e465265927424f833 100644 (file)
@@ -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 (file)
index 0000000..f4a2f4e
--- /dev/null
@@ -0,0 +1,39 @@
+" Vim filetype plugin file
+" Language:            SML
+" Filenames:           *.sml *.sig
+" Maintainer:          tocariimaa <tocariimaa@firemail.cc>
+" 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\)\>:\<end\>'
+  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
index a0b0c3e91128d644620a6de7ad63ad1612e21ea4..189452f4774cd98db3f5c7a8e8319e0bc7f30656 100644 (file)
@@ -1,17 +1,18 @@
 " Vim indent file
 " Language:     SML
-" Maintainer:  Saikat Guha <sg266@cornell.edu>
-"                              Hubert Chao <hc85@cornell.edu>
+" Maintainer:   Saikat Guha <sg266@cornell.edu>
+"               Hubert Chao <hc85@cornell.edu>
 " Original OCaml Version:
-"                              Jean-Francois Yuen  <jfyuen@ifrance.com>
+"               Jean-Francois Yuen  <jfyuen@ifrance.com>
 "               Mike Leary          <leary@nwlink.com>
 "               Markus Mottl        <markus@oefai.at>
 " 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