1" Script to define the syntax menu in synmenu.vim 2" Maintainer: Bram Moolenaar <[email protected]> 3" Last Change: 2004 May 22 4 5" This is used by "make menu" in the src directory. 6edit <sfile>:p:h/synmenu.vim 7 8/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d 9let s:lnum = line(".") - 1 10call append(s:lnum, "") 11let s:lnum = s:lnum + 1 12 13" Use the SynMenu command and function to define all menu entries 14command! -nargs=* SynMenu call <SID>Syn(<q-args>) 15 16let s:cur_menu_name = "" 17let s:cur_menu_nr = 0 18let s:cur_menu_item = 0 19let s:cur_menu_char = "" 20 21fun! <SID>Syn(arg) 22 " isolate menu name: until the first dot 23 let i = match(a:arg, '\.') 24 let menu_name = strpart(a:arg, 0, i) 25 let r = strpart(a:arg, i + 1, 999) 26 " isolate submenu name: until the colon 27 let i = match(r, ":") 28 let submenu_name = strpart(r, 0, i) 29 " after the colon is the syntax name 30 let syntax_name = strpart(r, i + 1, 999) 31 32 if s:cur_menu_name != menu_name 33 let s:cur_menu_name = menu_name 34 let s:cur_menu_nr = s:cur_menu_nr + 10 35 let s:cur_menu_item = 100 36 let s:cur_menu_char = submenu_name[0] 37 else 38 " When starting a new letter, insert a menu separator. 39 let c = submenu_name[0] 40 if c != s:cur_menu_char 41 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 43 let s:cur_menu_char = c 44 endif 45 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>') 47 let s:cur_menu_item = s:cur_menu_item + 10 48 let s:lnum = s:lnum + 1 49endfun 50 51SynMenu AB.Aap:aap 52SynMenu AB.Abaqus:abaqus 53SynMenu AB.ABC\ music\ notation:abc 54SynMenu AB.ABEL:abel 55SynMenu AB.AceDB\ model:acedb 56SynMenu AB.Ada:ada 57SynMenu AB.AfLex:aflex 58SynMenu AB.Altera\ AHDL:ahdl 59SynMenu AB.Amiga\ DOS:amiga 60SynMenu AB.AMPL:ampl 61SynMenu AB.Ant\ build\ file:ant 62SynMenu AB.ANTLR:antlr 63SynMenu AB.Apache\ config:apache 64SynMenu AB.Apache-style\ config:apachestyle 65SynMenu AB.Applix\ ELF:elf 66SynMenu AB.Arc\ Macro\ Language:aml 67SynMenu AB.Arch\ inventory:arch 68SynMenu AB.ART:art 69SynMenu AB.ASP\ with\ VBScript:aspvbs 70SynMenu AB.ASP\ with\ Perl:aspperl 71SynMenu AB.Assembly.680x0:asm68k 72SynMenu AB.Assembly.Flat:fasm 73SynMenu AB.Assembly.GNU:asm 74SynMenu AB.Assembly.GNU\ H-8300:asmh8300 75SynMenu AB.Assembly.Intel\ IA-64:ia64 76SynMenu AB.Assembly.Microsoft:masm 77SynMenu AB.Assembly.Netwide:nasm 78SynMenu AB.Assembly.PIC:pic 79SynMenu AB.Assembly.Turbo:tasm 80SynMenu AB.Assembly.VAX\ Macro\ Assembly:vmasm 81SynMenu AB.Assembly.Z-80:z8a 82SynMenu AB.Assembly.xa\ 6502\ cross\ assember:a65 83SynMenu AB.ASN\.1:asn 84SynMenu AB.Atlas:atlas 85SynMenu AB.Automake:automake 86SynMenu AB.Avenue:ave 87SynMenu AB.Awk:awk 88SynMenu AB.AYacc:ayacc 89 90SynMenu AB.B:b 91SynMenu AB.Baan:baan 92SynMenu AB.BASIC:basic 93SynMenu AB.BC\ calculator:bc 94SynMenu AB.BDF\ font:bdf 95SynMenu AB.BibTeX:bib 96SynMenu AB.BIND.BIND\ config:named 97SynMenu AB.BIND.BIND\ zone:bindzone 98SynMenu AB.Blank:blank 99 100SynMenu C.C:c 101SynMenu C.C++:cpp 102SynMenu C.C#:cs 103SynMenu C.Calendar:calendar 104SynMenu C.CDL:cdl 105SynMenu C.Crontab:crontab 106SynMenu C.Cyn++:cynpp 107SynMenu C.Cynlib:cynlib 108SynMenu C.Cascading\ Style\ Sheets:css 109SynMenu C.Century\ Term:cterm 110SynMenu C.CH\ script:ch 111SynMenu C.ChangeLog:changelog 112SynMenu C.Cheetah\ template:cheetah 113SynMenu C.CHILL:chill 114SynMenu C.Clean:clean 115SynMenu C.Clever:cl 116SynMenu C.Clipper:clipper 117SynMenu C.Cold\ Fusion:cf 118SynMenu C.Config.Cfg\ Config\ file:cfg 119SynMenu C.Config.Generic\ Config\ file:conf 120SynMenu C.Config.Configure\.in:config 121SynMenu C.CRM114:crm 122SynMenu C.Ctrl-H:ctrlh 123SynMenu C.Cobol:cobol 124SynMenu C.CSP:csp 125SynMenu C.CUPL.CUPL:cupl 126SynMenu C.CUPL.Simulation:cuplsim 127SynMenu C.CVS.commit\ file:cvs 128SynMenu C.CVS.cvsrc:cvsrc 129 130SynMenu DE.D:d 131SynMenu DE.Debian.Debian\ ChangeLog:debchangelog 132SynMenu DE.Debian.Debian\ Control:debcontrol 133SynMenu DE.Desktop:desktop 134SynMenu DE.Diff:diff 135SynMenu DE.Digital\ Command\ Lang:dcl 136SynMenu DE.Dircolors:dircolors 137SynMenu DE.DNS/BIND\ zone:dns 138SynMenu DE.DocBook.auto-detect:docbk 139SynMenu DE.DocBook.SGML:docbksgml 140SynMenu DE.DocBook.XML:docbkxml 141SynMenu DE.Dot:dot 142SynMenu DE.Dracula:dracula 143SynMenu DE.DSSSL:dsl 144SynMenu DE.DTD:dtd 145SynMenu DE.DTML\ (Zope):dtml 146SynMenu DE.Dylan.Dylan:dylan 147SynMenu DE.Dylan.Dylan\ interface:dylanintr 148SynMenu DE.Dylan.Dylan\ lid:dylanlid 149 150SynMenu DE.EDIF:edif 151SynMenu DE.Eiffel:eiffel 152SynMenu DE.Elinks\ config:elinks 153SynMenu DE.Elm\ filter\ rules:elmfilt 154SynMenu DE.Embedix\ Component\ Description:ecd 155SynMenu DE.ERicsson\ LANGuage:erlang 156SynMenu DE.ESQL-C:esqlc 157SynMenu DE.Essbase\ script:csc 158SynMenu DE.Eterm\ config:eterm 159SynMenu DE.Exim\ conf:exim 160SynMenu DE.Expect:expect 161SynMenu DE.Exports:exports 162 163SynMenu FG.Fetchmail:fetchmail 164SynMenu FG.Focus\ Executable:focexec 165SynMenu FG.Focus\ Master:master 166SynMenu FG.FORM:form 167SynMenu FG.Forth:forth 168SynMenu FG.Fortran:fortran 169SynMenu FG.FoxPro:foxpro 170SynMenu FG.Fstab:fstab 171SynMenu FG.Fvwm.Fvwm\ configuration:fvwm1 172SynMenu FG.Fvwm.Fvwm2\ configuration:fvwm2 173SynMenu FG.Fvwm.Fvwm2\ configuration\ with\ M4:fvwm2m4 174 175SynMenu FG.GDB\ command\ file:gdb 176SynMenu FG.GDMO:gdmo 177SynMenu FG.Gedcom:gedcom 178SynMenu FG.Gkrellmrc:gkrellmrc 179SynMenu FG.GP:gp 180SynMenu FG.GPG:gpg 181SynMenu FG.Grub:grub 182SynMenu FG.GNU\ Server\ Pages:gsp 183SynMenu FG.GNUplot:gnuplot 184SynMenu FG.GrADS\ scripts:grads 185SynMenu FG.Groff:groff 186SynMenu FG.GTKrc:gtkrc 187 188SynMenu HIJK.Haskell.Haskell:haskell 189SynMenu HIJK.Haskell.Haskell-c2hs:chaskell 190SynMenu HIJK.Haskell.Haskell-literate:lhaskell 191SynMenu HIJK.Hercules:hercules 192SynMenu HIJK.Hex\ dump.XXD:xxd 193SynMenu HIJK.Hex\ dump.Intel\ MCS51:hex 194SynMenu HIJK.HTML.HTML:html 195SynMenu HIJK.HTML.HTML\ with\ M4:htmlm4 196SynMenu HIJK.HTML.Cheetah\ HTML\ template:htmlcheetah 197SynMenu HIJK.HTML.HTML/OS:htmlos 198SynMenu HIJK.HTML.XHTML:xhtml 199SynMenu HIJK.Hyper\ Builder:hb 200SynMenu HIJK.Icewm\ menu:icemenu 201SynMenu HIJK.Icon:icon 202SynMenu HIJK.IDL\Generic\ IDL:idl 203SynMenu HIJK.IDL\Microsoft\ IDL:msidl 204SynMenu HIJK.Indent\ profile:indent 205SynMenu HIJK.Inform:inform 206SynMenu HIJK.Informix\ 4GL:fgl 207SynMenu HIJK.Inittab:inittab 208SynMenu HIJK.Inno\ setup:iss 209SynMenu HIJK.InstallShield\ script:ishd 210SynMenu HIJK.Interactive\ Data\ Lang:idlang 211SynMenu HIJK.IPfilter:ipfilter 212SynMenu HIJK.JAL:jal 213SynMenu HIJK.JAM:jam 214SynMenu HIJK.Jargon:jargon 215SynMenu HIJK.Java.Java:java 216SynMenu HIJK.Java.JavaCC:javacc 217SynMenu HIJK.Java.Java\ Server\ Pages:jsp 218SynMenu HIJK.Java.Java\ Properties:jproperties 219SynMenu HIJK.JavaScript:javascript 220SynMenu HIJK.Jess:jess 221SynMenu HIJK.Jgraph:jgraph 222SynMenu HIJK.KDE\ script:kscript 223SynMenu HIJK.Kimwitu++:kwt 224SynMenu HIJK.KixTart:kix 225 226SynMenu L-Ma.Lace:lace 227SynMenu L-Ma.LamdaProlog:lprolog 228SynMenu L-Ma.Latte:latte 229SynMenu L-Ma.LDAP\ LDIF:ldif 230SynMenu L-Ma.Lex:lex 231SynMenu L-Ma.LFTP\ config:lftp 232SynMenu L-Ma.Libao:libao 233SynMenu L-Ma.LifeLines\ script:lifelines 234SynMenu L-Ma.Lilo:lilo 235SynMenu L-Ma.Lisp:lisp 236SynMenu L-Ma.Lite:lite 237SynMenu L-Ma.Locale\ Input:fdcc 238SynMenu L-Ma.Logtalk:logtalk 239SynMenu L-Ma.LOTOS:lotos 240SynMenu L-Ma.LotusScript:lscript 241SynMenu L-Ma.Lout:lout 242SynMenu L-Ma.LPC:lpc 243SynMenu L-Ma.Lua:lua 244SynMenu L-Ma.Lynx\ Style:lss 245SynMenu L-Ma.Lynx\ config:lynx 246SynMenu L-Ma.M4:m4 247SynMenu L-Ma.MaGic\ Point:mgp 248SynMenu L-Ma.Mail:mail 249SynMenu L-Ma.Mailcap:mailcap 250SynMenu L-Ma.Makefile:make 251SynMenu L-Ma.MakeIndex:ist 252SynMenu L-Ma.Man\ page:man 253SynMenu L-Ma.Maple\ V:maple 254SynMenu L-Ma.Mason:mason 255SynMenu L-Ma.Mathematica:mma 256SynMenu L-Ma.Matlab:matlab 257 258SynMenu Me-NO.MEL\ (for\ Maya):mel 259SynMenu Me-NO.Metafont:mf 260SynMenu Me-NO.MetaPost:mp 261SynMenu Me-NO.MMIX:mmix 262SynMenu Me-NO.Modconf:modconf 263SynMenu Me-NO.Model:model 264SynMenu Me-NO.Modsim\ III:modsim3 265SynMenu Me-NO.Modula\ 2:modula2 266SynMenu Me-NO.Modula\ 3:modula3 267SynMenu Me-NO.Monk:monk 268SynMenu Me-NO.Mplayer\ config:mplayerconf 269SynMenu Me-NO.MOO:moo 270SynMenu Me-NO.MS-DOS/Windows.4DOS\ \.bat\ file:btm 271SynMenu Me-NO.MS-DOS/Windows.\.bat\/\.cmd\ file:dosbatch 272SynMenu Me-NO.MS-DOS/Windows.\.ini\ file:dosini 273SynMenu Me-NO.MS-DOS/Windows.Module\ Definition:def 274SynMenu Me-NO.MS-DOS/Windows.Registry:registry 275SynMenu Me-NO.MS-DOS/Windows.Resource\ file:rc 276SynMenu Me-NO.Msql:msql 277SynMenu Me-NO.MUSHcode:mush 278SynMenu Me-NO.Muttrc:muttrc 279SynMenu Me-NO.Nastran\ input/DMAP:nastran 280SynMenu Me-NO.Natural:natural 281SynMenu Me-NO.Novell\ NCF\ batch:ncf 282SynMenu Me-NO.Not\ Quite\ C\ (LEGO):nqc 283SynMenu Me-NO.Nroff:nroff 284SynMenu Me-NO.NSIS\ script:nsis 285SynMenu Me-NO.Objective\ C:objc 286SynMenu Me-NO.Objective\ C++:objcpp 287SynMenu Me-NO.OCAML:ocaml 288SynMenu Me-NO.Occam:occam 289SynMenu Me-NO.Omnimark:omnimark 290SynMenu Me-NO.OpenROAD:openroad 291SynMenu Me-NO.Open\ Psion\ Lang:opl 292SynMenu Me-NO.Oracle\ config:ora 293 294SynMenu PQ.Palm\ resource\ compiler:pilrc 295SynMenu PQ.Packet\ filter\ conf:pf 296SynMenu PQ.PApp:papp 297SynMenu PQ.Pascal:pascal 298SynMenu PQ.PCCTS:pccts 299SynMenu PQ.PPWizard:ppwiz 300SynMenu PQ.Perl.Perl:perl 301SynMenu PQ.Perl.Perl\ POD:pod 302SynMenu PQ.Perl.Perl\ XS:xs 303SynMenu PQ.PHP.PHP\ 3-4:php 304SynMenu PQ.PHP.Phtml\ (PHP\ 2):phtml 305SynMenu PQ.Pike:pike 306SynMenu PQ.Pine\ RC:pine 307SynMenu PQ.Pinfo\ RC:pinfo 308SynMenu PQ.PL/M:plm 309SynMenu PQ.PL/SQL:plsql 310SynMenu PQ.PLP:plp 311SynMenu PQ.PO\ (GNU\ gettext):po 312SynMenu PQ.Postfix\ main\ config:pfmain 313SynMenu PQ.PostScript.PostScript:postscr 314SynMenu PQ.PostScript.PostScript\ Printer\ Description:ppd 315SynMenu PQ.Povray.Povray\ scene\ descr:pov 316SynMenu PQ.Povray.Povray\ configuration:povini 317SynMenu PQ.Printcap:pcap 318SynMenu PQ.Procmail:procmail 319SynMenu PQ.Product\ Spec\ File:psf 320SynMenu PQ.Progress:progress 321SynMenu PQ.Prolog:prolog 322SynMenu PQ.Purify\ log:purifylog 323SynMenu PQ.Pyrex:pyrex 324SynMenu PQ.Python:python 325SynMenu PQ.Quake:quake 326SynMenu PQ.Quickfix\ window:qf 327 328SynMenu R-Sg.R:r 329SynMenu R-Sg.Radiance:radiance 330SynMenu R-Sg.Ratpoison:ratpoison 331SynMenu R-Sg.RCS.RCS\ log\ output:rcslog 332SynMenu R-Sg.RCS.RCS\ file:rcs 333SynMenu R-Sg.Readline\ config:readline 334SynMenu R-Sg.Rebol:rebol 335SynMenu R-Sg.Remind:remind 336SynMenu R-Sg.Relax\ NG\ compact:rnc 337SynMenu R-Sg.Renderman.Renderman\ Shader\ Lang:sl 338SynMenu R-Sg.Renderman.Renderman\ Interface\ Bytestream:rib 339SynMenu R-Sg.Resolv\.conf:resolv 340SynMenu R-Sg.Rexx:rexx 341SynMenu R-Sg.Robots\.txt:robots 342SynMenu R-Sg.RockLinux\ package\ desc\.:desc 343SynMenu R-Sg.Rpcgen:rpcgen 344SynMenu R-Sg.RPL/2:rpl 345SynMenu R-Sg.ReStructuredText:rst 346SynMenu R-Sg.RTF:rtf 347SynMenu R-Sg.Ruby:ruby 348SynMenu R-Sg.S-Lang:slang 349SynMenu R-Sg.Samba\ config:samba 350SynMenu R-Sg.SAS:sas 351SynMenu R-Sg.Sather:sather 352SynMenu R-Sg.Scheme:scheme 353SynMenu R-Sg.Scilab:scilab 354SynMenu R-Sg.Screen\ RC:screen 355SynMenu R-Sg.SDL:sdl 356SynMenu R-Sg.Sed:sed 357SynMenu R-Sg.Sendmail\.cf:sm 358SynMenu R-Sg.Send-pr:sendpr 359SynMenu R-Sg.SGML.SGML\ catalog:catalog 360SynMenu R-Sg.SGML.SGML\ DTD:sgml 361SynMenu R-Sg.SGML.SGML\ Declaration:sgmldecl 362SynMenu R-Sg.SGML.SGML-linuxdoc:sgmllnx 363 364SynMenu Sh-S.Shell\ script.sh\ and\ ksh:sh 365SynMenu Sh-S.Shell\ script.csh:csh 366SynMenu Sh-S.Shell\ script.tcsh:tcsh 367SynMenu Sh-S.Shell\ script.zsh:zsh 368SynMenu Sh-S.SiCAD:sicad 369SynMenu Sh-S.Simula:simula 370SynMenu Sh-S.Sinda.Sinda\ compare:sindacmp 371SynMenu Sh-S.Sinda.Sinda\ input:sinda 372SynMenu Sh-S.Sinda.Sinda\ output:sindaout 373SynMenu Sh-S.SKILL.SKILL:skill 374SynMenu Sh-S.SKILL.SKILL\ for\ Diva:diva 375SynMenu Sh-S.Slice:slice 376SynMenu Sh-S.SLRN.Slrn\ rc:slrnrc 377SynMenu Sh-S.SLRN.Slrn\ score:slrnsc 378SynMenu Sh-S.SmallTalk:st 379SynMenu Sh-S.Smarty\ Templates:smarty 380SynMenu Sh-S.SMIL:smil 381SynMenu Sh-S.SMITH:smith 382SynMenu Sh-S.SNMP\ MIB:mib 383SynMenu Sh-S.SNNS.SNNS\ network:snnsnet 384SynMenu Sh-S.SNNS.SNNS\ pattern:snnspat 385SynMenu Sh-S.SNNS.SNNS\ result:snnsres 386SynMenu Sh-S.Snobol4:snobol4 387SynMenu Sh-S.Snort\ Configuration:hog 388SynMenu Sh-S.SPEC\ (Linux\ RPM):spec 389SynMenu Sh-S.Specman:specman 390SynMenu Sh-S.Spice:spice 391SynMenu Sh-S.Spyce:spyce 392SynMenu Sh-S.Speedup:spup 393SynMenu Sh-S.Splint:splint 394SynMenu Sh-S.Squid\ config:squid 395SynMenu Sh-S.SQL.MySQL:mysql 396SynMenu Sh-S.SQL.SQL:sql 397SynMenu Sh-S.SQL.SQL\ Forms:sqlforms 398SynMenu Sh-S.SQL.SQLJ:sqlj 399SynMenu Sh-S.SQR:sqr 400SynMenu Sh-S.Ssh.ssh_config:sshconfig 401SynMenu Sh-S.Ssh.sshd_config:sshdconfig 402SynMenu Sh-S.Standard\ ML:sml 403SynMenu Sh-S.Stored\ Procedures:stp 404SynMenu Sh-S.Strace:strace 405SynMenu Sh-S.Subversion\ commit:svn 406 407SynMenu TUV.TADS:tads 408SynMenu TUV.Tags:tags 409SynMenu TUV.TAK.TAK\ compare:takcmp 410SynMenu TUV.TAK.TAK\ input:tak 411SynMenu TUV.TAK.TAK\ output:takout 412SynMenu TUV.Tcl/Tk:tcl 413SynMenu TUV.TealInfo:tli 414SynMenu TUV.Telix\ Salt:tsalt 415SynMenu TUV.Termcap/Printcap:ptcap 416SynMenu TUV.Terminfo:terminfo 417SynMenu TUV.TeX.TeX:tex 418SynMenu TUV.TeX.TeX\ configuration:texmf 419SynMenu TUV.TeX.Texinfo:texinfo 420SynMenu TUV.TF\ mud\ client:tf 421SynMenu TUV.Tidy\ configuration:tidy 422SynMenu TUV.Tilde:tilde 423SynMenu TUV.Trasys\ input:trasys 424SynMenu TUV.TSS.Command\ Line:tsscl 425SynMenu TUV.TSS.Geometry:tssgm 426SynMenu TUV.TSS.Optics:tssop 427SynMenu TUV.UIT/UIL:uil 428SynMenu TUV.UnrealScript:uc 429SynMenu TUV.Valgrind:valgrind 430SynMenu TUV.Verilog\ HDL:verilog 431SynMenu TUV.Vgrindefs:vgrindefs 432SynMenu TUV.VHDL:vhdl 433SynMenu TUV.Vim.Vim\ help\ file:help 434SynMenu TUV.Vim.Vim\ script:vim 435SynMenu TUV.Vim.Viminfo\ file:viminfo 436SynMenu TUV.Virata\ config:virata 437SynMenu TUV.Visual\ Basic:vb 438SynMenu TUV.VRML:vrml 439SynMenu TUV.VSE\ JCL:vsejcl 440 441SynMenu WXYZ.WEB.CWEB:cweb 442SynMenu WXYZ.WEB.WEB:web 443SynMenu WXYZ.WEB.WEB\ Changes:change 444SynMenu WXYZ.Webmacro:webmacro 445SynMenu WXYZ.Website\ MetaLanguage:wml 446SynMenu WXYZ.wDiff:wdiff 447SynMenu WXYZ.Wget\ config:wget 448SynMenu WXYZ.Whitespace\ (add):whitespace 449SynMenu WXYZ.WildPackets\ EtherPeek\ Decoder:dcd 450SynMenu WXYZ.WinBatch/Webbatch:winbatch 451SynMenu WXYZ.Windows\ Scripting\ Host:wsh 452SynMenu WXYZ.WvDial:wvdial 453SynMenu WXYZ.X\ Keyboard\ Extension:xkb 454SynMenu WXYZ.X\ Pixmap:xpm 455SynMenu WXYZ.X\ Pixmap\ (2):xpm2 456SynMenu WXYZ.X\ resources:xdefaults 457SynMenu WXYZ.Xmodmap:xmodmap 458SynMenu WXYZ.Xmath:xmath 459SynMenu WXYZ.XML:xml 460SynMenu WXYZ.XML\ Schema\ (XSD):xsd 461SynMenu WXYZ.Xslt:xslt 462SynMenu WXYZ.XFree86\ Config:xf86conf 463SynMenu WXYZ.YAML:yaml 464SynMenu WXYZ.Yacc:yacc 465 466call append(s:lnum, "") 467 468wq 469