Mercurial > vim
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 |