masm.vim (1104B)
1 " Vim filetype plugin file 2 " Language: Microsoft Macro Assembler (80x86) 3 " Maintainer: Wu Yongwei <wuyongwei@gmail.com> 4 " Last Change: 2025-06-09 04:40:00 +0800 5 6 if exists("b:did_ftplugin") 7 finish 8 endif 9 let b:did_ftplugin = 1 10 11 let s:cpo_save = &cpo 12 set cpo&vim 13 14 let b:undo_ftplugin = "setl iskeyword< comments< commentstring<" 15 16 setlocal iskeyword=@,48-57,_,36,60,62,63,@-@ 17 setlocal comments=:; 18 setlocal commentstring=;\ %s 19 20 " Matchit support 21 if !exists('b:match_words') 22 let b:match_words = '^\s*\.IF\>:^\s*\.ELSEIF\>:^\s*\.ELSE\>:^\s*\.ENDIF\>,' 23 \ .. '^\s*\.REPEAT\>:^\s*\.UNTIL\(CXZ\)\?\>,' 24 \ .. '^\s*\.WHILE\>:^\s*\.ENDW\>,' 25 \ .. '^\s*IF\(1\|2\|E\|DEF\|NDEF\|B\|NB\|IDNI\?\|DIFI\?\)\?\>:^\s*ELSEIF\(1\|2\|E\|DEF\|NDEF\|B\|NB\|IDNI\?\|DIFI\?\)\?\>:^\s*ELSE\>:^\s*ENDIF\>,' 26 \ .. '\(\<MACRO\>\|^\s*%\?\s*FORC\?\>\|^\s*REPEAT\>\|^\s*WHILE\):^\s*ENDM\>,' 27 \ .. '\<PROC\>:\<ENDP\>,' 28 \ .. '\<SEGMENT\>:\<ENDS\>' 29 let b:match_ignorecase = 1 30 let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words" 31 endif 32 33 let &cpo = s:cpo_save 34 unlet s:cpo_save