File: elvis.syn

package info (click to toggle)
elvis 2.1i-3
  • links: PTS
  • area: non-free
  • in suites: hamm
  • size: 4,120 kB
  • ctags: 5,838
  • sloc: ansic: 53,854; sh: 811; makefile: 263
file content (877 lines) | stat: -rw-r--r-- 35,511 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
# elvis.syn -- stores descriptions of languages for use with ":display syntax"

# 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
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
keyword unless
comment //
comment /* */
preprocessor #
prepquote < >
function (
string "
character '
startword _
inword _
other allcaps final_t
#other allcaps final_t initialpunct

# 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
keyword auto break case catch char class const const_cast continue default
keyword defined delete do double dynamic_cast else enum extern far float friend
keyword for goto if inline int long near new operator private protected public
keyword register reinterpret_cast return short signed sizeof static static_cast
keyword struct switch template this throw try typedef union unsigned virtual
keyword void volatile while
comment //
comment /* */
preprocessor #
prepquote < >
function (
string "
character '
startword _
inword _
operator operator ~!%^&*+|-=[]<>/
other allcaps initialcaps initialpunct final_t

# Java.  Note that ".jav" is offered as a possible file name extension for
# folks who're still using MS-DOS or Windows 3.1.  Hopefully nobody will
# ever type in an uppercase .JAV filename.
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 interpretter.
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 akefile akefile.in
keyword all clean depend install uninstall
comment #
startword /.$
inword /.$()
function :

# Microsoft NMAKE-style makefiles.  Microsoft's NMAKE uses ! to introduce
# preprocessor directives.
language nmake
extension .mak
comment #
preprocessor !
startword \.$
inword \.$()
function :

# PostScript
language postscript ps
extension .ps .eps
keyword add aload and arc arcn arcto array ashow awidthshow begin charpath
keyword clear closepath copy copy copypage def definefont dict div dup end
keyword eq exch exec exit false fill findfont for forall ge get grestore
keyword gsave gt idiv if ifelse kshow le length lineto loop lt makefont
keyword maxlength moveto mul ne neg newpath not or pop put repeat restore
keyword rlineto rmoveto roll rotate round save scale search setgray
keyword setlinewidth show showpage keyword string stroke sub translate true
keyword widthshow xor
string ( )
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 '
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 stop suspend test then time times trap type typeset
keyword ulimit umask unalias unset until wait whence while
function (
comment #
startword /?-*!.
inword /?*!.
string `
strnewline empty
character '

# Modula-2
# Contributed by Peter Funk (pf@artcom0.north.de)
language modula2
extension .MOD .DEF .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 emphasized CONST TYPE VAR MODULE PROCEDURE RETURN EXIT
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 interpretted as a plain dollar sign
# followed by a comment.
language perl  
extension .pl .pm 
keyword BEGIN END CORE __END__ __FILE__ __LINE__ AUTOLOAD DESTROY
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 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 pack package pipe pop pos print printf push q
keyword 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 sysread system syswrite tell
keyword telldir tie time times tr truncate uc ucfirst umask undef unless
keyword unlink unpack unshift untie until use utime values vec wait waitpid
keyword wantarray warn while write x xor y
font normal $# $'
comment #
function (
startword &_@%
inword _'
string "
strnewline empty
character '
regexp /?#:
useregexp if unless while until m (,~&|
useregsub s tr
other allcaps
font e ( ) { }

# TCL shell scripts.
# Contributed by Jeff Wang (jeffw@advance.com)
language tcl
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 emphasized proc
function {
startword &$_
inword _
string "
other allcaps

# 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 .cdi .patch
comment <
comment >
font emphasized >
anchor 1 < >

language cdiff patch
extension .cdi .patch .pat
comment +
comment **
comment -
comment !
anchor 1 + - ** !
font fixed !
font emphasized -
font bold + **

# 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 Iver Odin Kvello (i.o.kvello@sum.uio.no)
# R4RS Scheme, with keywords from the macro appendix. No functions, 
# doesn't work well with s-exp syntax. Also no chars or constants (beginning
# with #.) 
language scheme
extension .scm .sc
keyword define lambda let let* letrec if cond begin and or case 
keyword => delay do else quasiquote quote set! unquote unquote-splicing
keyword define-syntax syntax-rules syntax let-syntax letrec-syntax 
comment ;
string "
ignorecase true
startword + - . * / < = > ! ? : $ % _ & ~ ^
inword    + - . * / < = > ! ? : $ % _ & ~ ^

# HTML
language html
extension .html .htm .HTML .HTM
# Standard tags for HTML 3.2
keyword <a </a <applet </applet <area <b </b <base <basefont <big </big
keyword <blockquote </blockquote <body </body <br <center </center
keyword <cite </cite <code </code <dd <dir </dir <div </div <dl </dl <dt
keyword <em </em <font </font <form </form <h1 </h1 <h2 </h2 <h3 </h3
keyword <h4 </h4 <h5 </h5 <h6 </h6 <head </head <hr <html </html
keyword <i </i <img <input <isindex <kbd </kbd <li <link <map </map
keyword <menu </menu <meta <ol </ol <option <p </p <param <pre </pre
keyword <samp </samp <script </script <select </select <small </small
keyword <strong </strong <style </style <sub </sub <sup </sup <table </table
keyword <td </td <textarea <th </th <title </title <tr </tr <tt </tt <u </u
keyword <ul </ul <var </var >
# Standard parameters for HTML 3.2
font emphasized action= align= alink= alt= background= bgcolor= border=
font emphasized cellpadding= cellspacing= code= codebase= color= cols= colspan=
font emphasized content= coords= enctype= height= href= hspace= http-equiv=
font emphasized link= maxlength= method= name= prompt= rel= rev= rows= rowspan=
font emphasized shape= size= src= text= title= type= usemap= valign= value=
font emphasized vlink= vspace= width=
font emphasized ismap noshade nowrap
# Netscape-specific tags
font fixed <nobr </nobr <wbr
# Part of HTML 3.2, but not supported by Netscape
font fixed <dfn </dfn
# Obsolete or otherwise discouraged
font fixed <xmp </xmp <listing </listing <plaintext </plaintext
font fixed <strike </strike face=
# Standard parameters which would produce too many false highlights
#font emphasized checked multiple selected
startword <
inword /-
comment <! >
function =
character &;
ignorecase true

# nroff -man
language man
extension .man .1 .MAN
font emphasized \
preprocessor .

# TeX
language tex
extension .tex
keyword LaTeX
comment %
startword \
font fixed \_ \ \& \{ \} \% \$
keyword & $ $$ { }
other initialpunct

# RTF
language rtf
extension .rtf .RTF
startword \
font fixed \' \* \- \: \\ \_ \{ \| \} \~ \chatn \chdate \chdpa \chdpl \chftn
font fixed \chftnsep \chftnsepc \chpgn \chtime
font emphasized ' * - : _ { | } ~
other initialpunct

# Ada 95
# Contributed by Zhu QunYing (zhu@pobox.org.sg)
# some common predefined types are added as keyword after "xor"
language ada ada95
extension .adb .ads .ada
comment --
keyword abort abs abstract accept access aliased all and array at
keyword begin body
keyword case constant
keyword declare delay delta digits do
keyword else elsif end entry exception exit
keyword for function
keyword generic goto
keyword if in is
keyword limited loop
keyword mod
keyword new not null
keyword of or others out
keyword package pragma private procedure protected
keyword raise range record rem renames requeue return reverse
keyword select separate subtype
keyword tagged task terminate then type
keyword until use
keyword when while with
keyword xor
keyword Boolean Character Wide_Character Integer Float Duration File_type
keyword String Wide_String Natural Positive
function (
startword _
inword _'
character '
string "
other allcaps
ignorecase true

# ODL (object description files)
# Contributed by David Gottner (dgottner@microsoft.com)
language odl
extension .ODL .odl
keyword boolean char double float int long short void wchar_t
keyword BSTR CURRENCY DATE HRESULT LPSTR LPWSTR SAFEARRAY SCODE VARIANT
keyword IDispatch IUnknown
keyword appobject bindable control default defaultbind displaybind
keyword dllname dual entry helpcontext helpfile helpstring
keyword hidden id in lcid licensed nonextensible odl oleautomation
keyword optional out propget propput propputref public readonly
keyword requestedit restricted retval source string uuid vararg
keyword version
keyword coclass dispinterface enum importlib interface library
keyword methods module properties struct typedef union
comment //
comment /* */
preprocessor #
string "
startword _
inword _
other allcaps initialpunct

# Bibtex  
# Contributed by Woody Jin (wjin@cs.uh.edu)
language bib
extension .bib .BIB
font emphasized author year volume number pages month note
font emphasized title publisher series address edition journal
font emphasized booktitle organization howpublished type chapter
font emphasized institution school editor
comment	%
startword @
string "
ignorecase false
other initialpunct
strnewline allowed

# This "elvis.syn" file
# Contributed by Woody Jin (wjin@cs.uh.edu)
# Modified by S.K. to take advantage of new features of elvis
language syn
extension elvis.syn ELVIS.SYN
anchor 1 anchor keyword function inword character string other
anchor 1 font ignorecase extension language comment startword operator
anchor 1 strnewline preprocessor regexp useregexp useregsub prepquote
font fixed allcaps initialcaps mixedcaps final_t initialpunct
font fixed true false allowed backslash indent empty
font emphasized normal bold italic emphasized fixed underlined
anchor 6 normal bold italic emphasized fixed underlined
anchor 1 #
comment #
inword _

# MASM/TASM style x86 assembly language
# Contributed by Dan Fandrich (dan@fch.wimsey.bc.ca)
language x86 asm assembly
extension .asm .s .def .mac .inc .ASM .DEF
keyword alias align arg assume at byte casemap catstr codeptr codeseg
keyword comm comment common compact const dataptr dataseg db dd df
keyword display dosseg dp dq dt dup dw dword else elseif elseif1 elseif2
keyword elseifb elseifdef elseifdif elseifdifi elseife elseifidn
keyword elseifidni elseifnb elseifndef emul end endif endm endp ends
keyword enter enterd enterw enum eq equ err errif errif1 errif2 errifb
keyword errifdef errifdif errifdifi errife errifidn errifidni errifnb
keyword errifndef error even evendata exitm export extern externdef extrn
keyword far fardata farstack flat fword ge getfield global goto group gt
keyword high highword huge ideal if if1 if2 ifb ifdef ifdif ifdifi ife
keyword ifidn ifnb ifndef ignore include includelib instr invoke irp irpc
keyword jumps label large largestack le leave leaved leavew length
keyword lengthof local locals low lowword lroffset lt macro mask masm
keyword medium memory mod model multerrs name ne near nearstack noemul
keyword nojumps nolocals nomasm51 nomulterrs nosmart nothing nowarn
keyword offset ofidni option org p186 p286 p286n p287 p386 p386n p387
keyword p486 p486n p8086 p8087 page pascal pn087 private proc proto ptr
keyword public publicdll purge pword quirks qword radix record rept
keyword retcode seg segment short size sizeof sizestr small smallstack
keyword smart stack startupcode struc substr subttl sword symtype table
keyword tblinit tblinst tblptr tbyte this tiny title type typedef
keyword udataseg ufardata union use16 use32 usecs useds usees usefs usegs
keyword uses usess vararg version warn wbinvd while width word
# DS pseudo-op conflicts with Data Segment register
#keyword ds 
# Reserved words that conflict with opcodes
#keyword not or shr shl xor
# Words starting with . or % are always highlighted as reserved words
startword .%
comment ;
string "
character '
inword .[]_$
other initialpunct
ignorecase true

# MS-DOS batch file
# Contributed by Dan Fandrich (dan@fch.wimsey.bc.ca)
# Only the commands which may be considered part of the batch "language"
# are included as keywords.
language batch
extension .bat .BAT
keyword break call cls echo echo. echo/ echo\ echo+ exit for goto if lh
keyword loadfix loadhigh path pause prompt rem set shift truename verify
keyword @ | < == do errorlevel exist not on off
keyword %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
# environment variable references
string %
# goto labels
preprocessor :
# file redirections
comment >
font underlined >
comment rem
comment ::
anchor 1 ::
inword ._/\\:$!@#^&-
ignorecase true

# MS-DOS config.sys file
# Contributed by Walter Briscoe (walter@wbriscoe.demon.co.uk)
language config.sys
extension config.sys
ignorecase true
inword ._/\\:$!@#^&-
comment rem
comment ;
# ; and rem as the first graphic characters on a line start comment lines
keyword Break Buffers Country Device Devicehigh Dos Drivparm Fcbs Files
keyword Include Lastdrive Menucolor Menudefault Menuitem Numlock
keyword Set Shell Stacks Submenu Switches

# Windows and LanManager INI files
# Original version contributed by Jay Wardle <jayw@lsid.hp.com>
# Modified by SK to take advantage of new elvis features.
language ini
extension .ini .INI
function =
comment ;
comment [
font emphasized [
anchor 1 [
inword _ $ .

# Verilog
language verilog
extension .v .V .vc
keyword always assign attribute case casez cazex deassign default
keyword defparam disable else end endattribute endcase endfunction
keyword endmodule endpackage endprimative endtable endtask event for
keyword force fork forever function if initial join macromodule module
keyword package primative realtime release repeat scalared signed
keyword specparam table task use vectored wait when while
keyword centgrade endspecify femtosecs follow ifnone invert latchhigh
keyword latchlow megahertz microsecs millisecs nanosecs picofarads
keyword picosecs posedge pulselow seconds specify unknown volts
keyword >= >> <= << && || == != === !== ^~ ~^ ~& ~| -> > < ! ~ & | ^
font underlined const highz0 highz1 inout input integer output parameter
font underlined real reg strong0 strong1 supply0 supply1 time tri tri0
font underlined tri1 trireg weak0 weak1 wire
font fixed and begin edge end negedge not or posedge
font emphasized buf bufif0 bufif1 cmos large medium nand nmos nor notif0
font emphasized notif1 pmos pull0 pull1 pulldown pullup rcmos
font emphasized rnmos rpmos rtran rtranif0 rtranif1 small strength tran
font emphasized tranif0 tranif1 triand trior wor xnor xor
comment //
comment /* */
preprocessor `
function (
string "
startword $`\<>
inword _$'=
other allcaps initialpunct
strnewline empty

# ACCELL.
language accell
extension .fs .fz .as .az .h
keyword ACCELL ACCELL_TYPE ACTION ADD ADD_ALLOWED ADD_UPDATE AFTER ALL ALTER
keyword AMOUNT AND APPLICATION ARCHIVES ARE ASC ASCENDING AT AUD_ACTION AUD_LABEL
keyword AUD_ON_ENTRY AUTO_ACCEPT AUTO_COMMIT AUTO_EDIT AUTO_FIND AUTO_ZOOM
keyword BEFORE BEGIN BEGIN_SQL BINARY BLINK BOOL BOUNDED BREAK BREAKPOINT
keyword BUTTON BY
keyword CACHED CANCEL_ZOOM CASE CASE_CONVERSION CENTERED CHANGE CHANGES 
keyword CHARACTERISTICS CHOOSE CLEAR CLEAR_ADD_EXP CLEAR_AFTER_AU CLEAR_FIND_EXP
keyword CLEAR_TO_ADD CLEAR_TO_FIND CLICK_ON_FIELD
keyword CLOSE CODE_SECTION
keyword COL COL_ORIGIN COLUMN_INDEX COLUMN_LOWER_BOUNDS COLUMN_UPPER_BOUNDS
keyword COLUMNS COMMAND COMMIT CONTINUE CREATE CUR_FIELD CUR_NEXT_FIELD CURRENT
keyword DATA_TYPE DATE DB_LENGTH DB_TYPE DBMS_ERROR DEFAULT DEFINE DEINSTALL
keyword DELETE DELETE_ALLOWED DESC DESCENDING DIMENSION DISABLE DISABLED DISPLAY
keyword DISPLAY_FORMAT DISPLAY_JUSTIFY DROP
keyword ECHOED ELSE ENABLE END END_SQL ERASE ESTIMATED COUNT ESTIMATING EVENT
keyword EVENTS EXCEPT EXECUTING EXIT EXTERN
keyword FALSE FIELD FIELD_LENGTH FIELD_NAME FILE FILE_PATH FIND FIND_ACTION
keyword FIND_ALLOWED FIND_COUNT FIND_LABEL FIND_PROMPT FINDABLE FIRST FIRST_FIELD
keyword FIRST_RECORD FLOAT FOR FORM FORM_NAME FORMS FROM FUNCTION FUNCTION_KEY
keyword FUNCTIONS FYI_MESSAGE
keyword GRANT
keyword HANDLER HEIGHT HELP HELP_ARCHIVE HELP_FORM_NAME HELP_FORM_COL
keyword HELP_FORM_ROW
keyword IDENTIFIED IF IN IN_MEMORY INIT INPUT INSERT INSTALL INTO IS
keyword KEY KEYS
keyword LABEL LAST_RECORD LEFT LIKE LIST LIST_INDEX LIST_LOWER_BOUNDS
keyword LIST_UPPER_BOUNDS LOCAL LOCATION LOCKED_IN_CACHE LOWER LOW_INTENSITY
keyword MATRIX MENU_LABEL MULTI_VALUED
keyword NEXT NEXT_FIELD NEXT_FORM NEXT_RECORD NO_CONSISTENCY NONE NOT NULL NUMBER_OF_ARRAYS NUMERIC
keyword OCCURRENCES ON OPERATION OR ORDER ORDERED_BY OUTPUT
keyword PAGE PIPELINE PREVIOUS_FIELD PREV_FORM PREVIOUS_FORM PREVIOUS_RECORD PREVIOUS
keyword QUEUE
keyword RECORD RECORD_CONSISTENCY REF REFERENCE REFRESH REJECT REPAINT REPEAT
keyword REPEATED REQUIRED RESTART RESULT RETRIEVE RETRIEVE_VALUE RETURN REVERSE
keyword REVOKE RIGHT ROLLBACK ROW ROW_INDEX ROW_LOWER_BOUNDS ROW_ORIGIN
keyword ROW_UPPER_BOUNDS ROW_VALUED
keyword SCHEMA SCREEN SEARCH_RANGES SEC SECOND SECONDS SELECT SELECTED
keyword SELECTED_SET_SCROLLBAR SET SET_CONSISTENCY SHLIKE SLOCK
keyword SQL_COLUMN_CONDITION SQL_OPTIONAL_CONDITION SQL_ORDER_BY_CLAUSE
keyword SQL_ORDER_BY_COLUMN SQL_WHERE_CLAUSE START STOP_FOR_INPUT STORE STORED
keyword STRING SWITCH
keyword TAB_STOP TABLE TARGET_FIELD TARGET_TABLE TEXT THEN TIME TIMER TO TRIM
keyword TRUE TX
keyword UNCACHED UNDEFINED UNDERLINE UNKNOWN UNLOCK UNTIL UPDATE UPDATE_ALLOWED
keyword UPDATEABLE UPPER USAGE USE_BASE_WINDOW USERMENU USING
keyword VALUES VIEW VOID
keyword WAIT WHEN WHERE WHILE WIDTH WINDOW_HEIGHT WINDOW_WIDTH WORK WRITE
keyword XLOCK
keyword ZOOM
comment /* */
preprocessor #
prepquote " "
function (
startword
inword _
other initialpunct
string ' '
character '
font e BEGIN END ( )

# Objective-C.
# Contributed by David Stes (stes@can.nl)
language objc
extension .m
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
# Objective-C specific
keyword id interface implementation end selector defs
comment //
comment /* */
preprocessor #
prepquote < >
function (
string "
character '
startword _ @
inword _
other allcaps final_t initialpunct

# EMACS Lisp
language lisp elisp
extension .el
inword -
font emphasized t nil
keyword defconst defvar defmacro defun if interactive let not set setq progn
keyword and or fboundp while list eq cons car cdr
strnewline empty
string "
comment ;

# Email messages
language email
inword -:
anchor 1 Received: Message-Id: Date: From: To: Subject: References:
anchor 1 MIME-Version: Content-Type: Content-Transfer-Encoding: Content-ID:
anchor 1 Content-Description: X-Mailer: In-Reply-To: Status: > From
comment >
comment From
font emphasized From

# POV-Ray.
# Contributed by Christian Perle (christian.perle@tu-clausthal.de)
language povray
extension .pov .inc
keyword aa_level aa_threshold abs acos acosh adaptive adc_bailout agate
keyword agate_turb all alpha ambient ambient_light angle aperture arc_angle
keyword area_light asc asin asinh assumed_gamma atan atan2 atanh atmosphere
keyword atmospheric_attenuation attenuating average background bicubic_patch
keyword black_hole blob blue blur_samples bounded_by box box_mapping bozo break
keyword brick brick_size brightness brilliance bumps bumpy1 bumpy2 bumpy3
keyword bump_map bump_size camera case caustics ceil checker chr clipped_by
keyword clock color color_map colour colour_map component composite concat cone
keyword confidence conic_sweep constant control0 control1 cos cosh count crackle
keyword crand cube cubic cubic_spline cylinder cylindrical_mapping debug declare
keyword default degrees dents difference diffuse direction disc distance
keyword distance_maximum div dust dust_type eccentricity else emitting end error
keyword error_bound exp exponent fade_distance fade_power falloff falloff_angle
keyword false file_exists filter finish fisheye flatness flip floor focal_point
keyword fog fog_alt fog_offset fog_type frequency gif global_settings glowing
keyword gradient granite gray_threshold green halo height_field hexagon
keyword hf_gray_16 hierarchy hollow hypercomplex if ifdef iff image_map
keyword incidence include int interpolate intersection inverse ior irid
keyword irid_wavelength jitter julia_fractal lambda lathe leopard light_source
keyword linear linear_spline linear_sweep location log looks_like look_at
keyword low_error_factor mandel map_type marble material_map matrix max
keyword max_intersections max_iteration max_trace_level max_value merge mesh
keyword metallic min minimum_reuse mod mortar nearest_count no normal normal_map
keyword no_shadow number_of_waves object octaves off offset omega omnimax on
keyword once onion open orthographic panoramic pattern1 pattern2 pattern3
keyword perspective pgm phase phong phong_size pi pigment pigment_map
keyword planar_mapping plane png point_at poly polygon pot pow ppm precision
keyword prism pwr quadratic_spline quadric quartic quaternion quick_color
keyword quick_colour quilted radial radians radiosity radius rainbow ramp_wave
keyword rand range reciprocal recursion_limit red reflection refraction render
keyword repeat rgb rgbf rgbft rgbt right ripples rotate roughness samples scale
keyword scallop_wave scattering seed shadowless sin sine_wave sinh sky
keyword sky_sphere slice slope_map smooth smooth_triangle sor specular sphere
keyword spherical_mapping spiral spiral1 spiral2 spotlight spotted sqr sqrt
keyword statistics str strcmp strength strlen strlwr strupr sturm substr
keyword superellipsoid switch sys t tan tanh test_camera_1 test_camera_2
keyword test_camera_3 test_camera_4 text texture texture_map tga thickness
keyword threshold tightness tile2 tiles torus track transform translate transmit
keyword triangle triangle_wave true ttf turbulence turb_depth type u
keyword ultra_wide_angle union up use_color use_colour use_index u_steps v val
keyword variance vaxis_rotate vcross vdot version vlength vnormalize
keyword volume_object volume_rendered vol_with_light vrotate v_steps warning
keyword warp water_level waves while width wood wrinkles x y yes z
comment	//
comment /* */
preprocessor #
prepquote < >
function (
string "
inword _
other allcaps

# PRO*C
# Contributed by Walter Briscoe (walter@wbriscoe.demon.co.uk)
# 
# pro*c is Oracle's embedded C language. Files in it are precompiled to the C
# language in a fashion analogous to that used for lex and yacc.
# They may also be compiled to C++ (and Java??)
# The language consists of a set of statements which doing the embedding:
# e.g. EXEC SQL CONNECT :access;
# pro*c keywords are case-insensitive but usually expressed using [A-Z]*
# ignorecase true is semi-appropriate but seems best left out.
# This syntax description views pro*c as a layering on c.
language pro*c
extension .PC .pc
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
comment //
comment /* */
preprocessor #
prepquote < >
function (
string "
character '
startword _
inword _
# other allcaps final_t initialpunct

# if ignorecase true applied to following keywords in current language, I could
# model pro*c adequately! However, I think layering is better!

keyword CLOSE COMMIT CONTINUE CURSOR DO EXEC FETCH FOUND HOLD_CURSOR
keyword NO OPEN ORACA ORACLE RELEASE RELEASE_CURSOR
keyword SQL SQLERROR SQLWARNING STOP WORK YES
keyword BEGIN COMMIT DECLARE DISTINCT END INCLUDE INTO MAX MIN OF ROLLBACK ROWID
keyword SECTION SELECT SET SYSDATE UPDATE VARCHAR VALUES WHERE
keyword ACCESS ADD ALL ALTER AND ANY ARRAYLEN AS ASC AUDIT BETWEEN BY
keyword CHAR CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT
keyword DATE DECIMAL DECODE DEFAULT DELETE DESC DISTINCT DROP
keyword ELSE EXCLUSIVE EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING
keyword IDENTIFIED IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT
keyword INTO IS
keyword LEVEL LIKE LONG MAXEXTENTS MINUS MODE MODIFY
keyword NVL NOAUDIT NOCOMPRESS NOT NOTFOUND NOWAIT NULL NUMBER
keyword OF OFFLINE ON ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC
keyword RAW RENAME RESOURCE REVOKE ROW ROWID ROWLABEL ROWNUM ROWS
keyword SELECT SESSION SET SHARE SIZE SMALLINT SQLBUF START SUCCESSFUL SYNONYM
keyword SYSDATE
keyword TABLE THEN TO TRIGGER
keyword UID UNION UNIQUE UPDATE USER VALIDATE VALUES VARCHAR VARCHAR2 VIEW
keyword WHENEVER WHERE WITH