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