Mercurial > vim
annotate runtime/syntax/lisp.vim @ 9487:69ed2c9d34a6 v7.4.2024
commit https://github.com/vim/vim/commit/7c0a2f367f2507669560b1a66423155c70d2e75b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jul 10 22:11:16 2016 +0200
patch 7.4.2024
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 10 Jul 2016 22:15:06 +0200 |
parents | 9305a1251e51 |
children | 43efa4f5a8ea |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Lisp | |
6479 | 3 " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
7707
diff
changeset
|
4 " Last Change: May 02, 2016 |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
7707
diff
changeset
|
5 " Version: 25 |
6479 | 6 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP |
7 | 7 " |
6479 | 8 " Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec |
1624 | 9 " Clisp additions courtesy of http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/emacs/lisp.vim |
7 | 10 |
557 | 11 " --------------------------------------------------------------------- |
556 | 12 " Load Once: {{{1 |
6479 | 13 if exists("b:current_syntax") |
14 finish | |
7 | 15 endif |
16 | |
6479 | 17 if exists("g:lisp_isk") |
18 exe "setl isk=".g:lisp_isk | |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
7707
diff
changeset
|
19 elseif !has("patch-7.4.1142") |
7707
41768bcebc9b
commit https://github.com/vim/vim/commit/13d5aeef56e3140a8eb8f40c7062aa1c5700f76e
Christian Brabandt <cb@256bit.org>
parents:
6479
diff
changeset
|
20 setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_ |
7 | 21 else |
7707
41768bcebc9b
commit https://github.com/vim/vim/commit/13d5aeef56e3140a8eb8f40c7062aa1c5700f76e
Christian Brabandt <cb@256bit.org>
parents:
6479
diff
changeset
|
22 syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_ |
1624 | 23 endif |
24 | |
25 if exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp") | |
26 set ignorecase | |
7 | 27 endif |
28 | |
557 | 29 " --------------------------------------------------------------------- |
556 | 30 " Clusters: {{{1 |
1624 | 31 syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite |
2662 | 32 syn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispEscapeSpecial,lispSymbol,lispVar,lispLeadWhite |
556 | 33 if exists("g:lisp_instring") |
1624 | 34 syn cluster lispListCluster contains=@lispBaseListCluster,lispString,lispInString,lispInStringString |
556 | 35 else |
1624 | 36 syn cluster lispListCluster contains=@lispBaseListCluster,lispString |
556 | 37 endif |
7 | 38 |
1125 | 39 syn case ignore |
40 | |
557 | 41 " --------------------------------------------------------------------- |
556 | 42 " Lists: {{{1 |
1624 | 43 syn match lispSymbol contained ![^()'`,"; \t]\+! |
44 syn match lispBarSymbol contained !|..\{-}|! | |
556 | 45 if exists("g:lisp_rainbow") && g:lisp_rainbow != 0 |
1624 | 46 syn region lispParen0 matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen1 |
47 syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen2 | |
48 syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen3 | |
49 syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen4 | |
50 syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen5 | |
51 syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen6 | |
52 syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen7 | |
53 syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen8 | |
54 syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen9 | |
556 | 55 syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen0 |
7 | 56 else |
1624 | 57 syn region lispList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@lispListCluster |
58 syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster | |
7 | 59 endif |
556 | 60 |
557 | 61 " --------------------------------------------------------------------- |
556 | 62 " Atoms: {{{1 |
1624 | 63 syn match lispAtomMark "'" |
64 syn match lispAtom "'("me=e-1 contains=lispAtomMark nextgroup=lispAtomList | |
65 syn match lispAtom "'[^ \t()]\+" contains=lispAtomMark | |
66 syn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark | |
67 syn region lispAtom start=+'"+ skip=+\\"+ end=+"+ | |
2662 | 68 syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString,lispEscapeSpecial |
1624 | 69 syn match lispAtomNmbr contained "\<\d\+" |
70 syn match lispLeadWhite contained "^\s\+" | |
7 | 71 |
557 | 72 " --------------------------------------------------------------------- |
556 | 73 " Standard Lisp Functions and Macros: {{{1 |
1624 | 74 syn keyword lispFunc * find-method pprint-indent |
75 syn keyword lispFunc ** find-package pprint-linear | |
76 syn keyword lispFunc *** find-restart pprint-logical-block | |
77 syn keyword lispFunc + find-symbol pprint-newline | |
78 syn keyword lispFunc ++ finish-output pprint-pop | |
79 syn keyword lispFunc +++ first pprint-tab | |
80 syn keyword lispFunc - fixnum pprint-tabular | |
81 syn keyword lispFunc / flet prin1 | |
82 syn keyword lispFunc // float prin1-to-string | |
83 syn keyword lispFunc /// float-digits princ | |
84 syn keyword lispFunc /= float-precision princ-to-string | |
85 syn keyword lispFunc 1+ float-radix print | |
86 syn keyword lispFunc 1- float-sign print-not-readable | |
87 syn keyword lispFunc < floating-point-inexact print-not-readable-object | |
88 syn keyword lispFunc <= floating-point-invalid-operation print-object | |
89 syn keyword lispFunc = floating-point-overflow print-unreadable-object | |
90 syn keyword lispFunc > floating-point-underflow probe-file | |
91 syn keyword lispFunc >= floatp proclaim | |
92 syn keyword lispFunc abort floor prog | |
93 syn keyword lispFunc abs fmakunbound prog* | |
94 syn keyword lispFunc access force-output prog1 | |
95 syn keyword lispFunc acons format prog2 | |
96 syn keyword lispFunc acos formatter progn | |
97 syn keyword lispFunc acosh fourth program-error | |
98 syn keyword lispFunc add-method fresh-line progv | |
99 syn keyword lispFunc adjoin fround provide | |
100 syn keyword lispFunc adjust-array ftruncate psetf | |
101 syn keyword lispFunc adjustable-array-p ftype psetq | |
102 syn keyword lispFunc allocate-instance funcall push | |
103 syn keyword lispFunc alpha-char-p function pushnew | |
104 syn keyword lispFunc alphanumericp function-keywords putprop | |
105 syn keyword lispFunc and function-lambda-expression quote | |
106 syn keyword lispFunc append functionp random | |
107 syn keyword lispFunc apply gbitp random-state | |
108 syn keyword lispFunc applyhook gcd random-state-p | |
109 syn keyword lispFunc apropos generic-function rassoc | |
110 syn keyword lispFunc apropos-list gensym rassoc-if | |
111 syn keyword lispFunc aref gentemp rassoc-if-not | |
112 syn keyword lispFunc arithmetic-error get ratio | |
113 syn keyword lispFunc arithmetic-error-operands get-decoded-time rational | |
114 syn keyword lispFunc arithmetic-error-operation get-dispatch-macro-character rationalize | |
115 syn keyword lispFunc array get-internal-real-time rationalp | |
116 syn keyword lispFunc array-dimension get-internal-run-time read | |
117 syn keyword lispFunc array-dimension-limit get-macro-character read-byte | |
118 syn keyword lispFunc array-dimensions get-output-stream-string read-char | |
119 syn keyword lispFunc array-displacement get-properties read-char-no-hang | |
120 syn keyword lispFunc array-element-type get-setf-expansion read-delimited-list | |
121 syn keyword lispFunc array-has-fill-pointer-p get-setf-method read-eval-print | |
122 syn keyword lispFunc array-in-bounds-p get-universal-time read-from-string | |
123 syn keyword lispFunc array-rank getf read-line | |
124 syn keyword lispFunc array-rank-limit gethash read-preserving-whitespace | |
125 syn keyword lispFunc array-row-major-index go read-sequence | |
126 syn keyword lispFunc array-total-size graphic-char-p reader-error | |
127 syn keyword lispFunc array-total-size-limit handler-bind readtable | |
128 syn keyword lispFunc arrayp handler-case readtable-case | |
129 syn keyword lispFunc ash hash-table readtablep | |
130 syn keyword lispFunc asin hash-table-count real | |
131 syn keyword lispFunc asinh hash-table-p realp | |
132 syn keyword lispFunc assert hash-table-rehash-size realpart | |
133 syn keyword lispFunc assoc hash-table-rehash-threshold reduce | |
134 syn keyword lispFunc assoc-if hash-table-size reinitialize-instance | |
135 syn keyword lispFunc assoc-if-not hash-table-test rem | |
136 syn keyword lispFunc atan host-namestring remf | |
137 syn keyword lispFunc atanh identity remhash | |
138 syn keyword lispFunc atom if remove | |
139 syn keyword lispFunc base-char if-exists remove-duplicates | |
140 syn keyword lispFunc base-string ignorable remove-if | |
141 syn keyword lispFunc bignum ignore remove-if-not | |
142 syn keyword lispFunc bit ignore-errors remove-method | |
143 syn keyword lispFunc bit-and imagpart remprop | |
144 syn keyword lispFunc bit-andc1 import rename-file | |
145 syn keyword lispFunc bit-andc2 in-package rename-package | |
146 syn keyword lispFunc bit-eqv in-package replace | |
147 syn keyword lispFunc bit-ior incf require | |
148 syn keyword lispFunc bit-nand initialize-instance rest | |
149 syn keyword lispFunc bit-nor inline restart | |
150 syn keyword lispFunc bit-not input-stream-p restart-bind | |
151 syn keyword lispFunc bit-orc1 inspect restart-case | |
152 syn keyword lispFunc bit-orc2 int-char restart-name | |
153 syn keyword lispFunc bit-vector integer return | |
154 syn keyword lispFunc bit-vector-p integer-decode-float return-from | |
155 syn keyword lispFunc bit-xor integer-length revappend | |
156 syn keyword lispFunc block integerp reverse | |
157 syn keyword lispFunc boole interactive-stream-p room | |
158 syn keyword lispFunc boole-1 intern rotatef | |
159 syn keyword lispFunc boole-2 internal-time-units-per-second round | |
160 syn keyword lispFunc boole-and intersection row-major-aref | |
161 syn keyword lispFunc boole-andc1 invalid-method-error rplaca | |
162 syn keyword lispFunc boole-andc2 invoke-debugger rplacd | |
163 syn keyword lispFunc boole-c1 invoke-restart safety | |
164 syn keyword lispFunc boole-c2 invoke-restart-interactively satisfies | |
165 syn keyword lispFunc boole-clr isqrt sbit | |
166 syn keyword lispFunc boole-eqv keyword scale-float | |
167 syn keyword lispFunc boole-ior keywordp schar | |
168 syn keyword lispFunc boole-nand labels search | |
169 syn keyword lispFunc boole-nor lambda second | |
170 syn keyword lispFunc boole-orc1 lambda-list-keywords sequence | |
171 syn keyword lispFunc boole-orc2 lambda-parameters-limit serious-condition | |
172 syn keyword lispFunc boole-set last set | |
173 syn keyword lispFunc boole-xor lcm set-char-bit | |
174 syn keyword lispFunc boolean ldb set-difference | |
175 syn keyword lispFunc both-case-p ldb-test set-dispatch-macro-character | |
176 syn keyword lispFunc boundp ldiff set-exclusive-or | |
177 syn keyword lispFunc break least-negative-double-float set-macro-character | |
178 syn keyword lispFunc broadcast-stream least-negative-long-float set-pprint-dispatch | |
179 syn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-syntax-from-char | |
180 syn keyword lispFunc built-in-class least-negative-normalized-long-float setf | |
181 syn keyword lispFunc butlast least-negative-normalized-short-float setq | |
182 syn keyword lispFunc byte least-negative-normalized-single-float seventh | |
183 syn keyword lispFunc byte-position least-negative-short-float shadow | |
184 syn keyword lispFunc byte-size least-negative-single-float shadowing-import | |
185 syn keyword lispFunc call-arguments-limit least-positive-double-float shared-initialize | |
186 syn keyword lispFunc call-method least-positive-long-float shiftf | |
187 syn keyword lispFunc call-next-method least-positive-normalized-double-float short-float | |
188 syn keyword lispFunc capitalize least-positive-normalized-long-float short-float-epsilon | |
189 syn keyword lispFunc car least-positive-normalized-short-float short-float-negative-epsilon | |
190 syn keyword lispFunc case least-positive-normalized-single-float short-site-name | |
191 syn keyword lispFunc catch least-positive-short-float signal | |
192 syn keyword lispFunc ccase least-positive-single-float signed-byte | |
193 syn keyword lispFunc cdr length signum | |
194 syn keyword lispFunc ceiling let simple-condition | |
195 syn keyword lispFunc cell-error let* simple-array | |
196 syn keyword lispFunc cell-error-name lisp simple-base-string | |
197 syn keyword lispFunc cerror lisp-implementation-type simple-bit-vector | |
198 syn keyword lispFunc change-class lisp-implementation-version simple-bit-vector-p | |
199 syn keyword lispFunc char list simple-condition-format-arguments | |
200 syn keyword lispFunc char-bit list* simple-condition-format-control | |
201 syn keyword lispFunc char-bits list-all-packages simple-error | |
202 syn keyword lispFunc char-bits-limit list-length simple-string | |
203 syn keyword lispFunc char-code listen simple-string-p | |
204 syn keyword lispFunc char-code-limit listp simple-type-error | |
205 syn keyword lispFunc char-control-bit load simple-vector | |
206 syn keyword lispFunc char-downcase load-logical-pathname-translations simple-vector-p | |
207 syn keyword lispFunc char-equal load-time-value simple-warning | |
208 syn keyword lispFunc char-font locally sin | |
209 syn keyword lispFunc char-font-limit log single-flaot-epsilon | |
210 syn keyword lispFunc char-greaterp logand single-float | |
211 syn keyword lispFunc char-hyper-bit logandc1 single-float-epsilon | |
212 syn keyword lispFunc char-int logandc2 single-float-negative-epsilon | |
213 syn keyword lispFunc char-lessp logbitp sinh | |
214 syn keyword lispFunc char-meta-bit logcount sixth | |
215 syn keyword lispFunc char-name logeqv sleep | |
216 syn keyword lispFunc char-not-equal logical-pathname slot-boundp | |
217 syn keyword lispFunc char-not-greaterp logical-pathname-translations slot-exists-p | |
218 syn keyword lispFunc char-not-lessp logior slot-makunbound | |
219 syn keyword lispFunc char-super-bit lognand slot-missing | |
220 syn keyword lispFunc char-upcase lognor slot-unbound | |
221 syn keyword lispFunc char/= lognot slot-value | |
222 syn keyword lispFunc char< logorc1 software-type | |
223 syn keyword lispFunc char<= logorc2 software-version | |
224 syn keyword lispFunc char= logtest some | |
225 syn keyword lispFunc char> logxor sort | |
226 syn keyword lispFunc char>= long-float space | |
227 syn keyword lispFunc character long-float-epsilon special | |
228 syn keyword lispFunc characterp long-float-negative-epsilon special-form-p | |
229 syn keyword lispFunc check-type long-site-name special-operator-p | |
230 syn keyword lispFunc cis loop speed | |
231 syn keyword lispFunc class loop-finish sqrt | |
232 syn keyword lispFunc class-name lower-case-p stable-sort | |
233 syn keyword lispFunc class-of machine-instance standard | |
234 syn keyword lispFunc clear-input machine-type standard-char | |
235 syn keyword lispFunc clear-output machine-version standard-char-p | |
236 syn keyword lispFunc close macro-function standard-class | |
237 syn keyword lispFunc clrhash macroexpand standard-generic-function | |
238 syn keyword lispFunc code-char macroexpand-1 standard-method | |
239 syn keyword lispFunc coerce macroexpand-l standard-object | |
240 syn keyword lispFunc commonp macrolet step | |
241 syn keyword lispFunc compilation-speed make-array storage-condition | |
242 syn keyword lispFunc compile make-array store-value | |
243 syn keyword lispFunc compile-file make-broadcast-stream stream | |
244 syn keyword lispFunc compile-file-pathname make-char stream-element-type | |
245 syn keyword lispFunc compiled-function make-concatenated-stream stream-error | |
246 syn keyword lispFunc compiled-function-p make-condition stream-error-stream | |
247 syn keyword lispFunc compiler-let make-dispatch-macro-character stream-external-format | |
248 syn keyword lispFunc compiler-macro make-echo-stream streamp | |
249 syn keyword lispFunc compiler-macro-function make-hash-table streamup | |
250 syn keyword lispFunc complement make-instance string | |
251 syn keyword lispFunc complex make-instances-obsolete string-capitalize | |
252 syn keyword lispFunc complexp make-list string-char | |
253 syn keyword lispFunc compute-applicable-methods make-load-form string-char-p | |
254 syn keyword lispFunc compute-restarts make-load-form-saving-slots string-downcase | |
255 syn keyword lispFunc concatenate make-method string-equal | |
256 syn keyword lispFunc concatenated-stream make-package string-greaterp | |
257 syn keyword lispFunc concatenated-stream-streams make-pathname string-left-trim | |
258 syn keyword lispFunc cond make-random-state string-lessp | |
259 syn keyword lispFunc condition make-sequence string-not-equal | |
260 syn keyword lispFunc conjugate make-string string-not-greaterp | |
261 syn keyword lispFunc cons make-string-input-stream string-not-lessp | |
262 syn keyword lispFunc consp make-string-output-stream string-right-strim | |
263 syn keyword lispFunc constantly make-symbol string-right-trim | |
264 syn keyword lispFunc constantp make-synonym-stream string-stream | |
265 syn keyword lispFunc continue make-two-way-stream string-trim | |
266 syn keyword lispFunc control-error makunbound string-upcase | |
267 syn keyword lispFunc copy-alist map string/= | |
268 syn keyword lispFunc copy-list map-into string< | |
269 syn keyword lispFunc copy-pprint-dispatch mapc string<= | |
270 syn keyword lispFunc copy-readtable mapcan string= | |
271 syn keyword lispFunc copy-seq mapcar string> | |
272 syn keyword lispFunc copy-structure mapcon string>= | |
273 syn keyword lispFunc copy-symbol maphash stringp | |
274 syn keyword lispFunc copy-tree mapl structure | |
275 syn keyword lispFunc cos maplist structure-class | |
276 syn keyword lispFunc cosh mask-field structure-object | |
277 syn keyword lispFunc count max style-warning | |
278 syn keyword lispFunc count-if member sublim | |
279 syn keyword lispFunc count-if-not member-if sublis | |
280 syn keyword lispFunc ctypecase member-if-not subseq | |
281 syn keyword lispFunc debug merge subsetp | |
282 syn keyword lispFunc decf merge-pathname subst | |
283 syn keyword lispFunc declaim merge-pathnames subst-if | |
284 syn keyword lispFunc declaration method subst-if-not | |
285 syn keyword lispFunc declare method-combination substitute | |
286 syn keyword lispFunc decode-float method-combination-error substitute-if | |
287 syn keyword lispFunc decode-universal-time method-qualifiers substitute-if-not | |
288 syn keyword lispFunc defclass min subtypep | |
289 syn keyword lispFunc defconstant minusp svref | |
290 syn keyword lispFunc defgeneric mismatch sxhash | |
291 syn keyword lispFunc define-compiler-macro mod symbol | |
292 syn keyword lispFunc define-condition most-negative-double-float symbol-function | |
293 syn keyword lispFunc define-method-combination most-negative-fixnum symbol-macrolet | |
294 syn keyword lispFunc define-modify-macro most-negative-long-float symbol-name | |
295 syn keyword lispFunc define-setf-expander most-negative-short-float symbol-package | |
296 syn keyword lispFunc define-setf-method most-negative-single-float symbol-plist | |
297 syn keyword lispFunc define-symbol-macro most-positive-double-float symbol-value | |
298 syn keyword lispFunc defmacro most-positive-fixnum symbolp | |
299 syn keyword lispFunc defmethod most-positive-long-float synonym-stream | |
300 syn keyword lispFunc defpackage most-positive-short-float synonym-stream-symbol | |
301 syn keyword lispFunc defparameter most-positive-single-float sys | |
302 syn keyword lispFunc defsetf muffle-warning system | |
303 syn keyword lispFunc defstruct multiple-value-bind t | |
304 syn keyword lispFunc deftype multiple-value-call tagbody | |
305 syn keyword lispFunc defun multiple-value-list tailp | |
306 syn keyword lispFunc defvar multiple-value-prog1 tan | |
307 syn keyword lispFunc delete multiple-value-seteq tanh | |
308 syn keyword lispFunc delete-duplicates multiple-value-setq tenth | |
309 syn keyword lispFunc delete-file multiple-values-limit terpri | |
310 syn keyword lispFunc delete-if name-char the | |
311 syn keyword lispFunc delete-if-not namestring third | |
312 syn keyword lispFunc delete-package nbutlast throw | |
313 syn keyword lispFunc denominator nconc time | |
314 syn keyword lispFunc deposit-field next-method-p trace | |
315 syn keyword lispFunc describe nil translate-logical-pathname | |
316 syn keyword lispFunc describe-object nintersection translate-pathname | |
317 syn keyword lispFunc destructuring-bind ninth tree-equal | |
318 syn keyword lispFunc digit-char no-applicable-method truename | |
319 syn keyword lispFunc digit-char-p no-next-method truncase | |
320 syn keyword lispFunc directory not truncate | |
321 syn keyword lispFunc directory-namestring notany two-way-stream | |
322 syn keyword lispFunc disassemble notevery two-way-stream-input-stream | |
323 syn keyword lispFunc division-by-zero notinline two-way-stream-output-stream | |
324 syn keyword lispFunc do nreconc type | |
325 syn keyword lispFunc do* nreverse type-error | |
326 syn keyword lispFunc do-all-symbols nset-difference type-error-datum | |
327 syn keyword lispFunc do-exeternal-symbols nset-exclusive-or type-error-expected-type | |
328 syn keyword lispFunc do-external-symbols nstring type-of | |
329 syn keyword lispFunc do-symbols nstring-capitalize typecase | |
330 syn keyword lispFunc documentation nstring-downcase typep | |
331 syn keyword lispFunc dolist nstring-upcase unbound-slot | |
332 syn keyword lispFunc dotimes nsublis unbound-slot-instance | |
333 syn keyword lispFunc double-float nsubst unbound-variable | |
334 syn keyword lispFunc double-float-epsilon nsubst-if undefined-function | |
335 syn keyword lispFunc double-float-negative-epsilon nsubst-if-not unexport | |
336 syn keyword lispFunc dpb nsubstitute unintern | |
337 syn keyword lispFunc dribble nsubstitute-if union | |
338 syn keyword lispFunc dynamic-extent nsubstitute-if-not unless | |
339 syn keyword lispFunc ecase nth unread | |
340 syn keyword lispFunc echo-stream nth-value unread-char | |
341 syn keyword lispFunc echo-stream-input-stream nthcdr unsigned-byte | |
342 syn keyword lispFunc echo-stream-output-stream null untrace | |
343 syn keyword lispFunc ed number unuse-package | |
344 syn keyword lispFunc eighth numberp unwind-protect | |
345 syn keyword lispFunc elt numerator update-instance-for-different-class | |
346 syn keyword lispFunc encode-universal-time nunion update-instance-for-redefined-class | |
347 syn keyword lispFunc end-of-file oddp upgraded-array-element-type | |
348 syn keyword lispFunc endp open upgraded-complex-part-type | |
349 syn keyword lispFunc enough-namestring open-stream-p upper-case-p | |
350 syn keyword lispFunc ensure-directories-exist optimize use-package | |
351 syn keyword lispFunc ensure-generic-function or use-value | |
352 syn keyword lispFunc eq otherwise user | |
353 syn keyword lispFunc eql output-stream-p user-homedir-pathname | |
354 syn keyword lispFunc equal package values | |
355 syn keyword lispFunc equalp package-error values-list | |
356 syn keyword lispFunc error package-error-package vector | |
357 syn keyword lispFunc etypecase package-name vector-pop | |
358 syn keyword lispFunc eval package-nicknames vector-push | |
359 syn keyword lispFunc eval-when package-shadowing-symbols vector-push-extend | |
360 syn keyword lispFunc evalhook package-use-list vectorp | |
361 syn keyword lispFunc evenp package-used-by-list warn | |
362 syn keyword lispFunc every packagep warning | |
363 syn keyword lispFunc exp pairlis when | |
364 syn keyword lispFunc export parse-error wild-pathname-p | |
365 syn keyword lispFunc expt parse-integer with-accessors | |
366 syn keyword lispFunc extended-char parse-namestring with-compilation-unit | |
367 syn keyword lispFunc fboundp pathname with-condition-restarts | |
368 syn keyword lispFunc fceiling pathname-device with-hash-table-iterator | |
369 syn keyword lispFunc fdefinition pathname-directory with-input-from-string | |
370 syn keyword lispFunc ffloor pathname-host with-open-file | |
371 syn keyword lispFunc fifth pathname-match-p with-open-stream | |
372 syn keyword lispFunc file-author pathname-name with-output-to-string | |
373 syn keyword lispFunc file-error pathname-type with-package-iterator | |
374 syn keyword lispFunc file-error-pathname pathname-version with-simple-restart | |
375 syn keyword lispFunc file-length pathnamep with-slots | |
376 syn keyword lispFunc file-namestring peek-char with-standard-io-syntax | |
377 syn keyword lispFunc file-position phase write | |
378 syn keyword lispFunc file-stream pi write-byte | |
379 syn keyword lispFunc file-string-length plusp write-char | |
380 syn keyword lispFunc file-write-date pop write-line | |
381 syn keyword lispFunc fill position write-sequence | |
382 syn keyword lispFunc fill-pointer position-if write-string | |
383 syn keyword lispFunc find position-if-not write-to-string | |
384 syn keyword lispFunc find-all-symbols pprint y-or-n-p | |
385 syn keyword lispFunc find-class pprint-dispatch yes-or-no-p | |
386 syn keyword lispFunc find-if pprint-exit-if-list-exhausted zerop | |
387 syn keyword lispFunc find-if-not pprint-fill | |
7 | 388 |
1624 | 389 syn match lispFunc "\<c[ad]\+r\>" |
390 if exists("g:lispsyntax_clisp") | |
391 " CLISP FFI: | |
392 syn match lispFunc "\<\(ffi:\)\?with-c-\(place\|var\)\>" | |
393 syn match lispFunc "\<\(ffi:\)\?with-foreign-\(object\|string\)\>" | |
394 syn match lispFunc "\<\(ffi:\)\?default-foreign-\(language\|library\)\>" | |
395 syn match lispFunc "\<\([us]_\?\)\?\(element\|deref\|cast\|slot\|validp\)\>" | |
396 syn match lispFunc "\<\(ffi:\)\?set-foreign-pointer\>" | |
397 syn match lispFunc "\<\(ffi:\)\?allocate-\(deep\|shallow\)\>" | |
398 syn match lispFunc "\<\(ffi:\)\?c-lines\>" | |
399 syn match lispFunc "\<\(ffi:\)\?foreign-\(value\|free\|variable\|function\|object\)\>" | |
400 syn match lispFunc "\<\(ffi:\)\?foreign-address\(-null\|unsigned\)\?\>" | |
401 syn match lispFunc "\<\(ffi:\)\?undigned-foreign-address\>" | |
402 syn match lispFunc "\<\(ffi:\)\?c-var-\(address\|object\)\>" | |
403 syn match lispFunc "\<\(ffi:\)\?typeof\>" | |
404 syn match lispFunc "\<\(ffi:\)\?\(bit\)\?sizeof\>" | |
405 " CLISP Macros, functions et al: | |
406 syn match lispFunc "\<\(ext:\)\?with-collect\>" | |
407 syn match lispFunc "\<\(ext:\)\?letf\*\?\>" | |
408 syn match lispFunc "\<\(ext:\)\?finalize\>\>" | |
409 syn match lispFunc "\<\(ext:\)\?memoized\>" | |
410 syn match lispFunc "\<\(ext:\)\?getenv\>" | |
411 syn match lispFunc "\<\(ext:\)\?convert-string-\(to\|from\)-bytes\>" | |
412 syn match lispFunc "\<\(ext:\)\?ethe\>" | |
413 syn match lispFunc "\<\(ext:\)\?with-gensyms\>" | |
414 syn match lispFunc "\<\(ext:\)\?open-http\>" | |
415 syn match lispFunc "\<\(ext:\)\?string-concat\>" | |
416 syn match lispFunc "\<\(ext:\)\?with-http-\(in\|out\)put\>" | |
417 syn match lispFunc "\<\(ext:\)\?with-html-output\>" | |
418 syn match lispFunc "\<\(ext:\)\?expand-form\>" | |
419 syn match lispFunc "\<\(ext:\)\?\(without-\)\?package-lock\>" | |
420 syn match lispFunc "\<\(ext:\)\?re-export\>" | |
421 syn match lispFunc "\<\(ext:\)\?saveinitmem\>" | |
422 syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(integer\|float\)\>" | |
423 syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(char\|byte\)-sequence\>" | |
424 syn match lispFunc "\<\(custom:\)\?\*system-package-list\*\>" | |
425 syn match lispFunc "\<\(custom:\)\?\*ansi\*\>" | |
426 endif | |
7 | 427 |
557 | 428 " --------------------------------------------------------------------- |
556 | 429 " Lisp Keywords (modifiers): {{{1 |
1624 | 430 syn keyword lispKey :abort :from-end :overwrite |
431 syn keyword lispKey :adjustable :gensym :predicate | |
432 syn keyword lispKey :append :host :preserve-whitespace | |
433 syn keyword lispKey :array :if-does-not-exist :pretty | |
434 syn keyword lispKey :base :if-exists :print | |
435 syn keyword lispKey :case :include :print-function | |
436 syn keyword lispKey :circle :index :probe | |
437 syn keyword lispKey :conc-name :inherited :radix | |
438 syn keyword lispKey :constructor :initial-contents :read-only | |
439 syn keyword lispKey :copier :initial-element :rehash-size | |
440 syn keyword lispKey :count :initial-offset :rehash-threshold | |
441 syn keyword lispKey :create :initial-value :rename | |
442 syn keyword lispKey :default :input :rename-and-delete | |
443 syn keyword lispKey :defaults :internal :size | |
444 syn keyword lispKey :device :io :start | |
445 syn keyword lispKey :direction :junk-allowed :start1 | |
446 syn keyword lispKey :directory :key :start2 | |
447 syn keyword lispKey :displaced-index-offset :length :stream | |
448 syn keyword lispKey :displaced-to :level :supersede | |
449 syn keyword lispKey :element-type :name :test | |
450 syn keyword lispKey :end :named :test-not | |
451 syn keyword lispKey :end1 :new-version :type | |
452 syn keyword lispKey :end2 :nicknames :use | |
453 syn keyword lispKey :error :output :verbose | |
454 syn keyword lispKey :escape :output-file :version | |
455 syn keyword lispKey :external | |
456 " defpackage arguments | |
457 syn keyword lispKey :documentation :shadowing-import-from :modern :export | |
458 syn keyword lispKey :case-sensitive :case-inverted :shadow :import-from :intern | |
459 " lambda list keywords | |
460 syn keyword lispKey &allow-other-keys &aux &body | |
461 syn keyword lispKey &environment &key &optional &rest &whole | |
462 " make-array argument | |
463 syn keyword lispKey :fill-pointer | |
464 " readtable-case values | |
465 syn keyword lispKey :upcase :downcase :preserve :invert | |
466 " eval-when situations | |
467 syn keyword lispKey :load-toplevel :compile-toplevel :execute | |
468 " ANSI Extended LOOP: | |
469 syn keyword lispKey :while :until :for :do :if :then :else :when :unless :in | |
470 syn keyword lispKey :across :finally :collect :nconc :maximize :minimize :sum | |
471 syn keyword lispKey :and :with :initially :append :into :count :end :repeat | |
472 syn keyword lispKey :always :never :thereis :from :to :upto :downto :below | |
473 syn keyword lispKey :above :by :on :being :each :the :hash-key :hash-keys | |
474 syn keyword lispKey :hash-value :hash-values :using :of-type :upfrom :downfrom | |
475 if exists("g:lispsyntax_clisp") | |
476 " CLISP FFI: | |
477 syn keyword lispKey :arguments :return-type :library :full :malloc-free | |
478 syn keyword lispKey :none :alloca :in :out :in-out :stdc-stdcall :stdc :c | |
479 syn keyword lispKey :language :built-in :typedef :external | |
480 syn keyword lispKey :fini :init-once :init-always | |
481 endif | |
7 | 482 |
557 | 483 " --------------------------------------------------------------------- |
556 | 484 " Standard Lisp Variables: {{{1 |
1624 | 485 syn keyword lispVar *applyhook* *load-pathname* *print-pprint-dispatch* |
486 syn keyword lispVar *break-on-signals* *load-print* *print-pprint-dispatch* | |
487 syn keyword lispVar *break-on-signals* *load-truename* *print-pretty* | |
488 syn keyword lispVar *break-on-warnings* *load-verbose* *print-radix* | |
489 syn keyword lispVar *compile-file-pathname* *macroexpand-hook* *print-readably* | |
490 syn keyword lispVar *compile-file-pathname* *modules* *print-right-margin* | |
491 syn keyword lispVar *compile-file-truename* *package* *print-right-margin* | |
492 syn keyword lispVar *compile-file-truename* *print-array* *query-io* | |
493 syn keyword lispVar *compile-print* *print-base* *random-state* | |
494 syn keyword lispVar *compile-verbose* *print-case* *read-base* | |
495 syn keyword lispVar *compile-verbose* *print-circle* *read-default-float-format* | |
496 syn keyword lispVar *debug-io* *print-escape* *read-eval* | |
497 syn keyword lispVar *debugger-hook* *print-gensym* *read-suppress* | |
498 syn keyword lispVar *default-pathname-defaults* *print-length* *readtable* | |
499 syn keyword lispVar *error-output* *print-level* *standard-input* | |
500 syn keyword lispVar *evalhook* *print-lines* *standard-output* | |
501 syn keyword lispVar *features* *print-miser-width* *terminal-io* | |
502 syn keyword lispVar *gensym-counter* *print-miser-width* *trace-output* | |
7 | 503 |
557 | 504 " --------------------------------------------------------------------- |
556 | 505 " Strings: {{{1 |
1624 | 506 syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell |
556 | 507 if exists("g:lisp_instring") |
1624 | 508 syn region lispInString keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString |
509 syn region lispInStringString start=+\\"+ skip=+\\\\+ end=+\\"+ contained | |
7 | 510 endif |
511 | |
557 | 512 " --------------------------------------------------------------------- |
556 | 513 " Shared with Xlisp, Declarations, Macros, Functions: {{{1 |
1624 | 514 syn keyword lispDecl defmacro do-all-symbols labels |
515 syn keyword lispDecl defsetf do-external-symbols let | |
516 syn keyword lispDecl deftype do-symbols locally | |
517 syn keyword lispDecl defun dotimes macrolet | |
518 syn keyword lispDecl do* flet multiple-value-bind | |
519 if exists("g:lispsyntax_clisp") | |
520 " CLISP FFI: | |
521 syn match lispDecl "\<\(ffi:\)\?def-c-\(var\|const\|enum\|type\|struct\)\>" | |
522 syn match lispDecl "\<\(ffi:\)\?def-call-\(out\|in\)\>" | |
523 syn match lispDecl "\<\(ffi:\)\?c-\(function\|struct\|pointer\|string\)\>" | |
524 syn match lispDecl "\<\(ffi:\)\?c-ptr\(-null\)\?\>" | |
525 syn match lispDecl "\<\(ffi:\)\?c-array\(-ptr\|-max\)\?\>" | |
526 syn match lispDecl "\<\(ffi:\)\?[us]\?\(char\|short\|int\|long\)\>" | |
527 syn match lispDecl "\<\(win32:\|w32\)\?d\?word\>" | |
528 syn match lispDecl "\<\([us]_\?\)\?int\(8\|16\|32\|64\)\(_t\)\?\>" | |
529 syn keyword lispDecl size_t off_t time_t handle | |
530 endif | |
7 | 531 |
557 | 532 " --------------------------------------------------------------------- |
556 | 533 " Numbers: supporting integers and floating point numbers {{{1 |
2034 | 534 syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\=" |
535 syn match lispNumber "-\=\(\d\+/\d\+\)" | |
7 | 536 |
2662 | 537 syn match lispEscapeSpecial "\*\w[a-z_0-9-]*\*" |
538 syn match lispEscapeSpecial !#|[^()'`,"; \t]\+|#! | |
539 syn match lispEscapeSpecial !#x\x\+! | |
540 syn match lispEscapeSpecial !#o\o\+! | |
541 syn match lispEscapeSpecial !#b[01]\+! | |
542 syn match lispEscapeSpecial !#\\[ -}\~]! | |
543 syn match lispEscapeSpecial !#[':][^()'`,"; \t]\+! | |
544 syn match lispEscapeSpecial !#([^()'`,"; \t]\+)! | |
545 syn match lispEscapeSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)! | |
546 syn match lispEscapeSpecial "\<+[a-zA-Z_][a-zA-Z_0-9-]*+\>" | |
7 | 547 |
1624 | 548 syn match lispConcat "\s\.\s" |
549 syn match lispParenError ")" | |
7 | 550 |
557 | 551 " --------------------------------------------------------------------- |
556 | 552 " Comments: {{{1 |
1624 | 553 syn cluster lispCommentGroup contains=lispTodo,@Spell |
554 syn match lispComment ";.*$" contains=@lispCommentGroup | |
555 syn region lispCommentRegion start="#|" end="|#" contains=lispCommentRegion,@lispCommentGroup | |
556 syn keyword lispTodo contained combak combak: todo todo: | |
7 | 557 |
557 | 558 " --------------------------------------------------------------------- |
556 | 559 " Synchronization: {{{1 |
7 | 560 syn sync lines=100 |
561 | |
557 | 562 " --------------------------------------------------------------------- |
556 | 563 " Define Highlighting: {{{1 |
7 | 564 " For version 5.7 and earlier: only when not done already |
565 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
557 | 566 if version >= 508 |
567 command -nargs=+ HiLink hi def link <args> | |
7 | 568 |
1624 | 569 HiLink lispCommentRegion lispComment |
570 HiLink lispAtomNmbr lispNumber | |
571 HiLink lispAtomMark lispMark | |
572 HiLink lispInStringString lispString | |
7 | 573 |
1624 | 574 HiLink lispAtom Identifier |
575 HiLink lispAtomBarSymbol Special | |
576 HiLink lispBarSymbol Special | |
577 HiLink lispComment Comment | |
578 HiLink lispConcat Statement | |
579 HiLink lispDecl Statement | |
580 HiLink lispFunc Statement | |
581 HiLink lispKey Type | |
582 HiLink lispMark Delimiter | |
583 HiLink lispNumber Number | |
584 HiLink lispParenError Error | |
2662 | 585 HiLink lispEscapeSpecial Type |
1624 | 586 HiLink lispString String |
587 HiLink lispTodo Todo | |
588 HiLink lispVar Statement | |
7 | 589 |
556 | 590 if exists("g:lisp_rainbow") && g:lisp_rainbow != 0 |
591 if &bg == "dark" | |
557 | 592 hi def hlLevel0 ctermfg=red guifg=red1 |
1624 | 593 hi def hlLevel1 ctermfg=yellow guifg=orange1 |
594 hi def hlLevel2 ctermfg=green guifg=yellow1 | |
595 hi def hlLevel3 ctermfg=cyan guifg=greenyellow | |
596 hi def hlLevel4 ctermfg=magenta guifg=green1 | |
597 hi def hlLevel5 ctermfg=red guifg=springgreen1 | |
598 hi def hlLevel6 ctermfg=yellow guifg=cyan1 | |
599 hi def hlLevel7 ctermfg=green guifg=slateblue1 | |
600 hi def hlLevel8 ctermfg=cyan guifg=magenta1 | |
557 | 601 hi def hlLevel9 ctermfg=magenta guifg=purple1 |
556 | 602 else |
557 | 603 hi def hlLevel0 ctermfg=red guifg=red3 |
604 hi def hlLevel1 ctermfg=darkyellow guifg=orangered3 | |
605 hi def hlLevel2 ctermfg=darkgreen guifg=orange2 | |
606 hi def hlLevel3 ctermfg=blue guifg=yellow3 | |
607 hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4 | |
608 hi def hlLevel5 ctermfg=red guifg=green4 | |
609 hi def hlLevel6 ctermfg=darkyellow guifg=paleturquoise3 | |
610 hi def hlLevel7 ctermfg=darkgreen guifg=deepskyblue4 | |
611 hi def hlLevel8 ctermfg=blue guifg=darkslateblue | |
612 hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet | |
556 | 613 endif |
614 endif | |
615 | |
7 | 616 delcommand HiLink |
617 endif | |
618 | |
619 let b:current_syntax = "lisp" | |
620 | |
557 | 621 " --------------------------------------------------------------------- |
556 | 622 " vim: ts=8 nowrap fdm=marker |