| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | " Vim syntax file | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | " Language:	Clojure | 
					
						
							|  |  |  | " Authors:	Toralf Wittner <toralf.wittner@gmail.com> | 
					
						
							|  |  |  | "		modified by Meikel Brandmeyer <mb@kotka.de> | 
					
						
							|  |  |  | " URL:		http://kotka.de/projects/clojure/vimclojure.html | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | " Contributors:	Joel Holdbrooks <cjholdbrooks@gmail.com> (Regexp support, bug fixes) | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | " Maintainer:	Sung Pae <self@sungpae.com> | 
					
						
							|  |  |  | " URL:		https://github.com/guns/vim-clojure-static | 
					
						
							|  |  |  | " License:	Same as Vim | 
					
						
							| 
									
										
										
										
											2014-03-27 22:30:07 +01:00
										 |  |  | " Last Change:	27 March 2014 | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | if exists("b:current_syntax") | 
					
						
							|  |  |  | 	finish | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-27 22:30:07 +01:00
										 |  |  | if has("folding") && exists("g:clojure_fold") && g:clojure_fold > 0 | 
					
						
							|  |  |  | 	setlocal foldmethod=syntax | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " -*- KEYWORDS -*- | 
					
						
							|  |  |  | " Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/clj/src/vim_clojure_static/generate.clj | 
					
						
							|  |  |  | " Clojure version 1.6.0 | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | syntax keyword clojureConstant nil | 
					
						
							|  |  |  | syntax keyword clojureBoolean false true | 
					
						
							|  |  |  | syntax keyword clojureSpecial . catch clojure.core/fn clojure.core/let clojure.core/loop def do finally fn if let loop monitor-enter monitor-exit new quote recur set! throw try var | 
					
						
							|  |  |  | syntax keyword clojureException catch finally throw try | 
					
						
							| 
									
										
										
										
											2014-03-27 22:30:07 +01:00
										 |  |  | syntax keyword clojureCond case clojure.core/case clojure.core/cond clojure.core/cond-> clojure.core/cond->> clojure.core/condp clojure.core/if-let clojure.core/if-not clojure.core/if-some clojure.core/when clojure.core/when-first clojure.core/when-let clojure.core/when-not clojure.core/when-some cond cond-> cond->> condp if-let if-not if-some when when-first when-let when-not when-some | 
					
						
							|  |  |  | syntax keyword clojureRepeat clojure.core/doseq clojure.core/dotimes clojure.core/while doseq dotimes while | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | syntax keyword clojureDefine clojure.core/definline clojure.core/definterface clojure.core/defmacro clojure.core/defmethod clojure.core/defmulti clojure.core/defn clojure.core/defn- clojure.core/defonce clojure.core/defprotocol clojure.core/defrecord clojure.core/defstruct clojure.core/deftype definline definterface defmacro defmethod defmulti defn defn- defonce defprotocol defrecord defstruct deftype | 
					
						
							|  |  |  | syntax keyword clojureMacro -> ->> .. amap and areduce as-> assert binding bound-fn clojure.core/-> clojure.core/->> clojure.core/.. clojure.core/amap clojure.core/and clojure.core/areduce clojure.core/as-> clojure.core/assert clojure.core/binding clojure.core/bound-fn clojure.core/comment clojure.core/declare clojure.core/delay clojure.core/dosync clojure.core/doto clojure.core/extend-protocol clojure.core/extend-type clojure.core/for clojure.core/future clojure.core/gen-class clojure.core/gen-interface clojure.core/import clojure.core/io! clojure.core/lazy-cat clojure.core/lazy-seq clojure.core/letfn clojure.core/locking clojure.core/memfn clojure.core/ns clojure.core/or clojure.core/proxy clojure.core/proxy-super clojure.core/pvalues clojure.core/refer-clojure clojure.core/reify clojure.core/some-> clojure.core/some->> clojure.core/sync clojure.core/time clojure.core/with-bindings clojure.core/with-in-str clojure.core/with-loading-context clojure.core/with-local-vars clojure.core/with-open clojure.core/with-out-str clojure.core/with-precision clojure.core/with-redefs comment declare delay dosync doto extend-protocol extend-type for future gen-class gen-interface import io! lazy-cat lazy-seq letfn locking memfn ns or proxy proxy-super pvalues refer-clojure reify some-> some->> sync time with-bindings with-in-str with-loading-context with-local-vars with-open with-out-str with-precision with-redefs | 
					
						
							| 
									
										
										
										
											2014-03-27 22:30:07 +01:00
										 |  |  | syntax keyword clojureFunc * *' + +' - -' ->ArrayChunk ->Vec ->VecNode ->VecSeq -cache-protocol-fn -reset-methods / < <= = == > >= accessor aclone add-classpath add-watch agent agent-error agent-errors aget alength alias all-ns alter alter-meta! alter-var-root ancestors apply array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assoc assoc! assoc-in associative? atom await await-for await1 bases bean bigdec bigint biginteger bit-and bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left bit-shift-right bit-test bit-xor boolean boolean-array booleans bound-fn* bound? butlast byte byte-array bytes cast char char-array char? chars chunk chunk-append chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? class class? clear-agent-errors clojure-version clojure.core/* clojure.core/*' clojure.core/+ clojure.core/+' clojure.core/- clojure.core/-' clojure.core/->ArrayChunk clojure.core/->Vec clojure.core/->VecNode clojure.core/->VecSeq clojure.core/-cache-protocol-fn clojure.core/-reset-methods clojure.core// clojure.core/< clojure.core/<= clojure.core/= clojure.core/== clojure.core/> clojure.core/>= clojure.core/accessor clojure.core/aclone clojure.core/add-classpath clojure.core/add-watch clojure.core/agent clojure.core/agent-error clojure.core/agent-errors clojure.core/aget clojure.core/alength clojure.core/alias clojure.core/all-ns clojure.core/alter clojure.core/alter-meta! clojure.core/alter-var-root clojure.core/ancestors clojure.core/apply clojure.core/array-map clojure.core/aset clojure.core/aset-boolean clojure.core/aset-byte clojure.core/aset-char clojure.core/aset-double clojure.core/aset-float clojure.core/aset-int clojure.core/aset-long clojure.core/aset-short clojure.core/assoc clojure.core/assoc! clojure.core/assoc-in clojure.core/associative? clojure.core/atom clojure.core/await clojure.core/await-for clojure.core/await1 clojure.core/bases clojure.core/bean clojure.core/bigdec clojure.core/bigint clojure.core/biginteger clojure.core/bit-and clojure.core/bit-and-not clojure.core/bit-clear clojure.core/bit-flip clojure.core/bit-not clojure.core/bit-or clojure.core/bit-set clojure.core/bit-shift-left clojure.core/bit-shift-right clojure.core/bit-test clojure.core/bit-xor clojure.core/boolean clojure.core/boolean-array clojure.core/booleans clojure.core/bound-fn* clojure.core/bound? clojure.core/butlast clojure.core/byte clojure.core/byte-array clojure.core/bytes clojure.core/cast clojure.core/char clojure.core/char-array clojure.core/char? clojure.core/chars clojure.core/chunk clojure.core/chunk-append clojure.core/chunk-buffer clojure.core/chunk-cons clojure.core/chunk-first clojure.core/chunk-next clojure.core/chunk-rest clojure.core/chunked-seq? clojure.core/class clojure.core/class? clojure.core/clear-agent-errors clojure.core/clojure-version clojure.core/coll? clojure.core/commute clojure.core/comp clojure.core/comparator clojure.core/compare clojure.core/compare-and-set! clojure.core/compile clojure.core/complement clojure.core/concat clojure.core/conj clojure.core/conj! clojure.core/cons clojure.core/constantly clojure.core/construct-proxy clojure.core/contains? clojure.core/count clojure.core/counted? clojure.core/create-ns clojure.core/create-struct clojure.core/cycle clojure.core/dec clojure.core/dec' clojure.core/decimal? clojure.core/delay? clojure.core/deliver clojure.core/denominator clojure.core/deref clojure.core/derive clojure.core/descendants clojure.core/destructure clojure.core/disj clojure.core/disj! clojure.core/dissoc clojure.core/dissoc! clojure.core/distinct clojure.core/distinct? clojure.core/doall clojure.core/dorun clojure.core/double clojure.core/double-array clojure.core/doubles clojure.core/drop clojure.core/drop-last clojure.core/drop-while clojure.core/empty clojure.core/empty? clojure.core/ensure clojure.core/enumeration-seq clojure.core/error-handler clojure.core/error-mode clojure.core/eval clojure.core/even? clojure.core/every-pred clojure.core/every? clojure.core/ex-data clojure.core/ex-info clojure.c | 
					
						
							|  |  |  | syntax keyword clojureVariable *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *compiler-options* *data-readers* *default-data-reader-fn* *e *err* *file* *flush-on-newline* *fn-loader* *in* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *source-path* *unchecked-math* *use-context-classloader* *verbose-defrecords* *warn-on-reflection* EMPTY-NODE char-escape-string char-name-string clojure.core/*1 clojure.core/*2 clojure.core/*3 clojure.core/*agent* clojure.core/*allow-unresolved-vars* clojure.core/*assert* clojure.core/*clojure-version* clojure.core/*command-line-args* clojure.core/*compile-files* clojure.core/*compile-path* clojure.core/*compiler-options* clojure.core/*data-readers* clojure.core/*default-data-reader-fn* clojure.core/*e clojure.core/*err* clojure.core/*file* clojure.core/*flush-on-newline* clojure.core/*fn-loader* clojure.core/*in* clojure.core/*math-context* clojure.core/*ns* clojure.core/*out* clojure.core/*print-dup* clojure.core/*print-length* clojure.core/*print-level* clojure.core/*print-meta* clojure.core/*print-readably* clojure.core/*read-eval* clojure.core/*source-path* clojure.core/*unchecked-math* clojure.core/*use-context-classloader* clojure.core/*verbose-defrecords* clojure.core/*warn-on-reflection* clojure.core/EMPTY-NODE clojure.core/char-escape-string clojure.core/char-name-string clojure.core/default-data-readers clojure.core/primitives-classnames clojure.core/unquote clojure.core/unquote-splicing default-data-readers primitives-classnames unquote unquote-splicing | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Keywords are symbols: | 
					
						
							|  |  |  | "   static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^/]].*/)?([\\D&&[^/]][^/]*)"); | 
					
						
							|  |  |  | " But they: | 
					
						
							|  |  |  | "   * Must not end in a : or / | 
					
						
							|  |  |  | "   * Must not have two adjacent colons except at the beginning | 
					
						
							|  |  |  | "   * Must not contain any reader metacharacters except for ' and # | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | syntax match clojureKeyword "\v<:{1,2}%([^ \n\r\t()\[\]{}";@^`~\\%/]+/)*[^ \n\r\t()\[\]{}";@^`~\\%/]+:@<!>" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syntax match clojureStringEscape "\v\\%([\\btnfr"]|u\x{4}|[0-3]\o{2}|\o{1,2})" contained | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-07 06:09:28 +01:00
										 |  |  | syntax region clojureString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=clojureStringEscape,@Spell | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | syntax match clojureCharacter "\\." | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | syntax match clojureCharacter "\\o\%([0-3]\o\{2\}\|\o\{1,2\}\)" | 
					
						
							|  |  |  | syntax match clojureCharacter "\\u\x\{4\}" | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | syntax match clojureCharacter "\\space" | 
					
						
							|  |  |  | syntax match clojureCharacter "\\tab" | 
					
						
							|  |  |  | syntax match clojureCharacter "\\newline" | 
					
						
							|  |  |  | syntax match clojureCharacter "\\return" | 
					
						
							|  |  |  | syntax match clojureCharacter "\\backspace" | 
					
						
							|  |  |  | syntax match clojureCharacter "\\formfeed" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | syntax match clojureSymbol "\v%([a-zA-Z!$&*_+=|<.>?-]|[^\x00-\x7F])+%(:?%([a-zA-Z0-9!#$%&*_+=|'<.>/?-]|[^\x00-\x7F]))*[#:]@<!" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let s:radix_chars = "0123456789abcdefghijklmnopqrstuvwxyz" | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | for s:radix in range(2, 36) | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | 	execute 'syntax match clojureNumber "\v\c<[-+]?' . s:radix . 'r[' . strpart(s:radix_chars, 0, s:radix) . ']+>"' | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | endfor | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | unlet! s:radix_chars s:radix | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | syntax match clojureNumber "\v<[-+]?%(0\o*|0x\x+|[1-9]\d*)N?>" | 
					
						
							|  |  |  | syntax match clojureNumber "\v<[-+]?%(0|[1-9]\d*|%(0|[1-9]\d*)\.\d*)%(M|[eE][-+]?\d+)?>" | 
					
						
							|  |  |  | syntax match clojureNumber "\v<[-+]?%(0|[1-9]\d*)/%(0|[1-9]\d*)>" | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | syntax match clojureVarArg "&" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syntax match clojureQuote "'" | 
					
						
							|  |  |  | syntax match clojureQuote "`" | 
					
						
							|  |  |  | syntax match clojureUnquote "\~" | 
					
						
							|  |  |  | syntax match clojureUnquote "\~@" | 
					
						
							|  |  |  | syntax match clojureMeta "\^" | 
					
						
							|  |  |  | syntax match clojureDeref "@" | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | syntax match clojureDispatch "\v#[\^'=<_]?" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Clojure permits no more than 20 params. | 
					
						
							|  |  |  | syntax match clojureAnonArg "%\(20\|1\d\|[1-9]\|&\)\?" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-07 06:09:28 +01:00
										 |  |  | syntax match  clojureRegexpEscape "\v\\%([\\tnrfae.()\[\]{}^$*?+]|c\u|0[0-3]?\o{1,2}|x%(\x{2}|\{\x{1,6}\})|u\x{4})" contained display | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | syntax region clojureRegexpQuoted start=/\\Q/ms=e+1 skip=/\\\\\|\\"/ end=/\\E/me=s-1 end=/"/me=s-1 contained | 
					
						
							|  |  |  | syntax region clojureRegexpQuote  start=/\\Q/       skip=/\\\\\|\\"/ end=/\\E/       end=/"/me=s-1 contains=clojureRegexpQuoted keepend contained | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-27 22:30:07 +01:00
										 |  |  | " -*- CHARACTER PROPERTY CLASSES -*- | 
					
						
							|  |  |  | " Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/clj/src/vim_clojure_static/generate.clj | 
					
						
							|  |  |  | " Java version 1.7.0_51 | 
					
						
							|  |  |  | syntax match clojureRegexpPosixCharClass "\v\\[pP]\{%(Cntrl|A%(l%(pha|num)|SCII)|Space|Graph|Upper|P%(rint|unct)|Blank|XDigit|Digit|Lower)\}" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpJavaCharClass "\v\\[pP]\{java%(Whitespace|JavaIdentifier%(Part|Start)|SpaceChar|Mirrored|TitleCase|I%(SOControl|de%(ographic|ntifierIgnorable))|D%(efined|igit)|U%(pperCase|nicodeIdentifier%(Part|Start))|L%(etter%(OrDigit)?|owerCase)|Alphabetic)\}" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\cIs%(l%(owercase|etter)|hex%(digit|_digit)|w%(hite%(_space|space)|ord)|noncharacter%(_code_point|codepoint)|p%(rint|unctuation)|ideographic|graph|a%(l%(num|phabetic)|ssigned)|uppercase|titlecase|blank|digit|control)\}" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpUnicodeCharClass "\v\\[pP][NSCMZPL]" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{%(N[dlo]?|P[dcifeos]?|C[ncfos]?|M[nce]?|Z[lsp]?|S[mcko]?|L[muCDlto]?)\}" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{%(Is|gc\=|general_category\=)?%(N[dlo]?|P[dcifeos]?|C[ncfos]?|M[nce]?|Z[lsp]?|S[mcko]?|L[muCDlto]?)\}" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\c%(Is|sc\=|script\=)%(l%(epc%(ha)?|y%([dc]i%(an)?)|a%(t%(n|in)|na|oo?)|i%(n%(b|ear_b)|mbu?|su))|vaii?|d%(srt|e%(seret|va%(nagari)?))|g%(lag%(olitic)?|eor%(gian)?|oth%(ic)?|re%(k|ek)|u%(j%(arati|r)|r%(u|mukhi)))|u%(gar%(itic)?|nknown)|a%(r%(ab%(ic)?|m%([ni]|enian))|v%(st|estan))|e%(thi%(opic)?|gyp%(tian_hieroglyphs)?)|z%(inh|yyy|zzz)|r%(un%(ic|r)|ejang|jng)|m%(a%(nd%(aic)?|layalam)|lym|y%(anmar|mr)|tei|ong%(olian)?|eetei_mayek)|c%(a%(n%(adian_aboriginal|s)|ri%(an)?)|y%(priot|r%(l|illic))|prt|uneiform|o%(pt%(ic)?|mmon)|h%(er%(okee)?|am))|i%(n%(scriptional_pa%(rthian|hlavi)|herited)|mperial_aramaic|tal)|b%(eng%(ali)?|a%(t%(ak|k)|li%(nese)?|mum?)|ra%(i%(lle)?|h%(mi)?)|opo%(mofo)?|u%(gi%(nese)?|h%(d|id)))|o%(g%(am|ham)|r%(iya|kh|ya)|sma%(nya)?|l%(d_%(south_arabian|persian|italic|turkic)|ck|_chiki))|p%(rti|h%(oenician|li|ag%(s_pa)?|nx))|k%(h%(m%(r|er)|ar%(oshthi)?)|nda|a%(li|n%(a|nada)|takana|yah_li|ithi)|thi)|yi%(ii)?|t%(elu%(gu)?|i%(finagh|b%(t|etan))|ha%(i|a%(na)?)|a%(i_%(le|tham|viet)|g%(alog|b%(anwa)?)|vt|l[ue]|m%(il|l))|fng|glg)|x%(peo|sux)|n%(ew_tai_lue|koo?)|h%(ira%(gana)?|an%([io]|unoo|g%(ul)?)?|ebr%(ew)?)|java%(nese)?|s%(inh%(ala)?|ha%(vian|w)|a%(ur%(ashtra)?|m%(r|aritan)|rb)|y%(r%(c|iac)|lo%(ti_nagri)?)|und%(anese)?))\}" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpUnicodeCharClass "\v\\[pP]\{\c%(In|blk\=|block\=)%(javanese|h%(a%(lfwidth%( and fullwidth forms|andfullwidthforms|_and_fullwidth_forms)|n%(unoo|gul%(compatibilityjamo|syllables|jamo%(extended\-[ab])?|_%(syllables|jamo%(_extended_[ab])?|compatibility_jamo)| %(syllables|compatibility jamo|jamo%( extended\-[ab])?))))|i%(ragana|gh%( %(private use surrogates|surrogates)|_%(private_use_surrogates|surrogates)|surrogates|privateusesurrogates))|ebrew)|i%(pa%([ _]extensions|extensions)|deographic%( description characters|_description_characters|descriptioncharacters)|nscriptional%(%([ _]pa%(rthian|hlavi))|pa%(rthian|hlavi))|mperial%(aramaic|[_ ]aramaic))|l%(e%(tterlike%([_ ]symbols|symbols)|pcha)|ow%([_ ]surrogates|surrogates)|i%(mbu|near%(_b_%(ideograms|syllabary)|b%(ideograms|syllabary)| b %(ideograms|syllabary))|su)|a%(tin%(extended%(additional|\-[dacb])| extended%( additional|\-[dacb])|\-1%(supplement| supplement)|_%(extended_%([dcb]|a%(dditional)?)|1_supplement))|o)|y[cd]ian)|b%(u%(ginese|hid)|ra%(hmi|ille%(patterns|[_ ]patterns))|o%(x%([ _]drawing|drawing)|pomofo%([ _]extended|extended)?)|lock%([ _]elements|elements)|yzantine%( musical symbols|musicalsymbols|_musical_symbols)|engali|a%(linese|mum%(supplement|[ _]supplement)?|tak|sic%([ _]latin|latin)))|e%(gyptian%([ _]hieroglyphs|hieroglyphs)|moticons|nclosed%( %(cjk letters and months|ideographic supplement|alphanumeric%( supplement|s))|cjklettersandmonths|_%(ideographic_supplement|alphanumeric%(_supplement|s)|cjk_letters_and_months)|alphanumerics%(upplement)?|ideographicsupplement)|thiopic%(supplement|_%(supplement|extended%(_a)?)| %(supplement|extended%(\-a)?)|extended%(\-a)?)?)|k%(h%(aroshthi|mer%([_ ]symbols|symbols)?)|a%(takana%(_phonetic_extensions|phoneticextensions| phonetic extensions)?|n%(gxi%([_ ]radicals|radicals)|a%(supplement|[ _]supplement)|bun|nada)|ithi|yah%([ _]li|li)))|r%(u%(nic|mi%(numeralsymbols| numeral symbols|_numeral_symbols))|ejang)|n%(umber%(forms|[ _]forms)|ko|ew%(_tai_lue|tailue| tai lue))|m%(iscellaneous%(technical|symbols%(and%(pictographs|arrows))?|mathematicalsymbols\-[ab]| %(technical|mathematical symbols\-[ab]|symbols%( and %(pictographs|arrows))?)|_%(technical|symbols%(_and_%(pictographs|arrows))?|mathematical_symbols_[ab]))|usical%([_ ]symbols|symbols)|eetei%(mayek|[_ ]mayek)|a%(ndaic|hjong%([ _]tiles|tiles)|layalam|thematical%(alphanumericsymbols| %(alphanumeric symbols|operators)|_%(alphanumeric_symbols|operators)|operators))|yanmar%(extended\-a|_extended_a| extended\-a)?|o%(difier%(_tone_letters| tone letters|toneletters)|ngolian))|d%(e%(seret|vanagari%([ _]extended|extended)?)|ingbats|omino%([ _]tiles|tiles))|yi%(syllables|%([_ ]%(syllables|radicals))|radicals|jing%(hexagramsymbols| hexagram symbols|_hexagram_symbols))|s%(havian|mall%( form variants|formvariants|_form_variants)|p%(acing%(_modifier_letters| modifier letters|modifierletters)|ecials)|a%(maritan|urashtra)|u%(p%(erscripts%(_and_subscripts|andsubscripts| and subscripts)|plementa%(ry%(_private_use_area_[ab]|privateusearea\-[ab]| private use area\-[ab])|l%(_%(arrows_[ab]|mathematical_operators|punctuation)| %(mathematical operators|punctuation|arrows\-[ab])|mathematicaloperators|punctuation|arrows\-[ab])))|rrogates_area|ndanese)|inhala|y%(riac|loti%([_ ]nagri|nagri)))|p%(h%(o%(enician|netic%( extensions%( supplement)?|extensions%(supplement)?|_extensions%(_supplement)?))|a%(istos%([ _]disc|disc)|gs[_\-]pa))|laying%(cards|[_ ]cards)|rivate%(usearea| use area|_use_area))|o%(smanya|l%([ _]chiki|d%( %(south arabian|persian|italic|turkic)|southarabian|_%(south_arabian|persian|italic|turkic)|persian|italic|turkic)|chiki)|riya|ptical%( character recognition|_character_recognition|characterrecognition)|gham)|g%(u%(jarati|rmukhi)|othic|lagolitic|e%(o%(rgian%(supplement|[ _]supplement)?|metric%(shapes|[ _]shapes))|neral%([_ ]punctuation|punctuation))|reek%( %(and coptic|extended)|andcoptic|_extended|extended)?)|c%(o%(ntrol%(pictures|[ _]pictures)|m%(bining%(diacriticalmarks%(supplement|forsymbols)?|halfmarks| %(diacritical marks%( %(supplement|for symbols))? | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-07 06:09:28 +01:00
										 |  |  | syntax match   clojureRegexpPredefinedCharClass	"\v%(\\[dDsSwW]|\.)" contained display | 
					
						
							|  |  |  | syntax cluster clojureRegexpCharPropertyClasses	contains=clojureRegexpPosixCharClass,clojureRegexpJavaCharClass,clojureRegexpUnicodeCharClass | 
					
						
							|  |  |  | syntax cluster clojureRegexpCharClasses		contains=clojureRegexpPredefinedCharClass,clojureRegexpCharClass,@clojureRegexpCharPropertyClasses | 
					
						
							|  |  |  | syntax region  clojureRegexpCharClass		start="\[" skip=/\\\\\|\\]/ end="]" contained contains=clojureRegexpPredefinedCharClass,@clojureRegexpCharPropertyClasses | 
					
						
							|  |  |  | syntax match   clojureRegexpBoundary		"\\[bBAGZz]" contained display | 
					
						
							|  |  |  | syntax match   clojureRegexpBoundary		"[$^]" contained display | 
					
						
							|  |  |  | syntax match   clojureRegexpQuantifier		"[?*+][?+]\=" contained display | 
					
						
							|  |  |  | syntax match   clojureRegexpQuantifier		"\v\{\d+%(,|,\d+)?}\??" contained display | 
					
						
							|  |  |  | syntax match   clojureRegexpOr			"|" contained display | 
					
						
							|  |  |  | syntax match   clojureRegexpBackRef		"\v\\%([1-9]\d*|k\<[a-zA-z]+\>)" contained display | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Mode modifiers, mode-modified spans, lookaround, regular and atomic | 
					
						
							|  |  |  | " grouping, and named-capturing. | 
					
						
							| 
									
										
										
										
											2014-01-07 06:09:28 +01:00
										 |  |  | syntax match clojureRegexpMod "\v\(@<=\?:" contained display | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | syntax match clojureRegexpMod "\v\(@<=\?[xdsmiuU]*-?[xdsmiuU]+:?" contained display | 
					
						
							| 
									
										
										
										
											2014-01-07 06:09:28 +01:00
										 |  |  | syntax match clojureRegexpMod "\v\(@<=\?%(\<?[=!]|\>)" contained display | 
					
						
							|  |  |  | syntax match clojureRegexpMod "\v\(@<=\?\<[a-zA-Z]+\>" contained display | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | syntax region clojureRegexpGroup start="(" skip=/\\\\\|\\)/ end=")" matchgroup=clojureRegexpGroup contained contains=clojureRegexpMod,clojureRegexpQuantifier,clojureRegexpBoundary,clojureRegexpEscape,@clojureRegexpCharClasses | 
					
						
							|  |  |  | syntax region clojureRegexp start=/\#"/ skip=/\\\\\|\\"/ end=/"/ contains=@clojureRegexpCharClasses,clojureRegexpEscape,clojureRegexpQuote,clojureRegexpBoundary,clojureRegexpQuantifier,clojureRegexpOr,clojureRegexpBackRef,clojureRegexpGroup keepend | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syntax keyword clojureCommentTodo contained FIXME XXX TODO FIXME: XXX: TODO: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syntax match clojureComment ";.*$" contains=clojureCommentTodo,@Spell | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | syntax match clojureComment "#!.*$" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-27 22:30:07 +01:00
										 |  |  | " -*- TOP CLUSTER -*- | 
					
						
							|  |  |  | " Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/clj/src/vim_clojure_static/generate.clj | 
					
						
							|  |  |  | syntax cluster clojureTop contains=@Spell,clojureAnonArg,clojureBoolean,clojureCharacter,clojureComment,clojureCond,clojureConstant,clojureDefine,clojureDeref,clojureDispatch,clojureError,clojureException,clojureFunc,clojureKeyword,clojureMacro,clojureMap,clojureMeta,clojureNumber,clojureQuote,clojureRegexp,clojureRepeat,clojureSexp,clojureSpecial,clojureString,clojureSymbol,clojureUnquote,clojureVarArg,clojureVariable,clojureVector | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syntax region clojureSexp   matchgroup=clojureParen start="("  matchgroup=clojureParen end=")" contains=@clojureTop fold | 
					
						
							|  |  |  | syntax region clojureVector matchgroup=clojureParen start="\[" matchgroup=clojureParen end="]" contains=@clojureTop fold | 
					
						
							|  |  |  | syntax region clojureMap    matchgroup=clojureParen start="{"  matchgroup=clojureParen end="}" contains=@clojureTop fold | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Highlight superfluous closing parens, brackets and braces. | 
					
						
							|  |  |  | syntax match clojureError "]\|}\|)" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syntax sync fromstart | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-07 06:09:28 +01:00
										 |  |  | highlight default link clojureConstant			Constant | 
					
						
							|  |  |  | highlight default link clojureBoolean			Boolean | 
					
						
							|  |  |  | highlight default link clojureCharacter			Character | 
					
						
							|  |  |  | highlight default link clojureKeyword			Keyword | 
					
						
							|  |  |  | highlight default link clojureNumber			Number | 
					
						
							|  |  |  | highlight default link clojureString			String | 
					
						
							|  |  |  | highlight default link clojureStringEscape		Character | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | highlight default link clojureRegexp			Constant | 
					
						
							|  |  |  | highlight default link clojureRegexpEscape		Character | 
					
						
							|  |  |  | highlight default link clojureRegexpCharClass		SpecialChar | 
					
						
							|  |  |  | highlight default link clojureRegexpPosixCharClass	clojureRegexpCharClass | 
					
						
							|  |  |  | highlight default link clojureRegexpJavaCharClass	clojureRegexpCharClass | 
					
						
							|  |  |  | highlight default link clojureRegexpUnicodeCharClass	clojureRegexpCharClass | 
					
						
							|  |  |  | highlight default link clojureRegexpPredefinedCharClass	clojureRegexpCharClass | 
					
						
							|  |  |  | highlight default link clojureRegexpBoundary		SpecialChar | 
					
						
							|  |  |  | highlight default link clojureRegexpQuantifier		SpecialChar | 
					
						
							|  |  |  | highlight default link clojureRegexpMod			SpecialChar | 
					
						
							|  |  |  | highlight default link clojureRegexpOr			SpecialChar | 
					
						
							|  |  |  | highlight default link clojureRegexpBackRef		SpecialChar | 
					
						
							|  |  |  | highlight default link clojureRegexpGroup		clojureRegexp | 
					
						
							|  |  |  | highlight default link clojureRegexpQuoted		clojureString | 
					
						
							|  |  |  | highlight default link clojureRegexpQuote		clojureRegexpBoundary | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-07 06:09:28 +01:00
										 |  |  | highlight default link clojureVariable			Identifier | 
					
						
							|  |  |  | highlight default link clojureCond			Conditional | 
					
						
							|  |  |  | highlight default link clojureDefine			Define | 
					
						
							|  |  |  | highlight default link clojureException			Exception | 
					
						
							|  |  |  | highlight default link clojureFunc			Function | 
					
						
							|  |  |  | highlight default link clojureMacro			Macro | 
					
						
							|  |  |  | highlight default link clojureRepeat			Repeat | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | highlight default link clojureSpecial			Special | 
					
						
							|  |  |  | highlight default link clojureVarArg			Special | 
					
						
							|  |  |  | highlight default link clojureQuote			SpecialChar | 
					
						
							|  |  |  | highlight default link clojureUnquote			SpecialChar | 
					
						
							|  |  |  | highlight default link clojureMeta			SpecialChar | 
					
						
							|  |  |  | highlight default link clojureDeref			SpecialChar | 
					
						
							|  |  |  | highlight default link clojureAnonArg			SpecialChar | 
					
						
							|  |  |  | highlight default link clojureDispatch			SpecialChar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | highlight default link clojureComment			Comment | 
					
						
							|  |  |  | highlight default link clojureCommentTodo		Todo | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | highlight default link clojureError			Error | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | highlight default link clojureParen			Delimiter | 
					
						
							| 
									
										
										
										
											2013-02-06 17:34:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "clojure" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-22 14:42:24 +02:00
										 |  |  | " vim:sts=8:sw=8:ts=8:noet:smc=0 |