Mercurial > vim
comparison runtime/makemenu.vim @ 27538:f37561549ec2
Update runtime files; use compiled functions
Commit: https://github.com/vim/vim/commit/3e79c97c18c50f97797ab13ed81c4011eba9aba0
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Feb 4 19:48:06 2022 +0000
Update runtime files; use compiled functions
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 04 Feb 2022 21:00:05 +0100 |
parents | 180a1c5175f6 |
children | 2715448db31c |
comparison
equal
deleted
inserted
replaced
27537:063952f68595 | 27538:f37561549ec2 |
---|---|
1 " Script to define the syntax menu in synmenu.vim | 1 vim9script |
2 " Maintainer: Bram Moolenaar <Bram@vim.org> | 2 |
3 " Last Change: 2019 Dec 07 | 3 # Script to define the syntax menu in synmenu.vim |
4 | 4 # Maintainer: Bram Moolenaar <Bram@vim.org> |
5 " This is used by "make menu" in the src directory. | 5 # Last Change: 2022 Feb 04 |
6 | |
7 # This is used by "make menu" in the src directory. | |
6 edit <sfile>:p:h/synmenu.vim | 8 edit <sfile>:p:h/synmenu.vim |
7 | 9 |
8 /The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d | 10 :/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d |
9 let s:lnum = line(".") - 1 | 11 var lnum = line(".") - 1 |
10 call append(s:lnum, "") | 12 call append(lnum, "") |
11 let s:lnum = s:lnum + 1 | 13 lnum += 1 |
12 | 14 |
13 " Use the SynMenu command and function to define all menu entries | 15 # Use the SynMenu command and function to define all menu entries |
14 command! -nargs=* SynMenu call <SID>Syn(<q-args>) | 16 command! -nargs=* SynMenu call Syn(<q-args>) |
15 | 17 |
16 let s:cur_menu_name = "" | 18 var cur_menu_name = "" |
17 let s:cur_menu_nr = 0 | 19 var cur_menu_nr = 0 |
18 let s:cur_menu_item = 0 | 20 var cur_menu_item = 0 |
19 let s:cur_menu_char = "" | 21 var cur_menu_char = "" |
20 | 22 |
21 fun! <SID>Syn(arg) | 23 def Syn(arg: string) |
22 " isolate menu name: until the first dot | 24 # isolate menu name: until the first dot |
23 let i = match(a:arg, '\.') | 25 var i = match(arg, '\.') |
24 let menu_name = strpart(a:arg, 0, i) | 26 var menu_name = strpart(arg, 0, i) |
25 let r = strpart(a:arg, i + 1, 999) | 27 var r = strpart(arg, i + 1, 999) |
26 " isolate submenu name: until the colon | 28 # isolate submenu name: until the colon |
27 let i = match(r, ":") | 29 i = match(r, ":") |
28 let submenu_name = strpart(r, 0, i) | 30 var submenu_name = strpart(r, 0, i) |
29 " after the colon is the syntax name | 31 # after the colon is the syntax name |
30 let syntax_name = strpart(r, i + 1, 999) | 32 var syntax_name = strpart(r, i + 1, 999) |
31 | 33 |
32 if s:cur_menu_name != menu_name | 34 if cur_menu_name != menu_name |
33 let s:cur_menu_name = menu_name | 35 cur_menu_name = menu_name |
34 let s:cur_menu_nr = s:cur_menu_nr + 10 | 36 cur_menu_nr += 10 |
35 let s:cur_menu_item = 100 | 37 cur_menu_item = 100 |
36 let s:cur_menu_char = submenu_name[0] | 38 cur_menu_char = submenu_name[0] |
37 else | 39 else |
38 " When starting a new letter, insert a menu separator. | 40 # When starting a new letter, insert a menu separator. |
39 let c = submenu_name[0] | 41 var c = submenu_name[0] |
40 if c != s:cur_menu_char | 42 if c != s:cur_menu_char |
41 exe 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . ".-" . c . '- <nul>' | 43 exe 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. ".-" .. c .. '- <nul>' |
42 let s:cur_menu_item = s:cur_menu_item + 10 | 44 cur_menu_item += 10 |
43 let s:cur_menu_char = c | 45 cur_menu_char = c |
44 endif | 46 endif |
45 endif | 47 endif |
46 call append(s:lnum, 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . "." . submenu_name . ' :cal SetSyn("' . syntax_name . '")<CR>') | 48 append(lnum, 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. "." .. submenu_name .. ' :cal SetSyn("' .. syntax_name .. '")<CR>') |
47 let s:cur_menu_item = s:cur_menu_item + 10 | 49 cur_menu_item += 10 |
48 let s:lnum = s:lnum + 1 | 50 lnum += 1 |
49 endfun | 51 enddef |
50 | 52 |
51 SynMenu AB.A2ps\ config:a2ps | 53 SynMenu AB.A2ps\ config:a2ps |
52 SynMenu AB.Aap:aap | 54 SynMenu AB.Aap:aap |
53 SynMenu AB.ABAP/4:abap | 55 SynMenu AB.ABAP/4:abap |
54 SynMenu AB.Abaqus:abaqus | 56 SynMenu AB.Abaqus:abaqus |
674 SynMenu WXYZ.XFree86\ Config:xf86conf | 676 SynMenu WXYZ.XFree86\ Config:xf86conf |
675 SynMenu WXYZ.YAML:yaml | 677 SynMenu WXYZ.YAML:yaml |
676 SynMenu WXYZ.Yacc:yacc | 678 SynMenu WXYZ.Yacc:yacc |
677 SynMenu WXYZ.Zimbu:zimbu | 679 SynMenu WXYZ.Zimbu:zimbu |
678 | 680 |
679 call append(s:lnum, "") | 681 append(lnum, "") |
680 | 682 |
681 wq | 683 wq |