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