]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
ftplugin(asm): add Matchit support
authorWu, Zhenyu <wuzhenyu@ustc.edu>
Wed, 10 Apr 2024 20:57:31 +0000 (22:57 +0200)
committerChristian Brabandt <cb@256bit.org>
Wed, 10 Apr 2024 20:58:03 +0000 (22:58 +0200)
closes: #14461

Refer https://github.com/vim/vim/blob/master/runtime/ftplugin/masm.vim#L18-L29

Signed-off-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/ftplugin/asm.vim

index f6a92d57d71ba6efa29e5e261c154f2e7156491c..0ae16103948292e33a27beb8c92d539b32cf4f6c 100644 (file)
@@ -1,13 +1,23 @@
 " Vim filetype plugin file
 " Language:    asm
 " Maintainer:  Colin Caine <cmcaine at the common googlemail domain>
-" Last Change:  23 May 2020
+" Last Change: 2020 May 23
 "              2023 Aug 28 by Vim Project (undo_ftplugin)
+"              2024 Apr 09 by Vim Project (add Matchit support)
 
 if exists("b:did_ftplugin") | finish | endif
 let b:did_ftplugin = 1
 
+setl include=^\\s*%\\s*include
 setl comments=:;,s1:/*,mb:*,ex:*/,://
 setl commentstring=;%s
 
-let b:undo_ftplugin = "setl commentstring< comments<"
+let b:undo_ftplugin = "setl commentstring< comments< include<"
+
+" Matchit support
+if !exists('b:match_words')
+  let b:match_skip = 's:comment\|string\|character\|special'
+  let b:match_words = '^\s*%\s*if\%(\|num\|idn\|nidn\)\>:^\s*%\s*elif\>:^\s*%\s*else\>:^\s*%\s*endif\>,^\s*%\s*macro\>:^\s*%\s*endmacro\>,^\s*%\s*rep\>:^\s*%\s*endrep\>'
+  let b:match_ignorecase = 1
+  let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:match_skip"
+endif