# elvis.syn -- stores descriptions of languages for use with ":display syntax" # C++. In addition to the extra keywords, it also causes mixed-case words # which begin with an uppercase letter to be displayed in the "otherfont". # This is because those names are typically class names. language c++ extension .C .cxx .cc .cpp .h .H .hxx .hh .hpp foreign .c keyword auto bool break case catch char class const const_cast continue default keyword defined delete do double dynamic_cast else enum extern false far float keyword friend for goto if inline int long namespace near new operator private keyword protected public register reinterpret_cast return short signed sizeof keyword static static_cast struct switch template this throw true try typedef keyword typename union unsigned using virtual void volatile while font variable -> . comment // comment /* */ preprocessor # prepquote < > function ( string " character ' startword _ inword _ operator operator ~!%^&*+|-=[]<>/ other allcaps initialcaps initialpunct final_t # ANSI C. Note that ".h" is not listed as a possible file name extension here # since it could also be C++ code. The differences between the two are small, # but if we must guess, then C++ is the better choice because C++ declarations # use a lot of keywords which are absent from C. language c extension .c .ic .ec foreign .h keyword auto break case char const continue default delete defined do keyword double else enum extern far float friend for goto if int long keyword near register return short signed sizeof static struct switch keyword typedef union unsigned void volatile while font variable -> . #comment // comment /* */ preprocessor # prepquote < > function ( string " character ' startword _ inword _ set hlobject="aL" other allcaps final_t #other allcaps final_t initialpunct # Java. Note that ".jav" is offered as a possible file name extension for # folks who're still using MS-DOS or Windows 3.1. language java extension .java .jav keyword abstract boolean break byte byvalue case cast catch char class keyword const continue default do double else extends false final finally keyword float for future generic goto if implements import inner instanceof keyword int interface long native new null operator outer package private keyword protected public rest return short static super switch synchronized keyword this throw throws transient true try var void volatile while comment // comment /* */ function ( string " character ' startword _ inword _ other allcaps initialcaps # Awk. This is actually for Thompson Automation's AWK compiler, which is # somewhat beefier than the standard AWK interpreter. language tawk awk extension .awk keyword BEGIN BEGINFILE END ENDFILE INIT break continue do else for function keyword global if in local next return while comment # function ( string " regexp / useregexp (,~ other allcaps # Imakefiles. This one is interesting because '#' is both the preprocessor # character and the comment character. A '#' in the first column is displayed # as a preprocessor directive, and anywhere else as the start of a comment. # The '/' character can't appear at the start of a word because that would # interfere with its use in /*...*/ comments. Note that this language appears # before the "make" language, so "Imakefile" files won't be misrecognized as # Makefiles. language xmkmf imakefile extension Imakefile preprocessor # comment # comment /* */ startword .$ inword /.$()_ # Makefiles. Note that file names like "Makefile" & "makefile" are recognized. # The keywords listed here are actually just common names for pseudo-targets. # The word characters include anything that's commonly used in a filename. # Any word followed by a : will be displayed in the functionfont. language make extension makefile makefile.in keyword .PHONY .SUFFIXES .DEFAULT .PRECIOUS .IGNORE .SILENT keyword .EXPORT_ALL_VARIABLES keyword all again clean depend distclean install realclean uninstall comment # startword /.$_ inword /.$()_ function : other allcaps # Microsoft NMAKE-style makefiles. Microsoft's NMAKE uses ! to introduce # preprocessor directives. language nmake extension .mak comment # preprocessor ! startword \.$ inword \.$()_ function : # PostScript (with help from Hans Wessner) language postscript ps extension .ps .eps keyword $error << = == >> FontDirectory GlobalFontDirectory ISOLatin1Encoding keyword StandardEncoding UserObjects [ ] abs add aload anchorsearch and arc arcn keyword arct arcto array ashow astore atan awidthshow begin bind bitshift keyword bytesavailable cachestatus cancatmatrix ceiling chachestatus charpath keyword clear cleardictstack cleartomark clip clippath closefile closepath keyword colorimage concat condition copy copypage cos count countdictstack keyword countexecstack counttomark cshow currentblackgeneration currentcmykcolor keyword currentcolor currentcolorrendering currentcolorscreen currentcolorspace keyword currentcolortransfer currentcontext currentdash currentdevparams keyword currentdict currentfile currentflat currentfont currentglobal keyword currentgray currentgstate currenthalftone currenthalftonepahse keyword currenthsbcolor currentlinejoin currentlinewidth currentmatrix keyword currentmiterlimit currentoverprint currentpacking currentpoint keyword currentrgbcolor currentscreen currentstrokeadjust currentsystemparams keyword currenttransfer currentundercolorremoval currentuserparams curveto keyword cuttentobjectformat cuttentpagedevice cvi cvlit cvn cvr cvrs cvs cvx def keyword defaultmatrix definefont defineresource defineusername defineuserobject keyword deletefile detach deviceinfo dict div dtransform dup echo end eoclip keyword eofill eovieclip eq erasepage error exch exec execform execuserobject keyword executeonly executive exit exp false file filenameforall fileposition keyword fill filter findencoding findfont findresource flattenpath floor flush keyword flushfile for forall fork gcheck ge get getinterval globaldict glyphshow keyword grestore grestoreall gsave gstate gt identmatrix idiv idtransform if keyword ifelse image imagemask index ineofill infill initclip initgraphics keyword initmatrix initviewclip instroke inueofill inufill inustroke keyword invertmatrix itransform join known kshow languagelevel le length lineto keyword ln load lock log loop lt makefont makepattern mark matrix maxlength mod keyword monitor moveto mul ne neg newpath noaccess not notify null nulldevice or keyword packedarray pathbbox pathforall pop print printobject product prompt keyword pstack put putinterval quit rand rcheck rcurveto read readhexstring keyword readline readonly readstring realtime rectclip rectfill rectstroke keyword rectviewclip renamefile repeat resetfile resourceforall resourcestatus keyword restore reversepath revision rlineto rmoveto roll rootfont rotate round keyword rrand run save scale scalefont search selectfont serialnumber setbbox keyword setblackgeneration setcachedevice setcachelimit setcacheparams keyword setchacheparams setcharwidth setcmykcolor setcolor setcolorrendering keyword setcolorscreen setcolorspace setcolortransfer setdash setdevparams keyword setfileposition setflat setfont setglobal setgray sethalfonephase keyword sethalftone sethsbcolor setlinecap setlinejoin setlinewidth setmatrix keyword setmiterlimit setobectformat setoverprint setpacking setpagedevice keyword setpattern setrgbcolor setscteen setstrokeadjust setsystemparams keyword settransfer setundercolorremoval setuserparams setvmthreshold show keyword showpage sin sqrt srand stack start startjob status statusdict stop keyword stopped store string stringwidth stroke strokepath sub systemdict token keyword transform translate true truncate type uappend ucache uchachstatus keyword ueofill ufill undef undefinefont undefineresource undefineuserobject keyword upath userdict usertime ustroke ustrokepath version viewclip keyword viewclippath vmreclaim vmstatus wait wcheck wherer widthshow write keyword writehexstring writeobject writestring wtranslation xcheck xor xshow keyword xyshow yield string ( ) backslash none comment % # Pascal. Note that Pascal supports two styles of multi-line comments, while # Elvis only permits one multi-line style and many single-line styles. This # version uses { } for the multi-line comments, and also pretends that (* # markes the start of a single-line comment -- Elvis won't detect *) language pascal extension .p .pas keyword and array begin boolean case char const delete div do downto else end keyword false file for function get goto if in input insert integer interactive keyword keyboard label maxint mod new nil not of or output packed procedure keyword program put read readln real record repeat reset rewrite seek set keyword string text then to true type until var while with write writeln comment { } comment (* function ( string ' backslash none ignorecase true # Korn shell scripts. It also tries to format other Bourne-like shell scripts. # Contributed by Gabriel Zachmann (zach@igd.fhg.de) # Modified by S.K. to take advantage of new features of Elvis # NOTE: The "elvis.arf" file also checks for "#!/bin/sh" on the first line, # and uses this syntax then. Script names don't need to end with ".sh" # Added extra words and put in lexical order - Walter Briscoe 1997/06/18 language ksh bash sh shV sh5 extension .sh keyword $* $@ $# $? $- $$ $! & | ; [ ] < > ( ) keyword alias autoload bg break case cd continue do done echo elif else esac keyword eval exec exit export false fc fg fi for getopts hash history keyword if in integer jobs kill let newgrp nohup print pwd r read readonly keyword select set shift source stop suspend test then time times trap type keyword typeset ulimit umask unalias unset until wait whence while function ( comment # startword /?-*!. inword /?*!. # The following is more subtle than it looks. Elvis allows us to define two # string quotes and one character quote, and sh needs all of them. But the # choice of which bash quote to use as "character" is critical. Subcommands # often span multiple lines, so ` must be a "string". Elvis uses backscanning # to determine whether the top line of the display is a continuation of a # string, and sometimes that doesn't work right. Characters can't span # multiple lines in Elvis, so calling the more common type of quoting a # "character" avoids that problem. character " string ' string ` strnewline indent # TCL shell scripts. # Contributed by Martin Mitchell (martin@debian.org) # and Jeff Wang (jeffw@advance.com) language tcl wish wish8.3 extension .tcl comment # keyword Balloon ButtonBox Control DirList ExFileSelectBox ExFileSelectDialog keyword FileEntry HList LabelEntry LabelFrame NoteBook OptionMenu PanedWindow keyword PopupMenu ScrolledHList ScrolledText ScrolledWindow Select StdButtonBox keyword after append array auto_execok auto_load auto_mkindex auto_reset bell keyword bind bindtags break button canvas case catch cd checkbutton clipboard keyword close common concat constructor continue default destroy destructor keyword else elseif entry eof error eval exec exit expr file fileevent flush keyword focus for for_array_keys for_file for_recursive_glob foreach format keyword frame gets glob global grab history if image in incr info inherit keyword itcl_class join label lappend lindex linsert list listbox llength loop keyword lower lrange lreplace lsearch lsort menu menubutton message method open keyword option pack pid place proc protected public puts pwd radiobutton raise keyword read regexp regsub rename return scale scan scrollbar seek selection keyword send set source split string subst switch tell text then time tix tk keyword tk_popup tkwait toplevel trace unknown unset update uplevel upvar while keyword winfo wm [ ] font declaration proc color declaration like keyword function { startword &$_ inword _ string " other allcaps # Modula-2 # Contributed by Peter Funk (pf@artcom0.north.de) language modula2 extension .mod .def .mi .md keyword + - * / = := & | <> <= >= .. : ; { } [ ] keyword AND ARRAY BEGIN BY CASE CONST DEFINITION DIV DO ELSE ELSIF END keyword EXIT EXPORT FOR FROM IF IMPLEMENTATION IMPORT IN LOOP MOD MODULE keyword NOT OF OR POINTER PROCEDURE QUALIFIED RECORD REPEAT RETURN SET keyword THEN TO TYPE UNTIL VAR WHILE WITH comment (* *) # Nested comments like (* foo (* bar *) gnu *) are NOT taken into account! function ( # comment this out, if you don't like it: font declaration CONST TYPE VAR MODULE PROCEDURE RETURN EXIT color declaration like keyword string " character ' # you might want to try this out : # inword ._ other allcaps initialcaps # Perl. # Original version contributed by Herb Kateley (herb@ke.com). Another version # was contributed by Jeff Wang (jeffw@enterprise.advance.com). What you see # here is the merger of those two, with other modifications. The "font normal" # line exists to prevent $# from being interpreted as a plain dollar sign # followed by a comment. language perl extension .pl .pm keyword BEGIN END CORE __END__ __FILE__ __LINE__ AUTOLOAD DESTROY INIT keyword abs accept alarm and atan2 bind binmode bless caller chdir chmod keyword chomp chop chown chr chroot close closedir cmp connect continue cos keyword crypt dbmclose dbmopen defined delete die do dump each else elsif keyword endgrent endhostent endnetent endprotoent endpwent endservent eof keyword eq err eval exec exists exit exp fcntl fileno flock for foreach fork keyword format formline ge getc getgrent getgrgid getgrnam gethostbyaddr keyword gethostbyname gethostent getlogin getnetbyaddr getnetbyname keyword getnetent getpeername getpgrp getppid getpriority getprotobyname keyword getprotobynumber getprotoent getpwent getpwnam getpwuid keyword getservbyname getservbyport getservent getsockname getsockopt keyword glob gmtime goto grep gt hex if index int ioctl join keys kill keyword last lc lcfirst le length link listen local localtime log lstat keyword lt m map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct keyword open opendir or ord our pack package pipe pop pos print printf push keyword q qq quotemeta qw qx rand read readdir readline readlink readpipe keyword recv redo ref rename require reset return reverse rewinddir rindex keyword rmdir s scalar seek seekdir select semctl semget semop send setgrent keyword sethostent setnetent setpgrp setpriority setprotoent setpwent keyword setservent setsockopt shift shmctl shmget shmread shmwrite shutdown keyword sin sleep socket socketpair sort splice split sprintf sqrt srand keyword stat study sub substr symlink syscall sysopen sysread system syswrite keyword tell telldir tie tied time times tr truncate uc ucfirst umask undef keyword unless keyword unlink unpack unshift untie until use utime values vec keyword wait waitpid wantarray warn while write x xor y comment # function ( startword &_@%$ inword _' string " strnewline empty character ' regexp /?#: useregexp (,~&| if elsif unless while until split m qr and or useregsub s tr other allcaps font parenthesis ( ) { } color parenthesis fixed red font normal $" $# documentation =cut # VRML markups. # Contributed by Jeff Wang (jeffw@advance.com) language vrml extension .wrl comment # keyword Anchor Appearance AsciiText AudioClip Background Billboard Box keyword Collision Color ColorInterpolator Cone Coordinate Coordinate3 keyword CoordinateInterpolator Cube Cylinder CylinderSensor DirectionalLight keyword DiskSensor ElevationGrid Extrusion FALSE Fog FontStyle FontStyle Group keyword IS ImageTexture IndexedFaceSet IndexedLineSet Info Inline LOD Material keyword MaterialBinding MatrixTransform MovieTexture NULL NavigationInfo Normal keyword NormalBinding NormalInterpolator OrientationInterpolator keyword OrthographicCamera PerspectiveCamera PixelTexture PlaneSensor keyword PointLight PointSet PositionInterpolator ProximitySensor ROUTE Rotation keyword ScalarInterpolator Scale Script Separator Shape ShapeHints Sound Sphere keyword SphereSensor SpotLight Switch TO TRUE Text Texture2 Texture2Transform keyword TextureCoordinate TextureCoordinate2 TextureTransform TimeSensor keyword TouchSensor Transform TransformSeparator Translation USE Viewpoint keyword VisibilitySensor WWWAnchor WWWInline WorldInfo eventIn eventOut keyword exposedField field function { startword &$_ inword _ string [ ] other allcaps # Quick hack to make diffs use different colors for different lines # This isn't perfect, but it is useful language diff extension .dif .diff comment < comment > font oldtext < font newtext > color oldtext italic color newtext bold anchor 1 < > mostly normal language cdiff patch extension .cdi .cdiff .patch .pat comment + comment ** comment -- comment - comment ! anchor 1 + - ** -- ! font changedtext ! font oldtext - font newtext + color changedtext bold italic color newtext bold color oldtext italic mostly normal # Fortran 77 # Contributed by Lois Amoreira (amoreira@ubistf.ubi.pt) # Comments in F77 are *'s or c's appearing in the 1st column. # I defined them as "*'" language fortran77 f77 fortran extension .f .f77 comment c *' anchor 1 c *' keyword .and. .eq. .eqv. .ge. .gt. .le. .lt. .ne. .neqv. .not. .or. keyword accept access assign backspace blank block blockdata boolean buffer keyword call character close common complex continue data data decode define keyword dimension do double dump dvck else elseif encode end endif entry keyword equivalence err exit external file find fmt form format function keyword go goto id if implicit in include integer intrinsic iostat level keyword logical namelist open out overfl parameter pause pdump precision keyword print program punch read real rec recl return rewind keyword save status stop strace subroutine then to type unit unit unknown keyword write virtual wait startword . inword . string ' function ( ignorecase true # Python source # Contributed by Dan Fandrich (dan@fch.wimsey.bc.ca) # Note that there is no perfect way to specify Python's multiline strings here, # so after the first empty line they may be displayed as program text language python extension .py comment # # keywords keyword access and break class continue def del elif else except finally for keyword from global if import in is lambda not or pass print raise return try keyword while # built-in exceptions keyword AccessError AttributeError ConflictError EOFError keyword IOError ImportError IndexError KeyError KeyboardInterrupt keyword MemoryError NameError None OverflowError RuntimeError keyword SyntaxError SystemError SystemExit TypeError ValueError keyword ZeroDivisionError # built-in functions keyword abs apply callable chr cmp coerce compile delattr keyword dir divmod eval execfile filter float getattr keyword globals hasattr hash hex id input int len keyword locals long map max min oct open ord pow keyword range raw_input reduce reload repr round setattr keyword str tuple type vars xrange # other keyword exec _ __doc__ __import__ __main__ __name__ None # special methods keyword __abs__ __add__ __and__ __bases__ __builtins__ __call__ __class__ keyword __cmp__ __coerce__ __del__ __delattr__ __delitem__ __delslice__ keyword __dict__ __div__ __divmod__ __float__ __getattr__ __getitem__ keyword __getslice__ __hash__ __hex__ __init__ __int__ __invert__ __len__ keyword __long__ __lshift__ __members__ __methods__ __mod__ __mul__ __neg__ keyword __nonzero__ __oct__ __or__ __pos__ __pow__ __repr__ __rshift__ keyword __setattr__ __setitem__ __setslice__ __str__ __sub__ __version__ __xor__ string ' strnewline empty character " function ( startword _ inword _ # Scheme # Contributed by John Arundel # Based on contribution by Iver Odin Kvello (i.o.kvello@sum.uio.no) # R4RS Scheme, with keywords from the macro appendix. # Doesn't work well with s-exp syntax. Also no chars or constants (beginning # with #.) language scheme extension .scm .sc .ss keyword * + - / < <= = => > >= abs acos and angle append apply asin assoc assq keyword assv atan begin boolean? caaaar caaadr caaar caadar caaddr caadr caar keyword cadaar cadadr cadar caddar cadddr caddr cadr keyword call-with-current-continuation call-with-input-file keyword call-with-output-file car case cdaaar cdaadr cdaar cdadar cdaddr cdadr keyword cdar cddaar cddadr cddar cdddar cddddr cdddr cddr cdr ceiling keyword char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? keyword char-ready? char-upcase char-upper-case? char-whitespace? char<=? keyword char=? char>? char? close-input-port close-output-port keyword complex? cond cons cos current-input-port current-output-port define keyword define-syntax delay denominator display do else eof-object? eq? equal? keyword eqv? even? exact->inexact exact? exp expt floor for-each force gcd if keyword imag-part inexact->exact inexact? input-port? integer->char integer? keyword lambda lcm length let let* let-syntax letrec letrec-syntax list keyword list->string list->vector list-ref list-tail list? load log magnitude keyword make-polar make-rectangular make-string make-vector map max member keyword memq memv min modulo negative? newline not null? number->string keyword number? numerator odd? open-input-file open-output-file or keyword output-port? pair? peek-char positive? procedure? quasiquote quote keyword quotient rational? rationalize read read-char real-part real? keyword remainder reverse round set! set-car! set-cdr! sin sqrt string keyword string->list string->number string->symbol string-append string-ci<=? keyword string-ci=? string-ci>? string-copy keyword string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? keyword syntax syntax-rules tan transcript-off transcript-on truncate unquote keyword unquote-splicing vector vector->list vector-fill! vector-length keyword vector-ref vector-set! vector? with-input-from-file keyword with-output-to-file write write-char zero? comment ; string " ignorecase true startword + - . * / < = > ! ? : $ % _ & ~ ^ inword + - . * / < = > ! ? : $ % _ & ~ ^ # HTML language html extension .html .htm .jsp .asp .php # Standard tags for HTML 3.2 keyword # Standard parameters for HTML 3.2 font argument action= align= alink= alt= background= bgcolor= border= font argument cellpadding= cellspacing= code= codebase= color= cols= colspan= font argument content= coords= enctype= height= href= hspace= http-equiv= font argument link= maxlength= method= name= prompt= rel= rev= rows= rowspan= font argument shape= size= src= text= title= type= usemap= valign= value= font argument vlink= vspace= width= font argument ismap noshade nowrap color argument like keyword green # Netscape-specific tags font nonportable function = character &; ignorecase true mostly formatted #The docbook, as taken from "Docbook: The definitive guide" version 2.0.3 #till version 4.1 Hope it helps making some fine manuals. #Hints are welcome. language sgml extension .sgml .sgm keyword < keyword keyword
keyword
keyword keyword
keyword keyword keyword keyword keyword
keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword
keyword keyword
keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword keyword