1*56994d21SBram Moolenaar" Vim filetype plugin file 2*56994d21SBram Moolenaar" Language: Modula-2 3*56994d21SBram Moolenaar" Maintainer: Doug Kearns <[email protected]> 4*56994d21SBram Moolenaar" Last Change: 2021 Apr 08 5*56994d21SBram Moolenaar 6*56994d21SBram Moolenaarif exists("b:did_ftplugin") 7*56994d21SBram Moolenaar finish 8*56994d21SBram Moolenaarendif 9*56994d21SBram Moolenaarlet b:did_ftplugin = 1 10*56994d21SBram Moolenaar 11*56994d21SBram Moolenaarlet s:cpo_save = &cpo 12*56994d21SBram Moolenaarset cpo&vim 13*56994d21SBram Moolenaar 14*56994d21SBram Moolenaarsetlocal comments=s0:(*,mb:\ ,ex:*) 15*56994d21SBram Moolenaarsetlocal commentstring=(*%s*) 16*56994d21SBram Moolenaarsetlocal formatoptions-=t formatoptions+=croql 17*56994d21SBram Moolenaar 18*56994d21SBram Moolenaarif exists("loaded_matchit") && !exists("b:match_words") 19*56994d21SBram Moolenaar " The second branch of the middle pattern is intended to match CASE labels 20*56994d21SBram Moolenaar let b:match_words = '\<REPEAT\>:\<UNTIL\>,' .. 21*56994d21SBram Moolenaar \ '\<\%(BEGIN\|CASE\|FOR\|IF\|LOOP\|WHILE\|WITH\)\>' .. 22*56994d21SBram Moolenaar \ ':' .. 23*56994d21SBram Moolenaar \ '\<\%(ELSIF\|ELSE\)\>\|\%(^\s*\)\@<=\w\+\%(\s*\,\s*\w\+\)\=\s*\:=\@!' .. 24*56994d21SBram Moolenaar \ ':' .. 25*56994d21SBram Moolenaar \ '\<END\>' 26*56994d21SBram Moolenaarendif 27*56994d21SBram Moolenaar 28*56994d21SBram Moolenaarif (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") 29*56994d21SBram Moolenaar let b:browsefilter = "Modula-2 Source Files (*.def *.mod)\t*.def;*.mod\n" .. 30*56994d21SBram Moolenaar \ "All Files (*.*)\t*.*\n" 31*56994d21SBram Moolenaarendif 32*56994d21SBram Moolenaar 33*56994d21SBram Moolenaarlet b:undo_ftplugin = "setl com< cms< fo< " .. 34*56994d21SBram Moolenaar \ "| unlet! b:browsefilter b:match_words" 35*56994d21SBram Moolenaar 36*56994d21SBram Moolenaarlet &cpo = s:cpo_save 37*56994d21SBram Moolenaarunlet s:cpo_save 38*56994d21SBram Moolenaar 39*56994d21SBram Moolenaar" vim: nowrap sw=2 sts=2 ts=8 noet: 40