patch 9.1.1188: runtime(tera): tera support can be improved

Problem:  runtime(tera): tera support can be improved
Solution: update tera filetype plugin, include a tera syntax script
          include tera syntax tests, update the filetype test,
          update makemenu and synmenu vim scripts
          (MuntasirSZN)

closes: #16830

Signed-off-by: MuntasirSZN <muntasir.joypurhat@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/ftplugin/tera.vim b/runtime/ftplugin/tera.vim
index 47636f2..65bae70 100644
--- a/runtime/ftplugin/tera.vim
+++ b/runtime/ftplugin/tera.vim
@@ -1,13 +1,30 @@
 " Vim filetype plugin file
 " Language:             Tera
 " Maintainer:           Muntasir Mahmud <muntasir.joypurhat@gmail.com>
-" Last Change:          2025 Mar 06
+" Last Change:          2025 Mar 08
 
 if exists("b:did_ftplugin")
   finish
 endif
 let b:did_ftplugin = 1
 
-setlocal commentstring={#\ %s\ #}
+setlocal autoindent
 
-let b:undo_ftplugin = "setlocal commentstring<"
+setlocal commentstring={#\ %s\ #}
+setlocal comments=s:{#,e:#}
+
+if exists("loaded_matchit")
+  let b:match_ignorecase = 0
+  let b:match_words = '{#:##\|#},{% *if:{% *else\>:{% *elif\>:{% *endif %},{% *for\>:{% *endfor %},{% *macro\>:{% *endmacro %},{% *block\>:{% *endblock %},{% *filter\>:{% *endfilter %},{% *set\>:{% *endset %},{% *raw\>:{% *endraw %},{% *with\>:{% *endwith %}'
+endif
+
+setlocal includeexpr=substitute(v:fname,'\\([^.]*\\)$','\\1','g')
+setlocal suffixesadd=.tera
+
+setlocal expandtab
+setlocal shiftwidth=2
+setlocal softtabstop=2
+
+let b:undo_ftplugin = "setlocal autoindent< commentstring< comments< " ..
+      \ "includeexpr< suffixesadd< expandtab< shiftwidth< softtabstop<"
+let b:undo_ftplugin .= "|unlet! b:match_ignorecase b:match_words"