summaryrefslogtreecommitdiffstats
path: root/txr.vim
blob: 884bef37065d4e6b49a88f92e6c06aa878faa032 (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
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
" 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* *listener-hist-len* *listener-multi-line-p*
syn keyword txl_keyword contained *pi* *place-clobber-expander* *place-delete-expander* *place-macro*
syn keyword txl_keyword contained *place-update-expander* *random-state* *self-path* *stddebug*
syn keyword txl_keyword contained *stderr* *stdin* *stdlog* *stdnull*
syn keyword txl_keyword contained *stdout* *system-package* *txr-version* *unhandled-hook*
syn keyword txl_keyword contained *user-package* + - /
syn keyword txl_keyword contained /= : :append :args
syn keyword txl_keyword contained :atime :auto :blksize :blocks
syn keyword txl_keyword contained :cdigit :chars :continue :counter
syn keyword txl_keyword contained :cspace :ctime :cword-char :decline
syn keyword txl_keyword contained :dev :digit :downcase :env
syn keyword txl_keyword contained :equal-based :fd :filter :fini
syn keyword txl_keyword contained :finish :from-current :from-end :from-start
syn keyword txl_keyword contained :from_html :frompercent :fromurl :fun
syn keyword txl_keyword contained :function :gap :gid :greedy
syn keyword txl_keyword contained :hextoint :init :ino :instance
syn keyword txl_keyword contained :into :lfilt :lines :list
syn keyword txl_keyword contained :longest :maxgap :maxtimes :method
syn keyword txl_keyword contained :mingap :mintimes :mode :mtime
syn keyword txl_keyword contained :name :named :next-spec :nlink
syn keyword txl_keyword contained :nothrow :prio :rdev :real-time
syn keyword txl_keyword contained :repeat-spec :resolve :rfilt :shortest
syn keyword txl_keyword contained :size :space :static :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-finalizers call-super-fun call-super-method call-update-expander
syn keyword txl_keyword contained callf car caseq caseql
syn keyword txl_keyword contained casequal cat-str cat-streams cat-vec
syn keyword txl_keyword contained catch catenated-stream-p catenated-stream-push cdaaaar
syn keyword txl_keyword contained cdaaadr cdaaar cdaadar cdaaddr
syn keyword txl_keyword contained cdaadr cdaar cdadaar cdadadr
syn keyword txl_keyword contained cdadar cdaddar cdadddr cdaddr
syn keyword txl_keyword contained cdadr cdar cddaaar cddaadr
syn keyword txl_keyword contained cddaar cddadar cddaddr cddadr
syn keyword txl_keyword contained cddar cdddaar cdddadr cdddar
syn keyword txl_keyword contained cddddar cdddddr cddddr cdddr
syn keyword txl_keyword contained cddr cdr ceil chain
syn keyword txl_keyword contained chand chdir chmod chr-isalnum
syn keyword txl_keyword contained chr-isalpha chr-isascii chr-isblank chr-iscntrl
syn keyword txl_keyword contained chr-isdigit chr-isgraph chr-islower chr-isprint
syn keyword txl_keyword contained chr-ispunct chr-isspace chr-isunisp chr-isupper
syn keyword txl_keyword contained chr-isxdigit chr-num chr-str chr-str-set
syn keyword txl_keyword contained chr-tolower chr-toupper chrp clamp
syn keyword txl_keyword contained clear-error clear-struct 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 defex define-modify-macro define-place-macro defmacro
syn keyword txl_keyword contained defparm defparml defplace defstruct
syn keyword txl_keyword contained defsymacro defun defvar defvarl
syn keyword txl_keyword contained del delay delete-package display-width
syn keyword txl_keyword contained do dohash dotimes downcase-str
syn keyword txl_keyword contained drop drop-until drop-while dup
syn keyword txl_keyword contained dupfd dwim each each*
syn keyword txl_keyword contained eighth empty endgrent endpwent
syn keyword txl_keyword contained ensure-dir env env-fbind env-hash
syn keyword txl_keyword contained env-vbind eq eql equal
syn keyword txl_keyword contained errno error eval evenp
syn keyword txl_keyword contained exception-subtype-p exec exit exit*
syn keyword txl_keyword contained exp expand-right expt exptmod
syn keyword txl_keyword contained false fboundp fifth fileno
syn keyword txl_keyword contained filter-equal filter-string-tree finalize find
syn keyword txl_keyword contained find-if find-max find-min find-package
syn keyword txl_keyword contained find-struct-type first fixnump flatcar
syn keyword txl_keyword contained flatcar* flatten flatten* flet
syn keyword txl_keyword contained flip flipargs flo-dig flo-epsilon
syn keyword txl_keyword contained flo-int flo-max flo-min flo-str
syn keyword txl_keyword contained floatp floor flush-stream fmakunbound
syn keyword txl_keyword contained for for* force fork
syn keyword txl_keyword contained format fourth fstat fun
syn keyword txl_keyword contained func-get-env func-get-form func-get-name func-set-env
syn keyword txl_keyword contained functionp gcd gen generate
syn keyword txl_keyword contained gensym gequal get-byte get-char
syn keyword txl_keyword contained get-clobber-expander get-delete-expander get-error get-error-str
syn keyword txl_keyword contained get-hash-userdata get-indent get-indent-mode get-line
syn keyword txl_keyword contained get-lines get-list-from-stream get-sig-handler get-string
syn keyword txl_keyword contained get-string-from-stream get-update-expander getegid getenv
syn keyword txl_keyword contained geteuid getgid getgrent getgrgid
syn keyword txl_keyword contained getgrnam getgroups gethash getitimer
syn keyword txl_keyword contained getpid getppid getpwent getpwnam
syn keyword txl_keyword contained getpwuid getuid ginterate giterate
syn keyword txl_keyword contained glob glob-altdirfunc glob-brace glob-err
syn keyword txl_keyword contained glob-mark glob-nocheck glob-noescape glob-nomagic
syn keyword txl_keyword contained glob-nosort glob-onlydir glob-period glob-tilde
syn keyword txl_keyword contained glob-tilde-check greater group-by gun
syn keyword txl_keyword contained hash hash-alist hash-construct hash-count
syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-from-pairs
syn keyword txl_keyword contained hash-isec hash-keys hash-list hash-pairs
syn keyword txl_keyword contained hash-proper-subset hash-revget hash-subset hash-uni
syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
syn keyword txl_keyword contained have html-decode html-encode iapply
syn keyword txl_keyword contained identity ido if ifa
syn keyword txl_keyword contained iff iffi iflet ignerr
syn keyword txl_keyword contained in inc inc-indent indent-code
syn keyword txl_keyword contained indent-data indent-off inhash int-flo
syn keyword txl_keyword contained int-str integerp intern interp-fun-p
syn keyword txl_keyword contained interpose ip ipf isqrt
syn keyword txl_keyword contained itimer-prov itimer-real itimer-virtual juxt
syn keyword txl_keyword contained keep-if keep-if* keyword-package keywordp
syn keyword txl_keyword contained kill labels lambda last
syn keyword txl_keyword contained lazy-str lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list
syn keyword txl_keyword contained lazy-stream-cons lazy-stringp lcm lcons
syn keyword txl_keyword contained lcons-fun lconsp ldiff length
syn keyword txl_keyword contained length-list length-str length-str-< length-str-<=
syn keyword txl_keyword contained length-str-> length-str->= length-vec lequal
syn keyword txl_keyword contained less let let* lexical-fun-p
syn keyword txl_keyword contained lexical-lisp1-binding lexical-var-p lib-version link
syn keyword txl_keyword contained lisp-parse list list* list-str
syn keyword txl_keyword contained list-vector listp load log
syn keyword txl_keyword contained log-alert log-auth log-authpriv log-cons
syn keyword txl_keyword contained log-crit log-daemon log-debug log-emerg
syn keyword txl_keyword contained log-err log-info log-ndelay log-notice
syn keyword txl_keyword contained log-nowait log-odelay log-perror log-pid
syn keyword txl_keyword contained log-user log-warning log10 log2
syn keyword txl_keyword contained logand logior lognot logtest
syn keyword txl_keyword contained logtrunc logxor lstat mac-param-bind
syn keyword txl_keyword contained macro-form-p macro-time macroexpand macroexpand-1
syn keyword txl_keyword contained macrolet major make-catenated-stream make-env
syn keyword txl_keyword contained make-hash make-lazy-cons make-like make-package
syn keyword txl_keyword contained make-random-state make-similar-hash make-string-byte-input-stream make-string-input-stream
syn keyword txl_keyword contained make-string-output-stream make-strlist-output-stream make-struct make-struct-type
syn keyword txl_keyword contained make-sym make-time make-time-utc make-trie
syn keyword txl_keyword contained makedev makunbound mapcar mapcar*
syn keyword txl_keyword contained mapdo mapf maphash mappend
syn keyword txl_keyword contained mappend* mask match-fun match-regex
syn keyword txl_keyword contained match-regex-right match-regst match-regst-right match-str
syn keyword txl_keyword contained match-str-tree max member member-if
syn keyword txl_keyword contained memq memql memqual merge
syn keyword txl_keyword contained meth method min minor
syn keyword txl_keyword contained minusp mkdir mknod mkstring
syn keyword txl_keyword contained mlet mod multi multi-sort
syn keyword txl_keyword contained n-choose-k n-perm-k nconc new
syn keyword txl_keyword contained nil nilf ninth none
syn keyword txl_keyword contained not notf nreverse nthcdr
syn keyword txl_keyword contained null nullify num-chr num-str
syn keyword txl_keyword contained numberp oand oddp op
syn keyword txl_keyword contained open-command open-directory open-file open-fileno
syn keyword txl_keyword contained open-files open-files* open-pipe open-process
syn keyword txl_keyword contained open-tail openlog opip or
syn keyword txl_keyword contained orf package-alist package-name package-symbols
syn keyword txl_keyword contained packagep pad partition partition*
syn keyword txl_keyword contained partition-by path-blkdev-p path-chrdev-p path-dir-p
syn keyword txl_keyword contained path-executable-to-me-p path-exists-p path-file-p path-mine-p
syn keyword txl_keyword contained path-my-group-p path-newer path-older path-pipe-p
syn keyword txl_keyword contained path-private-to-me-p path-same-object path-setgid-p path-setuid-p
syn keyword txl_keyword contained path-sock-p path-sticky-p path-symlink-p path-writable-to-me-p
syn keyword txl_keyword contained perm pipe place-form-p placelet
syn keyword txl_keyword contained placelet* plusp poll poll-err
syn keyword txl_keyword contained poll-in poll-nval poll-out poll-pri
syn keyword txl_keyword contained poll-rdband poll-wrband pop pos
syn keyword txl_keyword contained pos-if pos-max pos-min posq
syn keyword txl_keyword contained posql posqual pppred ppred
syn keyword txl_keyword contained pprinl pprint pprof pred
syn keyword txl_keyword contained prinl print prof prog1
syn keyword txl_keyword contained progn promisep prop proper-listp
syn keyword txl_keyword contained pset push pushhash pushnew
syn keyword txl_keyword contained put-byte put-char put-line put-lines
syn keyword txl_keyword contained put-string put-strings pwd qquote
syn keyword txl_keyword contained qref quote raise rand
syn keyword txl_keyword contained random random-fixnum random-state-p range
syn keyword txl_keyword contained range* range-regex rcomb read
syn keyword txl_keyword contained readlink real-time-stream-p reduce-left reduce-right
syn keyword txl_keyword contained ref refset regex-compile regex-parse
syn keyword txl_keyword contained regexp register-exception-subtypes 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-struct
syn keyword txl_keyword contained replace-vec reset-struct rest ret
syn keyword txl_keyword contained retf return return-from reverse
syn keyword txl_keyword contained rlcp rlet rotate rperm
syn keyword txl_keyword contained rplaca rplacd run s-ifblk
syn keyword txl_keyword contained s-ifchr s-ifdir s-ififo s-iflnk
syn keyword txl_keyword contained s-ifmt s-ifreg s-ifsock s-irgrp
syn keyword txl_keyword contained s-iroth s-irusr s-irwxg s-irwxo
syn keyword txl_keyword contained s-irwxu s-isgid s-isuid s-isvtx
syn keyword txl_keyword contained s-iwgrp s-iwoth s-iwusr s-ixgrp
syn keyword txl_keyword contained s-ixoth s-ixusr search search-regex
syn keyword txl_keyword contained search-regst search-str search-str-tree second
syn keyword txl_keyword contained seek-stream select self-path seqp
syn keyword txl_keyword contained set set-diff set-hash-userdata set-indent
syn keyword txl_keyword contained set-indent-mode set-sig-handler setegid setenv
syn keyword txl_keyword contained seteuid setgid setgrent sethash
syn keyword txl_keyword contained setitimer setlogmask setpwent setuid
syn keyword txl_keyword contained seventh sh shift shuffle
syn keyword txl_keyword contained sig-abrt sig-alrm sig-bus sig-check
syn keyword txl_keyword contained sig-chld sig-cont sig-fpe sig-hup
syn keyword txl_keyword contained sig-ill sig-int sig-io sig-iot
syn keyword txl_keyword contained sig-kill sig-pipe sig-poll sig-prof
syn keyword txl_keyword contained sig-pwr sig-quit sig-segv sig-stkflt
syn keyword txl_keyword contained sig-stop sig-sys sig-term sig-trap
syn keyword txl_keyword contained sig-tstp sig-ttin sig-ttou sig-urg
syn keyword txl_keyword contained sig-usr1 sig-usr2 sig-vtalrm sig-winch
syn keyword txl_keyword contained sig-xcpu sig-xfsz sign-extend sin
syn keyword txl_keyword contained sixth size-vec slot slotp
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 static-slot static-slot-p static-slot-set
syn keyword txl_keyword contained stdlib str< str<= str=
syn keyword txl_keyword contained str> str>= stream-get-prop stream-set-prop
syn keyword txl_keyword contained streamp string-extend string-lt stringp
syn keyword txl_keyword contained struct-type struct-type-p structp sub
syn keyword txl_keyword contained sub-list sub-str sub-vec subtypep
syn keyword txl_keyword contained succ super super-method 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:bad-slot-syntax sys:do-path-test sys:dwim-del sys:dwim-set
syn keyword txl_keyword contained sys:eval-err sys:expand sys:expr sys:fbind
syn keyword txl_keyword contained sys:gc sys:gc-set-delta sys:get-fb sys:get-vb
syn keyword txl_keyword contained sys:l1-setq sys:l1-val sys:lbind sys:lisp1-setq
syn keyword txl_keyword contained sys:lisp1-value sys:load sys:make-struct-type sys:mark-special
syn keyword txl_keyword contained sys:path-access sys:path-examine sys:path-test sys:path-test-mode
syn keyword txl_keyword contained sys:pl-expand sys:placelet-1 sys:prune-nil-inits sys:qquote
syn keyword txl_keyword contained sys:quasi sys:quasilist sys:reg-expand-nongreedy sys:reg-optimize
syn keyword txl_keyword contained sys:rplaca sys:rplacd sys:setq sys:setqf
syn keyword txl_keyword contained sys:splice sys:struct-lit sys:sym-clobber-expander sys:sym-delete-expander
syn keyword txl_keyword contained sys:sym-update-expander sys:top-fb sys:top-vb sys:trigger-load
syn keyword txl_keyword contained sys:unquote sys:var sys:with-saved-vars syslog
syn keyword txl_keyword contained system-package t take take-until
syn keyword txl_keyword contained take-while 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 umeth umethod
syn keyword txl_keyword contained unget-byte unget-char uniq unique
syn keyword txl_keyword contained unless unquote unsetenv until
syn keyword txl_keyword contained until* unwind-protect upcase-str update
syn keyword txl_keyword contained url-decode url-encode user-package usleep
syn keyword txl_keyword contained vec vec-push vec-set-length vecref
syn keyword txl_keyword contained vector vector-list vectorp w-continued
syn keyword txl_keyword contained w-coredump w-exitstatus w-ifcontinued w-ifexited
syn keyword txl_keyword contained w-ifsignaled w-ifstopped w-nohang w-stopsig
syn keyword txl_keyword contained w-termsig w-untraced wait weave
syn keyword txl_keyword contained when whenlet where while
syn keyword txl_keyword contained while* whilet width width-check
syn keyword txl_keyword contained with-clobber-expander with-delete-expander with-gensyms with-in-string-byte-stream
syn keyword txl_keyword contained with-in-string-stream with-objects with-out-string-stream with-out-strlist-stream
syn keyword txl_keyword contained with-resources with-stream with-update-expander wrap
syn keyword txl_keyword contained wrap* zap zerop zip

syn keyword txr_keyword contained accept all and assert
syn keyword txr_keyword contained bind block cases cat
syn keyword txr_keyword contained catch choose chr close
syn keyword txr_keyword contained coll collect defex deffilter
syn keyword txr_keyword contained define do elif else
syn keyword txr_keyword contained end eof eol fail
syn keyword txr_keyword contained filter finally flatten forget
syn keyword txr_keyword contained freeform fuzz gather if
syn keyword txr_keyword contained include last line load
syn keyword txr_keyword contained local maybe merge next
syn keyword txr_keyword contained none or output rebind
syn keyword txr_keyword contained rep repeat require set
syn keyword txr_keyword contained skip some text throw
syn keyword txr_keyword contained trailer try until var
syn match txr_error "\(@[ \t]*\)[*]\?[\t ]*."
syn match txr_atat "\(@[ \t]*\)@"
syn match txr_comment "\(@[ \t]*\)[#;].*"
syn match txr_contin "\(@[ \t]*\)\\$"
syn match txr_char "\(@[ \t]*\)\\."
syn match txr_error "\(@[ \t]*\)\\[xo]"
syn match txr_char "\(@[ \t]*\)\\x[0-9A-Fa-f]\+;\?"
syn match txr_char "\(@[ \t]*\)\\[0-7]\+;\?"
syn match txr_regdir "\(@[ \t]*\)/\(\\/\|[^/]\|\\\n\)*/"
syn match txr_hashbang "^#!.*"
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]\+" contained
syn match txr_chr "#\\o[0-7]\+" contained
syn match txr_chr "#\\[^ \t\nA-Za-z_0-9]" contained
syn match txr_chr "#\\[A-Za-z_0-9]\+" contained
syn match txr_ncomment ";.*" contained

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

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_directive matchgroup=Delimiter start="@[ \t]*(" matchgroup=Delimiter end=")" contains=txr_keyword,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_num,txr_badnum,txl_ident,txl_regex,txr_string,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_list contained 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 contained 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 contained 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 contained start=+#\?\*\?"+ end=+["\n]+ contains=txr_stresc,txr_numesc,txr_badesc
syn region txr_quasilit contained 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 contained start="/" end="[/\n]" contains=txr_regesc,txr_numesc,txr_badesc
syn region txl_regex contained 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"

set lispwords=ado,ap,append-each,append-each*,aret,block,caseq,caseql,casequal,catch,collect-each,collect-each*,cond,conda,dec,defex,define-modify-macro,define-place-macro,defmacro,defparm,defparml,defplace,defstruct,defsymacro,defun,defvar,defvarl,del,delay,do,dohash,dotimes,each,each*,flet,flip,for,for*,fun,gen,gun,ido,if,ifa,iflet,ignerr,ip,labels,lambda,lcons,let,let*,load,mac-param-bind,macro-time,macrolet,meth,mlet,new,op,placelet,placelet*,pop,pprof,prof,prog1,progn,push,pushnew,ret,return,return-from,rlet,splice,symacrolet,sys:expr,sys:fbind,sys:l1-val,sys:lbind,sys:lisp1-value,sys:path-examine,sys:path-test,sys:placelet-1,sys:splice,sys:struct-lit,sys:unquote,sys:var,sys:with-saved-vars,tb,tc,tree-bind,tree-case,txr-case,txr-case-impl,txr-if,txr-when,umeth,unless,unquote,until,until*,unwind-protect,when,whenlet,while,while*,whilet,with-clobber-expander,with-delete-expander,with-gensyms,with-in-string-byte-stream,with-in-string-stream,with-objects,with-out-string-stream,with-out-strlist-stream,with-resources,with-stream,with-update-expander,zap,:method,:function,:init,:fini