blob: 1f8ab359d5dce2f55826d1a69ff99f4aa0773b60 [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>
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +01004" Last Change: 2022 June 12
Bram Moolenaar56994d22021-04-17 16:31:09 +02005
6if exists("b:did_ftplugin")
7 finish
8endif
9let b:did_ftplugin = 1
10
11let s:cpo_save = &cpo
12set cpo&vim
13
14setlocal comments=s0:(*,mb:\ ,ex:*)
15setlocal commentstring=(*%s*)
16setlocal formatoptions-=t formatoptions+=croql
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010017setlocal suffixesadd+=.m3
18setlocal formatprg=m3pp
19
20let b:undo_ftplugin = "setlocal com< cms< fo< fp< sua<"
Bram Moolenaar56994d22021-04-17 16:31:09 +020021
22if exists("loaded_matchit") && !exists("b:match_words")
23 let b:match_words = '\<REPEAT\>:\<UNTIL\>,' ..
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010024 \ '\<\%(BEGIN\|CASE\|FOR\|IF\|LOCK\|LOOP\|TRY\|TYPECASE\|WHILE\|WITH\|RECORD\|OBJECT\)\>' ..
Bram Moolenaar56994d22021-04-17 16:31:09 +020025 \ ':' ..
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010026 \ '\<\%(ELSIF\|ELSE\|EXCEPT\|FINALLY\|METHODS\|OVERRIDES\)\>\|\%(^\s*\)\@<=\S.*=>' ..
Bram Moolenaar56994d22021-04-17 16:31:09 +020027 \ ':' ..
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010028 \ '\<END\>,' ..
29 \ '(\*:\*),<\*:\*>'
30 let b:undo_ftplugin ..= " | unlet! b:match_words"
Bram Moolenaar56994d22021-04-17 16:31:09 +020031endif
32
33if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
34 let b:browsefilter = "Modula-3 Source Files (*.m3)\t*.m3\n" ..
35 \ "All Files (*.*)\t*.*\n"
Bram Moolenaar8c1b8cb2022-06-14 17:41:28 +010036 let b:undo_ftplugin ..= " | unlet! b:browsefilter"
Bram Moolenaar56994d22021-04-17 16:31:09 +020037endif
38
Bram Moolenaar56994d22021-04-17 16:31:09 +020039let &cpo = s:cpo_save
40unlet s:cpo_save
41
42" vim: nowrap sw=2 sts=2 ts=8 noet: