Updated clojure.vim
authorToralf Wittner <[email protected]>
Mon, 3 Mar 2008 22:04:27 +0000 (3 23:04 +0100)
committerToralf Wittner <[email protected]>
Mon, 3 Mar 2008 22:04:27 +0000 (3 23:04 +0100)
vim/clojure.vim

index 27d4646..028a1b2 100644 (file)
@@ -1,6 +1,6 @@
 " Vim syntax file
 " Language:       Clojure
-" Last Change: 2008-02-28
+" Last Change: 2008-03-03
 " Maintainer:  Toralf Wittner <[email protected]>
 
 if version < 600
@@ -23,10 +23,10 @@ syn match clojureNumber "\<-\?[0-9]\+\>"
 syn match clojureRational "\<-\?[0-9]\+/[0-9]\+\>"
 syn match clojureFloat "\<-\?[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
 
-syn keyword clojureSyntax fn fn* if def let let* new recur loop do quote the-var identical? throw set! monitor-enter monitor-exit try catch finally in-ns
+syn keyword clojureSyntax fn fn* if def let let* loop* new recur loop do quote the-var identical? throw set! monitor-enter monitor-exit try catch finally in-ns
 syn match clojureSyntax "(\s*\(\.\|\.\.\)[^\.]"hs=s+1
 
-syn region clojureDef matchgroup=clojureSyntax start="(\s*\(defmethod\|defmulti\|defmacro\|defstruct\|defn\|def\)\(\s\|\n\)\+"hs=s+1 end="\ze[\[('":)]\|\ze\(#^\)\@<!{" contains=ALLBUT,clojureFunc
+syn region clojureDef matchgroup=clojureSyntax start="(\s*\(defmethod\|defmulti\|defmacro\|defstruct\|defn\|def\)\(\s\|\n\)\+"hs=s+1 end="\ze[\[('":) \t\n]\|\ze\(#^\)\@<!{" contains=ALLBUT,clojureFunc
 syn match clojureDefName "\<[^0-9][a-zA-Z0-9\?!\-\+\*\./<>=]*\>" contained
 
 syn region clojureVector matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=ALLBUT,clojureDefName
@@ -59,7 +59,7 @@ highlight link clojureBoolean Constant
 
 if exists("g:clj_highlight_builtins")
     "Highlight Clojure's predefined functions"
-    syn keyword clojureFunc list cons conj defn instance? vector hash-map sorted-map sorted-map-by defmacro when when-not meta with-meta nil? false? true? not first rest second ffirst rfirst frest rrest = not= str symbol keyword gensym cond seq spread apply list* delay fnseq lazy-cons concat and or reduce reverse + * / - < <= > >= == max min inc dec pos? neg? zero? quot rem bit-shift-left bit-shift-right bit-and bit-or bit-xor bit-not complement constantly identity count peek pop nth contains? get assoc dissoc find select keys vals key val rseq name namespace andfn orfn locking .. -> defmulti defmethod remove-method binding find-var agent agent-of ! agent-errors clear-agent-errors ref deref commute alter set ensure sync comp partial every? not-every? some not-any? map mapcat filter take take-while drop drop-while cycle split-at split-with repeat replicate iterate range merge merge-with zipmap line-seq comparator sort sort-by eval defimports doseq dorun doall await await-for dotimes import into-array into array make-proxy implement pr newline prn print println read with-open doto memfn time int long float double short byte char boolean alength aget aset def-aset make-array to-array to-array-2d pmap macroexpand-1 macroexpand create-struct defstruct struct-map struct accessor subvec load resultset-seq to-set distinct filter-key find-ns create-ns remove-ns all-ns ns-name ns-map ns-unmap ns-publics ns-imports refer ns-refers ns-interns take-nth interleave var-get var-set with-local-vars ns-resolve resolve array-map nthrest string? symbol? map? seq? vector? when-first lazy-cat for bean comment with-out-str pr-str prn-str print-str println-str assert test re-pattern re-matcher re-groups re-seq re-matches re-find rand rand-int defn- print-doc find-doc doc tree-seq file-seq xml-seq var? special-symbol? cast
+    syn keyword clojureFunc list cons conj defn instance? vector hash-map sorted-map sorted-map-by defmacro when when-not meta with-meta nil? false? true? not first rest second ffirst rfirst frest rrest = not= str symbol keyword gensym cond seq spread apply list* delay fnseq lazy-cons concat and or reduce reverse + * / - < <= > >= == max min inc dec pos? neg? zero? quot rem bit-shift-left bit-shift-right bit-and bit-or bit-xor bit-not complement constantly identity count peek pop nth contains? get assoc dissoc find select keys vals key val rseq name namespace andfn orfn locking .. -> defmulti defmethod remove-method binding find-var agent agent-of ! agent-errors clear-agent-errors ref deref commute alter set ensure sync comp partial every? not-every? some not-any? map mapcat filter take take-while drop drop-while cycle split-at split-with repeat replicate iterate range merge merge-with zipmap line-seq comparator sort sort-by eval defimports doseq dorun doall await await-for dotimes import into-array into array make-proxy implement pr newline prn print println read with-open doto memfn time int long float double short byte char boolean alength aget aset def-aset make-array to-array to-array-2d pmap macroexpand-1 macroexpand create-struct defstruct struct-map struct accessor subvec load resultset-seq to-set distinct filter-key find-ns create-ns remove-ns all-ns ns-name ns-map ns-unmap ns-publics ns-imports refer ns-refers ns-interns take-nth interleave var-get var-set with-local-vars ns-resolve resolve array-map nthrest string? symbol? map? seq? vector? when-first lazy-cat for bean comment with-out-str pr-str prn-str print-str println-str assert test re-pattern re-matcher re-groups re-seq re-matches re-find rand rand-int defn- print-doc find-doc doc tree-seq file-seq xml-seq var? special-symbol? cast class get-proxy-class construct-proxy update-proxy proxy-mappings proxy slurp subs max-key min-key
     highlight link clojureFunc Special
 endif