Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: Lisp |
Bram Moolenaar | 1d9215b | 2020-01-25 13:27:42 +0100 | [diff] [blame] | 3 | " Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> |
Bram Moolenaar | 85850f3 | 2019-07-19 22:05:51 +0200 | [diff] [blame] | 4 | " Last Change: Jul 11, 2019 |
Bram Moolenaar | 1d9215b | 2020-01-25 13:27:42 +0100 | [diff] [blame] | 5 | " Version: 30 |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 6 | " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 7 | " |
Bram Moolenaar | e271909 | 2015-01-10 15:09:25 +0100 | [diff] [blame] | 8 | " Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 9 | " Clisp additions courtesy of http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/emacs/lisp.vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 10 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 11 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 12 | " Load Once: {{{1 |
Bram Moolenaar | e271909 | 2015-01-10 15:09:25 +0100 | [diff] [blame] | 13 | if exists("b:current_syntax") |
| 14 | finish |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 15 | endif |
| 16 | |
Bram Moolenaar | e271909 | 2015-01-10 15:09:25 +0100 | [diff] [blame] | 17 | if exists("g:lisp_isk") |
| 18 | exe "setl isk=".g:lisp_isk |
Bram Moolenaar | 723dd94 | 2019-04-04 13:11:03 +0200 | [diff] [blame] | 19 | elseif (v:version == 704 && has("patch-7.4.1142")) || v:version > 704 |
Bram Moolenaar | 13d5aee | 2016-01-21 23:36:05 +0100 | [diff] [blame] | 20 | syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_ |
Bram Moolenaar | 723dd94 | 2019-04-04 13:11:03 +0200 | [diff] [blame] | 21 | else |
| 22 | setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_ |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 23 | endif |
| 24 | |
| 25 | if exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp") |
| 26 | set ignorecase |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 27 | endif |
| 28 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 29 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 30 | " Clusters: {{{1 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 31 | syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 32 | syn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispEscapeSpecial,lispSymbol,lispVar,lispLeadWhite |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 33 | if exists("g:lisp_instring") |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 34 | syn cluster lispListCluster contains=@lispBaseListCluster,lispString,lispInString,lispInStringString |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 35 | else |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 36 | syn cluster lispListCluster contains=@lispBaseListCluster,lispString |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 37 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 38 | |
Bram Moolenaar | c81e5e7 | 2007-05-05 18:24:42 +0000 | [diff] [blame] | 39 | syn case ignore |
| 40 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 41 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 42 | " Lists: {{{1 |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 43 | syn match lispSymbol contained ![^()'`,"; \t]\+! |
| 44 | syn match lispBarSymbol contained !|..\{-}|! |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 45 | if exists("g:lisp_rainbow") && g:lisp_rainbow != 0 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 55 | syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen0 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 56 | else |
Bram Moolenaar | 85850f3 | 2019-07-19 22:05:51 +0200 | [diff] [blame] | 57 | syn region lispList matchgroup=lispParen start="(" skip="|.\{-}|" matchgroup=lispParen end=")" contains=@lispListCluster |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 58 | syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 59 | endif |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 60 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 61 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 62 | " Atoms: {{{1 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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=+"+ |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 68 | syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString,lispEscapeSpecial |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 69 | syn match lispAtomNmbr contained "\<\d\+" |
| 70 | syn match lispLeadWhite contained "^\s\+" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 71 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 72 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 73 | " Standard Lisp Functions and Macros: {{{1 |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 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 * floating-point-inexact princ-to-string |
| 85 | syn keyword lispFunc ** floating-point-invalid-operation print |
| 86 | syn keyword lispFunc *** floating-point-overflow print-not-readable |
| 87 | syn keyword lispFunc + floating-point-underflow print-not-readable-object |
| 88 | syn keyword lispFunc ++ floatp print-object |
| 89 | syn keyword lispFunc +++ float-precision print-unreadable-object |
| 90 | syn keyword lispFunc 1- float-radix probe-file |
| 91 | syn keyword lispFunc 1+ float-sign 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 adjustable-array-p ftruncate psetf |
| 101 | syn keyword lispFunc adjust-array 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 getf rationalp |
| 116 | syn keyword lispFunc array-dimension gethash read |
| 117 | syn keyword lispFunc array-dimension-limit get-internal-real-time read-byte |
| 118 | syn keyword lispFunc array-dimensions get-internal-run-time read-char |
| 119 | syn keyword lispFunc array-displacement get-macro-character read-char-no-hang |
| 120 | syn keyword lispFunc array-element-type get-output-stream-string read-delimited-list |
| 121 | syn keyword lispFunc array-has-fill-pointer-p get-properties reader-error |
| 122 | syn keyword lispFunc array-in-bounds-p get-setf-expansion read-eval-print |
| 123 | syn keyword lispFunc arrayp get-setf-method read-from-string |
| 124 | syn keyword lispFunc array-rank get-universal-time read-line |
| 125 | syn keyword lispFunc array-rank-limit go read-preserving-whitespace |
| 126 | syn keyword lispFunc array-row-major-index graphic-char-p read-sequence |
| 127 | syn keyword lispFunc array-total-size handler-bind readtable |
| 128 | syn keyword lispFunc array-total-size-limit 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 incf rename-package |
| 146 | syn keyword lispFunc bit-eqv initialize-instance replace |
| 147 | syn keyword lispFunc bit-ior inline require |
| 148 | syn keyword lispFunc bit-nand in-package rest |
| 149 | syn keyword lispFunc bit-nor in-package 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 boolean intersection row-major-aref |
| 161 | syn keyword lispFunc boole-and invalid-method-error rplaca |
| 162 | syn keyword lispFunc boole-andc1 invoke-debugger rplacd |
| 163 | syn keyword lispFunc boole-andc2 invoke-restart safety |
| 164 | syn keyword lispFunc boole-c1 invoke-restart-interactively satisfies |
| 165 | syn keyword lispFunc boole-c2 isqrt sbit |
| 166 | syn keyword lispFunc boole-clr keyword scale-float |
| 167 | syn keyword lispFunc boole-eqv keywordp schar |
| 168 | syn keyword lispFunc boole-ior labels search |
| 169 | syn keyword lispFunc boole-nand lambda second |
| 170 | syn keyword lispFunc boole-nor lambda-list-keywords sequence |
| 171 | syn keyword lispFunc boole-orc1 lambda-parameters-limit serious-condition |
| 172 | syn keyword lispFunc boole-orc2 last set |
| 173 | syn keyword lispFunc boole-set lcm set-char-bit |
| 174 | syn keyword lispFunc boole-xor 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 setf |
| 178 | syn keyword lispFunc broadcast-stream least-negative-long-float set-macro-character |
| 179 | syn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-pprint-dispatch |
| 180 | syn keyword lispFunc built-in-class least-negative-normalized-long-float setq |
| 181 | syn keyword lispFunc butlast least-negative-normalized-short-float set-syntax-from-char |
| 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-array |
| 195 | syn keyword lispFunc cell-error let* simple-base-string |
| 196 | syn keyword lispFunc cell-error-name lisp simple-bit-vector |
| 197 | syn keyword lispFunc cerror lisp-implementation-type simple-bit-vector-p |
| 198 | syn keyword lispFunc change-class lisp-implementation-version simple-condition |
| 199 | syn keyword lispFunc char list simple-condition-format-arguments |
| 200 | syn keyword lispFunc char< list* simple-condition-format-control |
| 201 | syn keyword lispFunc char<= list-all-packages simple-error |
| 202 | syn keyword lispFunc char= listen simple-string |
| 203 | syn keyword lispFunc char> list-length simple-string-p |
| 204 | syn keyword lispFunc char>= listp simple-type-error |
| 205 | syn keyword lispFunc char/= load simple-vector |
| 206 | syn keyword lispFunc character load-logical-pathname-translations simple-vector-p |
| 207 | syn keyword lispFunc characterp load-time-value simple-warning |
| 208 | syn keyword lispFunc char-bit locally sin |
| 209 | syn keyword lispFunc char-bits log single-flaot-epsilon |
| 210 | syn keyword lispFunc char-bits-limit logand single-float |
| 211 | syn keyword lispFunc char-code logandc1 single-float-epsilon |
| 212 | syn keyword lispFunc char-code-limit logandc2 single-float-negative-epsilon |
| 213 | syn keyword lispFunc char-control-bit logbitp sinh |
| 214 | syn keyword lispFunc char-downcase logcount sixth |
| 215 | syn keyword lispFunc char-equal logeqv sleep |
| 216 | syn keyword lispFunc char-font logical-pathname slot-boundp |
| 217 | syn keyword lispFunc char-font-limit logical-pathname-translations slot-exists-p |
| 218 | syn keyword lispFunc char-greaterp logior slot-makunbound |
| 219 | syn keyword lispFunc char-hyper-bit lognand slot-missing |
| 220 | syn keyword lispFunc char-int lognor slot-unbound |
| 221 | syn keyword lispFunc char-lessp lognot slot-value |
| 222 | syn keyword lispFunc char-meta-bit logorc1 software-type |
| 223 | syn keyword lispFunc char-name logorc2 software-version |
| 224 | syn keyword lispFunc char-not-equal logtest some |
| 225 | syn keyword lispFunc char-not-greaterp logxor sort |
| 226 | syn keyword lispFunc char-not-lessp long-float space |
| 227 | syn keyword lispFunc char-super-bit long-float-epsilon special |
| 228 | syn keyword lispFunc char-upcase 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 macroexpand standard-class |
| 237 | syn keyword lispFunc clrhash macroexpand-1 standard-generic-function |
| 238 | syn keyword lispFunc code-char macroexpand-l standard-method |
| 239 | syn keyword lispFunc coerce macro-function 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 compiled-function make-broadcast-stream stream |
| 244 | syn keyword lispFunc compiled-function-p make-char stream-element-type |
| 245 | syn keyword lispFunc compile-file make-concatenated-stream stream-error |
| 246 | syn keyword lispFunc compile-file-pathname 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< |
| 252 | syn keyword lispFunc complexp make-list string<= |
| 253 | syn keyword lispFunc compute-applicable-methods make-load-form string= |
| 254 | syn keyword lispFunc compute-restarts make-load-form-saving-slots string> |
| 255 | syn keyword lispFunc concatenate make-method string>= |
| 256 | syn keyword lispFunc concatenated-stream make-package string/= |
| 257 | syn keyword lispFunc concatenated-stream-streams make-pathname string-capitalize |
| 258 | syn keyword lispFunc cond make-random-state string-char |
| 259 | syn keyword lispFunc condition make-sequence string-char-p |
| 260 | syn keyword lispFunc conjugate make-string string-downcase |
| 261 | syn keyword lispFunc cons make-string-input-stream string-equal |
| 262 | syn keyword lispFunc consp make-string-output-stream string-greaterp |
| 263 | syn keyword lispFunc constantly make-symbol string-left-trim |
| 264 | syn keyword lispFunc constantp make-synonym-stream string-lessp |
| 265 | syn keyword lispFunc continue make-two-way-stream string-not-equal |
| 266 | syn keyword lispFunc control-error makunbound string-not-greaterp |
| 267 | syn keyword lispFunc copy-alist map string-not-lessp |
| 268 | syn keyword lispFunc copy-list mapc stringp |
| 269 | syn keyword lispFunc copy-pprint-dispatch mapcan string-right-strim |
| 270 | syn keyword lispFunc copy-readtable mapcar string-right-trim |
| 271 | syn keyword lispFunc copy-seq mapcon string-stream |
| 272 | syn keyword lispFunc copy-structure maphash string-trim |
| 273 | syn keyword lispFunc copy-symbol map-into string-upcase |
| 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 symbolp |
| 296 | syn keyword lispFunc define-setf-method most-negative-single-float symbol-package |
| 297 | syn keyword lispFunc define-symbol-macro most-positive-double-float symbol-plist |
| 298 | syn keyword lispFunc defmacro most-positive-fixnum symbol-value |
| 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 typecase |
| 326 | syn keyword lispFunc do-all-symbols nset-difference type-error |
| 327 | syn keyword lispFunc documentation nset-exclusive-or type-error-datum |
| 328 | syn keyword lispFunc do-exeternal-symbols nstring type-error-expected-type |
| 329 | syn keyword lispFunc do-external-symbols nstring-capitalize type-of |
| 330 | syn keyword lispFunc dolist nstring-downcase typep |
| 331 | syn keyword lispFunc do-symbols 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 nthcdr unread-char |
| 341 | syn keyword lispFunc echo-stream-input-stream nth-value 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 user |
| 352 | syn keyword lispFunc eq otherwise user-homedir-pathname |
| 353 | syn keyword lispFunc eql output-stream-p use-value |
| 354 | syn keyword lispFunc equal package values |
| 355 | syn keyword lispFunc equalp package-error values-list |
| 356 | syn keyword lispFunc error package-error-package variable |
| 357 | syn keyword lispFunc etypecase package-name vector |
| 358 | syn keyword lispFunc eval package-nicknames vectorp |
| 359 | syn keyword lispFunc evalhook packagep vector-pop |
| 360 | syn keyword lispFunc eval-when package-shadowing-symbols vector-push |
| 361 | syn keyword lispFunc evenp package-used-by-list vector-push-extend |
| 362 | syn keyword lispFunc every package-use-list warn |
| 363 | syn keyword lispFunc exp pairlis warning |
| 364 | syn keyword lispFunc export parse-error when |
| 365 | syn keyword lispFunc expt parse-integer wild-pathname-p |
| 366 | syn keyword lispFunc extended-char parse-namestring with-accessors |
| 367 | syn keyword lispFunc fboundp pathname with-compilation-unit |
| 368 | syn keyword lispFunc fceiling pathname-device with-condition-restarts |
| 369 | syn keyword lispFunc fdefinition pathname-directory with-hash-table-iterator |
| 370 | syn keyword lispFunc ffloor pathname-host with-input-from-string |
| 371 | syn keyword lispFunc fifth pathname-match-p with-open-file |
| 372 | syn keyword lispFunc file-author pathname-name with-open-stream |
| 373 | syn keyword lispFunc file-error pathnamep with-output-to-string |
| 374 | syn keyword lispFunc file-error-pathname pathname-type with-package-iterator |
| 375 | syn keyword lispFunc file-length pathname-version with-simple-restart |
| 376 | syn keyword lispFunc file-namestring peek-char with-slots |
| 377 | syn keyword lispFunc file-position phase with-standard-io-syntax |
| 378 | syn keyword lispFunc file-stream pi write |
| 379 | syn keyword lispFunc file-string-length plusp write-byte |
| 380 | syn keyword lispFunc file-write-date pop write-char |
| 381 | syn keyword lispFunc fill position write-line |
| 382 | syn keyword lispFunc fill-pointer position-if write-sequence |
| 383 | syn keyword lispFunc find position-if-not write-string |
| 384 | syn keyword lispFunc find-all-symbols pprint write-to-string |
| 385 | syn keyword lispFunc find-class pprint-dispatch yes-or-no-p |
| 386 | syn keyword lispFunc find-if pprint-exit-if-list-exhausted y-or-n-p |
| 387 | syn keyword lispFunc find-if-not pprint-fill zerop |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 388 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 427 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 428 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 429 | " Lisp Keywords (modifiers): {{{1 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 482 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 483 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 484 | " Standard Lisp Variables: {{{1 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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* |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 503 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 504 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 505 | " Strings: {{{1 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 506 | syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 507 | if exists("g:lisp_instring") |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 510 | endif |
| 511 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 512 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 513 | " Shared with Xlisp, Declarations, Macros, Functions: {{{1 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 531 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 532 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 533 | " Numbers: supporting integers and floating point numbers {{{1 |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 534 | syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\=" |
| 535 | syn match lispNumber "-\=\(\d\+/\d\+\)" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 536 | |
Bram Moolenaar | 81af925 | 2010-12-10 20:35:50 +0100 | [diff] [blame] | 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-]*+\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 547 | |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 548 | syn match lispConcat "\s\.\s" |
| 549 | syn match lispParenError ")" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 550 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 551 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 552 | " Comments: {{{1 |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 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: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 557 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 558 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 559 | " Synchronization: {{{1 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 560 | syn sync lines=100 |
| 561 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 562 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 563 | " Define Highlighting: {{{1 |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 564 | if !exists("skip_lisp_syntax_inits") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 565 | |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 566 | hi def link lispCommentRegion lispComment |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 567 | hi def link lispAtomNmbr lispNumber |
| 568 | hi def link lispAtomMark lispMark |
| 569 | hi def link lispInStringString lispString |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 570 | |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 571 | hi def link lispAtom Identifier |
| 572 | hi def link lispAtomBarSymbol Special |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 573 | hi def link lispBarSymbol Special |
| 574 | hi def link lispComment Comment |
| 575 | hi def link lispConcat Statement |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 576 | hi def link lispDecl Statement |
| 577 | hi def link lispFunc Statement |
| 578 | hi def link lispKey Type |
| 579 | hi def link lispMark Delimiter |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 580 | hi def link lispNumber Number |
| 581 | hi def link lispParenError Error |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 582 | hi def link lispEscapeSpecial Type |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 583 | hi def link lispString String |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 584 | hi def link lispTodo Todo |
| 585 | hi def link lispVar Statement |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 586 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 587 | if exists("g:lisp_rainbow") && g:lisp_rainbow != 0 |
| 588 | if &bg == "dark" |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 589 | hi def hlLevel0 ctermfg=red guifg=red1 |
| 590 | hi def hlLevel1 ctermfg=yellow guifg=orange1 |
| 591 | hi def hlLevel2 ctermfg=green guifg=yellow1 |
| 592 | hi def hlLevel3 ctermfg=cyan guifg=greenyellow |
| 593 | hi def hlLevel4 ctermfg=magenta guifg=green1 |
| 594 | hi def hlLevel5 ctermfg=red guifg=springgreen1 |
| 595 | hi def hlLevel6 ctermfg=yellow guifg=cyan1 |
| 596 | hi def hlLevel7 ctermfg=green guifg=slateblue1 |
| 597 | hi def hlLevel8 ctermfg=cyan guifg=magenta1 |
| 598 | hi def hlLevel9 ctermfg=magenta guifg=purple1 |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 599 | else |
Bram Moolenaar | 51ad4ea | 2018-04-06 11:14:11 +0200 | [diff] [blame] | 600 | hi def hlLevel0 ctermfg=red guifg=red3 |
| 601 | hi def hlLevel1 ctermfg=darkyellow guifg=orangered3 |
| 602 | hi def hlLevel2 ctermfg=darkgreen guifg=orange2 |
| 603 | hi def hlLevel3 ctermfg=blue guifg=yellow3 |
| 604 | hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4 |
| 605 | hi def hlLevel5 ctermfg=red guifg=green4 |
| 606 | hi def hlLevel6 ctermfg=darkyellow guifg=paleturquoise3 |
| 607 | hi def hlLevel7 ctermfg=darkgreen guifg=deepskyblue4 |
| 608 | hi def hlLevel8 ctermfg=blue guifg=darkslateblue |
| 609 | hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 610 | endif |
Bram Moolenaar | 85850f3 | 2019-07-19 22:05:51 +0200 | [diff] [blame] | 611 | else |
| 612 | hi def link lispParen Delimiter |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 613 | endif |
| 614 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 615 | endif |
| 616 | |
| 617 | let b:current_syntax = "lisp" |
| 618 | |
Bram Moolenaar | a5792f5 | 2005-11-23 21:25:05 +0000 | [diff] [blame] | 619 | " --------------------------------------------------------------------- |
Bram Moolenaar | af289d3 | 2005-10-12 21:01:44 +0000 | [diff] [blame] | 620 | " vim: ts=8 nowrap fdm=marker |