summaryrefslogtreecommitdiffstats
path: root/runtime/makemenu.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-02-04 19:48:06 +0000
committerBram Moolenaar <Bram@vim.org>2022-02-04 19:48:06 +0000
commit3e79c97c18c50f97797ab13ed81c4011eba9aba0 (patch)
tree42f48424033a7a680059526fe1735c4bb7de1f9c /runtime/makemenu.vim
parenta2baa73d1d33014adea0fd9567949089ca21a782 (diff)
Update runtime files; use compiled functions
Diffstat (limited to 'runtime/makemenu.vim')
-rw-r--r--runtime/makemenu.vim80
1 files changed, 41 insertions, 39 deletions
diff --git a/runtime/makemenu.vim b/runtime/makemenu.vim
index 6173d8b691..43f2eb6107 100644
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -1,52 +1,54 @@
-" Script to define the syntax menu in synmenu.vim
-" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2019 Dec 07
+vim9script
-" This is used by "make menu" in the src directory.
+# Script to define the syntax menu in synmenu.vim
+# Maintainer: Bram Moolenaar <Bram@vim.org>
+# Last Change: 2022 Feb 04
+
+# This is used by "make menu" in the src directory.
edit <sfile>:p:h/synmenu.vim
-/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d
-let s:lnum = line(".") - 1
-call append(s:lnum, "")
-let s:lnum = s:lnum + 1
+:/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d
+var lnum = line(".") - 1
+call append(lnum, "")
+lnum += 1
-" Use the SynMenu command and function to define all menu entries
-command! -nargs=* SynMenu call <SID>Syn(<q-args>)
+# Use the SynMenu command and function to define all menu entries
+command! -nargs=* SynMenu call Syn(<q-args>)
-let s:cur_menu_name = ""
-let s:cur_menu_nr = 0
-let s:cur_menu_item = 0
-let s:cur_menu_char = ""
+var cur_menu_name = ""
+var cur_menu_nr = 0
+var cur_menu_item = 0
+var cur_menu_char = ""
-fun! <SID>Syn(arg)
- " isolate menu name: until the first dot
- let i = match(a:arg, '\.')
- let menu_name = strpart(a:arg, 0, i)
- let r = strpart(a:arg, i + 1, 999)
- " isolate submenu name: until the colon
- let i = match(r, ":")
- let submenu_name = strpart(r, 0, i)
- " after the colon is the syntax name
- let syntax_name = strpart(r, i + 1, 999)
+def Syn(arg: string)
+ # isolate menu name: until the first dot
+ var i = match(arg, '\.')
+ var menu_name = strpart(arg, 0, i)
+ var r = strpart(arg, i + 1, 999)
+ # isolate submenu name: until the colon
+ i = match(r, ":")
+ var submenu_name = strpart(r, 0, i)
+ # after the colon is the syntax name
+ var syntax_name = strpart(r, i + 1, 999)
- if s:cur_menu_name != menu_name
- let s:cur_menu_name = menu_name
- let s:cur_menu_nr = s:cur_menu_nr + 10
- let s:cur_menu_item = 100
- let s:cur_menu_char = submenu_name[0]
+ if cur_menu_name != menu_name
+ cur_menu_name = menu_name
+ cur_menu_nr += 10
+ cur_menu_item = 100
+ cur_menu_char = submenu_name[0]
else
- " When starting a new letter, insert a menu separator.
- let c = submenu_name[0]
+ # When starting a new letter, insert a menu separator.
+ var c = submenu_name[0]
if c != s:cur_menu_char
- exe 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . ".-" . c . '- <nul>'
- let s:cur_menu_item = s:cur_menu_item + 10
- let s:cur_menu_char = c
+ exe 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. ".-" .. c .. '- <nul>'
+ cur_menu_item += 10
+ cur_menu_char = c
endif
endif
- call append(s:lnum, 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . "." . submenu_name . ' :cal SetSyn("' . syntax_name . '")<CR>')
- let s:cur_menu_item = s:cur_menu_item + 10
- let s:lnum = s:lnum + 1
-endfun
+ append(lnum, 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. "." .. submenu_name .. ' :cal SetSyn("' .. syntax_name .. '")<CR>')
+ cur_menu_item += 10
+ lnum += 1
+enddef
SynMenu AB.A2ps\ config:a2ps
SynMenu AB.Aap:aap
@@ -676,6 +678,6 @@ SynMenu WXYZ.YAML:yaml
SynMenu WXYZ.Yacc:yacc
SynMenu WXYZ.Zimbu:zimbu
-call append(s:lnum, "")
+append(lnum, "")
wq