blob: 1d0e81ee70d042af51301311fb8207ffa2928d14 [file] [log] [blame]
Bram Moolenaar56994d22021-04-17 16:31:09 +02001" Vim filetype plugin file
2" Language: Modula-2
3" Maintainer: Doug Kearns <dougkearns@gmail.com>
4" Last Change: 2021 Apr 08
5
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
17
18if exists("loaded_matchit") && !exists("b:match_words")
19 " The second branch of the middle pattern is intended to match CASE labels
20 let b:match_words = '\<REPEAT\>:\<UNTIL\>,' ..
21 \ '\<\%(BEGIN\|CASE\|FOR\|IF\|LOOP\|WHILE\|WITH\)\>' ..
22 \ ':' ..
23 \ '\<\%(ELSIF\|ELSE\)\>\|\%(^\s*\)\@<=\w\+\%(\s*\,\s*\w\+\)\=\s*\:=\@!' ..
24 \ ':' ..
25 \ '\<END\>'
26endif
27
28if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
29 let b:browsefilter = "Modula-2 Source Files (*.def *.mod)\t*.def;*.mod\n" ..
30 \ "All Files (*.*)\t*.*\n"
31endif
32
33let b:undo_ftplugin = "setl com< cms< fo< " ..
34 \ "| unlet! b:browsefilter b:match_words"
35
36let &cpo = s:cpo_save
37unlet s:cpo_save
38
39" vim: nowrap sw=2 sts=2 ts=8 noet: