1" Script to define the syntax menu in synmenu.vim 2" Maintainer: Bram Moolenaar <[email protected]> 3" Last Change: 2004 Aug 30 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.ABAP/4:abap 53SynMenu AB.Abaqus:abaqus 54SynMenu AB.ABC\ music\ notation:abc 55SynMenu AB.ABEL:abel 56SynMenu AB.AceDB\ model:acedb 57SynMenu AB.Ada:ada 58SynMenu AB.AfLex:aflex 59SynMenu AB.Altera\ AHDL:ahdl 60SynMenu AB.Amiga\ DOS:amiga 61SynMenu AB.AMPL:ampl 62SynMenu AB.Ant\ build\ file:ant 63SynMenu AB.ANTLR:antlr 64SynMenu AB.Apache\ config:apache 65SynMenu AB.Apache-style\ config:apachestyle 66SynMenu AB.Applix\ ELF:elf 67SynMenu AB.Arc\ Macro\ Language:aml 68SynMenu AB.Arch\ inventory:arch 69SynMenu AB.ART:art 70SynMenu AB.ASP\ with\ VBScript:aspvbs 71SynMenu AB.ASP\ with\ Perl:aspperl 72SynMenu AB.Assembly.680x0:asm68k 73SynMenu AB.Assembly.Flat:fasm 74SynMenu AB.Assembly.GNU:asm 75SynMenu AB.Assembly.GNU\ H-8300:asmh8300 76SynMenu AB.Assembly.Intel\ IA-64:ia64 77SynMenu AB.Assembly.Microsoft:masm 78SynMenu AB.Assembly.Netwide:nasm 79SynMenu AB.Assembly.PIC:pic 80SynMenu AB.Assembly.Turbo:tasm 81SynMenu AB.Assembly.VAX\ Macro\ Assembly:vmasm 82SynMenu AB.Assembly.Z-80:z8a 83SynMenu AB.Assembly.xa\ 6502\ cross\ assember:a65 84SynMenu AB.ASN\.1:asn 85SynMenu AB.Atlas:atlas 86SynMenu AB.Automake:automake 87SynMenu AB.Avenue:ave 88SynMenu AB.Awk:awk 89SynMenu AB.AYacc:ayacc 90 91SynMenu AB.B:b 92SynMenu AB.Baan:baan 93SynMenu AB.BASIC:basic 94SynMenu AB.BC\ calculator:bc 95SynMenu AB.BDF\ font:bdf 96SynMenu AB.BibTeX:bib 97SynMenu AB.BIND.BIND\ config:named 98SynMenu AB.BIND.BIND\ zone:bindzone 99SynMenu AB.Blank:blank 100 101SynMenu C.C:c 102SynMenu C.C++:cpp 103SynMenu C.C#:cs 104SynMenu C.Calendar:calendar 105SynMenu C.CDL:cdl 106SynMenu C.Crontab:crontab 107SynMenu C.Cyn++:cynpp 108SynMenu C.Cynlib:cynlib 109SynMenu C.Cascading\ Style\ Sheets:css 110SynMenu C.Century\ Term:cterm 111SynMenu C.CH\ script:ch 112SynMenu C.ChangeLog:changelog 113SynMenu C.Cheetah\ template:cheetah 114SynMenu C.CHILL:chill 115SynMenu C.Clean:clean 116SynMenu C.Clever:cl 117SynMenu C.Clipper:clipper 118SynMenu C.Cold\ Fusion:cf 119SynMenu C.Config.Cfg\ Config\ file:cfg 120SynMenu C.Config.Generic\ Config\ file:conf 121SynMenu C.Config.Configure\.in:config 122SynMenu C.CRM114:crm 123SynMenu C.Ctrl-H:ctrlh 124SynMenu C.Cobol:cobol 125SynMenu C.CSP:csp 126SynMenu C.CUPL.CUPL:cupl 127SynMenu C.CUPL.Simulation:cuplsim 128SynMenu C.CVS.commit\ file:cvs 129SynMenu C.CVS.cvsrc:cvsrc 130 131SynMenu DE.D:d 132SynMenu DE.Debian.Debian\ ChangeLog:debchangelog 133SynMenu DE.Debian.Debian\ Control:debcontrol 134SynMenu DE.Desktop:desktop 135SynMenu DE.Diff:diff 136SynMenu DE.Digital\ Command\ Lang:dcl 137SynMenu DE.Dircolors:dircolors 138SynMenu DE.DNS/BIND\ zone:dns 139SynMenu DE.DocBook.auto-detect:docbk 140SynMenu DE.DocBook.SGML:docbksgml 141SynMenu DE.DocBook.XML:docbkxml 142SynMenu DE.Dot:dot 143SynMenu DE.Dracula:dracula 144SynMenu DE.DSSSL:dsl 145SynMenu DE.DTD:dtd 146SynMenu DE.DTML\ (Zope):dtml 147SynMenu DE.Dylan.Dylan:dylan 148SynMenu DE.Dylan.Dylan\ interface:dylanintr 149SynMenu DE.Dylan.Dylan\ lid:dylanlid 150 151SynMenu DE.EDIF:edif 152SynMenu DE.Eiffel:eiffel 153SynMenu DE.Elinks\ config:elinks 154SynMenu DE.Elm\ filter\ rules:elmfilt 155SynMenu DE.Embedix\ Component\ Description:ecd 156SynMenu DE.ERicsson\ LANGuage:erlang 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.PLP:plp 310SynMenu PQ.PO\ (GNU\ gettext):po 311SynMenu PQ.Postfix\ main\ config:pfmain 312SynMenu PQ.PostScript.PostScript:postscr 313SynMenu PQ.PostScript.PostScript\ Printer\ Description:ppd 314SynMenu PQ.Povray.Povray\ scene\ descr:pov 315SynMenu PQ.Povray.Povray\ configuration:povini 316SynMenu PQ.Printcap:pcap 317SynMenu PQ.Procmail:procmail 318SynMenu PQ.Product\ Spec\ File:psf 319SynMenu PQ.Progress:progress 320SynMenu PQ.Prolog:prolog 321SynMenu PQ.Purify\ log:purifylog 322SynMenu PQ.Pyrex:pyrex 323SynMenu PQ.Python:python 324SynMenu PQ.Quake:quake 325SynMenu PQ.Quickfix\ window:qf 326 327SynMenu R-Sg.R:r 328SynMenu R-Sg.Radiance:radiance 329SynMenu R-Sg.Ratpoison:ratpoison 330SynMenu R-Sg.RCS.RCS\ log\ output:rcslog 331SynMenu R-Sg.RCS.RCS\ file:rcs 332SynMenu R-Sg.Readline\ config:readline 333SynMenu R-Sg.Rebol:rebol 334SynMenu R-Sg.Remind:remind 335SynMenu R-Sg.Relax\ NG\ compact:rnc 336SynMenu R-Sg.Renderman.Renderman\ Shader\ Lang:sl 337SynMenu R-Sg.Renderman.Renderman\ Interface\ Bytestream:rib 338SynMenu R-Sg.Resolv\.conf:resolv 339SynMenu R-Sg.Rexx:rexx 340SynMenu R-Sg.Robots\.txt:robots 341SynMenu R-Sg.RockLinux\ package\ desc\.:desc 342SynMenu R-Sg.Rpcgen:rpcgen 343SynMenu R-Sg.RPL/2:rpl 344SynMenu R-Sg.ReStructuredText:rst 345SynMenu R-Sg.RTF:rtf 346SynMenu R-Sg.Ruby:ruby 347SynMenu R-Sg.S-Lang:slang 348SynMenu R-Sg.Samba\ config:samba 349SynMenu R-Sg.SAS:sas 350SynMenu R-Sg.Sather:sather 351SynMenu R-Sg.Scheme:scheme 352SynMenu R-Sg.Scilab:scilab 353SynMenu R-Sg.Screen\ RC:screen 354SynMenu R-Sg.SDL:sdl 355SynMenu R-Sg.Sed:sed 356SynMenu R-Sg.Sendmail\.cf:sm 357SynMenu R-Sg.Send-pr:sendpr 358SynMenu R-Sg.SGML.SGML\ catalog:catalog 359SynMenu R-Sg.SGML.SGML\ DTD:sgml 360SynMenu R-Sg.SGML.SGML\ Declaration:sgmldecl 361SynMenu R-Sg.SGML.SGML-linuxdoc:sgmllnx 362 363SynMenu Sh-S.Shell\ script.sh\ and\ ksh:sh 364SynMenu Sh-S.Shell\ script.csh:csh 365SynMenu Sh-S.Shell\ script.tcsh:tcsh 366SynMenu Sh-S.Shell\ script.zsh:zsh 367SynMenu Sh-S.SiCAD:sicad 368SynMenu Sh-S.Simula:simula 369SynMenu Sh-S.Sinda.Sinda\ compare:sindacmp 370SynMenu Sh-S.Sinda.Sinda\ input:sinda 371SynMenu Sh-S.Sinda.Sinda\ output:sindaout 372SynMenu Sh-S.SKILL.SKILL:skill 373SynMenu Sh-S.SKILL.SKILL\ for\ Diva:diva 374SynMenu Sh-S.Slice:slice 375SynMenu Sh-S.SLRN.Slrn\ rc:slrnrc 376SynMenu Sh-S.SLRN.Slrn\ score:slrnsc 377SynMenu Sh-S.SmallTalk:st 378SynMenu Sh-S.Smarty\ Templates:smarty 379SynMenu Sh-S.SMIL:smil 380SynMenu Sh-S.SMITH:smith 381SynMenu Sh-S.SNMP\ MIB:mib 382SynMenu Sh-S.SNNS.SNNS\ network:snnsnet 383SynMenu Sh-S.SNNS.SNNS\ pattern:snnspat 384SynMenu Sh-S.SNNS.SNNS\ result:snnsres 385SynMenu Sh-S.Snobol4:snobol4 386SynMenu Sh-S.Snort\ Configuration:hog 387SynMenu Sh-S.SPEC\ (Linux\ RPM):spec 388SynMenu Sh-S.Specman:specman 389SynMenu Sh-S.Spice:spice 390SynMenu Sh-S.Spyce:spyce 391SynMenu Sh-S.Speedup:spup 392SynMenu Sh-S.Splint:splint 393SynMenu Sh-S.Squid\ config:squid 394SynMenu Sh-S.SQL.ESQL-C:esqlc 395SynMenu Sh-S.SQL.MySQL:mysql 396SynMenu Sh-S.SQL.PL/SQL:plsql 397SynMenu Sh-S.SQL.SQL\ (Oracle):sql 398SynMenu Sh-S.SQL.SQL\ Forms:sqlforms 399SynMenu Sh-S.SQL.SQLJ:sqlj 400SynMenu Sh-S.SQL.SQL-Informix:sqlinformix 401SynMenu Sh-S.SQR:sqr 402SynMenu Sh-S.Ssh.ssh_config:sshconfig 403SynMenu Sh-S.Ssh.sshd_config:sshdconfig 404SynMenu Sh-S.Standard\ ML:sml 405SynMenu Sh-S.Stored\ Procedures:stp 406SynMenu Sh-S.Strace:strace 407SynMenu Sh-S.Subversion\ commit:svn 408 409SynMenu TUV.TADS:tads 410SynMenu TUV.Tags:tags 411SynMenu TUV.TAK.TAK\ compare:takcmp 412SynMenu TUV.TAK.TAK\ input:tak 413SynMenu TUV.TAK.TAK\ output:takout 414SynMenu TUV.Tcl/Tk:tcl 415SynMenu TUV.TealInfo:tli 416SynMenu TUV.Telix\ Salt:tsalt 417SynMenu TUV.Termcap/Printcap:ptcap 418SynMenu TUV.Terminfo:terminfo 419SynMenu TUV.TeX.TeX:tex 420SynMenu TUV.TeX.TeX\ configuration:texmf 421SynMenu TUV.TeX.Texinfo:texinfo 422SynMenu TUV.TF\ mud\ client:tf 423SynMenu TUV.Tidy\ configuration:tidy 424SynMenu TUV.Tilde:tilde 425SynMenu TUV.Trasys\ input:trasys 426SynMenu TUV.TSS.Command\ Line:tsscl 427SynMenu TUV.TSS.Geometry:tssgm 428SynMenu TUV.TSS.Optics:tssop 429SynMenu TUV.UIT/UIL:uil 430SynMenu TUV.UnrealScript:uc 431SynMenu TUV.Valgrind:valgrind 432SynMenu TUV.Verilog\ HDL:verilog 433SynMenu TUV.Vgrindefs:vgrindefs 434SynMenu TUV.VHDL:vhdl 435SynMenu TUV.Vim.Vim\ help\ file:help 436SynMenu TUV.Vim.Vim\ script:vim 437SynMenu TUV.Vim.Viminfo\ file:viminfo 438SynMenu TUV.Virata\ config:virata 439SynMenu TUV.Visual\ Basic:vb 440SynMenu TUV.VRML:vrml 441SynMenu TUV.VSE\ JCL:vsejcl 442 443SynMenu WXYZ.WEB.CWEB:cweb 444SynMenu WXYZ.WEB.WEB:web 445SynMenu WXYZ.WEB.WEB\ Changes:change 446SynMenu WXYZ.Webmacro:webmacro 447SynMenu WXYZ.Website\ MetaLanguage:wml 448SynMenu WXYZ.wDiff:wdiff 449SynMenu WXYZ.Wget\ config:wget 450SynMenu WXYZ.Whitespace\ (add):whitespace 451SynMenu WXYZ.WildPackets\ EtherPeek\ Decoder:dcd 452SynMenu WXYZ.WinBatch/Webbatch:winbatch 453SynMenu WXYZ.Windows\ Scripting\ Host:wsh 454SynMenu WXYZ.WvDial:wvdial 455SynMenu WXYZ.X\ Keyboard\ Extension:xkb 456SynMenu WXYZ.X\ Pixmap:xpm 457SynMenu WXYZ.X\ Pixmap\ (2):xpm2 458SynMenu WXYZ.X\ resources:xdefaults 459SynMenu WXYZ.Xmodmap:xmodmap 460SynMenu WXYZ.Xmath:xmath 461SynMenu WXYZ.XML:xml 462SynMenu WXYZ.XML\ Schema\ (XSD):xsd 463SynMenu WXYZ.Xslt:xslt 464SynMenu WXYZ.XFree86\ Config:xf86conf 465SynMenu WXYZ.YAML:yaml 466SynMenu WXYZ.Yacc:yacc 467 468call append(s:lnum, "") 469 470wq 471