summaryrefslogtreecommitdiff
path: root/mnv/runtime/ftplugin/sml.mnv
blob: 6735806dc83ea32b99c1393909f33d570b77e8b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
" MNV filetype plugin file
" Language: 		SML
" Filenames:		*.sml *.sig
" Maintainer: 		tocariimaa <tocariimaa@firemail.cc>
" Last Change:		2025 Nov 04
" 2026 Jan 19 by MNV Project: add 'include' setting

if exists('b:did_ftplugin')
  finish
endif
let b:did_ftplugin = 1

let s:cpo_save = &cpo
set cpo&mnv

let b:undo_ftplugin = 'setl com< cms< fo< inc<'

setlocal formatoptions+=croql formatoptions-=t
setlocal commentstring=(*\ %s\ *)
setlocal comments=sr:(*,mb:*,ex:*)
setlocal include=^\\s*use\\>

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