blob: f899d1d1035fef50b70ec3438f013d840b60aa38 [file] [log] [blame]
Bram Moolenaar56994d22021-04-17 16:31:09 +02001" Vim filetype plugin file
2" Language: Modula-3
3" Maintainer: Doug Kearns <dougkearns@gmail.com>
Doug Kearns93197fd2024-01-14 20:59:02 +01004" Last Change: 2024 Jan 14
Riley Bruins0a083062024-06-03 20:40:45 +02005" 2024 May 24 by Riley Bruins <ribru17@gmail.com> ('commentstring')
Bram Moolenaar56994d22021-04-17 16:31:09 +02006
7if exists("b:did_ftplugin")
8 finish
9endif
10let b:did_ftplugin = 1
11
12let s:cpo_save = &cpo
13set cpo&vim
14
15setlocal comments=s0:(*,mb:\ ,ex:*)
Riley Bruins0a083062024-06-03 20:40:45 +020016setlocal commentstring=(*\ %s\ *)
Bram Moolenaar56994d22021-04-17 16:31:09 +020017setlocal formatoptions-=t formatoptions+=croql
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010018setlocal suffixesadd+=.m3
19setlocal formatprg=m3pp
20
21let b:undo_ftplugin = "setlocal com< cms< fo< fp< sua<"
Bram Moolenaar56994d22021-04-17 16:31:09 +020022
23if exists("loaded_matchit") && !exists("b:match_words")
24 let b:match_words = '\<REPEAT\>:\<UNTIL\>,' ..
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010025 \ '\<\%(BEGIN\|CASE\|FOR\|IF\|LOCK\|LOOP\|TRY\|TYPECASE\|WHILE\|WITH\|RECORD\|OBJECT\)\>' ..
Bram Moolenaar56994d22021-04-17 16:31:09 +020026 \ ':' ..
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010027 \ '\<\%(ELSIF\|ELSE\|EXCEPT\|FINALLY\|METHODS\|OVERRIDES\)\>\|\%(^\s*\)\@<=\S.*=>' ..
Bram Moolenaar56994d22021-04-17 16:31:09 +020028 \ ':' ..
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010029 \ '\<END\>,' ..
30 \ '(\*:\*),<\*:\*>'
31 let b:undo_ftplugin ..= " | unlet! b:match_words"
Bram Moolenaar56994d22021-04-17 16:31:09 +020032endif
33
34if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
Doug Kearns93197fd2024-01-14 20:59:02 +010035 let b:browsefilter = "Modula-3 Source Files (*.m3, *.i3, *.mg, *ig)\t*.m3;*.i3;*.mg;*.ig\n"
36 if has("win32")
37 let b:browsefilter ..= "All Files (*.*)\t*\n"
38 else
39 let b:browsefilter ..= "All Files (*)\t*\n"
40 endif
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010041 let b:undo_ftplugin ..= " | unlet! b:browsefilter"
Bram Moolenaar56994d22021-04-17 16:31:09 +020042endif
43
Bram Moolenaar56994d22021-04-17 16:31:09 +020044let &cpo = s:cpo_save
45unlet s:cpo_save
46
47" vim: nowrap sw=2 sts=2 ts=8 noet: