comparison runtime/syntax/lisp.vim @ 7:3fc0f57ecb91 v7.0001

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