ftplugin(asm): add Matchit support

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>
diff --git a/runtime/ftplugin/asm.vim b/runtime/ftplugin/asm.vim
index f6a92d5..0ae1610 100644
--- a/runtime/ftplugin/asm.vim
+++ b/runtime/ftplugin/asm.vim
@@ -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