3 " Maintainer: Dr. Charles E. Campbell, Jr. <Charles.E.Campbell.1@gsfc.nasa.gov>
4 " Last Change: December 6, 2000
6 " Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
7 " taken from the HyperSpec
9 " For version 5.x: Clear all syntax items
10 " For version 6.x: Quit when a syntax file was already loaded
13 elseif exists("b:current_syntax")
18 setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
20 set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
24 syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispString,lispDecl,lispFunc,lispLeadWhite
25 syn cluster lispListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispString,lispSymbol,lispVar,lispLeadWhite
28 syn match lispSymbol contained ![^()'`,"; \t]\+!
29 syn match lispBarSymbol contained !|..\{-}|!
30 syn region lispList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@lispListCluster
31 syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster
34 syn match lispAtomMark "'"
35 syn match lispAtom "'("me=e-1 contains=lispAtomMark nextgroup=lispAtomList
36 syn match lispAtom "'[^ \t()]\+" contains=lispAtomMark
37 syn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark
38 syn region lispAtom start=+'"+ skip=+\\"+ end=+"+
39 syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster
40 syn match lispAtomNmbr contained "\<\d\+"
41 syn match lispLeadWhite contained "^\s\+"
43 " Standard Lisp Functions and Macros
44 syn keyword lispFunc * find-method pprint-indent
45 syn keyword lispFunc ** find-package pprint-linear
46 syn keyword lispFunc *** find-restart pprint-logical-block
47 syn keyword lispFunc + find-symbol pprint-newline
48 syn keyword lispFunc ++ finish-output pprint-pop
49 syn keyword lispFunc +++ first pprint-tab
50 syn keyword lispFunc - fixnum pprint-tabular
51 syn keyword lispFunc / flet prin1
52 syn keyword lispFunc // float prin1-to-string
53 syn keyword lispFunc /// float-digits princ
54 syn keyword lispFunc /= float-precision princ-to-string
55 syn keyword lispFunc 1+ float-radix print
56 syn keyword lispFunc 1- float-sign print-not-readable
57 syn keyword lispFunc < floating-point-inexact print-not-readable-object
58 syn keyword lispFunc <= floating-point-invalid-operation print-object
59 syn keyword lispFunc = floating-point-overflow print-unreadable-object
60 syn keyword lispFunc > floating-point-underflow probe-file
61 syn keyword lispFunc >= floatp proclaim
62 syn keyword lispFunc abort floor prog
63 syn keyword lispFunc abs fmakunbound prog*
64 syn keyword lispFunc access force-output prog1
65 syn keyword lispFunc acons format prog2
66 syn keyword lispFunc acos formatter progn
67 syn keyword lispFunc acosh fourth program-error
68 syn keyword lispFunc add-method fresh-line progv
69 syn keyword lispFunc adjoin fround provide
70 syn keyword lispFunc adjust-array ftruncate psetf
71 syn keyword lispFunc adjustable-array-p ftype psetq
72 syn keyword lispFunc allocate-instance funcall push
73 syn keyword lispFunc alpha-char-p function pushnew
74 syn keyword lispFunc alphanumericp function-keywords putprop
75 syn keyword lispFunc and function-lambda-expression quote
76 syn keyword lispFunc append functionp random
77 syn keyword lispFunc apply gbitp random-state
78 syn keyword lispFunc applyhook gcd random-state-p
79 syn keyword lispFunc apropos generic-function rassoc
80 syn keyword lispFunc apropos-list gensym rassoc-if
81 syn keyword lispFunc aref gentemp rassoc-if-not
82 syn keyword lispFunc arithmetic-error get ratio
83 syn keyword lispFunc arithmetic-error-operands get-decoded-time rational
84 syn keyword lispFunc arithmetic-error-operation get-dispatch-macro-character rationalize
85 syn keyword lispFunc array get-internal-real-time rationalp
86 syn keyword lispFunc array-dimension get-internal-run-time read
87 syn keyword lispFunc array-dimension-limit get-macro-character read-byte
88 syn keyword lispFunc array-dimensions get-output-stream-string read-char
89 syn keyword lispFunc array-displacement get-properties read-char-no-hang
90 syn keyword lispFunc array-element-type get-setf-expansion read-delimited-list
91 syn keyword lispFunc array-has-fill-pointer-p get-setf-method read-eval-print
92 syn keyword lispFunc array-in-bounds-p get-universal-time read-from-string
93 syn keyword lispFunc array-rank getf read-line
94 syn keyword lispFunc array-rank-limit gethash read-preserving-whitespace
95 syn keyword lispFunc array-row-major-index go read-sequence
96 syn keyword lispFunc array-total-size graphic-char-p reader-error
97 syn keyword lispFunc array-total-size-limit handler-bind readtable
98 syn keyword lispFunc arrayp handler-case readtable-case
99 syn keyword lispFunc ash hash-table readtablep
100 syn keyword lispFunc asin hash-table-count real
101 syn keyword lispFunc asinh hash-table-p realp
102 syn keyword lispFunc assert hash-table-rehash-size realpart
103 syn keyword lispFunc assoc hash-table-rehash-threshold reduce
104 syn keyword lispFunc assoc-if hash-table-size reinitialize-instance
105 syn keyword lispFunc assoc-if-not hash-table-test rem
106 syn keyword lispFunc atan host-namestring remf
107 syn keyword lispFunc atanh identity remhash
108 syn keyword lispFunc atom if remove
109 syn keyword lispFunc base-char if-exists remove-duplicates
110 syn keyword lispFunc base-string ignorable remove-if
111 syn keyword lispFunc bignum ignore remove-if-not
112 syn keyword lispFunc bit ignore-errors remove-method
113 syn keyword lispFunc bit-and imagpart remprop
114 syn keyword lispFunc bit-andc1 import rename-file
115 syn keyword lispFunc bit-andc2 in-package rename-package
116 syn keyword lispFunc bit-eqv in-package replace
117 syn keyword lispFunc bit-ior incf require
118 syn keyword lispFunc bit-nand initialize-instance rest
119 syn keyword lispFunc bit-nor inline restart
120 syn keyword lispFunc bit-not input-stream-p restart-bind
121 syn keyword lispFunc bit-orc1 inspect restart-case
122 syn keyword lispFunc bit-orc2 int-char restart-name
123 syn keyword lispFunc bit-vector integer return
124 syn keyword lispFunc bit-vector-p integer-decode-float return-from
125 syn keyword lispFunc bit-xor integer-length revappend
126 syn keyword lispFunc block integerp reverse
127 syn keyword lispFunc boole interactive-stream-p room
128 syn keyword lispFunc boole-1 intern rotatef
129 syn keyword lispFunc boole-2 internal-time-units-per-second round
130 syn keyword lispFunc boole-and intersection row-major-aref
131 syn keyword lispFunc boole-andc1 invalid-method-error rplaca
132 syn keyword lispFunc boole-andc2 invoke-debugger rplacd
133 syn keyword lispFunc boole-c1 invoke-restart safety
134 syn keyword lispFunc boole-c2 invoke-restart-interactively satisfies
135 syn keyword lispFunc boole-clr isqrt sbit
136 syn keyword lispFunc boole-eqv keyword scale-float
137 syn keyword lispFunc boole-ior keywordp schar
138 syn keyword lispFunc boole-nand labels search
139 syn keyword lispFunc boole-nor lambda second
140 syn keyword lispFunc boole-orc1 lambda-list-keywords sequence
141 syn keyword lispFunc boole-orc2 lambda-parameters-limit serious-condition
142 syn keyword lispFunc boole-set last set
143 syn keyword lispFunc boole-xor lcm set-char-bit
144 syn keyword lispFunc boolean ldb set-difference
145 syn keyword lispFunc both-case-p ldb-test set-dispatch-macro-character
146 syn keyword lispFunc boundp ldiff set-exclusive-or
147 syn keyword lispFunc break least-negative-double-float set-macro-character
148 syn keyword lispFunc broadcast-stream least-negative-long-float set-pprint-dispatch
149 syn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-syntax-from-char
150 syn keyword lispFunc built-in-class least-negative-normalized-long-float setf
151 syn keyword lispFunc butlast least-negative-normalized-short-float setq
152 syn keyword lispFunc byte least-negative-normalized-single-float seventh
153 syn keyword lispFunc byte-position least-negative-short-float shadow
154 syn keyword lispFunc byte-size least-negative-single-float shadowing-import
155 syn keyword lispFunc call-arguments-limit least-positive-double-float shared-initialize
156 syn keyword lispFunc call-method least-positive-long-float shiftf
157 syn keyword lispFunc call-next-method least-positive-normalized-double-float short-float
158 syn keyword lispFunc capitalize least-positive-normalized-long-float short-float-epsilon
159 syn keyword lispFunc car least-positive-normalized-short-float short-float-negative-epsilon
160 syn keyword lispFunc case least-positive-normalized-single-float short-site-name
161 syn keyword lispFunc catch least-positive-short-float signal
162 syn keyword lispFunc ccase least-positive-single-float signed-byte
163 syn keyword lispFunc cdr length signum
164 syn keyword lispFunc ceiling let simle-condition
165 syn keyword lispFunc cell-error let* simple-array
166 syn keyword lispFunc cell-error-name lisp simple-base-string
167 syn keyword lispFunc cerror lisp-implementation-type simple-bit-vector
168 syn keyword lispFunc change-class lisp-implementation-version simple-bit-vector-p
169 syn keyword lispFunc char list simple-condition-format-arguments
170 syn keyword lispFunc char-bit list* simple-condition-format-control
171 syn keyword lispFunc char-bits list-all-packages simple-error
172 syn keyword lispFunc char-bits-limit list-length simple-string
173 syn keyword lispFunc char-code listen simple-string-p
174 syn keyword lispFunc char-code-limit listp simple-type-error
175 syn keyword lispFunc char-control-bit load simple-vector
176 syn keyword lispFunc char-downcase load-logical-pathname-translations simple-vector-p
177 syn keyword lispFunc char-equal load-time-value simple-warning
178 syn keyword lispFunc char-font locally sin
179 syn keyword lispFunc char-font-limit log single-flaot-epsilon
180 syn keyword lispFunc char-greaterp logand single-float
181 syn keyword lispFunc char-hyper-bit logandc1 single-float-epsilon
182 syn keyword lispFunc char-int logandc2 single-float-negative-epsilon
183 syn keyword lispFunc char-lessp logbitp sinh
184 syn keyword lispFunc char-meta-bit logcount sixth
185 syn keyword lispFunc char-name logeqv sleep
186 syn keyword lispFunc char-not-equal logical-pathname slot-boundp
187 syn keyword lispFunc char-not-greaterp logical-pathname-translations slot-exists-p
188 syn keyword lispFunc char-not-lessp logior slot-makunbound
189 syn keyword lispFunc char-super-bit lognand slot-missing
190 syn keyword lispFunc char-upcase lognor slot-unbound
191 syn keyword lispFunc char/= lognot slot-value
192 syn keyword lispFunc char< logorc1 software-type
193 syn keyword lispFunc char<= logorc2 software-version
194 syn keyword lispFunc char= logtest some
195 syn keyword lispFunc char> logxor sort
196 syn keyword lispFunc char>= long-float space
197 syn keyword lispFunc character long-float-epsilon special
198 syn keyword lispFunc characterp long-float-negative-epsilon special-form-p
199 syn keyword lispFunc check-type long-site-name special-operator-p
200 syn keyword lispFunc cis loop speed
201 syn keyword lispFunc class loop-finish sqrt
202 syn keyword lispFunc class-name lower-case-p stable-sort
203 syn keyword lispFunc class-of machine-instance standard
204 syn keyword lispFunc clear-input machine-type standard-char
205 syn keyword lispFunc clear-output machine-version standard-char-p
206 syn keyword lispFunc close macro-function standard-class
207 syn keyword lispFunc clrhash macroexpand standard-generic-function
208 syn keyword lispFunc code-char macroexpand-1 standard-method
209 syn keyword lispFunc coerce macroexpand-l standard-object
210 syn keyword lispFunc commonp macrolet step
211 syn keyword lispFunc compilation-speed make-array storage-condition
212 syn keyword lispFunc compile make-array store-value
213 syn keyword lispFunc compile-file make-broadcast-stream stream
214 syn keyword lispFunc compile-file-pathname make-char stream-element-type
215 syn keyword lispFunc compiled-function make-concatenated-stream stream-error
216 syn keyword lispFunc compiled-function-p make-condition stream-error-stream
217 syn keyword lispFunc compiler-let make-dispatch-macro-character stream-external-format
218 syn keyword lispFunc compiler-macro make-echo-stream streamp
219 syn keyword lispFunc compiler-macro-function make-hash-table streamup
220 syn keyword lispFunc complement make-instance string
221 syn keyword lispFunc complex make-instances-obsolete string-capitalize
222 syn keyword lispFunc complexp make-list string-char
223 syn keyword lispFunc compute-applicable-methods make-load-form string-char-p
224 syn keyword lispFunc compute-restarts make-load-form-saving-slots string-downcase
225 syn keyword lispFunc concatenate make-method string-equal
226 syn keyword lispFunc concatenated-stream make-package string-greaterp
227 syn keyword lispFunc concatenated-stream-streams make-pathname string-left-trim
228 syn keyword lispFunc cond make-random-state string-lessp
229 syn keyword lispFunc condition make-sequence string-not-equal
230 syn keyword lispFunc conjugate make-string string-not-greaterp
231 syn keyword lispFunc cons make-string-input-stream string-not-lessp
232 syn keyword lispFunc consp make-string-output-stream string-right-strim
233 syn keyword lispFunc constantly make-symbol string-right-trim
234 syn keyword lispFunc constantp make-synonym-stream string-stream
235 syn keyword lispFunc continue make-two-way-stream string-trim
236 syn keyword lispFunc control-error makunbound string-upcase
237 syn keyword lispFunc copy-alist map string/=
238 syn keyword lispFunc copy-list map-into string<
239 syn keyword lispFunc copy-pprint-dispatch mapc string<=
240 syn keyword lispFunc copy-readtable mapcan string=
241 syn keyword lispFunc copy-seq mapcar string>
242 syn keyword lispFunc copy-structure mapcon string>=
243 syn keyword lispFunc copy-symbol maphash stringp
244 syn keyword lispFunc copy-tree mapl structure
245 syn keyword lispFunc cos maplist structure-class
246 syn keyword lispFunc cosh mask-field structure-object
247 syn keyword lispFunc count max style-warning
248 syn keyword lispFunc count-if member sublim
249 syn keyword lispFunc count-if-not member-if sublis
250 syn keyword lispFunc ctypecase member-if-not subseq
251 syn keyword lispFunc debug merge subsetp
252 syn keyword lispFunc decf merge-pathname subst
253 syn keyword lispFunc declaim merge-pathnames subst-if
254 syn keyword lispFunc declaration method subst-if-not
255 syn keyword lispFunc declare method-combination substitute
256 syn keyword lispFunc decode-float method-combination-error substitute-if
257 syn keyword lispFunc decode-universal-time method-qualifiers substitute-if-not
258 syn keyword lispFunc defclass min subtypep
259 syn keyword lispFunc defconstant minusp svref
260 syn keyword lispFunc defgeneric mismatch sxhash
261 syn keyword lispFunc define-compiler-macro mod symbol
262 syn keyword lispFunc define-condition most-negative-double-float symbol-function
263 syn keyword lispFunc define-method-combination most-negative-fixnum symbol-macrolet
264 syn keyword lispFunc define-modify-macro most-negative-long-float symbol-name
265 syn keyword lispFunc define-setf-expander most-negative-short-float symbol-package
266 syn keyword lispFunc define-setf-method most-negative-single-float symbol-plist
267 syn keyword lispFunc define-symbol-macro most-positive-double-float symbol-value
268 syn keyword lispFunc defmacro most-positive-fixnum symbolp
269 syn keyword lispFunc defmethod most-positive-long-float synonym-stream
270 syn keyword lispFunc defpackage most-positive-short-float synonym-stream-symbol
271 syn keyword lispFunc defparameter most-positive-single-float sys
272 syn keyword lispFunc defsetf muffle-warning system
273 syn keyword lispFunc defstruct multiple-value-bind t
274 syn keyword lispFunc deftype multiple-value-call tagbody
275 syn keyword lispFunc defun multiple-value-list tailp
276 syn keyword lispFunc defvar multiple-value-prog1 tan
277 syn keyword lispFunc delete multiple-value-seteq tanh
278 syn keyword lispFunc delete-duplicates multiple-value-setq tenth
279 syn keyword lispFunc delete-file multiple-values-limit terpri
280 syn keyword lispFunc delete-if name-char the
281 syn keyword lispFunc delete-if-not namestring third
282 syn keyword lispFunc delete-package nbutlast throw
283 syn keyword lispFunc denominator nconc time
284 syn keyword lispFunc deposit-field next-method-p trace
285 syn keyword lispFunc describe nil translate-logical-pathname
286 syn keyword lispFunc describe-object nintersection translate-pathname
287 syn keyword lispFunc destructuring-bind ninth tree-equal
288 syn keyword lispFunc digit-char no-applicable-method truename
289 syn keyword lispFunc digit-char-p no-next-method truncase
290 syn keyword lispFunc directory not truncate
291 syn keyword lispFunc directory-namestring notany two-way-stream
292 syn keyword lispFunc disassemble notevery two-way-stream-input-stream
293 syn keyword lispFunc division-by-zero notinline two-way-stream-output-stream
294 syn keyword lispFunc do nreconc type
295 syn keyword lispFunc do* nreverse type-error
296 syn keyword lispFunc do-all-symbols nset-difference type-error-datum
297 syn keyword lispFunc do-exeternal-symbols nset-exclusive-or type-error-expected-type
298 syn keyword lispFunc do-external-symbols nstring type-of
299 syn keyword lispFunc do-symbols nstring-capitalize typecase
300 syn keyword lispFunc documentation nstring-downcase typep
301 syn keyword lispFunc dolist nstring-upcase unbound-slot
302 syn keyword lispFunc dotimes nsublis unbound-slot-instance
303 syn keyword lispFunc double-float nsubst unbound-variable
304 syn keyword lispFunc double-float-epsilon nsubst-if undefined-function
305 syn keyword lispFunc double-float-negative-epsilon nsubst-if-not unexport
306 syn keyword lispFunc dpb nsubstitute unintern
307 syn keyword lispFunc dribble nsubstitute-if union
308 syn keyword lispFunc dynamic-extent nsubstitute-if-not unless
309 syn keyword lispFunc ecase nth unread
310 syn keyword lispFunc echo-stream nth-value unread-char
311 syn keyword lispFunc echo-stream-input-stream nthcdr unsigned-byte
312 syn keyword lispFunc echo-stream-output-stream null untrace
313 syn keyword lispFunc ed number unuse-package
314 syn keyword lispFunc eighth numberp unwind-protect
315 syn keyword lispFunc elt numerator update-instance-for-different-class
316 syn keyword lispFunc encode-universal-time nunion update-instance-for-redefined-class
317 syn keyword lispFunc end-of-file oddp upgraded-array-element-type
318 syn keyword lispFunc endp open upgraded-complex-part-type
319 syn keyword lispFunc enough-namestring open-stream-p upper-case-p
320 syn keyword lispFunc ensure-directories-exist optimize use-package
321 syn keyword lispFunc ensure-generic-function or use-value
322 syn keyword lispFunc eq otherwise user
323 syn keyword lispFunc eql output-stream-p user-homedir-pathname
324 syn keyword lispFunc equal package values
325 syn keyword lispFunc equalp package-error values-list
326 syn keyword lispFunc error package-error-package vector
327 syn keyword lispFunc etypecase package-name vector-pop
328 syn keyword lispFunc eval package-nicknames vector-push
329 syn keyword lispFunc eval-when package-shadowing-symbols vector-push-extend
330 syn keyword lispFunc evalhook package-use-list vectorp
331 syn keyword lispFunc evenp package-used-by-list warn
332 syn keyword lispFunc every packagep warning
333 syn keyword lispFunc exp pairlis when
334 syn keyword lispFunc export parse-error wild-pathname-p
335 syn keyword lispFunc expt parse-integer with-accessors
336 syn keyword lispFunc extended-char parse-namestring with-compilation-unit
337 syn keyword lispFunc fboundp pathname with-condition-restarts
338 syn keyword lispFunc fceiling pathname-device with-hash-table-iterator
339 syn keyword lispFunc fdefinition pathname-directory with-input-from-string
340 syn keyword lispFunc ffloor pathname-host with-open-file
341 syn keyword lispFunc fifth pathname-match-p with-open-stream
342 syn keyword lispFunc file-author pathname-name with-output-to-string
343 syn keyword lispFunc file-error pathname-type with-package-iterator
344 syn keyword lispFunc file-error-pathname pathname-version with-simple-restart
345 syn keyword lispFunc file-length pathnamep with-slots
346 syn keyword lispFunc file-namestring peek-char with-standard-io-syntax
347 syn keyword lispFunc file-position phase write
348 syn keyword lispFunc file-stream pi write-byte
349 syn keyword lispFunc file-string-length plusp write-char
350 syn keyword lispFunc file-write-date pop write-line
351 syn keyword lispFunc fill position write-sequence
352 syn keyword lispFunc fill-pointer position-if write-string
353 syn keyword lispFunc find position-if-not write-to-string
354 syn keyword lispFunc find-all-symbols pprint y-or-n-p
355 syn keyword lispFunc find-class pprint-dispatch yes-or-no-p
356 syn keyword lispFunc find-if pprint-exit-if-list-exhausted zerop
357 syn keyword lispFunc find-if-not pprint-fill
359 syn match lispFunc "\<c[ad]\+r\>"
362 " Lisp Keywords (modifiers)
363 syn keyword lispKey :abort :from-end :overwrite
364 syn keyword lispKey :adjustable :gensym :predicate
365 syn keyword lispKey :append :host :preserve-whitespace
366 syn keyword lispKey :array :if-does-not-exist :pretty
367 syn keyword lispKey :base :if-exists :print
368 syn keyword lispKey :case :include :print-function
369 syn keyword lispKey :circle :index :probe
370 syn keyword lispKey :conc-name :inherited :radix
371 syn keyword lispKey :constructor :initial-contents :read-only
372 syn keyword lispKey :copier :initial-element :rehash-size
373 syn keyword lispKey :count :initial-offset :rehash-threshold
374 syn keyword lispKey :create :initial-value :rename
375 syn keyword lispKey :default :input :rename-and-delete
376 syn keyword lispKey :defaults :internal :size
377 syn keyword lispKey :device :io :start
378 syn keyword lispKey :direction :junk-allowed :start1
379 syn keyword lispKey :directory :key :start2
380 syn keyword lispKey :displaced-index-offset :length :stream
381 syn keyword lispKey :displaced-to :level :supersede
382 syn keyword lispKey :element-type :name :test
383 syn keyword lispKey :end :named :test-not
384 syn keyword lispKey :end1 :new-version :type
385 syn keyword lispKey :end2 :nicknames :use
386 syn keyword lispKey :error :output :verbose
387 syn keyword lispKey :escape :output-file :version
388 syn keyword lispKey :external
390 " Standard Lisp Variables
391 syn keyword lispVar *applyhook* *load-pathname* *print-pprint-dispatch*
392 syn keyword lispVar *break-on-signals* *load-print* *print-pprint-dispatch*
393 syn keyword lispVar *break-on-signals* *load-truename* *print-pretty*
394 syn keyword lispVar *break-on-warnings* *load-verbose* *print-radix*
395 syn keyword lispVar *compile-file-pathname* *macroexpand-hook* *print-readably*
396 syn keyword lispVar *compile-file-pathname* *modules* *print-right-margin*
397 syn keyword lispVar *compile-file-truename* *package* *print-right-margin*
398 syn keyword lispVar *compile-file-truename* *print-array* *query-io*
399 syn keyword lispVar *compile-print* *print-base* *random-state*
400 syn keyword lispVar *compile-verbose* *print-case* *read-base*
401 syn keyword lispVar *compile-verbose* *print-circle* *read-default-float-format*
402 syn keyword lispVar *debug-io* *print-escape* *read-eval*
403 syn keyword lispVar *debugger-hook* *print-gensym* *read-suppress*
404 syn keyword lispVar *default-pathname-defaults* *print-length* *readtable*
405 syn keyword lispVar *error-output* *print-level* *standard-input*
406 syn keyword lispVar *evalhook* *print-lines* *standard-output*
407 syn keyword lispVar *features* *print-miser-width* *terminal-io*
408 syn keyword lispVar *gensym-counter* *print-miser-width* *trace-output*
411 syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+
413 " Shared with Xlisp, Declarations, Macros, Functions
414 syn keyword lispDecl defmacro do-all-symbols labels
415 syn keyword lispDecl defsetf do-external-symbols let
416 syn keyword lispDecl deftype do-symbols locally
417 syn keyword lispDecl defun dotimes macrolet
418 syn keyword lispDecl do* flet multiple-value-bind
420 syn match lispNumber "\d\+"
422 syn match lispSpecial "\*[a-zA-Z_][a-zA-Z_0-9-]*\*"
423 syn match lispSpecial !#|[^()'`,"; \t]\+|#!
424 syn match lispSpecial !#x[0-9a-fA-F]\+!
425 syn match lispSpecial !#o[0-7]\+!
426 syn match lispSpecial !#b[01]\+!
427 syn match lispSpecial !#\\[ -\~]!
428 syn match lispSpecial !#[':][^()'`,"; \t]\+!
429 syn match lispSpecial !#([^()'`,"; \t]\+)!
431 syn match lispConcat "\s\.\s"
432 syn match lispParenError ")"
435 syn cluster lispCommentGroup contains=lispTodo
436 syn match lispComment ";.*$" contains=@lispCommentGroup
438 syn keyword lispTodo contained combak combak: todo todo:
444 " Define the default highlighting.
445 " For version 5.7 and earlier: only when not done already
446 " For version 5.8 and later: only when an item doesn't have highlighting yet
447 if version >= 508 || !exists("did_lisp_syntax_inits")
449 let did_lisp_syntax_inits = 1
450 command -nargs=+ HiLink hi link <args>
452 command -nargs=+ HiLink hi def link <args>
455 HiLink lispAtomNmbr lispNumber
456 HiLink lispAtomMark lispMark
458 HiLink lispAtom Identifier
459 HiLink lispAtomBarSymbol Special
460 HiLink lispBarSymbol Special
461 HiLink lispComment Comment
462 HiLink lispConcat Statement
463 HiLink lispDecl Statement
464 HiLink lispFunc Statement
466 HiLink lispMark Delimiter
467 HiLink lispNumber Number
468 HiLink lispParenError Error
469 HiLink lispSpecial Type
470 HiLink lispString String
472 HiLink lispVar Statement
477 let b:current_syntax = "lisp"