home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_vim.idb / usr / freeware / share / vim / syntax / syntax.vim.z / syntax.vim
Encoding:
Text File  |  1998-10-28  |  13.2 KB  |  384 lines

  1. " Vim syntax support file
  2. " Maintainer:    Bram Moolenaar <Bram@vim.org>
  3. " Last change:    1998 Feb 12
  4.  
  5. " This is the startup file for syntax highlighting.
  6. " 1. Set the default highlight groups.
  7. " 2. Install autocommands for all the available syntax files.
  8. " 3. Install the Syntax menu.
  9.  
  10. if has("syntax")
  11.  
  12.   " let others know that syntax has been switched on
  13.   let syntax_on = 1
  14.  
  15.   " The default methods for highlighting.  Can be overridden later.
  16.   " Many terminals can only use six different colors (plus black and white).
  17.   " Therefore the number of colors used is kept low. It doesn't look nice with
  18.   " too many colors anyway.
  19.   " Careful with "cterm=bold", it may change the color to bright.
  20.  
  21.   " There are two sets of defaults: for a dark and a light background.
  22.   if &background == "dark"
  23.     hi Comment    term=bold ctermfg=Cyan guifg=#80a0ff
  24.     hi Constant    term=underline ctermfg=Magenta guifg=#ffa0a0
  25.     hi Special    term=bold ctermfg=LightRed guifg=Orange
  26.     hi Identifier term=underline ctermfg=DarkCyan guifg=#40ffff
  27.     hi Statement term=bold ctermfg=Yellow guifg=#ffff60 gui=bold
  28.     hi PreProc    term=underline ctermfg=LightBlue guifg=#ff80ff
  29.     hi Type    term=underline ctermfg=LightGreen guifg=#60ff60 gui=bold
  30.   else
  31.     hi Comment    term=bold ctermfg=Blue guifg=Blue
  32.     hi Constant    term=underline ctermfg=Magenta guifg=Magenta
  33.     hi Special    term=bold ctermfg=DarkBlue guifg=SlateBlue
  34.     hi Identifier term=underline ctermfg=DarkCyan guifg=DarkCyan
  35.     hi Statement term=bold ctermfg=Brown gui=bold guifg=Brown
  36.     hi PreProc    term=underline ctermfg=Magenta guifg=Purple
  37.     hi Type    term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold
  38.   endif
  39.  
  40.   " These two change the background
  41.   hi Error    term=reverse ctermbg=Red guibg=Orange
  42.   hi Todo    term=standout ctermbg=Yellow guifg=Blue guibg=Yellow
  43.  
  44.   " Common groups that link to default highlighting.
  45.   " You can specify other highlighting easily.
  46.   hi link String    Constant
  47.   hi link Character    Constant
  48.   hi link Number    Constant
  49.   hi link Boolean    Constant
  50.   hi link Float        Number
  51.   hi link Function    Identifier
  52.   hi link Conditional    Statement
  53.   hi link Repeat    Statement
  54.   hi link Label        Statement
  55.   hi link Operator    Statement
  56.   hi link Keyword    Statement
  57.   hi link Exception    Statement
  58.   hi link Include    PreProc
  59.   hi link Define    PreProc
  60.   hi link Macro        PreProc
  61.   hi link PreCondit    PreProc
  62.   hi link StorageClass    Type
  63.   hi link Structure    Type
  64.   hi link Typedef    Type
  65.   hi link Tag        Special
  66.   hi link SpecialChar    Special
  67.   hi link Delimiter    Special
  68.   hi link SpecialComment Special
  69.   hi link Debug        Special
  70.  
  71.  
  72.   augroup syntax
  73.  
  74.   " First remove all old syntax autocommands.
  75.   au!
  76.  
  77.  
  78.   " Ada (83, 9X, 95)
  79.   au BufNewFile,BufRead *.adb,*.ads        so $VIM/syntax/ada.vim
  80.  
  81.   " Assembly (GNU)
  82.   au BufNewFile,BufRead *.asm,*.s        so $VIM/syntax/asm.vim
  83.  
  84.   " ASN.1
  85.   au BufNewFile,BufRead *.asn,*.asn1        so $VIM/syntax/asn.vim
  86.  
  87.   " Atlas
  88.   au BufNewFile,BufRead *.atl,*.as        so $VIM/syntax/atlas.vim
  89.  
  90.   " Awk
  91.   au BufNewFile,BufRead *.awk            so $VIM/syntax/awk.vim
  92.  
  93.   " Batch file for MSDOS
  94.   au BufNewFile,BufRead *.bat,*.sys        so $VIM/syntax/dosbatch.vim
  95.  
  96.   " BibTeX bibliography database file
  97.   au BufNewFile,BufRead *.bib            so $VIM/syntax/bib.vim
  98.  
  99.   " C
  100.   au BufNewFile,BufRead *.c            so $VIM/syntax/c.vim
  101.  
  102.   " C++
  103.   if has("fname_case")
  104.     au BufNewFile,BufRead *.cpp,*.cc,*.cxx,*.c++,*.C,*.h,*.H,*.hh,*.hxx,*.hpp,*.inl so $VIM/syntax/cpp.vim
  105.   else
  106.     au BufNewFile,BufRead *.cpp,*.cc,*.cxx,*.c++,*.h,*.hh,*.hxx,*.hpp,*.inl so $VIM/syntax/cpp.vim
  107.   endif
  108.  
  109.   " Century Term Command Scripts
  110.   au BufNewFile,BufRead *.cmd,*.con        so $VIM/syntax/cterm.vim
  111.  
  112.   " Clean
  113.   au BufNewFile,BufReadPost *.dcl,*.icl        so $VIM/syntax/clean.vim
  114.  
  115.   " Cobol
  116.   au BufNewFile,BufRead *.cbl,*.cob,*.cpy,*.lib    so $VIM/syntax/cobol.vim
  117.  
  118.   " Diff files
  119.   au BufNewFile,BufRead *.diff,*.rej        so $VIM/syntax/diff.vim
  120.  
  121.   " Dracula
  122.   au BufNewFile,BufRead drac.*,*.drac,*.drc,*lvs,*lpe so $VIM/syntax/dracula.vim
  123.  
  124.   " Eiffel
  125.   au BufNewFile,BufReadPost *.e            so $VIM/syntax/eiffel.vim
  126.  
  127.   " Elm Filter Rules file
  128.   au BufNewFile,BufReadPost filter-rules    so $VIM/syntax/elmfilt.vim
  129.  
  130.   " ESQL-C
  131.   au BufNewFile,BufRead *.ec,*.EC        so $VIM/syntax/esqlc.vim
  132.  
  133.   " Fortran
  134.   au BufNewFile,BufRead *.f,*.F,*.for,*.fpp    so $VIM/syntax/fortran.vim
  135.  
  136.   " GP scripts (2.0 and onward)
  137.   au BufNewFile,BufRead *.gp            so $VIM/syntax/gp.vim
  138.  
  139.   " HTML (.shtml for server side)
  140.   au BufNewFile,BufRead *.html,*.htm,*.shtml    so $VIM/syntax/html.vim
  141.  
  142.   " IDL (Interface Description Language)
  143.   au BufNewFile,BufRead *.idl            so $VIM/syntax/idl.vim
  144.  
  145.   " Inform
  146.   au BufNewFile,BufRead *.inf,*.INF        so $VIM/syntax/inform.vim
  147.  
  148.   " .INI file for MSDOS
  149.   au BufNewFile,BufRead *.ini            so $VIM/syntax/dosini.vim
  150.  
  151.   " Java
  152.   au BufNewFile,BufRead *.java,*.jav        so $VIM/syntax/java.vim
  153.  
  154.   " JavaCC
  155.   au BufNewFile,BufRead *.jj            so $VIM/syntax/javacc.vim
  156.  
  157.   " JavaScript
  158.   au BufNewFile,BufRead *.js,*.javascript    so $VIM/syntax/javascript.vim
  159.  
  160.   " Lex
  161.   au BufNewFile,BufRead *.lex,*.l        so $VIM/syntax/lex.vim
  162.  
  163.   " Lisp
  164.   au BufNewFile,BufRead *.lsp,*.L        so $VIM/syntax/lisp.vim
  165.  
  166.   " Lynx style file
  167.   au BufNewFile,BufRead *.lss            so $VIM/syntax/lss.vim
  168.  
  169.   " Mail (for Elm, trn and rn)
  170.   au BufNewFile,BufRead snd.*,.letter,.followup,.article,.article.[0-9]\+,pico.[0-9]\+,mutt*[0-9] so $VIM/syntax/mail.vim
  171.  
  172.   " Makefile
  173.   au BufNewFile,BufRead [mM]akefile*,*.mk,*.mak so $VIM/syntax/make.vim
  174.  
  175.   " Maple V
  176.   au BufNewFile,BufRead *.mv            so $VIM/syntax/maple.vim
  177.  
  178.   " Matlab
  179.   au BufNewFile,BufRead *.m            so $VIM/syntax/matlab.vim
  180.  
  181.   " Modula 2
  182.   au BufNewFile,BufRead *.m2            so $VIM/syntax/modula2.vim
  183.  
  184.   " M$ Resource files
  185.   au BufNewFile,BufRead *.rc            so $VIM/syntax/rc.vim
  186.  
  187.   " Mutt setup file
  188.   au BufNewFile,BufRead .muttrc            so $VIM/syntax/muttrc.vim
  189.  
  190.   " Pascal
  191.   au BufNewFile,BufRead *.p,*.pas        so $VIM/syntax/pascal.vim
  192.  
  193.   " Perl
  194.   au BufNewFile,BufRead *.pl,*.pm        so $VIM/syntax/perl.vim
  195.  
  196.   " Perl POD
  197.   au BufNewFile,BufRead *.pod            so $VIM/syntax/pod.vim
  198.  
  199.   " Pike
  200.   au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod so $VIM/syntax/pike.vim
  201.  
  202.   " PostScript
  203.   au BufNewFile,BufRead *.ps,*.eps        so $VIM/syntax/postscr.vim
  204.  
  205.   " Povray
  206.   au BufNewFile,BufRead *.pov            so $VIM/syntax/pov.vim
  207.  
  208.   " Procmail
  209.   au BufNewFile,BufRead .procmail        so $VIM/syntax/procmail.vim
  210.  
  211.   " Prolog
  212.   au BufNewFile,BufRead *.pdb            so $VIM/syntax/prolog.vim
  213.  
  214.   " Python
  215.   au BufNewFile,BufRead *.py            so $VIM/syntax/python.vim
  216.  
  217.   " S-lang
  218.   au BufNewFile,BufRead *.sl            so $VIM/syntax/slang.vim
  219.  
  220.   " Sather
  221.   au BufNewFile,BufRead *.sa            so $VIM/syntax/sather.vim
  222.  
  223.   " Sendmail
  224.   au BufNewFile,BufRead sendmail.cf        so $VIM/syntax/sm.vim
  225.  
  226.   " Shell scripts (sh, ksh, bash, csh)
  227.   au BufNewFile,BufRead .profile,.bashrc,.kshrc,*.sh,*.ksh,*.bash,*.env so $VIM/syntax/sh.vim
  228.   au BufNewFile,BufRead .login,.cshrc,*.csh,*.tcsh so $VIM/syntax/csh.vim
  229.  
  230.   " Z-Shell script
  231.   au BufNewFile,BufRead .z*,zsh*,zlog*        so $VIM/syntax/zsh.vim
  232.  
  233.   " Smalltalk
  234.   au BufNewFile,BufRead *.st,*.cls        so $VIM/syntax/st.vim
  235.  
  236.   " SNMP MIB files
  237.   au BufNewFile,BufReadPost *.mib,*.smi        so $VIM/syntax/mib.vim
  238.  
  239.   " SQL
  240.   au BufNewFile,BufRead *.sql            so $VIM/syntax/sql.vim
  241.  
  242.   " Telix Salt
  243.   au BufNewFile,BufRead *.slt            so $VIM/syntax/tsalt.vim
  244.  
  245.   " TeX
  246.   au BufNewFile,BufRead *.tex,*.sty        so $VIM/syntax/tex.vim
  247.  
  248.   " Motif UIT/UIL files
  249.   au BufNewFile,BufRead *.uit,*.uil        so $VIM/syntax/uil.vim
  250.  
  251.   " Verilog HDL
  252.   au BufNewFile,BufRead *.v            so $VIM/syntax/verilog.vim
  253.  
  254.   " Tcl
  255.   au BufNewFile,BufRead *.tcl            so $VIM/syntax/tcl.vim
  256.  
  257.   " VHDL
  258.   au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vhdl_[0-9]*,*.vbe,*.vst  so $VIM/syntax/vhdl.vim
  259.  
  260.   " Vim Help file
  261.   if has("mac")
  262.     au BufNewFile,BufRead *[/:]vim*[/:]doc[/:]*.txt    so $VIM/syntax/help.vim
  263.   else
  264.     au BufNewFile,BufRead */vim*/doc/*.txt    so $VIM/syntax/help.vim
  265.   endif
  266.  
  267.   " Vim script
  268.   au BufNewFile,BufRead *vimrc*,*.vim,.exrc,_exrc so $VIM/syntax/vim.vim
  269.  
  270.   " Viminfo file
  271.   au BufNewFile,BufRead .viminfo,_viminfo    so $VIM/syntax/viminfo.vim
  272.  
  273.   " Vgrindefs file
  274.   au BufNewFile,BufRead vgrindefs        so $VIM/syntax/vgrindefs.vim
  275.  
  276.   " VRML V1.0c
  277.   au BufNewFile,BufRead *.wrl            so $VIM/syntax/vrml.vim
  278.  
  279.   " Xmath
  280.   au BufNewFile,BufRead *.ms,*.msc,*.msf    so $VIM/syntax/xmath.vim
  281.  
  282.   " Yacc
  283.   au BufNewFile,BufRead *.y            so $VIM/syntax/yacc.vim
  284.  
  285.   " Various scripts, without a specific extension
  286.   au BufNewFile,BufRead *            so $VIM/syntax/scripts.vim
  287.  
  288.   augroup END
  289.  
  290.   if has("gui")
  291.     50amenu Syntax.off            :syn clear
  292.     50amenu Syntax.ABCDE.Ada        :so $VIM/syntax/ada.vim
  293.     50amenu Syntax.ABCDE.Amiga\ DOS    :so $VIM/syntax/amiga.vim
  294.     50amenu Syntax.ABCDE.assembly    :so $VIM/syntax/asm.vim
  295.     50amenu Syntax.ABCDE.ASN\.1        :so $VIM/syntax/asn.vim
  296.     50amenu Syntax.ABCDE.Atlas        :so $VIM/syntax/atlas.vim
  297.     50amenu Syntax.ABCDE.Awk        :so $VIM/syntax/awk.vim
  298.     50amenu Syntax.ABCDE.BibFile    :so $VIM/syntax/bib.vim
  299.     50amenu Syntax.ABCDE.C        :so $VIM/syntax/c.vim
  300.     50amenu Syntax.ABCDE.C++        :so $VIM/syntax/cpp.vim
  301.     50amenu Syntax.ABCDE.Century\ Term    :so $VIM/syntax/cterm.vim
  302.     50amenu Syntax.ABCDE.Csh\ shell\ script :so $VIM/syntax/csh.vim
  303.     50amenu Syntax.ABCDE.Clean        :so $VIM/syntax/clean.vim
  304.     50amenu Syntax.ABCDE.Cobol        :so $VIM/syntax/cobol.vim
  305.     50amenu Syntax.ABCDE.Diff        :so $VIM/syntax/diff.vim
  306.     50amenu Syntax.ABCDE.Dracula    :so $VIM/syntax/dracula.vim
  307.     50amenu Syntax.ABCDE.Eiffel        :so $VIM/syntax/eiffel.vim
  308.     50amenu Syntax.ABCDE.Elm\ Filter    :so $VIM/syntax/elmfilt.vim
  309.     50amenu Syntax.ABCDE.ESQL-C        :so $VIM/syntax/esqlc.vim
  310.     50amenu Syntax.ABCDE.Expect        :so $VIM/syntax/expect.vim
  311.     50amenu Syntax.FGHIJ.Fortran    :so $VIM/syntax/fortran.vim
  312.     50amenu Syntax.FGHIJ.GP        :so $VIM/syntax/gp.vim
  313.     50amenu Syntax.FGHIJ.HTML        :so $VIM/syntax/html.vim
  314.     50amenu Syntax.FGHIJ.IDL        :so $VIM/syntax/idl.vim
  315.     50amenu Syntax.FGHIJ.Inform        :so $VIM/syntax/inform.vim
  316.     50amenu Syntax.FGHIJ.Java        :so $VIM/syntax/java.vim
  317.     50amenu Syntax.FGHIJ.JavaCC        :so $VIM/syntax/javacc.vim
  318.     50amenu Syntax.FGHIJ.JavaScript    :so $VIM/syntax/javascript.vim
  319.     50amenu Syntax.KLMNO.Lex        :so $VIM/syntax/lex.vim
  320.     50amenu Syntax.KLMNO.Lisp        :so $VIM/syntax/lisp.vim
  321.     50amenu Syntax.KLMNO.Lynx\ Style    :so $VIM/syntax/lss.vim
  322.     50amenu Syntax.KLMNO.Mail        :so $VIM/syntax/mail.vim
  323.     50amenu Syntax.KLMNO.Makefile    :so $VIM/syntax/make.vim
  324.     50amenu Syntax.KLMNO.Maple        :so $VIM/syntax/maple.vim
  325.     50amenu Syntax.KLMNO.Matlab        :so $VIM/syntax/matlab.vim
  326.     50amenu Syntax.KLMNO.Model        :so $VIM/syntax/model.vim
  327.     50amenu Syntax.KLMNO.Modula\ 2    :so $VIM/syntax/modula2.vim
  328.     50amenu Syntax.KLMNO.MS-DOS\ \.bat\ file :so $VIM/syntax/dosbatch.vim
  329.     50amenu Syntax.KLMNO.MS-DOS\ \.ini\ file :so $VIM/syntax/dosini.vim
  330.     50amenu Syntax.KLMNO.MS\ Resource\ file  :so $VIM/syntax/rc.vim
  331.     50amenu Syntax.KLMNO.Muttrc        :so $VIM/syntax/muttrc.vim
  332.     50amenu Syntax.KLMNO.Objective\ C    :so $VIM/syntax/objc.vim
  333.     50amenu Syntax.PQRST.Pascal        :so $VIM/syntax/pascal.vim
  334.     50amenu Syntax.PQRST.Perl        :so $VIM/syntax/perl.vim
  335.     50amenu Syntax.PQRST.Perl\ POD    :so $VIM/syntax/pod.vim
  336.     50amenu Syntax.PQRST.Pike        :so $VIM/syntax/pike.vim
  337.     50amenu Syntax.PQRST.PostScript    :so $VIM/syntax/postscr.vim
  338.     50amenu Syntax.PQRST.Povray        :so $VIM/syntax/pov.vim
  339.     50amenu Syntax.PQRST.Procmail    :so $VIM/syntax/procmail.vim
  340.     50amenu Syntax.PQRST.Prolog        :so $VIM/syntax/prolog.vim
  341.     50amenu Syntax.PQRST.Python        :so $VIM/syntax/python.vim
  342.     50amenu Syntax.PQRST.S-lang        :so $VIM/syntax/slang.vim
  343.     50amenu Syntax.PQRST.Sather        :so $VIM/syntax/sather.vim
  344.     50amenu Syntax.PQRST.Sendmail\.cf    :so $VIM/syntax/sm.vim
  345.     50amenu Syntax.PQRST.Sh\ shell\ script :so $VIM/syntax/sh.vim
  346.     50amenu Syntax.PQRST.SmallTalk    :so $VIM/syntax/st.vim
  347.     50amenu Syntax.PQRST.SNMP\ MIB    :so $VIM/syntax/mib.vim
  348.     50amenu Syntax.PQRST.SQL        :so $VIM/syntax/sql.vim
  349.     50amenu Syntax.PQRST.Telix\ Salt    :so $VIM/syntax/tsalt.vim
  350.     50amenu Syntax.PQRST.Tex        :so $VIM/syntax/tex.vim
  351.     50amenu Syntax.PQRST.Tcl        :so $VIM/syntax/tcl.vim
  352.     50amenu Syntax.UVWXYZ.UIT/UIL    :so $VIM/syntax/uil.vim
  353.     50amenu Syntax.UVWXYZ.Verilog\ HDL    :so $VIM/syntax/verilog.vim
  354.     50amenu Syntax.UVWXYZ.VHDL        :so $VIM/syntax/vhdl.vim
  355.     50amenu Syntax.UVWXYZ.Vim\ help\ file :so $VIM/syntax/help.vim
  356.     50amenu Syntax.UVWXYZ.Vim\ script    :so $VIM/syntax/vim.vim
  357.     50amenu Syntax.UVWXYZ.Viminfo\ file    :so $VIM/syntax/viminfo.vim
  358.     50amenu Syntax.UVWXYZ.vgrindefs    :so $VIM/syntax/vgrindefs.vim
  359.     50amenu Syntax.UVWXYZ.VRML        :so $VIM/syntax/vrml.vim
  360.     50amenu Syntax.UVWXYZ.Xmath        :so $VIM/syntax/xmath.vim
  361.     50amenu Syntax.UVWXYZ.Yacc        :so $VIM/syntax/yacc.vim
  362.     50amenu Syntax.UVWXYZ.Zsh\ shell\ script :so $VIM/syntax/zsh.vim
  363.     50amenu Syntax.color\ test        :sp $VIM/syntax/colortest.vim|so %
  364.     50amenu Syntax.highlight\ test    :sp $VIM/syntax/hitest.vim|so %
  365.     50amenu Syntax.manual        :normal :augroup syntax
  366. :au!
  367. :augroup END
  368. :syn clear
  369. :aunmenu Syntax.manual
  370. :50amenu Syntax.automatic :aunmenu Syntax.automatic|so $VIM/syntax/syntax.vim
  371. 
  372. 
  373.  
  374.     50amenu Syntax.convert\ to\ HTML    :so $VIM/syntax/2html.vim
  375.   endif
  376.  
  377.  
  378. " Source the user-specified syntax highlighting file
  379.   if exists("mysyntaxfile")
  380.     if file_readable(expand(mysyntaxfile))
  381.       execute "source " . mysyntaxfile
  382.     endif
  383.   endif
  384.  
  385.  
  386.   " Execute the syntax autocommands for the each buffer.
  387.   doautoall syntax BufRead
  388.  
  389. endif
  390.  
  391. " vim: ts=8
  392.