1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Lisp 31d9215b9SBram Moolenaar" Maintainer: Charles E. Campbell <[email protected]> 4*519cc559SBram Moolenaar" Last Change: Nov 10, 2021 5*519cc559SBram Moolenaar" Version: 31 6e2719096SBram Moolenaar" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP 7071d4279SBram Moolenaar" 8e2719096SBram Moolenaar" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec 98c8de839SBram Moolenaar" Clisp additions courtesy of http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/emacs/lisp.vim 10071d4279SBram Moolenaar 11a5792f58SBram Moolenaar" --------------------------------------------------------------------- 12af289d33SBram Moolenaar" Load Once: {{{1 13e2719096SBram Moolenaarif exists("b:current_syntax") 14071d4279SBram Moolenaar finish 15071d4279SBram Moolenaarendif 16071d4279SBram Moolenaar 17e2719096SBram Moolenaarif exists("g:lisp_isk") 18e2719096SBram Moolenaar exe "setl isk=".g:lisp_isk 19723dd946SBram Moolenaarelseif (v:version == 704 && has("patch-7.4.1142")) || v:version > 704 2013d5aeefSBram Moolenaar syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_ 21723dd946SBram Moolenaarelse 22723dd946SBram Moolenaar setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_ 238c8de839SBram Moolenaarendif 248c8de839SBram Moolenaar 258c8de839SBram Moolenaarif exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp") 268c8de839SBram Moolenaar set ignorecase 27071d4279SBram Moolenaarendif 28071d4279SBram Moolenaar 29a5792f58SBram Moolenaar" --------------------------------------------------------------------- 30af289d33SBram Moolenaar" Clusters: {{{1 31071d4279SBram Moolenaarsyn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite 3281af9250SBram Moolenaarsyn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispEscapeSpecial,lispSymbol,lispVar,lispLeadWhite 33af289d33SBram Moolenaarif exists("g:lisp_instring") 34af289d33SBram Moolenaar syn cluster lispListCluster contains=@lispBaseListCluster,lispString,lispInString,lispInStringString 35af289d33SBram Moolenaarelse 36af289d33SBram Moolenaar syn cluster lispListCluster contains=@lispBaseListCluster,lispString 37af289d33SBram Moolenaarendif 38071d4279SBram Moolenaar 39c81e5e79SBram Moolenaarsyn case ignore 40c81e5e79SBram Moolenaar 41a5792f58SBram Moolenaar" --------------------------------------------------------------------- 42af289d33SBram Moolenaar" Lists: {{{1 43071d4279SBram Moolenaarsyn match lispSymbol contained ![^()'`,"; \t]\+! 44071d4279SBram Moolenaarsyn match lispBarSymbol contained !|..\{-}|! 45af289d33SBram Moolenaarif exists("g:lisp_rainbow") && g:lisp_rainbow != 0 46af289d33SBram Moolenaar syn region lispParen0 matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen1 47af289d33SBram Moolenaar syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen2 48af289d33SBram Moolenaar syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen3 49af289d33SBram Moolenaar syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen4 50af289d33SBram Moolenaar syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen5 51af289d33SBram Moolenaar syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen6 52af289d33SBram Moolenaar syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen7 53af289d33SBram Moolenaar syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen8 54af289d33SBram Moolenaar syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen9 55af289d33SBram Moolenaar syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen0 56071d4279SBram Moolenaarelse 5785850f3aSBram Moolenaar syn region lispList matchgroup=lispParen start="(" skip="|.\{-}|" matchgroup=lispParen end=")" contains=@lispListCluster 58af289d33SBram Moolenaar syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster 59071d4279SBram Moolenaarendif 60af289d33SBram Moolenaar 61a5792f58SBram Moolenaar" --------------------------------------------------------------------- 62af289d33SBram Moolenaar" Atoms: {{{1 63071d4279SBram Moolenaarsyn match lispAtomMark "'" 64071d4279SBram Moolenaarsyn match lispAtom "'("me=e-1 contains=lispAtomMark nextgroup=lispAtomList 65071d4279SBram Moolenaarsyn match lispAtom "'[^ \t()]\+" contains=lispAtomMark 66071d4279SBram Moolenaarsyn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark 67071d4279SBram Moolenaarsyn region lispAtom start=+'"+ skip=+\\"+ end=+"+ 6881af9250SBram Moolenaarsyn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString,lispEscapeSpecial 69071d4279SBram Moolenaarsyn match lispAtomNmbr contained "\<\d\+" 70071d4279SBram Moolenaarsyn match lispLeadWhite contained "^\s\+" 71071d4279SBram Moolenaar 72a5792f58SBram Moolenaar" --------------------------------------------------------------------- 73af289d33SBram Moolenaar" Standard Lisp Functions and Macros: {{{1 7451ad4eaaSBram Moolenaarsyn keyword lispFunc < find-method pprint-indent 7551ad4eaaSBram Moolenaarsyn keyword lispFunc <= find-package pprint-linear 7651ad4eaaSBram Moolenaarsyn keyword lispFunc = find-restart pprint-logical-block 7751ad4eaaSBram Moolenaarsyn keyword lispFunc > find-symbol pprint-newline 7851ad4eaaSBram Moolenaarsyn keyword lispFunc >= finish-output pprint-pop 7951ad4eaaSBram Moolenaarsyn keyword lispFunc - first pprint-tab 8051ad4eaaSBram Moolenaarsyn keyword lispFunc / fixnum pprint-tabular 8151ad4eaaSBram Moolenaarsyn keyword lispFunc /= flet prin1 82071d4279SBram Moolenaarsyn keyword lispFunc // float prin1-to-string 83071d4279SBram Moolenaarsyn keyword lispFunc /// float-digits princ 8451ad4eaaSBram Moolenaarsyn keyword lispFunc * floating-point-inexact princ-to-string 8551ad4eaaSBram Moolenaarsyn keyword lispFunc ** floating-point-invalid-operation print 8651ad4eaaSBram Moolenaarsyn keyword lispFunc *** floating-point-overflow print-not-readable 8751ad4eaaSBram Moolenaarsyn keyword lispFunc + floating-point-underflow print-not-readable-object 8851ad4eaaSBram Moolenaarsyn keyword lispFunc ++ floatp print-object 8951ad4eaaSBram Moolenaarsyn keyword lispFunc +++ float-precision print-unreadable-object 9051ad4eaaSBram Moolenaarsyn keyword lispFunc 1- float-radix probe-file 9151ad4eaaSBram Moolenaarsyn keyword lispFunc 1+ float-sign proclaim 92071d4279SBram Moolenaarsyn keyword lispFunc abort floor prog 93071d4279SBram Moolenaarsyn keyword lispFunc abs fmakunbound prog* 94071d4279SBram Moolenaarsyn keyword lispFunc access force-output prog1 95071d4279SBram Moolenaarsyn keyword lispFunc acons format prog2 96071d4279SBram Moolenaarsyn keyword lispFunc acos formatter progn 97071d4279SBram Moolenaarsyn keyword lispFunc acosh fourth program-error 98071d4279SBram Moolenaarsyn keyword lispFunc add-method fresh-line progv 99071d4279SBram Moolenaarsyn keyword lispFunc adjoin fround provide 10051ad4eaaSBram Moolenaarsyn keyword lispFunc adjustable-array-p ftruncate psetf 10151ad4eaaSBram Moolenaarsyn keyword lispFunc adjust-array ftype psetq 102071d4279SBram Moolenaarsyn keyword lispFunc allocate-instance funcall push 103071d4279SBram Moolenaarsyn keyword lispFunc alpha-char-p function pushnew 104071d4279SBram Moolenaarsyn keyword lispFunc alphanumericp function-keywords putprop 105071d4279SBram Moolenaarsyn keyword lispFunc and function-lambda-expression quote 106071d4279SBram Moolenaarsyn keyword lispFunc append functionp random 107071d4279SBram Moolenaarsyn keyword lispFunc apply gbitp random-state 108071d4279SBram Moolenaarsyn keyword lispFunc applyhook gcd random-state-p 109071d4279SBram Moolenaarsyn keyword lispFunc apropos generic-function rassoc 110071d4279SBram Moolenaarsyn keyword lispFunc apropos-list gensym rassoc-if 111071d4279SBram Moolenaarsyn keyword lispFunc aref gentemp rassoc-if-not 112071d4279SBram Moolenaarsyn keyword lispFunc arithmetic-error get ratio 113071d4279SBram Moolenaarsyn keyword lispFunc arithmetic-error-operands get-decoded-time rational 114071d4279SBram Moolenaarsyn keyword lispFunc arithmetic-error-operation get-dispatch-macro-character rationalize 11551ad4eaaSBram Moolenaarsyn keyword lispFunc array getf rationalp 11651ad4eaaSBram Moolenaarsyn keyword lispFunc array-dimension gethash read 11751ad4eaaSBram Moolenaarsyn keyword lispFunc array-dimension-limit get-internal-real-time read-byte 11851ad4eaaSBram Moolenaarsyn keyword lispFunc array-dimensions get-internal-run-time read-char 11951ad4eaaSBram Moolenaarsyn keyword lispFunc array-displacement get-macro-character read-char-no-hang 12051ad4eaaSBram Moolenaarsyn keyword lispFunc array-element-type get-output-stream-string read-delimited-list 12151ad4eaaSBram Moolenaarsyn keyword lispFunc array-has-fill-pointer-p get-properties reader-error 12251ad4eaaSBram Moolenaarsyn keyword lispFunc array-in-bounds-p get-setf-expansion read-eval-print 12351ad4eaaSBram Moolenaarsyn keyword lispFunc arrayp get-setf-method read-from-string 12451ad4eaaSBram Moolenaarsyn keyword lispFunc array-rank get-universal-time read-line 12551ad4eaaSBram Moolenaarsyn keyword lispFunc array-rank-limit go read-preserving-whitespace 12651ad4eaaSBram Moolenaarsyn keyword lispFunc array-row-major-index graphic-char-p read-sequence 12751ad4eaaSBram Moolenaarsyn keyword lispFunc array-total-size handler-bind readtable 12851ad4eaaSBram Moolenaarsyn keyword lispFunc array-total-size-limit handler-case readtable-case 129071d4279SBram Moolenaarsyn keyword lispFunc ash hash-table readtablep 130071d4279SBram Moolenaarsyn keyword lispFunc asin hash-table-count real 131071d4279SBram Moolenaarsyn keyword lispFunc asinh hash-table-p realp 132071d4279SBram Moolenaarsyn keyword lispFunc assert hash-table-rehash-size realpart 133071d4279SBram Moolenaarsyn keyword lispFunc assoc hash-table-rehash-threshold reduce 134071d4279SBram Moolenaarsyn keyword lispFunc assoc-if hash-table-size reinitialize-instance 135071d4279SBram Moolenaarsyn keyword lispFunc assoc-if-not hash-table-test rem 136071d4279SBram Moolenaarsyn keyword lispFunc atan host-namestring remf 137071d4279SBram Moolenaarsyn keyword lispFunc atanh identity remhash 138071d4279SBram Moolenaarsyn keyword lispFunc atom if remove 139071d4279SBram Moolenaarsyn keyword lispFunc base-char if-exists remove-duplicates 140071d4279SBram Moolenaarsyn keyword lispFunc base-string ignorable remove-if 141071d4279SBram Moolenaarsyn keyword lispFunc bignum ignore remove-if-not 142071d4279SBram Moolenaarsyn keyword lispFunc bit ignore-errors remove-method 143071d4279SBram Moolenaarsyn keyword lispFunc bit-and imagpart remprop 144071d4279SBram Moolenaarsyn keyword lispFunc bit-andc1 import rename-file 14551ad4eaaSBram Moolenaarsyn keyword lispFunc bit-andc2 incf rename-package 14651ad4eaaSBram Moolenaarsyn keyword lispFunc bit-eqv initialize-instance replace 14751ad4eaaSBram Moolenaarsyn keyword lispFunc bit-ior inline require 14851ad4eaaSBram Moolenaarsyn keyword lispFunc bit-nand in-package rest 14951ad4eaaSBram Moolenaarsyn keyword lispFunc bit-nor in-package restart 150071d4279SBram Moolenaarsyn keyword lispFunc bit-not input-stream-p restart-bind 151071d4279SBram Moolenaarsyn keyword lispFunc bit-orc1 inspect restart-case 152071d4279SBram Moolenaarsyn keyword lispFunc bit-orc2 int-char restart-name 153071d4279SBram Moolenaarsyn keyword lispFunc bit-vector integer return 154071d4279SBram Moolenaarsyn keyword lispFunc bit-vector-p integer-decode-float return-from 155071d4279SBram Moolenaarsyn keyword lispFunc bit-xor integer-length revappend 156071d4279SBram Moolenaarsyn keyword lispFunc block integerp reverse 157071d4279SBram Moolenaarsyn keyword lispFunc boole interactive-stream-p room 158071d4279SBram Moolenaarsyn keyword lispFunc boole-1 intern rotatef 159071d4279SBram Moolenaarsyn keyword lispFunc boole-2 internal-time-units-per-second round 16051ad4eaaSBram Moolenaarsyn keyword lispFunc boolean intersection row-major-aref 16151ad4eaaSBram Moolenaarsyn keyword lispFunc boole-and invalid-method-error rplaca 16251ad4eaaSBram Moolenaarsyn keyword lispFunc boole-andc1 invoke-debugger rplacd 16351ad4eaaSBram Moolenaarsyn keyword lispFunc boole-andc2 invoke-restart safety 16451ad4eaaSBram Moolenaarsyn keyword lispFunc boole-c1 invoke-restart-interactively satisfies 16551ad4eaaSBram Moolenaarsyn keyword lispFunc boole-c2 isqrt sbit 16651ad4eaaSBram Moolenaarsyn keyword lispFunc boole-clr keyword scale-float 16751ad4eaaSBram Moolenaarsyn keyword lispFunc boole-eqv keywordp schar 16851ad4eaaSBram Moolenaarsyn keyword lispFunc boole-ior labels search 16951ad4eaaSBram Moolenaarsyn keyword lispFunc boole-nand lambda second 17051ad4eaaSBram Moolenaarsyn keyword lispFunc boole-nor lambda-list-keywords sequence 17151ad4eaaSBram Moolenaarsyn keyword lispFunc boole-orc1 lambda-parameters-limit serious-condition 17251ad4eaaSBram Moolenaarsyn keyword lispFunc boole-orc2 last set 17351ad4eaaSBram Moolenaarsyn keyword lispFunc boole-set lcm set-char-bit 17451ad4eaaSBram Moolenaarsyn keyword lispFunc boole-xor ldb set-difference 175071d4279SBram Moolenaarsyn keyword lispFunc both-case-p ldb-test set-dispatch-macro-character 176071d4279SBram Moolenaarsyn keyword lispFunc boundp ldiff set-exclusive-or 17751ad4eaaSBram Moolenaarsyn keyword lispFunc break least-negative-double-float setf 17851ad4eaaSBram Moolenaarsyn keyword lispFunc broadcast-stream least-negative-long-float set-macro-character 17951ad4eaaSBram Moolenaarsyn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-pprint-dispatch 18051ad4eaaSBram Moolenaarsyn keyword lispFunc built-in-class least-negative-normalized-long-float setq 18151ad4eaaSBram Moolenaarsyn keyword lispFunc butlast least-negative-normalized-short-float set-syntax-from-char 182071d4279SBram Moolenaarsyn keyword lispFunc byte least-negative-normalized-single-float seventh 183071d4279SBram Moolenaarsyn keyword lispFunc byte-position least-negative-short-float shadow 184071d4279SBram Moolenaarsyn keyword lispFunc byte-size least-negative-single-float shadowing-import 185071d4279SBram Moolenaarsyn keyword lispFunc call-arguments-limit least-positive-double-float shared-initialize 186071d4279SBram Moolenaarsyn keyword lispFunc call-method least-positive-long-float shiftf 187071d4279SBram Moolenaarsyn keyword lispFunc call-next-method least-positive-normalized-double-float short-float 188071d4279SBram Moolenaarsyn keyword lispFunc capitalize least-positive-normalized-long-float short-float-epsilon 189071d4279SBram Moolenaarsyn keyword lispFunc car least-positive-normalized-short-float short-float-negative-epsilon 190071d4279SBram Moolenaarsyn keyword lispFunc case least-positive-normalized-single-float short-site-name 191071d4279SBram Moolenaarsyn keyword lispFunc catch least-positive-short-float signal 192071d4279SBram Moolenaarsyn keyword lispFunc ccase least-positive-single-float signed-byte 193071d4279SBram Moolenaarsyn keyword lispFunc cdr length signum 19451ad4eaaSBram Moolenaarsyn keyword lispFunc ceiling let simple-array 19551ad4eaaSBram Moolenaarsyn keyword lispFunc cell-error let* simple-base-string 19651ad4eaaSBram Moolenaarsyn keyword lispFunc cell-error-name lisp simple-bit-vector 19751ad4eaaSBram Moolenaarsyn keyword lispFunc cerror lisp-implementation-type simple-bit-vector-p 19851ad4eaaSBram Moolenaarsyn keyword lispFunc change-class lisp-implementation-version simple-condition 199071d4279SBram Moolenaarsyn keyword lispFunc char list simple-condition-format-arguments 20051ad4eaaSBram Moolenaarsyn keyword lispFunc char< list* simple-condition-format-control 20151ad4eaaSBram Moolenaarsyn keyword lispFunc char<= list-all-packages simple-error 20251ad4eaaSBram Moolenaarsyn keyword lispFunc char= listen simple-string 20351ad4eaaSBram Moolenaarsyn keyword lispFunc char> list-length simple-string-p 20451ad4eaaSBram Moolenaarsyn keyword lispFunc char>= listp simple-type-error 20551ad4eaaSBram Moolenaarsyn keyword lispFunc char/= load simple-vector 20651ad4eaaSBram Moolenaarsyn keyword lispFunc character load-logical-pathname-translations simple-vector-p 20751ad4eaaSBram Moolenaarsyn keyword lispFunc characterp load-time-value simple-warning 20851ad4eaaSBram Moolenaarsyn keyword lispFunc char-bit locally sin 20951ad4eaaSBram Moolenaarsyn keyword lispFunc char-bits log single-flaot-epsilon 21051ad4eaaSBram Moolenaarsyn keyword lispFunc char-bits-limit logand single-float 21151ad4eaaSBram Moolenaarsyn keyword lispFunc char-code logandc1 single-float-epsilon 21251ad4eaaSBram Moolenaarsyn keyword lispFunc char-code-limit logandc2 single-float-negative-epsilon 21351ad4eaaSBram Moolenaarsyn keyword lispFunc char-control-bit logbitp sinh 21451ad4eaaSBram Moolenaarsyn keyword lispFunc char-downcase logcount sixth 21551ad4eaaSBram Moolenaarsyn keyword lispFunc char-equal logeqv sleep 21651ad4eaaSBram Moolenaarsyn keyword lispFunc char-font logical-pathname slot-boundp 21751ad4eaaSBram Moolenaarsyn keyword lispFunc char-font-limit logical-pathname-translations slot-exists-p 21851ad4eaaSBram Moolenaarsyn keyword lispFunc char-greaterp logior slot-makunbound 21951ad4eaaSBram Moolenaarsyn keyword lispFunc char-hyper-bit lognand slot-missing 22051ad4eaaSBram Moolenaarsyn keyword lispFunc char-int lognor slot-unbound 22151ad4eaaSBram Moolenaarsyn keyword lispFunc char-lessp lognot slot-value 22251ad4eaaSBram Moolenaarsyn keyword lispFunc char-meta-bit logorc1 software-type 22351ad4eaaSBram Moolenaarsyn keyword lispFunc char-name logorc2 software-version 22451ad4eaaSBram Moolenaarsyn keyword lispFunc char-not-equal logtest some 22551ad4eaaSBram Moolenaarsyn keyword lispFunc char-not-greaterp logxor sort 22651ad4eaaSBram Moolenaarsyn keyword lispFunc char-not-lessp long-float space 22751ad4eaaSBram Moolenaarsyn keyword lispFunc char-super-bit long-float-epsilon special 22851ad4eaaSBram Moolenaarsyn keyword lispFunc char-upcase long-float-negative-epsilon special-form-p 229071d4279SBram Moolenaarsyn keyword lispFunc check-type long-site-name special-operator-p 230071d4279SBram Moolenaarsyn keyword lispFunc cis loop speed 231071d4279SBram Moolenaarsyn keyword lispFunc class loop-finish sqrt 232071d4279SBram Moolenaarsyn keyword lispFunc class-name lower-case-p stable-sort 233071d4279SBram Moolenaarsyn keyword lispFunc class-of machine-instance standard 234071d4279SBram Moolenaarsyn keyword lispFunc clear-input machine-type standard-char 235071d4279SBram Moolenaarsyn keyword lispFunc clear-output machine-version standard-char-p 23651ad4eaaSBram Moolenaarsyn keyword lispFunc close macroexpand standard-class 23751ad4eaaSBram Moolenaarsyn keyword lispFunc clrhash macroexpand-1 standard-generic-function 23851ad4eaaSBram Moolenaarsyn keyword lispFunc code-char macroexpand-l standard-method 23951ad4eaaSBram Moolenaarsyn keyword lispFunc coerce macro-function standard-object 240071d4279SBram Moolenaarsyn keyword lispFunc commonp macrolet step 241071d4279SBram Moolenaarsyn keyword lispFunc compilation-speed make-array storage-condition 242071d4279SBram Moolenaarsyn keyword lispFunc compile make-array store-value 24351ad4eaaSBram Moolenaarsyn keyword lispFunc compiled-function make-broadcast-stream stream 24451ad4eaaSBram Moolenaarsyn keyword lispFunc compiled-function-p make-char stream-element-type 24551ad4eaaSBram Moolenaarsyn keyword lispFunc compile-file make-concatenated-stream stream-error 24651ad4eaaSBram Moolenaarsyn keyword lispFunc compile-file-pathname make-condition stream-error-stream 247071d4279SBram Moolenaarsyn keyword lispFunc compiler-let make-dispatch-macro-character stream-external-format 248071d4279SBram Moolenaarsyn keyword lispFunc compiler-macro make-echo-stream streamp 249071d4279SBram Moolenaarsyn keyword lispFunc compiler-macro-function make-hash-table streamup 250071d4279SBram Moolenaarsyn keyword lispFunc complement make-instance string 25151ad4eaaSBram Moolenaarsyn keyword lispFunc complex make-instances-obsolete string< 25251ad4eaaSBram Moolenaarsyn keyword lispFunc complexp make-list string<= 25351ad4eaaSBram Moolenaarsyn keyword lispFunc compute-applicable-methods make-load-form string= 25451ad4eaaSBram Moolenaarsyn keyword lispFunc compute-restarts make-load-form-saving-slots string> 25551ad4eaaSBram Moolenaarsyn keyword lispFunc concatenate make-method string>= 25651ad4eaaSBram Moolenaarsyn keyword lispFunc concatenated-stream make-package string/= 25751ad4eaaSBram Moolenaarsyn keyword lispFunc concatenated-stream-streams make-pathname string-capitalize 25851ad4eaaSBram Moolenaarsyn keyword lispFunc cond make-random-state string-char 25951ad4eaaSBram Moolenaarsyn keyword lispFunc condition make-sequence string-char-p 26051ad4eaaSBram Moolenaarsyn keyword lispFunc conjugate make-string string-downcase 26151ad4eaaSBram Moolenaarsyn keyword lispFunc cons make-string-input-stream string-equal 26251ad4eaaSBram Moolenaarsyn keyword lispFunc consp make-string-output-stream string-greaterp 26351ad4eaaSBram Moolenaarsyn keyword lispFunc constantly make-symbol string-left-trim 26451ad4eaaSBram Moolenaarsyn keyword lispFunc constantp make-synonym-stream string-lessp 26551ad4eaaSBram Moolenaarsyn keyword lispFunc continue make-two-way-stream string-not-equal 26651ad4eaaSBram Moolenaarsyn keyword lispFunc control-error makunbound string-not-greaterp 26751ad4eaaSBram Moolenaarsyn keyword lispFunc copy-alist map string-not-lessp 26851ad4eaaSBram Moolenaarsyn keyword lispFunc copy-list mapc stringp 26951ad4eaaSBram Moolenaarsyn keyword lispFunc copy-pprint-dispatch mapcan string-right-strim 27051ad4eaaSBram Moolenaarsyn keyword lispFunc copy-readtable mapcar string-right-trim 27151ad4eaaSBram Moolenaarsyn keyword lispFunc copy-seq mapcon string-stream 27251ad4eaaSBram Moolenaarsyn keyword lispFunc copy-structure maphash string-trim 27351ad4eaaSBram Moolenaarsyn keyword lispFunc copy-symbol map-into string-upcase 274071d4279SBram Moolenaarsyn keyword lispFunc copy-tree mapl structure 275071d4279SBram Moolenaarsyn keyword lispFunc cos maplist structure-class 276071d4279SBram Moolenaarsyn keyword lispFunc cosh mask-field structure-object 277071d4279SBram Moolenaarsyn keyword lispFunc count max style-warning 278071d4279SBram Moolenaarsyn keyword lispFunc count-if member sublim 279071d4279SBram Moolenaarsyn keyword lispFunc count-if-not member-if sublis 280071d4279SBram Moolenaarsyn keyword lispFunc ctypecase member-if-not subseq 281071d4279SBram Moolenaarsyn keyword lispFunc debug merge subsetp 282071d4279SBram Moolenaarsyn keyword lispFunc decf merge-pathname subst 283071d4279SBram Moolenaarsyn keyword lispFunc declaim merge-pathnames subst-if 284071d4279SBram Moolenaarsyn keyword lispFunc declaration method subst-if-not 285071d4279SBram Moolenaarsyn keyword lispFunc declare method-combination substitute 286071d4279SBram Moolenaarsyn keyword lispFunc decode-float method-combination-error substitute-if 287071d4279SBram Moolenaarsyn keyword lispFunc decode-universal-time method-qualifiers substitute-if-not 288071d4279SBram Moolenaarsyn keyword lispFunc defclass min subtypep 289071d4279SBram Moolenaarsyn keyword lispFunc defconstant minusp svref 290071d4279SBram Moolenaarsyn keyword lispFunc defgeneric mismatch sxhash 291071d4279SBram Moolenaarsyn keyword lispFunc define-compiler-macro mod symbol 292071d4279SBram Moolenaarsyn keyword lispFunc define-condition most-negative-double-float symbol-function 293071d4279SBram Moolenaarsyn keyword lispFunc define-method-combination most-negative-fixnum symbol-macrolet 294071d4279SBram Moolenaarsyn keyword lispFunc define-modify-macro most-negative-long-float symbol-name 29551ad4eaaSBram Moolenaarsyn keyword lispFunc define-setf-expander most-negative-short-float symbolp 29651ad4eaaSBram Moolenaarsyn keyword lispFunc define-setf-method most-negative-single-float symbol-package 29751ad4eaaSBram Moolenaarsyn keyword lispFunc define-symbol-macro most-positive-double-float symbol-plist 29851ad4eaaSBram Moolenaarsyn keyword lispFunc defmacro most-positive-fixnum symbol-value 299071d4279SBram Moolenaarsyn keyword lispFunc defmethod most-positive-long-float synonym-stream 300071d4279SBram Moolenaarsyn keyword lispFunc defpackage most-positive-short-float synonym-stream-symbol 301071d4279SBram Moolenaarsyn keyword lispFunc defparameter most-positive-single-float sys 302071d4279SBram Moolenaarsyn keyword lispFunc defsetf muffle-warning system 303071d4279SBram Moolenaarsyn keyword lispFunc defstruct multiple-value-bind t 304071d4279SBram Moolenaarsyn keyword lispFunc deftype multiple-value-call tagbody 305071d4279SBram Moolenaarsyn keyword lispFunc defun multiple-value-list tailp 306071d4279SBram Moolenaarsyn keyword lispFunc defvar multiple-value-prog1 tan 307071d4279SBram Moolenaarsyn keyword lispFunc delete multiple-value-seteq tanh 308071d4279SBram Moolenaarsyn keyword lispFunc delete-duplicates multiple-value-setq tenth 309071d4279SBram Moolenaarsyn keyword lispFunc delete-file multiple-values-limit terpri 310071d4279SBram Moolenaarsyn keyword lispFunc delete-if name-char the 311071d4279SBram Moolenaarsyn keyword lispFunc delete-if-not namestring third 312071d4279SBram Moolenaarsyn keyword lispFunc delete-package nbutlast throw 313071d4279SBram Moolenaarsyn keyword lispFunc denominator nconc time 314071d4279SBram Moolenaarsyn keyword lispFunc deposit-field next-method-p trace 315071d4279SBram Moolenaarsyn keyword lispFunc describe nil translate-logical-pathname 316071d4279SBram Moolenaarsyn keyword lispFunc describe-object nintersection translate-pathname 317071d4279SBram Moolenaarsyn keyword lispFunc destructuring-bind ninth tree-equal 318071d4279SBram Moolenaarsyn keyword lispFunc digit-char no-applicable-method truename 319071d4279SBram Moolenaarsyn keyword lispFunc digit-char-p no-next-method truncase 320071d4279SBram Moolenaarsyn keyword lispFunc directory not truncate 321071d4279SBram Moolenaarsyn keyword lispFunc directory-namestring notany two-way-stream 322071d4279SBram Moolenaarsyn keyword lispFunc disassemble notevery two-way-stream-input-stream 323071d4279SBram Moolenaarsyn keyword lispFunc division-by-zero notinline two-way-stream-output-stream 324071d4279SBram Moolenaarsyn keyword lispFunc do nreconc type 32551ad4eaaSBram Moolenaarsyn keyword lispFunc do* nreverse typecase 32651ad4eaaSBram Moolenaarsyn keyword lispFunc do-all-symbols nset-difference type-error 32751ad4eaaSBram Moolenaarsyn keyword lispFunc documentation nset-exclusive-or type-error-datum 32851ad4eaaSBram Moolenaarsyn keyword lispFunc do-exeternal-symbols nstring type-error-expected-type 32951ad4eaaSBram Moolenaarsyn keyword lispFunc do-external-symbols nstring-capitalize type-of 33051ad4eaaSBram Moolenaarsyn keyword lispFunc dolist nstring-downcase typep 33151ad4eaaSBram Moolenaarsyn keyword lispFunc do-symbols nstring-upcase unbound-slot 332071d4279SBram Moolenaarsyn keyword lispFunc dotimes nsublis unbound-slot-instance 333071d4279SBram Moolenaarsyn keyword lispFunc double-float nsubst unbound-variable 334071d4279SBram Moolenaarsyn keyword lispFunc double-float-epsilon nsubst-if undefined-function 335071d4279SBram Moolenaarsyn keyword lispFunc double-float-negative-epsilon nsubst-if-not unexport 336071d4279SBram Moolenaarsyn keyword lispFunc dpb nsubstitute unintern 337071d4279SBram Moolenaarsyn keyword lispFunc dribble nsubstitute-if union 338071d4279SBram Moolenaarsyn keyword lispFunc dynamic-extent nsubstitute-if-not unless 339071d4279SBram Moolenaarsyn keyword lispFunc ecase nth unread 34051ad4eaaSBram Moolenaarsyn keyword lispFunc echo-stream nthcdr unread-char 34151ad4eaaSBram Moolenaarsyn keyword lispFunc echo-stream-input-stream nth-value unsigned-byte 342071d4279SBram Moolenaarsyn keyword lispFunc echo-stream-output-stream null untrace 343071d4279SBram Moolenaarsyn keyword lispFunc ed number unuse-package 344071d4279SBram Moolenaarsyn keyword lispFunc eighth numberp unwind-protect 345071d4279SBram Moolenaarsyn keyword lispFunc elt numerator update-instance-for-different-class 346071d4279SBram Moolenaarsyn keyword lispFunc encode-universal-time nunion update-instance-for-redefined-class 347071d4279SBram Moolenaarsyn keyword lispFunc end-of-file oddp upgraded-array-element-type 348071d4279SBram Moolenaarsyn keyword lispFunc endp open upgraded-complex-part-type 349071d4279SBram Moolenaarsyn keyword lispFunc enough-namestring open-stream-p upper-case-p 350071d4279SBram Moolenaarsyn keyword lispFunc ensure-directories-exist optimize use-package 35151ad4eaaSBram Moolenaarsyn keyword lispFunc ensure-generic-function or user 35251ad4eaaSBram Moolenaarsyn keyword lispFunc eq otherwise user-homedir-pathname 35351ad4eaaSBram Moolenaarsyn keyword lispFunc eql output-stream-p use-value 354071d4279SBram Moolenaarsyn keyword lispFunc equal package values 355071d4279SBram Moolenaarsyn keyword lispFunc equalp package-error values-list 35651ad4eaaSBram Moolenaarsyn keyword lispFunc error package-error-package variable 35751ad4eaaSBram Moolenaarsyn keyword lispFunc etypecase package-name vector 35851ad4eaaSBram Moolenaarsyn keyword lispFunc eval package-nicknames vectorp 35951ad4eaaSBram Moolenaarsyn keyword lispFunc evalhook packagep vector-pop 36051ad4eaaSBram Moolenaarsyn keyword lispFunc eval-when package-shadowing-symbols vector-push 36151ad4eaaSBram Moolenaarsyn keyword lispFunc evenp package-used-by-list vector-push-extend 36251ad4eaaSBram Moolenaarsyn keyword lispFunc every package-use-list warn 36351ad4eaaSBram Moolenaarsyn keyword lispFunc exp pairlis warning 36451ad4eaaSBram Moolenaarsyn keyword lispFunc export parse-error when 36551ad4eaaSBram Moolenaarsyn keyword lispFunc expt parse-integer wild-pathname-p 36651ad4eaaSBram Moolenaarsyn keyword lispFunc extended-char parse-namestring with-accessors 36751ad4eaaSBram Moolenaarsyn keyword lispFunc fboundp pathname with-compilation-unit 36851ad4eaaSBram Moolenaarsyn keyword lispFunc fceiling pathname-device with-condition-restarts 36951ad4eaaSBram Moolenaarsyn keyword lispFunc fdefinition pathname-directory with-hash-table-iterator 37051ad4eaaSBram Moolenaarsyn keyword lispFunc ffloor pathname-host with-input-from-string 37151ad4eaaSBram Moolenaarsyn keyword lispFunc fifth pathname-match-p with-open-file 37251ad4eaaSBram Moolenaarsyn keyword lispFunc file-author pathname-name with-open-stream 37351ad4eaaSBram Moolenaarsyn keyword lispFunc file-error pathnamep with-output-to-string 37451ad4eaaSBram Moolenaarsyn keyword lispFunc file-error-pathname pathname-type with-package-iterator 37551ad4eaaSBram Moolenaarsyn keyword lispFunc file-length pathname-version with-simple-restart 37651ad4eaaSBram Moolenaarsyn keyword lispFunc file-namestring peek-char with-slots 37751ad4eaaSBram Moolenaarsyn keyword lispFunc file-position phase with-standard-io-syntax 37851ad4eaaSBram Moolenaarsyn keyword lispFunc file-stream pi write 37951ad4eaaSBram Moolenaarsyn keyword lispFunc file-string-length plusp write-byte 38051ad4eaaSBram Moolenaarsyn keyword lispFunc file-write-date pop write-char 38151ad4eaaSBram Moolenaarsyn keyword lispFunc fill position write-line 38251ad4eaaSBram Moolenaarsyn keyword lispFunc fill-pointer position-if write-sequence 38351ad4eaaSBram Moolenaarsyn keyword lispFunc find position-if-not write-string 38451ad4eaaSBram Moolenaarsyn keyword lispFunc find-all-symbols pprint write-to-string 385071d4279SBram Moolenaarsyn keyword lispFunc find-class pprint-dispatch yes-or-no-p 38651ad4eaaSBram Moolenaarsyn keyword lispFunc find-if pprint-exit-if-list-exhausted y-or-n-p 38751ad4eaaSBram Moolenaarsyn keyword lispFunc find-if-not pprint-fill zerop 388071d4279SBram Moolenaar 389071d4279SBram Moolenaarsyn match lispFunc "\<c[ad]\+r\>" 3908c8de839SBram Moolenaarif exists("g:lispsyntax_clisp") 3918c8de839SBram Moolenaar " CLISP FFI: 3928c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?with-c-\(place\|var\)\>" 3938c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?with-foreign-\(object\|string\)\>" 3948c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?default-foreign-\(language\|library\)\>" 3958c8de839SBram Moolenaar syn match lispFunc "\<\([us]_\?\)\?\(element\|deref\|cast\|slot\|validp\)\>" 3968c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?set-foreign-pointer\>" 3978c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?allocate-\(deep\|shallow\)\>" 3988c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?c-lines\>" 3998c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?foreign-\(value\|free\|variable\|function\|object\)\>" 4008c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?foreign-address\(-null\|unsigned\)\?\>" 4018c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?undigned-foreign-address\>" 4028c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?c-var-\(address\|object\)\>" 4038c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?typeof\>" 4048c8de839SBram Moolenaar syn match lispFunc "\<\(ffi:\)\?\(bit\)\?sizeof\>" 4058c8de839SBram Moolenaar" CLISP Macros, functions et al: 4068c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?with-collect\>" 4078c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?letf\*\?\>" 4088c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?finalize\>\>" 4098c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?memoized\>" 4108c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?getenv\>" 4118c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?convert-string-\(to\|from\)-bytes\>" 4128c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?ethe\>" 4138c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?with-gensyms\>" 4148c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?open-http\>" 4158c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?string-concat\>" 4168c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?with-http-\(in\|out\)put\>" 4178c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?with-html-output\>" 4188c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?expand-form\>" 4198c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?\(without-\)\?package-lock\>" 4208c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?re-export\>" 4218c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?saveinitmem\>" 4228c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(integer\|float\)\>" 4238c8de839SBram Moolenaar syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(char\|byte\)-sequence\>" 4248c8de839SBram Moolenaar syn match lispFunc "\<\(custom:\)\?\*system-package-list\*\>" 4258c8de839SBram Moolenaar syn match lispFunc "\<\(custom:\)\?\*ansi\*\>" 4268c8de839SBram Moolenaarendif 427071d4279SBram Moolenaar 428a5792f58SBram Moolenaar" --------------------------------------------------------------------- 429af289d33SBram Moolenaar" Lisp Keywords (modifiers): {{{1 430071d4279SBram Moolenaarsyn keyword lispKey :abort :from-end :overwrite 431071d4279SBram Moolenaarsyn keyword lispKey :adjustable :gensym :predicate 432071d4279SBram Moolenaarsyn keyword lispKey :append :host :preserve-whitespace 433071d4279SBram Moolenaarsyn keyword lispKey :array :if-does-not-exist :pretty 434071d4279SBram Moolenaarsyn keyword lispKey :base :if-exists :print 435071d4279SBram Moolenaarsyn keyword lispKey :case :include :print-function 436071d4279SBram Moolenaarsyn keyword lispKey :circle :index :probe 437071d4279SBram Moolenaarsyn keyword lispKey :conc-name :inherited :radix 438071d4279SBram Moolenaarsyn keyword lispKey :constructor :initial-contents :read-only 439071d4279SBram Moolenaarsyn keyword lispKey :copier :initial-element :rehash-size 440071d4279SBram Moolenaarsyn keyword lispKey :count :initial-offset :rehash-threshold 441071d4279SBram Moolenaarsyn keyword lispKey :create :initial-value :rename 442071d4279SBram Moolenaarsyn keyword lispKey :default :input :rename-and-delete 443071d4279SBram Moolenaarsyn keyword lispKey :defaults :internal :size 444071d4279SBram Moolenaarsyn keyword lispKey :device :io :start 445071d4279SBram Moolenaarsyn keyword lispKey :direction :junk-allowed :start1 446071d4279SBram Moolenaarsyn keyword lispKey :directory :key :start2 447071d4279SBram Moolenaarsyn keyword lispKey :displaced-index-offset :length :stream 448071d4279SBram Moolenaarsyn keyword lispKey :displaced-to :level :supersede 449071d4279SBram Moolenaarsyn keyword lispKey :element-type :name :test 450071d4279SBram Moolenaarsyn keyword lispKey :end :named :test-not 451071d4279SBram Moolenaarsyn keyword lispKey :end1 :new-version :type 452071d4279SBram Moolenaarsyn keyword lispKey :end2 :nicknames :use 453071d4279SBram Moolenaarsyn keyword lispKey :error :output :verbose 454071d4279SBram Moolenaarsyn keyword lispKey :escape :output-file :version 455071d4279SBram Moolenaarsyn keyword lispKey :external 4568c8de839SBram Moolenaar" defpackage arguments 4578c8de839SBram Moolenaarsyn keyword lispKey :documentation :shadowing-import-from :modern :export 4588c8de839SBram Moolenaarsyn keyword lispKey :case-sensitive :case-inverted :shadow :import-from :intern 4598c8de839SBram Moolenaar" lambda list keywords 4608c8de839SBram Moolenaarsyn keyword lispKey &allow-other-keys &aux &body 4618c8de839SBram Moolenaarsyn keyword lispKey &environment &key &optional &rest &whole 4628c8de839SBram Moolenaar" make-array argument 4638c8de839SBram Moolenaarsyn keyword lispKey :fill-pointer 4648c8de839SBram Moolenaar" readtable-case values 4658c8de839SBram Moolenaarsyn keyword lispKey :upcase :downcase :preserve :invert 4668c8de839SBram Moolenaar" eval-when situations 4678c8de839SBram Moolenaarsyn keyword lispKey :load-toplevel :compile-toplevel :execute 4688c8de839SBram Moolenaar" ANSI Extended LOOP: 4698c8de839SBram Moolenaarsyn keyword lispKey :while :until :for :do :if :then :else :when :unless :in 4708c8de839SBram Moolenaarsyn keyword lispKey :across :finally :collect :nconc :maximize :minimize :sum 4718c8de839SBram Moolenaarsyn keyword lispKey :and :with :initially :append :into :count :end :repeat 4728c8de839SBram Moolenaarsyn keyword lispKey :always :never :thereis :from :to :upto :downto :below 4738c8de839SBram Moolenaarsyn keyword lispKey :above :by :on :being :each :the :hash-key :hash-keys 4748c8de839SBram Moolenaarsyn keyword lispKey :hash-value :hash-values :using :of-type :upfrom :downfrom 4758c8de839SBram Moolenaarif exists("g:lispsyntax_clisp") 4768c8de839SBram Moolenaar " CLISP FFI: 4778c8de839SBram Moolenaar syn keyword lispKey :arguments :return-type :library :full :malloc-free 4788c8de839SBram Moolenaar syn keyword lispKey :none :alloca :in :out :in-out :stdc-stdcall :stdc :c 4798c8de839SBram Moolenaar syn keyword lispKey :language :built-in :typedef :external 4808c8de839SBram Moolenaar syn keyword lispKey :fini :init-once :init-always 4818c8de839SBram Moolenaarendif 482071d4279SBram Moolenaar 483a5792f58SBram Moolenaar" --------------------------------------------------------------------- 484af289d33SBram Moolenaar" Standard Lisp Variables: {{{1 485071d4279SBram Moolenaarsyn keyword lispVar *applyhook* *load-pathname* *print-pprint-dispatch* 486071d4279SBram Moolenaarsyn keyword lispVar *break-on-signals* *load-print* *print-pprint-dispatch* 487071d4279SBram Moolenaarsyn keyword lispVar *break-on-signals* *load-truename* *print-pretty* 488071d4279SBram Moolenaarsyn keyword lispVar *break-on-warnings* *load-verbose* *print-radix* 489071d4279SBram Moolenaarsyn keyword lispVar *compile-file-pathname* *macroexpand-hook* *print-readably* 490071d4279SBram Moolenaarsyn keyword lispVar *compile-file-pathname* *modules* *print-right-margin* 491071d4279SBram Moolenaarsyn keyword lispVar *compile-file-truename* *package* *print-right-margin* 492071d4279SBram Moolenaarsyn keyword lispVar *compile-file-truename* *print-array* *query-io* 493071d4279SBram Moolenaarsyn keyword lispVar *compile-print* *print-base* *random-state* 494071d4279SBram Moolenaarsyn keyword lispVar *compile-verbose* *print-case* *read-base* 495071d4279SBram Moolenaarsyn keyword lispVar *compile-verbose* *print-circle* *read-default-float-format* 496071d4279SBram Moolenaarsyn keyword lispVar *debug-io* *print-escape* *read-eval* 497071d4279SBram Moolenaarsyn keyword lispVar *debugger-hook* *print-gensym* *read-suppress* 498071d4279SBram Moolenaarsyn keyword lispVar *default-pathname-defaults* *print-length* *readtable* 499071d4279SBram Moolenaarsyn keyword lispVar *error-output* *print-level* *standard-input* 500071d4279SBram Moolenaarsyn keyword lispVar *evalhook* *print-lines* *standard-output* 501071d4279SBram Moolenaarsyn keyword lispVar *features* *print-miser-width* *terminal-io* 502071d4279SBram Moolenaarsyn keyword lispVar *gensym-counter* *print-miser-width* *trace-output* 503071d4279SBram Moolenaar 504a5792f58SBram Moolenaar" --------------------------------------------------------------------- 505af289d33SBram Moolenaar" Strings: {{{1 506c81e5e79SBram Moolenaarsyn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell 507af289d33SBram Moolenaarif exists("g:lisp_instring") 508af289d33SBram Moolenaar syn region lispInString keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString 509071d4279SBram Moolenaar syn region lispInStringString start=+\\"+ skip=+\\\\+ end=+\\"+ contained 510071d4279SBram Moolenaarendif 511071d4279SBram Moolenaar 512a5792f58SBram Moolenaar" --------------------------------------------------------------------- 513af289d33SBram Moolenaar" Shared with Xlisp, Declarations, Macros, Functions: {{{1 514071d4279SBram Moolenaarsyn keyword lispDecl defmacro do-all-symbols labels 515071d4279SBram Moolenaarsyn keyword lispDecl defsetf do-external-symbols let 516071d4279SBram Moolenaarsyn keyword lispDecl deftype do-symbols locally 517071d4279SBram Moolenaarsyn keyword lispDecl defun dotimes macrolet 518071d4279SBram Moolenaarsyn keyword lispDecl do* flet multiple-value-bind 5198c8de839SBram Moolenaarif exists("g:lispsyntax_clisp") 5208c8de839SBram Moolenaar " CLISP FFI: 5218c8de839SBram Moolenaar syn match lispDecl "\<\(ffi:\)\?def-c-\(var\|const\|enum\|type\|struct\)\>" 5228c8de839SBram Moolenaar syn match lispDecl "\<\(ffi:\)\?def-call-\(out\|in\)\>" 5238c8de839SBram Moolenaar syn match lispDecl "\<\(ffi:\)\?c-\(function\|struct\|pointer\|string\)\>" 5248c8de839SBram Moolenaar syn match lispDecl "\<\(ffi:\)\?c-ptr\(-null\)\?\>" 5258c8de839SBram Moolenaar syn match lispDecl "\<\(ffi:\)\?c-array\(-ptr\|-max\)\?\>" 5268c8de839SBram Moolenaar syn match lispDecl "\<\(ffi:\)\?[us]\?\(char\|short\|int\|long\)\>" 5278c8de839SBram Moolenaar syn match lispDecl "\<\(win32:\|w32\)\?d\?word\>" 5288c8de839SBram Moolenaar syn match lispDecl "\<\([us]_\?\)\?int\(8\|16\|32\|64\)\(_t\)\?\>" 5298c8de839SBram Moolenaar syn keyword lispDecl size_t off_t time_t handle 5308c8de839SBram Moolenaarendif 531071d4279SBram Moolenaar 532a5792f58SBram Moolenaar" --------------------------------------------------------------------- 533af289d33SBram Moolenaar" Numbers: supporting integers and floating point numbers {{{1 5345c73622aSBram Moolenaarsyn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\=" 5355c73622aSBram Moolenaarsyn match lispNumber "-\=\(\d\+/\d\+\)" 536071d4279SBram Moolenaar 53781af9250SBram Moolenaarsyn match lispEscapeSpecial "\*\w[a-z_0-9-]*\*" 53881af9250SBram Moolenaarsyn match lispEscapeSpecial !#|[^()'`,"; \t]\+|#! 53981af9250SBram Moolenaarsyn match lispEscapeSpecial !#x\x\+! 54081af9250SBram Moolenaarsyn match lispEscapeSpecial !#o\o\+! 54181af9250SBram Moolenaarsyn match lispEscapeSpecial !#b[01]\+! 54281af9250SBram Moolenaarsyn match lispEscapeSpecial !#\\[ -}\~]! 54381af9250SBram Moolenaarsyn match lispEscapeSpecial !#[':][^()'`,"; \t]\+! 54481af9250SBram Moolenaarsyn match lispEscapeSpecial !#([^()'`,"; \t]\+)! 54581af9250SBram Moolenaarsyn match lispEscapeSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)! 54681af9250SBram Moolenaarsyn match lispEscapeSpecial "\<+[a-zA-Z_][a-zA-Z_0-9-]*+\>" 547071d4279SBram Moolenaar 548071d4279SBram Moolenaarsyn match lispConcat "\s\.\s" 549071d4279SBram Moolenaarsyn match lispParenError ")" 550071d4279SBram Moolenaar 551a5792f58SBram Moolenaar" --------------------------------------------------------------------- 552af289d33SBram Moolenaar" Comments: {{{1 553071d4279SBram Moolenaarsyn cluster lispCommentGroup contains=lispTodo,@Spell 554071d4279SBram Moolenaarsyn match lispComment ";.*$" contains=@lispCommentGroup 555071d4279SBram Moolenaarsyn region lispCommentRegion start="#|" end="|#" contains=lispCommentRegion,@lispCommentGroup 556*519cc559SBram Moolenaarsyn region lispComment start="#+nil" end="\ze)" contains=@lispCommentGroup 557*519cc559SBram Moolenaarsyn match lispComment '^\s*#+nil.*$' contains=@lispCommentGroup 558071d4279SBram Moolenaarsyn keyword lispTodo contained combak combak: todo todo: 559071d4279SBram Moolenaar 560a5792f58SBram Moolenaar" --------------------------------------------------------------------- 561af289d33SBram Moolenaar" Synchronization: {{{1 562071d4279SBram Moolenaarsyn sync lines=100 563071d4279SBram Moolenaar 564a5792f58SBram Moolenaar" --------------------------------------------------------------------- 565af289d33SBram Moolenaar" Define Highlighting: {{{1 566f37506f6SBram Moolenaarif !exists("skip_lisp_syntax_inits") 567071d4279SBram Moolenaar 568f37506f6SBram Moolenaar hi def link lispCommentRegion lispComment 569f37506f6SBram Moolenaar hi def link lispAtomNmbr lispNumber 570f37506f6SBram Moolenaar hi def link lispAtomMark lispMark 571f37506f6SBram Moolenaar hi def link lispInStringString lispString 572071d4279SBram Moolenaar 573f37506f6SBram Moolenaar hi def link lispAtom Identifier 574f37506f6SBram Moolenaar hi def link lispAtomBarSymbol Special 575f37506f6SBram Moolenaar hi def link lispBarSymbol Special 576f37506f6SBram Moolenaar hi def link lispComment Comment 577f37506f6SBram Moolenaar hi def link lispConcat Statement 578f37506f6SBram Moolenaar hi def link lispDecl Statement 579f37506f6SBram Moolenaar hi def link lispFunc Statement 580f37506f6SBram Moolenaar hi def link lispKey Type 581f37506f6SBram Moolenaar hi def link lispMark Delimiter 582f37506f6SBram Moolenaar hi def link lispNumber Number 583f37506f6SBram Moolenaar hi def link lispParenError Error 584f37506f6SBram Moolenaar hi def link lispEscapeSpecial Type 585f37506f6SBram Moolenaar hi def link lispString String 586f37506f6SBram Moolenaar hi def link lispTodo Todo 587f37506f6SBram Moolenaar hi def link lispVar Statement 588071d4279SBram Moolenaar 589af289d33SBram Moolenaar if exists("g:lisp_rainbow") && g:lisp_rainbow != 0 590af289d33SBram Moolenaar if &bg == "dark" 591a5792f58SBram Moolenaar hi def hlLevel0 ctermfg=red guifg=red1 592a5792f58SBram Moolenaar hi def hlLevel1 ctermfg=yellow guifg=orange1 593a5792f58SBram Moolenaar hi def hlLevel2 ctermfg=green guifg=yellow1 594a5792f58SBram Moolenaar hi def hlLevel3 ctermfg=cyan guifg=greenyellow 595a5792f58SBram Moolenaar hi def hlLevel4 ctermfg=magenta guifg=green1 596a5792f58SBram Moolenaar hi def hlLevel5 ctermfg=red guifg=springgreen1 597a5792f58SBram Moolenaar hi def hlLevel6 ctermfg=yellow guifg=cyan1 598a5792f58SBram Moolenaar hi def hlLevel7 ctermfg=green guifg=slateblue1 599a5792f58SBram Moolenaar hi def hlLevel8 ctermfg=cyan guifg=magenta1 600a5792f58SBram Moolenaar hi def hlLevel9 ctermfg=magenta guifg=purple1 601af289d33SBram Moolenaar else 602a5792f58SBram Moolenaar hi def hlLevel0 ctermfg=red guifg=red3 603a5792f58SBram Moolenaar hi def hlLevel1 ctermfg=darkyellow guifg=orangered3 604a5792f58SBram Moolenaar hi def hlLevel2 ctermfg=darkgreen guifg=orange2 605a5792f58SBram Moolenaar hi def hlLevel3 ctermfg=blue guifg=yellow3 606a5792f58SBram Moolenaar hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4 607a5792f58SBram Moolenaar hi def hlLevel5 ctermfg=red guifg=green4 608a5792f58SBram Moolenaar hi def hlLevel6 ctermfg=darkyellow guifg=paleturquoise3 609a5792f58SBram Moolenaar hi def hlLevel7 ctermfg=darkgreen guifg=deepskyblue4 610a5792f58SBram Moolenaar hi def hlLevel8 ctermfg=blue guifg=darkslateblue 611a5792f58SBram Moolenaar hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet 612af289d33SBram Moolenaar endif 61385850f3aSBram Moolenaar else 61485850f3aSBram Moolenaar hi def link lispParen Delimiter 615af289d33SBram Moolenaar endif 616af289d33SBram Moolenaar 617f37506f6SBram Moolenaarendif 618071d4279SBram Moolenaar 619071d4279SBram Moolenaarlet b:current_syntax = "lisp" 620071d4279SBram Moolenaar 621a5792f58SBram Moolenaar" --------------------------------------------------------------------- 622af289d33SBram Moolenaar" vim: ts=8 nowrap fdm=marker 623