summaryrefslogtreecommitdiffstats
path: root/tl.vim
blob: d143d4096a85aff6f7707adf8352c44b14416a9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
" VIM Syntax file for txr
" Kaz Kylheku <kaz@kylheku.com>

" INSTALL-HOWTO:
"
" 1. Create the directory .vim/syntax in your home directory and
"    put the files txr.vim and txl.vim into this directory.
" 2. In your .vimrc, add this command to associate *.txr and *.tl
"    files with the txr and txl filetypes:
"    :au BufRead,BufNewFile *.txr set filetype=txr | set lisp
"    :au BufRead,BufNewFile *.tl set filetype=txl | set lisp
"
" If you want syntax highlighting to be on automatically (for any language)
" you need to add ":syntax on" in your .vimrc also. But you knew that already!
"
" This file is generated by the genvim.txr script in the TXR source tree.

syn case match
syn spell toplevel

setlocal iskeyword=a-z,A-Z,48-57,!,$,&,*,+,-,:,<,=,>,?,\\,_,~,/

syn keyword txl_keyword contained %e% %pi% * *args*
syn keyword txl_keyword contained *args-full* *e* *flo-dig* *flo-epsilon*
syn keyword txl_keyword contained *flo-max* *flo-min* *full-args* *gensym-counter*
syn keyword txl_keyword contained *keyword-package* *lib-version* *pi* *place-clobber-expander*
syn keyword txl_keyword contained *place-delete-expander* *place-macro* *place-update-expander* *random-state*
syn keyword txl_keyword contained *self-path* *stddebug* *stderr* *stdin*
syn keyword txl_keyword contained *stdlog* *stdnull* *stdout* *system-package*
syn keyword txl_keyword contained *txr-version* *unhandled-hook* *user-package* +
syn keyword txl_keyword contained - / /= :
syn keyword txl_keyword contained :append :args :atime :auto
syn keyword txl_keyword contained :blksize :blocks :cdigit :chars
syn keyword txl_keyword contained :continue :counter :cspace :ctime
syn keyword txl_keyword contained :cword-char :decline :dev :digit
syn keyword txl_keyword contained :downcase :env :equal-based :fd
syn keyword txl_keyword contained :filter :finish :from-current :from-end
syn keyword txl_keyword contained :from-start :from_html :frompercent :fromurl
syn keyword txl_keyword contained :fun :gap :gid :greedy
syn keyword txl_keyword contained :hextoint :ino :into :lfilt
syn keyword txl_keyword contained :lines :list :longest :maxgap
syn keyword txl_keyword contained :maxtimes :mingap :mintimes :mode
syn keyword txl_keyword contained :mtime :name :named :next-spec
syn keyword txl_keyword contained :nlink :nothrow :prio :rdev
syn keyword txl_keyword contained :real-time :repeat-spec :resolve :rfilt
syn keyword txl_keyword contained :shortest :size :space :string
syn keyword txl_keyword contained :symacro :times :to_html :tofloat
syn keyword txl_keyword contained :toint :tonumber :topercent :tourl
syn keyword txl_keyword contained :uid :upcase :var :vars
syn keyword txl_keyword contained :weak-keys :weak-vals :whole :word-char
syn keyword txl_keyword contained < <= = >
syn keyword txl_keyword contained >= abort abs abs-path-p
syn keyword txl_keyword contained acons acons-new aconsql-new acos
syn keyword txl_keyword contained ado alist-nremove alist-remove all
syn keyword txl_keyword contained and andf ap apf
syn keyword txl_keyword contained append append* append-each append-each*
syn keyword txl_keyword contained apply aret ash asin
syn keyword txl_keyword contained assoc assql atan atan2
syn keyword txl_keyword contained atom bignump bindable bit
syn keyword txl_keyword contained block boundp break-str caaaaar
syn keyword txl_keyword contained caaaadr caaaar caaadar caaaddr
syn keyword txl_keyword contained caaadr caaar caadaar caadadr
syn keyword txl_keyword contained caadar caaddar caadddr caaddr
syn keyword txl_keyword contained caadr caar cadaaar cadaadr
syn keyword txl_keyword contained cadaar cadadar cadaddr cadadr
syn keyword txl_keyword contained cadar caddaar caddadr caddar
syn keyword txl_keyword contained cadddar caddddr cadddr caddr
syn keyword txl_keyword contained cadr call call-clobber-expander call-delete-expander
syn keyword txl_keyword contained call-update-expander callf car caseq
syn keyword txl_keyword contained caseql casequal cat-str cat-streams
syn keyword txl_keyword contained cat-vec catch catenated-stream-p catenated-stream-push
syn keyword txl_keyword contained cdaaaar cdaaadr cdaaar cdaadar
syn keyword txl_keyword contained cdaaddr cdaadr cdaar cdadaar
syn keyword txl_keyword contained cdadadr cdadar cdaddar cdadddr
syn keyword txl_keyword contained cdaddr cdadr cdar cddaaar
syn keyword txl_keyword contained cddaadr cddaar cddadar cddaddr
syn keyword txl_keyword contained cddadr cddar cdddaar cdddadr
syn keyword txl_keyword contained cdddar cddddar cdddddr cddddr
syn keyword txl_keyword contained cdddr cddr cdr ceil
syn keyword txl_keyword contained chain chand chdir chmod
syn keyword txl_keyword contained chr-isalnum chr-isalpha chr-isascii chr-isblank
syn keyword txl_keyword contained chr-iscntrl chr-isdigit chr-isgraph chr-islower
syn keyword txl_keyword contained chr-isprint chr-ispunct chr-isspace chr-isunisp
syn keyword txl_keyword contained chr-isupper chr-isxdigit chr-num chr-str
syn keyword txl_keyword contained chr-str-set chr-tolower chr-toupper chrp
syn keyword txl_keyword contained clamp clear-error close-stream closelog
syn keyword txl_keyword contained cmp-str collect-each collect-each* comb
syn keyword txl_keyword contained compl-span-str cond conda cons
syn keyword txl_keyword contained conses conses* consp constantp
syn keyword txl_keyword contained copy copy-alist copy-cons copy-hash
syn keyword txl_keyword contained copy-list copy-str copy-struct copy-vec
syn keyword txl_keyword contained cos count-if countq countql
syn keyword txl_keyword contained countqual cum-norm-dist daemon dec
syn keyword txl_keyword contained define-modify-macro define-place-macro defmacro defparm
syn keyword txl_keyword contained defparml defplace defstruct defsymacro
syn keyword txl_keyword contained defun defvar defvarl del
syn keyword txl_keyword contained delay delete-package display-width do
syn keyword txl_keyword contained dohash dotimes downcase-str dup
syn keyword txl_keyword contained dupfd dwim each each*
syn keyword txl_keyword contained eighth empty endpwent ensure-dir
syn keyword txl_keyword contained env env-fbind env-hash env-vbind
syn keyword txl_keyword contained eq eql equal errno
syn keyword txl_keyword contained error eval evenp exec
syn keyword txl_keyword contained exit exit* exp expt
syn keyword txl_keyword contained exptmod false fboundp fifth
syn keyword txl_keyword contained fileno filter-equal filter-string-tree finalize
syn keyword txl_keyword contained find find-if find-max find-min
syn keyword txl_keyword contained find-package find-struct-type first fixnump
syn keyword txl_keyword contained flatten flatten* flet flip
syn keyword txl_keyword contained flipargs flo-dig flo-epsilon flo-int
syn keyword txl_keyword contained flo-max flo-min flo-str floatp
syn keyword txl_keyword contained floor flush-stream fmakunbound for
syn keyword txl_keyword contained for* force fork format
syn keyword txl_keyword contained fourth fstat fun func-get-env
syn keyword txl_keyword contained func-get-form func-get-name func-set-env functionp
syn keyword txl_keyword contained gcd gen generate gensym
syn keyword txl_keyword contained gequal get-byte get-char get-clobber-expander
syn keyword txl_keyword contained get-delete-expander get-error get-error-str get-hash-userdata
syn keyword txl_keyword contained get-indent get-indent-mode get-line get-lines
syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string get-string-from-stream
syn keyword txl_keyword contained get-update-expander getegid getenv geteuid
syn keyword txl_keyword contained getgid getgroups gethash getitimer
syn keyword txl_keyword contained getpid getppid getpwent getpwnam
syn keyword txl_keyword contained getpwuid getuid giterate glob
syn keyword txl_keyword contained glob-altdirfunc glob-brace glob-err glob-mark
syn keyword txl_keyword contained glob-nocheck glob-noescape glob-nomagic glob-nosort
syn keyword txl_keyword contained glob-onlydir glob-period glob-tilde glob-tilde-check
syn keyword txl_keyword contained greater group-by gun hash
syn keyword txl_keyword contained hash-alist hash-construct hash-count hash-diff
syn keyword txl_keyword contained hash-eql hash-equal hash-from-pairs hash-isec
syn keyword txl_keyword contained hash-keys hash-list hash-pairs hash-proper-subset
syn keyword txl_keyword contained hash-revget hash-subset hash-uni hash-update
syn keyword txl_keyword contained hash-update-1 hash-values hashp have
syn keyword txl_keyword contained html-decode html-encode iapply identity
syn keyword txl_keyword contained ido if ifa iff
syn keyword txl_keyword contained iffi iflet ignerr in
syn keyword txl_keyword contained inc inc-indent indent-code indent-data
syn keyword txl_keyword contained indent-off inhash int-flo int-str
syn keyword txl_keyword contained integerp intern interp-fun-p interpose
syn keyword txl_keyword contained ip ipf isqrt itimer-prov
syn keyword txl_keyword contained itimer-real itimer-virtual juxt keep-if
syn keyword txl_keyword contained keep-if* keyword-package keywordp kill
syn keyword txl_keyword contained labels lambda last lazy-str
syn keyword txl_keyword contained lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons
syn keyword txl_keyword contained lazy-stringp lcm lcons lcons-fun
syn keyword txl_keyword contained lconsp ldiff length length-list
syn keyword txl_keyword contained length-str length-str-< length-str-<= length-str->
syn keyword txl_keyword contained length-str->= length-vec lequal less
syn keyword txl_keyword contained let let* lexical-fun-p lexical-lisp1-binding
syn keyword txl_keyword contained lexical-var-p lib-version link lisp-parse
syn keyword txl_keyword contained list list* list-str list-vector
syn keyword txl_keyword contained listp load log log-alert
syn keyword txl_keyword contained log-auth log-authpriv log-cons log-crit
syn keyword txl_keyword contained log-daemon log-debug log-emerg log-err
syn keyword txl_keyword contained log-info log-ndelay log-notice log-nowait
syn keyword txl_keyword contained log-odelay log-perror log-pid log-user
syn keyword txl_keyword contained log-warning log10 log2 logand
syn keyword txl_keyword contained logior lognot logtest logtrunc
syn keyword txl_keyword contained logxor lstat mac-param-bind macro-form-p
syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet
syn keyword txl_keyword contained major make-catenated-stream make-env make-hash
syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state
syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream
syn keyword txl_keyword contained make-strlist-output-stream make-struct make-struct-type make-sym
syn keyword txl_keyword contained make-time make-time-utc make-trie makedev
syn keyword txl_keyword contained makunbound mapcar mapcar* mapdo
syn keyword txl_keyword contained mapf maphash mappend mappend*
syn keyword txl_keyword contained mask match-fun match-regex match-regex-right
syn keyword txl_keyword contained match-regst match-regst-right match-str match-str-tree
syn keyword txl_keyword contained max member member-if memq
syn keyword txl_keyword contained memql memqual merge meth
syn keyword txl_keyword contained method min minor minusp
syn keyword txl_keyword contained mkdir mknod mkstring mlet
syn keyword txl_keyword contained mod multi multi-sort n-choose-k
syn keyword txl_keyword contained n-perm-k nconc new nil
syn keyword txl_keyword contained nilf ninth none not
syn keyword txl_keyword contained notf nreverse nthcdr null
syn keyword txl_keyword contained nullify num-chr num-str numberp
syn keyword txl_keyword contained oand oddp op open-command
syn keyword txl_keyword contained open-directory open-file open-fileno open-files
syn keyword txl_keyword contained open-files* open-pipe open-process open-tail
syn keyword txl_keyword contained openlog opip or orf
syn keyword txl_keyword contained package-alist package-name package-symbols packagep
syn keyword txl_keyword contained pad partition partition* partition-by
syn keyword txl_keyword contained path-blkdev-p path-chrdev-p path-dir-p path-executable-to-me-p
syn keyword txl_keyword contained path-exists-p path-file-p path-mine-p path-my-group-p
syn keyword txl_keyword contained path-newer path-older path-pipe-p path-same-object
syn keyword txl_keyword contained path-setgid-p path-setuid-p path-sock-p path-sticky-p
syn keyword txl_keyword contained path-symlink-p path-writable-to-me-p perm pipe
syn keyword txl_keyword contained place-form-p placelet placelet* plusp
syn keyword txl_keyword contained poll poll-err poll-in poll-nval
syn keyword txl_keyword contained poll-out poll-pri poll-rdband poll-wrband
syn keyword txl_keyword contained pop pos pos-if pos-max
syn keyword txl_keyword contained pos-min posq posql posqual
syn keyword txl_keyword contained pppred ppred pprinl pprint
syn keyword txl_keyword contained pprof pred prinl print
syn keyword txl_keyword contained prof prog1 progn prop
syn keyword txl_keyword contained proper-listp pset push pushhash
syn keyword txl_keyword contained pushnew put-byte put-char put-line
syn keyword txl_keyword contained put-lines put-string put-strings pwd
syn keyword txl_keyword contained qquote qref quote raise
syn keyword txl_keyword contained rand random random-fixnum random-state-p
syn keyword txl_keyword contained range range* range-regex rcomb
syn keyword txl_keyword contained read readlink real-time-stream-p reduce-left
syn keyword txl_keyword contained reduce-right ref refset regex-compile
syn keyword txl_keyword contained regex-parse regexp regsub rehome-sym
syn keyword txl_keyword contained remhash remove-if remove-if* remove-path
syn keyword txl_keyword contained remq remq* remql remql*
syn keyword txl_keyword contained remqual remqual* rename-path repeat
syn keyword txl_keyword contained replace replace-list replace-str replace-vec
syn keyword txl_keyword contained rest ret retf return
syn keyword txl_keyword contained return-from reverse rlcp rlet
syn keyword txl_keyword contained rotate rperm rplaca rplacd
syn keyword txl_keyword contained run s-ifblk s-ifchr s-ifdir
syn keyword txl_keyword contained s-ififo s-iflnk s-ifmt s-ifreg
syn keyword txl_keyword contained s-ifsock s-irgrp s-iroth s-irusr
syn keyword txl_keyword contained s-irwxg s-irwxo s-irwxu s-isgid
syn keyword txl_keyword contained s-isuid s-isvtx s-iwgrp s-iwoth
syn keyword txl_keyword contained s-iwusr s-ixgrp s-ixoth s-ixusr
syn keyword txl_keyword contained search search-regex search-regst search-str
syn keyword txl_keyword contained search-str-tree second seek-stream select
syn keyword txl_keyword contained self-path seqp set set-diff
syn keyword txl_keyword contained set-hash-userdata set-indent set-indent-mode set-sig-handler
syn keyword txl_keyword contained setegid setenv seteuid setgid
syn keyword txl_keyword contained sethash setitimer setlogmask setpwent
syn keyword txl_keyword contained setuid seventh sh shift
syn keyword txl_keyword contained shuffle sig-abrt sig-alrm sig-bus
syn keyword txl_keyword contained sig-check sig-chld sig-cont sig-fpe
syn keyword txl_keyword contained sig-hup sig-ill sig-int sig-io
syn keyword txl_keyword contained sig-iot sig-kill sig-pipe sig-poll
syn keyword txl_keyword contained sig-prof sig-pwr sig-quit sig-segv
syn keyword txl_keyword contained sig-stkflt sig-stop sig-sys sig-term
syn keyword txl_keyword contained sig-trap sig-tstp sig-ttin sig-ttou
syn keyword txl_keyword contained sig-urg sig-usr1 sig-usr2 sig-vtalrm
syn keyword txl_keyword contained sig-winch sig-xcpu sig-xfsz sign-extend
syn keyword txl_keyword contained sin sixth size-vec slot
syn keyword txl_keyword contained slotset some sort sort-group
syn keyword txl_keyword contained source-loc source-loc-str span-str special-operator-p
syn keyword txl_keyword contained special-var-p splice split split-str
syn keyword txl_keyword contained split-str-set sqrt sssucc ssucc
syn keyword txl_keyword contained stat stdlib str< str<=
syn keyword txl_keyword contained str= str> str>= stream-get-prop
syn keyword txl_keyword contained stream-set-prop streamp string-extend string-lt
syn keyword txl_keyword contained stringp struct-type struct-type-p structp
syn keyword txl_keyword contained sub sub-list sub-str sub-vec
syn keyword txl_keyword contained subtypep succ super swap
syn keyword txl_keyword contained symacrolet symbol-function symbol-name symbol-package
syn keyword txl_keyword contained symbol-value symbolp symlink sys:*lisp1*
syn keyword txl_keyword contained sys:do-path-test sys:dwim-del sys:dwim-set sys:eval-err
syn keyword txl_keyword contained sys:expand sys:expr sys:fbind sys:gc
syn keyword txl_keyword contained sys:gc-set-delta sys:get-fb sys:get-vb sys:l1-setq
syn keyword txl_keyword contained sys:l1-val sys:lbind sys:lisp1-setq sys:lisp1-value
syn keyword txl_keyword contained sys:load sys:mark-special sys:path-access sys:path-examine
syn keyword txl_keyword contained sys:path-test sys:path-test-mode sys:pl-expand sys:placelet-1
syn keyword txl_keyword contained sys:qquote sys:quasi sys:quasilist sys:rplaca
syn keyword txl_keyword contained sys:rplacd sys:setq sys:setqf sys:splice
syn keyword txl_keyword contained sys:struct-lit sys:sym-clobber-expander sys:sym-delete-expander sys:sym-update-expander
syn keyword txl_keyword contained sys:top-fb sys:top-vb sys:trigger-load sys:unquote
syn keyword txl_keyword contained sys:var sys:with-saved-vars syslog system-package
syn keyword txl_keyword contained t tan tb tc
syn keyword txl_keyword contained tenth test-set-indent-mode tf third
syn keyword txl_keyword contained throw throwf time time-fields-local
syn keyword txl_keyword contained time-fields-utc time-string-local time-string-utc time-struct-local
syn keyword txl_keyword contained time-struct-utc time-usec tofloat toint
syn keyword txl_keyword contained tok-str tok-where tostring tostringp
syn keyword txl_keyword contained tprint transpose tree-bind tree-case
syn keyword txl_keyword contained tree-find trie-add trie-compress trie-lookup-begin
syn keyword txl_keyword contained trie-lookup-feed-char trie-value-at trim-str true
syn keyword txl_keyword contained trunc trunc-rem tuples txr-case
syn keyword txl_keyword contained txr-case-impl txr-if txr-version txr-when
syn keyword txl_keyword contained typeof typep unget-byte unget-char
syn keyword txl_keyword contained uniq unique unless unquote
syn keyword txl_keyword contained unsetenv until until* unwind-protect
syn keyword txl_keyword contained upcase-str update url-decode url-encode
syn keyword txl_keyword contained user-package usleep vec vec-push
syn keyword txl_keyword contained vec-set-length vecref vector vector-list
syn keyword txl_keyword contained vectorp w-continued w-coredump w-exitstatus
syn keyword txl_keyword contained w-ifcontinued w-ifexited w-ifsignaled w-ifstopped
syn keyword txl_keyword contained w-nohang w-stopsig w-termsig w-untraced
syn keyword txl_keyword contained wait weave when whenlet
syn keyword txl_keyword contained where while while* whilet
syn keyword txl_keyword contained width width-check with-clobber-expander with-delete-expander
syn keyword txl_keyword contained with-gensyms with-resources with-update-expander wrap
syn keyword txl_keyword contained wrap* zap zerop zip
syn match txr_nested_error "[^\t ]\+" contained
syn match txr_variable "\(@[ \t]*\)[*]\?[ \t]*[A-Za-z_][A-Za-z_0-9]*"
syn match txr_splicevar "@[ \t,*@]*[A-Za-z_][A-Za-z_0-9]*"
syn match txr_metanum "@\+[0-9]\+"
syn match txr_badesc "\\." contained
syn match txr_escat "\\@" contained
syn match txr_stresc "\\[abtnvfre\\ \n"`']" contained
syn match txr_numesc "\\x[0-9A-Fa-f]\+;\?" contained
syn match txr_numesc "\\[0-7]\+;\?" contained
syn match txr_regesc "\\[abtnvfre\\ \n/sSdDwW()\|.*?+~&%\[\]\-]" contained

syn match txr_chr "#\\x[0-9A-Fa-f]\+"
syn match txr_chr "#\\o[0-7]\+"
syn match txr_chr "#\\[^ \t\nA-Za-z_0-9]"
syn match txr_chr "#\\[A-Za-z_0-9]\+"
syn match txr_ncomment ";.*"

syn match txr_dot "\." contained
syn match txr_num "#x[+\-]\?[0-9A-Fa-f]\+"
syn match txr_num "#o[+\-]\?[0-7]\+"
syn match txr_num "#b[+\-]\?[01]\+"
syn match txr_ident "[A-Za-z_0-9!$%&*+\-<=>?\\_~]*[A-Za-z_!$%&*+\-<=>?\\_~^][A-Za-z_0-9!$%&*+\-<=>?\\_~^]*" contained
syn match txl_ident "[:@][A-Za-z_0-9!$%&*+\-<=>?\\_~^/]\+"
syn match txr_braced_ident "[:][A-Za-z_0-9!$%&*+\-<=>?\\_~^/]\+" contained
syn match txl_ident "[A-Za-z_0-9!$%&*+\-<=>?\\_~/]*[A-Za-z_!$%&*+\-<=>?\\_~^/#][A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]*"
syn match txr_num "[+\-]\?[0-9]\+\([^A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]\|\n\)"me=e-1
syn match txr_badnum "[+\-]\?[0-9]*[.][0-9]\+\([eE][+\-]\?[0-9]\+\)\?[A-Za-z_!$%&*+\-<=>?\\_~^/#]\+"
syn match txr_num "[+\-]\?[0-9]*[.][0-9]\+\([eE][+\-]\?[0-9]\+\)\?\([^A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]\|\n\)"me=e-1
syn match txr_num "[+\-]\?[0-9]\+\([eE][+\-]\?[0-9]\+\)\([^A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]\|\n\)"me=e-1
syn match txl_ident ":"
syn match txl_splice "[ \t,]\|,[*]"

syn match txr_unquote "," contained
syn match txr_splice ",\*" contained
syn match txr_quote "'" contained
syn match txr_quote "\^" contained
syn match txr_dotdot "\.\." contained
syn match txr_metaat "@" contained

syn region txr_bracevar matchgroup=Delimiter start="@[ \t]*[*]\?{" matchgroup=Delimiter end="}" contains=txr_num,txl_ident,txl_splice,txl_metanum,txr_metaat,txr_braced_ident,txr_dot,txr_dotdot,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_regex,txr_quasilit,txr_chr,txl_splice,txr_nested_error
syn region txr_list matchgroup=Delimiter start="#\?H\?(" matchgroup=Delimiter end=")" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_bracket matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_mlist matchgroup=Delimiter start="@[ \t^',]*(" matchgroup=Delimiter end=")" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_mbracket matchgroup=Delimiter start="@[ \t^',]*\[" matchgroup=Delimiter end="\]" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_string start=+#\?\*\?"+ end=+["\n]+ contains=txr_stresc,txr_numesc,txr_badesc
syn region txr_quasilit start=+#\?\*\?`+ end=+[`\n]+ contains=txr_splicevar,txr_metanum,txr_bracevar,txr_mlist,txr_mbracket,txr_escat,txr_stresc,txr_numesc,txr_badesc
syn region txr_regex start="/" end="[/\n]" contains=txr_regesc,txr_numesc,txr_badesc
syn region txl_regex start="#/" end="[/\n]" contains=txr_regesc,txr_numesc,txr_badesc

hi def link txr_at Special
hi def link txr_atstar Special
hi def link txr_atat Special
hi def link txr_comment Comment
hi def link txr_ncomment Comment
hi def link txr_hashbang Preproc
hi def link txr_contin Preproc
hi def link txr_char String
hi def link txr_keyword Keyword
hi def link txl_keyword Type
hi def link txr_string String
hi def link txr_chr String
hi def link txr_quasilit String
hi def link txr_regex String
hi def link txl_regex String
hi def link txr_regdir String
hi def link txr_variable Identifier
hi def link txr_splicevar Identifier
hi def link txr_metanum Identifier
hi def link txr_escat Special
hi def link txr_stresc Special
hi def link txr_numesc Special
hi def link txr_regesc Special
hi def link txr_badesc Error
hi def link txr_ident Identifier
hi def link txl_ident Identifier
hi def link txr_num Number
hi def link txr_badnum Error
hi def link txr_quote Special
hi def link txr_unquote Special
hi def link txr_splice Special
hi def link txr_dot Special
hi def link txr_dotdot Special
hi def link txr_metaat Special
hi def link txr_munqspl Special
hi def link txl_splice Special
hi def link txr_error Error
hi def link txr_nested_error Error

let b:current_syntax = "lisp"