highlighting-kate 0.3 → 0.3.1
raw patch · 4 files changed
+914/−1 lines, 4 filesdep ~base
Dependency ranges changed: base
Files
- Text/Highlighting/Kate/Syntax/Clojure.hs +157/−0
- changelog +5/−0
- highlighting-kate.cabal +3/−1
- xml/clojure.xml +749/−0
+ Text/Highlighting/Kate/Syntax/Clojure.hs view
@@ -0,0 +1,157 @@+{- This module was generated from data in the Kate syntax highlighting file clojure.xml, version 1.05,+ by Dominik Haumann (dhdev@gmx.de) -}++module Text.Highlighting.Kate.Syntax.Clojure ( highlight, parseExpression, syntaxName, syntaxExtensions ) where+import Text.Highlighting.Kate.Definitions+import Text.Highlighting.Kate.Common+import Text.ParserCombinators.Parsec+import Control.Monad (when)+import Data.Map (fromList)+import Data.Maybe (fromMaybe, maybeToList)++import qualified Data.Set as Set+-- | Full name of language.+syntaxName :: String+syntaxName = "Clojure"++-- | Filename extensions for this language.+syntaxExtensions :: String+syntaxExtensions = "*.clj"++-- | Highlight source code using this syntax definition.+highlight :: String -> Either String [SourceLine]+highlight input =+ case runParser parseSource startingState "source" input of+ Left err -> Left $ show err+ Right result -> Right result++-- | Parse an expression using appropriate local context.+parseExpression :: GenParser Char SyntaxState LabeledSource+parseExpression = do+ st <- getState+ let oldLang = synStLanguage st+ setState $ st { synStLanguage = "Clojure" }+ context <- currentContext <|> (pushContext "Normal" >> currentContext)+ result <- parseRules context+ updateState $ \st -> st { synStLanguage = oldLang }+ return result++parseSource = do + lineContents <- lookAhead wholeLine+ updateState $ \st -> st { synStCurrentLine = lineContents }+ result <- manyTill parseSourceLine eof+ return $ map normalizeHighlighting result++startingState = SyntaxState {synStContexts = fromList [("Clojure",["Normal"])], synStLanguage = "Clojure", synStCurrentLine = "", synStCharsParsedInLine = 0, synStPrevChar = '\n', synStCaseSensitive = True, synStKeywordCaseSensitive = True, synStCaptures = []}++parseSourceLine = manyTill parseExpressionInternal pEndLine++pEndLine = do+ lookAhead $ newline <|> (eof >> return '\n')+ context <- currentContext+ case context of+ "Normal" -> return () >> pHandleEndLine+ "function_decl" -> return () >> pHandleEndLine+ "SpecialNumber" -> (popContext) >> pEndLine+ "String" -> return () >> pHandleEndLine+ _ -> pHandleEndLine++withAttribute attr txt = do+ when (null txt) $ fail "Parser matched no text"+ let labs = attr : maybeToList (lookup attr styles)+ st <- getState+ let oldCharsParsed = synStCharsParsedInLine st+ let prevchar = if null txt then '\n' else last txt+ updateState $ \st -> st { synStCharsParsedInLine = oldCharsParsed + length txt, synStPrevChar = prevchar } + return (labs, txt)++styles = [("Keyword","kw"),("Operator","kw"),("Modifier","kw"),("Variable","kw"),("Definition","kw"),("Data","dt"),("Decimal","dv"),("BaseN","bn"),("Float","fl"),("Function","fu"),("Char","ch"),("String","st"),("Comment","co"),("Region Marker","re")]++parseExpressionInternal = do+ context <- currentContext+ parseRules context <|> (pDefault >>= withAttribute (fromMaybe "" $ lookup context defaultAttributes))++list_definitions = Set.fromList $ words $ "def def- defalias defhinted definline defmacro defmacro- defmethod defmulti defn defn- defnk defn-memo defonce defonce- defprotocol defrecord defstruct defstruct- deftest deftest- deftype defunbound defunbound- defvar defvar-"+list_keywords = Set.fromList $ words $ "< <= = == > >= - -> ->> / . .. * + accessor aclone add-classpath add-watcher agent agent-errors aget alength alias all-ns alter alter-meta! alter-var-root amap ancestors and append-child apply apply-template are areduce array-map aset aset-boolean aset-byte aset-char aset-double aset-float aset-int aset-long aset-short assert assert-any assert-expr assert-predicate assoc assoc! associative? assoc-in atom atom? attrs await await1 await-for bases bean bigdec bigint binding 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-fn* branch? butlast byte byte-array bytes case cast catch char char? char-array char-escape-string char-name-string chars children chunk chunk-append chunk-buffer chunk-cons chunked-seq? chunk-first chunk-next chunk-rest class class? clear-agent-errors clojure-version coll? collection-tag comment commute comp comparator compare compare-and-set! compile complement compose-fixtures concat cond condp conj conj! cons constantly construct-proxy contains? content content-handler count counted? create-ns create-struct cycle dec decimal? declare delay delay? deliver deref derive descendants destructure difference disj disj! dissoc dissoc! distinct distinct? do doall doc dorun doseq dosync do-template dotimes doto double double-array doubles down drop drop-last drop-while e edit element emit emit-element empty empty? end? ensure enumeration-seq eval even? every? extend extenders extend-protocol extends? extend-type false? ffirst file-position file-seq filter finally find find-doc find-ns find-var first float float? float-array floats flush fn fn? fnext for force format function? future future? future-call future-cancel future-cancelled? future-done? gen-and-load-class gen-and-save-class gen-class gen-interface gensym get get-child get-child-count get-in get-method get-possibly-unbound-var get-proxy-class get-thread-bindings get-validator handle handler-case hash hash-map hash-set identical? identity if if-let ifn? if-not import inc inc-report-counter index init-proxy in-ns insert-child insert-left insert-right inspect inspect-table inspect-tree instance? int int-array integer? interleave intern interpose intersection into into-array ints io! is isa? is-leaf iterate iterator-seq join join-fixtures juxt key keys keyword keyword? keywordize-keys last lazy-cat lazy-seq left leftmost lefts let letfn line-seq list list* list? list-model list-provider load loaded-libs load-file load-reader load-script load-string locking long long-array longs loop macroexpand macroexpand-1 macroexpand-all main make-array make-hierarchy make-node map map? mapcat map-invert max max-key memfn memoize merge merge-with meta methods method-sig min min-key mod name namespace neg? newline next nfirst nil? nnext node not not= not-any? not-empty not-every? ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? or parents partial partition path pcalls peek persistent! pmap pop pop! pop-thread-bindings pos? postwalk postwalk-demo postwalk-replace pr prefer-method prefers prev prewalk prewalk-demo prewalk-replace primitives-classnames print print-cause-trace print-ctor print-doc print-dup printf println println-str print-method print-namespace-doc print-simple print-special-doc print-stack-trace print-str print-throwable print-trace-element prn prn-str project promise proxy proxy-call-with-super proxy-mappings proxy-name proxy-super pr-str push-thread-bindings pvalues quot rand rand-int range ratio? rational? rationalize read read-line read-string recur reduce ref refer refer-clojure ref-history-count re-find ref-max-history ref-min-history ref-set re-groups reify release-pending-sends rem re-matcher re-matches remove remove-method remove-ns remove-watcher rename rename-keys re-pattern repeat repeatedly repl replace repl-caught repl-exception replicate repl-prompt repl-read report require re-seq reset! reset-meta! resolve rest resultset-seq reverse reversible? right rightmost rights root rseq rsubseq run-all-tests run-tests satisfies? second select select-keys send send-off seq seq? seque sequence sequential? seq-zip set set? set-test set-validator! short short-array shorts shutdown-agents skip-if-eol skip-whitespace slurp some sort sort-by sorted? sorted-map sorted-map-by sorted-set sorted-set-by special-form-anchor special-symbol? split-at split-with str stream? string? stringify-keys struct struct-map subs subseq subvec successful? supers swap! symbol symbol? sync syntax-symbol-anchor take take-last take-nth take-while test test-all-vars testing testing-contexts-str testing-vars-str test-ns test-var the-ns throw time to-array to-array-2d trampoline transient tree-seq true? try try-expr type unchecked-add unchecked-dec unchecked-divide unchecked-inc unchecked-multiply unchecked-negate unchecked-remainder unchecked-subtract underive unimport union unquote unquote-splicing up update-in update-proxy use use-fixtures val vals var? var-get var-set vary-meta vec vector vector? walk when when-first when-let when-not while with-bindings with-bindings* with-in-str with-loading-context with-local-vars with-meta with-open with-out-str with-precision with-test with-test-out xml-seq"+list_variables = Set.fromList $ words $ "*1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* *command-line-args* *compile-files* *compile-path* *current* *e *err* *file* *flush-on-newline* *in* *initial-report-counters* *load-tests* *macro-meta* *math-context* *ns* *out* *print-dup* *print-length* *print-level* *print-meta* *print-readably* *read-eval* *report-counters* *sb* *source-path* *stack* *stack-trace-depth* *state* *testing-contexts* *testing-vars* *test-out* *use-context-classloader* *warn-on-reflection*"++regex_'3b'2e'2a'24 = compileRegex ";.*$"+regex_'3a'5cS'2b = compileRegex ":\\S+"+regex_'5b'40'7e'5d'5cS'2b = compileRegex "[@~]\\S+"+regex_'5c'5c'2e = compileRegex "\\\\."+regex_'5cs'2a'5bA'2dZa'2dz0'2d9'2d'2b'5c'3c'5c'3e'2f'2f'5c'2a'5d'2a'5cs'2a = compileRegex "\\s*[A-Za-z0-9-+\\<\\>//\\*]*\\s*"+regex_'23'5c'5c'2e = compileRegex "#\\\\."++defaultAttributes = [("Normal","Normal"),("function_decl","Function"),("SpecialNumber","Normal"),("String","String")]++parseRules "Normal" = + do (attr, result) <- (((pRegExpr regex_'3b'2e'2a'24 >>= withAttribute "Comment"))+ <|>+ ((pDetect2Chars False '#' '_' >>= withAttribute "Comment"))+ <|>+ ((pRegExpr regex_'3a'5cS'2b >>= withAttribute "Modifier"))+ <|>+ ((pRegExpr regex_'5b'40'7e'5d'5cS'2b >>= withAttribute "Modifier"))+ <|>+ ((pDetect2Chars False '#' '(' >>= withAttribute "Brackets"))+ <|>+ ((pDetectChar False '(' >>= withAttribute "Brackets"))+ <|>+ ((pDetectChar False ')' >>= withAttribute "Brackets"))+ <|>+ ((pDetect2Chars False '#' '{' >>= withAttribute "Brackets"))+ <|>+ ((pDetect2Chars False '^' '{' >>= withAttribute "Brackets"))+ <|>+ ((pDetectChar False '{' >>= withAttribute "Brackets"))+ <|>+ ((pDetectChar False '}' >>= withAttribute "Brackets"))+ <|>+ ((pDetectChar False '[' >>= withAttribute "Brackets"))+ <|>+ ((pDetectChar False ']' >>= withAttribute "Brackets"))+ <|>+ ((pDetect2Chars False '#' '\'' >>= withAttribute "Variable"))+ <|>+ ((pKeyword " \n\t.(),%&;[]^{|}~" list_keywords >>= withAttribute "Keyword"))+ <|>+ ((pKeyword " \n\t.(),%&;[]^{|}~" list_variables >>= withAttribute "Variable"))+ <|>+ ((pKeyword " \n\t.(),%&;[]^{|}~" list_definitions >>= withAttribute "Definition") >>~ pushContext "function_decl")+ <|>+ ((pRegExpr regex_'5c'5c'2e >>= withAttribute "Char"))+ <|>+ ((pDetect2Chars False '#' '"' >>= withAttribute "String") >>~ pushContext "String")+ <|>+ ((pDetectChar False '"' >>= withAttribute "String") >>~ pushContext "String")+ <|>+ ((pFloat >>= withAttribute "Float"))+ <|>+ ((pInt >>= withAttribute "Decimal")))+ return (attr, result)++parseRules "function_decl" = + do (attr, result) <- ((pRegExpr regex_'5cs'2a'5bA'2dZa'2dz0'2d9'2d'2b'5c'3c'5c'3e'2f'2f'5c'2a'5d'2a'5cs'2a >>= withAttribute "Function") >>~ (popContext))+ return (attr, result)++parseRules "SpecialNumber" = + do (attr, result) <- (((pFloat >>= withAttribute "Float") >>~ (popContext))+ <|>+ ((pInt >>= withAttribute "Decimal") >>~ (popContext))+ <|>+ ((pHlCOct >>= withAttribute "BaseN") >>~ (popContext))+ <|>+ ((pHlCHex >>= withAttribute "Float") >>~ (popContext)))+ return (attr, result)++parseRules "String" = + do (attr, result) <- (((pRegExpr regex_'23'5c'5c'2e >>= withAttribute "Char"))+ <|>+ ((pHlCStringChar >>= withAttribute "String Char"))+ <|>+ ((pDetectChar False '"' >>= withAttribute "String") >>~ (popContext)))+ return (attr, result)++parseRules "" = parseRules "Normal"++parseRules x = fail $ "Unknown context" ++ x
changelog view
@@ -1,3 +1,8 @@+highlighting-kate 0.3.1 (27 Nov 2011)++ * Fixed a release bug in 0.3. The Clojure module was not included+ in the cabal file.+ highlighting-kate 0.3 (26 Nov 2011) * Use -O0 by default to speed compiling. This vastly improves compilation
highlighting-kate.cabal view
@@ -1,5 +1,5 @@ Name: highlighting-kate-Version: 0.3+Version: 0.3.1 Cabal-Version: >= 1.6 Build-Type: Simple Category: Text@@ -41,6 +41,7 @@ xml/boo.xml xml/c.xml xml/changelog.xml+ xml/clojure.xml xml/cmake.xml xml/coffeescript.xml xml/coldfusion.xml@@ -166,6 +167,7 @@ Text.Highlighting.Kate.Syntax.Boo Text.Highlighting.Kate.Syntax.C Text.Highlighting.Kate.Syntax.Changelog+ Text.Highlighting.Kate.Syntax.Clojure Text.Highlighting.Kate.Syntax.Cmake Text.Highlighting.Kate.Syntax.Coffeescript Text.Highlighting.Kate.Syntax.Coldfusion
+ xml/clojure.xml view
@@ -0,0 +1,749 @@+<?xml version="1.0" encoding="UTF-8"?>+<!DOCTYPE language SYSTEM "language.dtd">+<!--+ This file is part of KDE's kate project.+ + copyright : (C) 2004 by Dominik Haumann+ email : dhdev at gmx dot de++ **********************************************************************+ * This library is free software; you can redistribute it and/or *+ * modify it under the terms of the GNU Library General Public *+ * License as published by the Free Software Foundation; either *+ * version 2 of the License, or (at your option) any later version. *+ * *+ * This library is distributed in the hope that it will be useful, *+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *+ * Library General Public License for more details. *+ * *+ * You should have received a copy of the GNU Library General Public *+ * License along with this library; if not, write to the *+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *+ * Boston, MA 02110-1301, USA. *+ **********************************************************************+ -->+<language version="1.05" kateversion="2.3" name="Clojure" section="Sources" extensions="*.clj" mimetype="" author="Dominik Haumann (dhdev@gmx.de)" license="LGPL">+ <highlighting>+ <list name="definitions">+ <item> def </item>+ <item> def- </item>+ <item> defalias </item>+ <item> defhinted </item>+ <item> definline </item>+ <item> defmacro </item>+ <item> defmacro- </item>+ <item> defmethod </item>+ <item> defmulti </item>+ <item> defn </item>+ <item> defn- </item>+ <item> defnk </item>+ <item> defn-memo </item>+ <item> defonce </item>+ <item> defonce- </item>+ <item> defprotocol </item>+ <item> defrecord </item>+ <item> defstruct </item>+ <item> defstruct- </item>+ <item> deftest </item>+ <item> deftest- </item>+ <item> deftype </item>+ <item> defunbound </item>+ <item> defunbound- </item>+ <item> defvar </item>+ <item> defvar- </item>+ </list>+ <list name="keywords">+ <item> < </item>+ <item> <= </item>+ <item> = </item>+ <item> == </item>+ <item> > </item>+ <item> >= </item>+ <item> - </item>+ <item> -> </item>+ <item> ->> </item>+ <item> / </item>+ <item> . </item>+ <item> .. </item>+ <item> * </item>+ <item> + </item>+ <item> accessor </item>+ <item> aclone </item>+ <item> add-classpath </item>+ <item> add-watcher </item>+ <item> agent </item>+ <item> agent-errors </item>+ <item> aget </item>+ <item> alength </item>+ <item> alias </item>+ <item> all-ns </item>+ <item> alter </item>+ <item> alter-meta! </item>+ <item> alter-var-root </item>+ <item> amap </item>+ <item> ancestors </item>+ <item> and </item>+ <item> append-child </item>+ <item> apply </item>+ <item> apply-template </item>+ <item> are </item>+ <item> areduce </item>+ <item> array-map </item>+ <item> aset </item>+ <item> aset-boolean </item>+ <item> aset-byte </item>+ <item> aset-char </item>+ <item> aset-double </item>+ <item> aset-float </item>+ <item> aset-int </item>+ <item> aset-long </item>+ <item> aset-short </item>+ <item> assert </item>+ <item> assert-any </item>+ <item> assert-expr </item>+ <item> assert-predicate </item>+ <item> assoc </item>+ <item> assoc! </item>+ <item> associative? </item>+ <item> assoc-in </item>+ <item> atom </item>+ <item> atom? </item>+ <item> attrs </item>+ <item> await </item>+ <item> await1 </item>+ <item> await-for </item>+ <item> bases </item>+ <item> bean </item>+ <item> bigdec </item>+ <item> bigint </item>+ <item> binding </item>+ <item> bit-and </item>+ <item> bit-and-not </item>+ <item> bit-clear </item>+ <item> bit-flip </item>+ <item> bit-not </item>+ <item> bit-or </item>+ <item> bit-set </item>+ <item> bit-shift-left </item>+ <item> bit-shift-right </item>+ <item> bit-test </item>+ <item> bit-xor </item>+ <item> boolean </item>+ <item> boolean-array </item>+ <item> booleans </item>+ <item> bound-fn </item>+ <item> bound-fn* </item>+ <item> branch? </item>+ <item> butlast </item>+ <item> byte </item>+ <item> byte-array </item>+ <item> bytes </item>+ <item> case </item>+ <item> cast </item>+ <item> catch </item>+ <item> char </item>+ <item> char? </item>+ <item> char-array </item>+ <item> char-escape-string </item>+ <item> char-name-string </item>+ <item> chars </item>+ <item> children </item>+ <item> chunk </item>+ <item> chunk-append </item>+ <item> chunk-buffer </item>+ <item> chunk-cons </item>+ <item> chunked-seq? </item>+ <item> chunk-first </item>+ <item> chunk-next </item>+ <item> chunk-rest </item>+ <item> class </item>+ <item> class? </item>+ <item> clear-agent-errors </item>+ <item> clojure-version </item>+ <item> coll? </item>+ <item> collection-tag </item>+ <item> comment </item>+ <item> commute </item>+ <item> comp </item>+ <item> comparator </item>+ <item> compare </item>+ <item> compare-and-set! </item>+ <item> compile </item>+ <item> complement </item>+ <item> compose-fixtures </item>+ <item> concat </item>+ <item> cond </item>+ <item> condp </item>+ <item> conj </item>+ <item> conj! </item>+ <item> cons </item>+ <item> constantly </item>+ <item> construct-proxy </item>+ <item> contains? </item>+ <item> content </item>+ <item> content-handler </item>+ <item> count </item>+ <item> counted? </item>+ <item> create-ns </item>+ <item> create-struct </item>+ <item> cycle </item>+ <item> dec </item>+ <item> decimal? </item>+ <item> declare </item>+ <item> delay </item>+ <item> delay? </item>+ <item> deliver </item>+ <item> deref </item>+ <item> derive </item>+ <item> descendants </item>+ <item> destructure </item>+ <item> difference </item>+ <item> disj </item>+ <item> disj! </item>+ <item> dissoc </item>+ <item> dissoc! </item>+ <item> distinct </item>+ <item> distinct? </item>+ <item> do </item>+ <item> doall </item>+ <item> doc </item>+ <item> dorun </item>+ <item> doseq </item>+ <item> dosync </item>+ <item> do-template </item>+ <item> dotimes </item>+ <item> doto </item>+ <item> double </item>+ <item> double-array </item>+ <item> doubles </item>+ <item> down </item>+ <item> drop </item>+ <item> drop-last </item>+ <item> drop-while </item>+ <item> e </item>+ <item> edit </item>+ <item> element </item>+ <item> emit </item>+ <item> emit-element </item>+ <item> empty </item>+ <item> empty? </item>+ <item> end? </item>+ <item> ensure </item>+ <item> enumeration-seq </item>+ <item> eval </item>+ <item> even? </item>+ <item> every? </item>+ <item> extend </item>+ <item> extenders </item>+ <item> extend-protocol </item>+ <item> extends? </item>+ <item> extend-type </item>+ <item> false? </item>+ <item> ffirst </item>+ <item> file-position </item>+ <item> file-seq </item>+ <item> filter </item>+ <item> finally </item>+ <item> find </item>+ <item> find-doc </item>+ <item> find-ns </item>+ <item> find-var </item>+ <item> first </item>+ <item> float </item>+ <item> float? </item>+ <item> float-array </item>+ <item> floats </item>+ <item> flush </item>+ <item> fn </item>+ <item> fn? </item>+ <item> fnext </item>+ <item> for </item>+ <item> force </item>+ <item> format </item>+ <item> function? </item>+ <item> future </item>+ <item> future? </item>+ <item> future-call </item>+ <item> future-cancel </item>+ <item> future-cancelled? </item>+ <item> future-done? </item>+ <item> gen-and-load-class </item>+ <item> gen-and-save-class </item>+ <item> gen-class </item>+ <item> gen-interface </item>+ <item> gensym </item>+ <item> get </item>+ <item> get-child </item>+ <item> get-child-count </item>+ <item> get-in </item>+ <item> get-method </item>+ <item> get-possibly-unbound-var </item>+ <item> get-proxy-class </item>+ <item> get-thread-bindings </item>+ <item> get-validator </item>+ <item> handle </item>+ <item> handler-case </item>+ <item> hash </item>+ <item> hash-map </item>+ <item> hash-set </item>+ <item> identical? </item>+ <item> identity </item>+ <item> if </item>+ <item> if-let </item>+ <item> ifn? </item>+ <item> if-not </item>+ <item> import </item>+ <item> inc </item>+ <item> inc-report-counter </item>+ <item> index </item>+ <item> init-proxy </item>+ <item> in-ns </item>+ <item> insert-child </item>+ <item> insert-left </item>+ <item> insert-right </item>+ <item> inspect </item>+ <item> inspect-table </item>+ <item> inspect-tree </item>+ <item> instance? </item>+ <item> int </item>+ <item> int-array </item>+ <item> integer? </item>+ <item> interleave </item>+ <item> intern </item>+ <item> interpose </item>+ <item> intersection </item>+ <item> into </item>+ <item> into-array </item>+ <item> ints </item>+ <item> io! </item>+ <item> is </item>+ <item> isa? </item>+ <item> is-leaf </item>+ <item> iterate </item>+ <item> iterator-seq </item>+ <item> join </item>+ <item> join-fixtures </item>+ <item> juxt </item>+ <item> key </item>+ <item> keys </item>+ <item> keyword </item>+ <item> keyword? </item>+ <item> keywordize-keys </item>+ <item> last </item>+ <item> lazy-cat </item>+ <item> lazy-seq </item>+ <item> left </item>+ <item> leftmost </item>+ <item> lefts </item>+ <item> let </item>+ <item> letfn </item>+ <item> line-seq </item>+ <item> list </item>+ <item> list* </item>+ <item> list? </item>+ <item> list-model </item>+ <item> list-provider </item>+ <item> load </item>+ <item> loaded-libs </item>+ <item> load-file </item>+ <item> load-reader </item>+ <item> load-script </item>+ <item> load-string </item>+ <item> locking </item>+ <item> long </item>+ <item> long-array </item>+ <item> longs </item>+ <item> loop </item>+ <item> macroexpand </item>+ <item> macroexpand-1 </item>+ <item> macroexpand-all </item>+ <item> main </item>+ <item> make-array </item>+ <item> make-hierarchy </item>+ <item> make-node </item>+ <item> map </item>+ <item> map? </item>+ <item> mapcat </item>+ <item> map-invert </item>+ <item> max </item>+ <item> max-key </item>+ <item> memfn </item>+ <item> memoize </item>+ <item> merge </item>+ <item> merge-with </item>+ <item> meta </item>+ <item> methods </item>+ <item> method-sig </item>+ <item> min </item>+ <item> min-key </item>+ <item> mod </item>+ <item> name </item>+ <item> namespace </item>+ <item> neg? </item>+ <item> newline </item>+ <item> next </item>+ <item> nfirst </item>+ <item> nil? </item>+ <item> nnext </item>+ <item> node </item>+ <item> not </item>+ <item> not= </item>+ <item> not-any? </item>+ <item> not-empty </item>+ <item> not-every? </item>+ <item> ns </item>+ <item> ns-aliases </item>+ <item> ns-imports </item>+ <item> ns-interns </item>+ <item> ns-map </item>+ <item> ns-name </item>+ <item> ns-publics </item>+ <item> ns-refers </item>+ <item> ns-resolve </item>+ <item> ns-unalias </item>+ <item> ns-unmap </item>+ <item> nth </item>+ <item> nthnext </item>+ <item> num </item>+ <item> number? </item>+ <item> odd? </item>+ <item> or </item>+ <item> parents </item>+ <item> partial </item>+ <item> partition </item>+ <item> path </item>+ <item> pcalls </item>+ <item> peek </item>+ <item> persistent! </item>+ <item> pmap </item>+ <item> pop </item>+ <item> pop! </item>+ <item> pop-thread-bindings </item>+ <item> pos? </item>+ <item> postwalk </item>+ <item> postwalk-demo </item>+ <item> postwalk-replace </item>+ <item> pr </item>+ <item> prefer-method </item>+ <item> prefers </item>+ <item> prev </item>+ <item> prewalk </item>+ <item> prewalk-demo </item>+ <item> prewalk-replace </item>+ <item> primitives-classnames </item>+ <item> print </item>+ <item> print-cause-trace </item>+ <item> print-ctor </item>+ <item> print-doc </item>+ <item> print-dup </item>+ <item> printf </item>+ <item> println </item>+ <item> println-str </item>+ <item> print-method </item>+ <item> print-namespace-doc </item>+ <item> print-simple </item>+ <item> print-special-doc </item>+ <item> print-stack-trace </item>+ <item> print-str </item>+ <item> print-throwable </item>+ <item> print-trace-element </item>+ <item> prn </item>+ <item> prn-str </item>+ <item> project </item>+ <item> promise </item>+ <item> proxy </item>+ <item> proxy-call-with-super </item>+ <item> proxy-mappings </item>+ <item> proxy-name </item>+ <item> proxy-super </item>+ <item> pr-str </item>+ <item> push-thread-bindings </item>+ <item> pvalues </item>+ <item> quot </item>+ <item> rand </item>+ <item> rand-int </item>+ <item> range </item>+ <item> ratio? </item>+ <item> rational? </item>+ <item> rationalize </item>+ <item> read </item>+ <item> read-line </item>+ <item> read-string </item>+ <item> recur </item>+ <item> reduce </item>+ <item> ref </item>+ <item> refer </item>+ <item> refer-clojure </item>+ <item> ref-history-count </item>+ <item> re-find </item>+ <item> ref-max-history </item>+ <item> ref-min-history </item>+ <item> ref-set </item>+ <item> re-groups </item>+ <item> reify </item>+ <item> release-pending-sends </item>+ <item> rem </item>+ <item> re-matcher </item>+ <item> re-matches </item>+ <item> remove </item>+ <item> remove-method </item>+ <item> remove-ns </item>+ <item> remove-watcher </item>+ <item> rename </item>+ <item> rename-keys </item>+ <item> re-pattern </item>+ <item> repeat </item>+ <item> repeatedly </item>+ <item> repl </item>+ <item> replace </item>+ <item> repl-caught </item>+ <item> repl-exception </item>+ <item> replicate </item>+ <item> repl-prompt </item>+ <item> repl-read </item>+ <item> report </item>+ <item> require </item>+ <item> re-seq </item>+ <item> reset! </item>+ <item> reset-meta! </item>+ <item> resolve </item>+ <item> rest </item>+ <item> resultset-seq </item>+ <item> reverse </item>+ <item> reversible? </item>+ <item> right </item>+ <item> rightmost </item>+ <item> rights </item>+ <item> root </item>+ <item> rseq </item>+ <item> rsubseq </item>+ <item> run-all-tests </item>+ <item> run-tests </item>+ <item> satisfies? </item>+ <item> second </item>+ <item> select </item>+ <item> select-keys </item>+ <item> send </item>+ <item> send-off </item>+ <item> seq </item>+ <item> seq? </item>+ <item> seque </item>+ <item> sequence </item>+ <item> sequential? </item>+ <item> seq-zip </item>+ <item> set </item>+ <item> set? </item>+ <item> set-test </item>+ <item> set-validator! </item>+ <item> short </item>+ <item> short-array </item>+ <item> shorts </item>+ <item> shutdown-agents </item>+ <item> skip-if-eol </item>+ <item> skip-whitespace </item>+ <item> slurp </item>+ <item> some </item>+ <item> sort </item>+ <item> sort-by </item>+ <item> sorted? </item>+ <item> sorted-map </item>+ <item> sorted-map-by </item>+ <item> sorted-set </item>+ <item> sorted-set-by </item>+ <item> special-form-anchor </item>+ <item> special-symbol? </item>+ <item> split-at </item>+ <item> split-with </item>+ <item> str </item>+ <item> stream? </item>+ <item> string? </item>+ <item> stringify-keys </item>+ <item> struct </item>+ <item> struct-map </item>+ <item> subs </item>+ <item> subseq </item>+ <item> subvec </item>+ <item> successful? </item>+ <item> supers </item>+ <item> swap! </item>+ <item> symbol </item>+ <item> symbol? </item>+ <item> sync </item>+ <item> syntax-symbol-anchor </item>+ <item> take </item>+ <item> take-last </item>+ <item> take-nth </item>+ <item> take-while </item>+ <item> test </item>+ <item> test-all-vars </item>+ <item> testing </item>+ <item> testing-contexts-str </item>+ <item> testing-vars-str </item>+ <item> test-ns </item>+ <item> test-var </item>+ <item> the-ns </item>+ <item> throw </item>+ <item> time </item>+ <item> to-array </item>+ <item> to-array-2d </item>+ <item> trampoline </item>+ <item> transient </item>+ <item> tree-seq </item>+ <item> true? </item>+ <item> try </item>+ <item> try-expr </item>+ <item> type </item>+ <item> unchecked-add </item>+ <item> unchecked-dec </item>+ <item> unchecked-divide </item>+ <item> unchecked-inc </item>+ <item> unchecked-multiply </item>+ <item> unchecked-negate </item>+ <item> unchecked-remainder </item>+ <item> unchecked-subtract </item>+ <item> underive </item>+ <item> unimport </item>+ <item> union </item>+ <item> unquote </item>+ <item> unquote-splicing </item>+ <item> up </item>+ <item> update-in </item>+ <item> update-proxy </item>+ <item> use </item>+ <item> use-fixtures </item>+ <item> val </item>+ <item> vals </item>+ <item> var? </item>+ <item> var-get </item>+ <item> var-set </item>+ <item> vary-meta </item>+ <item> vec </item>+ <item> vector </item>+ <item> vector? </item>+ <item> walk </item>+ <item> when </item>+ <item> when-first </item>+ <item> when-let </item>+ <item> when-not </item>+ <item> while </item>+ <item> with-bindings </item>+ <item> with-bindings* </item>+ <item> with-in-str </item>+ <item> with-loading-context </item>+ <item> with-local-vars </item>+ <item> with-meta </item>+ <item> with-open </item>+ <item> with-out-str </item>+ <item> with-precision </item>+ <item> with-test </item>+ <item> with-test-out </item>+ <item> xml-seq </item>+ </list>+ <list name="variables">+ <item> *1 </item>+ <item> *2 </item>+ <item> *3 </item>+ <item> *agent* </item>+ <item> *allow-unresolved-vars* </item>+ <item> *assert* </item>+ <item> *clojure-version* </item>+ <item> *command-line-args* </item>+ <item> *compile-files* </item>+ <item> *compile-path* </item>+ <item> *current* </item>+ <item> *e </item>+ <item> *err* </item>+ <item> *file* </item>+ <item> *flush-on-newline* </item>+ <item> *in* </item>+ <item> *initial-report-counters* </item>+ <item> *load-tests* </item>+ <item> *macro-meta* </item>+ <item> *math-context* </item>+ <item> *ns* </item>+ <item> *out* </item>+ <item> *print-dup* </item>+ <item> *print-length* </item>+ <item> *print-level* </item>+ <item> *print-meta* </item>+ <item> *print-readably* </item>+ <item> *read-eval* </item>+ <item> *report-counters* </item>+ <item> *sb* </item>+ <item> *source-path* </item>+ <item> *stack* </item>+ <item> *stack-trace-depth* </item>+ <item> *state* </item>+ <item> *testing-contexts* </item>+ <item> *testing-vars* </item>+ <item> *test-out* </item>+ <item> *use-context-classloader* </item>+ <item> *warn-on-reflection* </item>+ </list>+ <contexts>+ <context name="Normal" attribute="Normal" lineEndContext="#stay">+ <RegExpr attribute="Comment" context="#stay" String=";.*$"/>+ <Detect2Chars attribute="Comment" context="#stay" char="#" char1="_"/>+ <RegExpr attribute="Modifier" context="#stay" String=":\S+"/>+ <RegExpr attribute="Modifier" context="#stay" String="[@~]\S+"/>+ <Detect2Chars attribute="Brackets" context="#stay" char="#" char1="("/>+ <DetectChar attribute="Brackets" context="#stay" char="("/>+ <DetectChar attribute="Brackets" context="#stay" char=")"/>+ <Detect2Chars attribute="Brackets" context="#stay" char="#" char1="{"/>+ <Detect2Chars attribute="Brackets" context="#stay" char="^" char1="{"/>+ <DetectChar attribute="Brackets" context="#stay" char="{"/>+ <DetectChar attribute="Brackets" context="#stay" char="}"/>+ <DetectChar attribute="Brackets" context="#stay" char="["/>+ <DetectChar attribute="Brackets" context="#stay" char="]"/>+ <Detect2Chars attribute="Variable" context="#stay" char="#" char1="'"/>+ <keyword attribute="Keyword" context="#stay" String="keywords"/>+ <keyword attribute="Variable" context="#stay" String="variables"/>+ <keyword attribute="Definition" context="function_decl" String="definitions"/>+ <RegExpr attribute="Char" context="#stay" String="\\."/>+ <Detect2Chars attribute="String" context="String" char="#" char1="""/>+ <DetectChar attribute="String" context="String" char="""/>+ <Float attribute="Float" context="#stay"/>+ <Int attribute="Decimal" context="#stay"/>+ </context>+ <context name="function_decl" attribute="Function" lineEndContext="#stay">+ <RegExpr attribute="Function" context="#pop" String="\s*[A-Za-z0-9-+\<\>//\*]*\s*"/>+ </context>+ <context name="SpecialNumber" attribute="Normal" lineEndContext="#pop">+ <Float attribute="Float" context="#pop"/>+ <Int attribute="Decimal" context="#pop"/>+ <HlCOct attribute="BaseN" context="#pop"/>+ <HlCHex attribute="Float" context="#pop"/>+ </context>+ <context name="String" attribute="String" lineEndContext="#stay">+ <RegExpr attribute="Char" context="#stay" String="#\\."/>+ <HlCStringChar attribute="String Char" context="#stay"/>+ <DetectChar attribute="String" context="#pop" char="""/>+ </context>+ </contexts>+ <itemDatas>+ <itemData name="Normal" defStyleNum="dsNormal"/>+ <itemData name="Keyword" defStyleNum="dsKeyword"/>+ <itemData name="Operator" defStyleNum="dsKeyword" color="#d22811"/>+ <itemData name="Modifier" defStyleNum="dsKeyword" color="#800000"/>+ <itemData name="Variable" defStyleNum="dsKeyword" color="#b07e1f"/>+ <itemData name="Definition" defStyleNum="dsKeyword" color="#d22811"/>+ <itemData name="Data" defStyleNum="dsDataType"/>+ <itemData name="Decimal" defStyleNum="dsDecVal"/>+ <itemData name="BaseN" defStyleNum="dsBaseN"/>+ <itemData name="Float" defStyleNum="dsFloat"/>+ <itemData name="Function" defStyleNum="dsFunction"/>+ <itemData name="Char" defStyleNum="dsChar"/>+ <itemData name="String" defStyleNum="dsString"/>+ <itemData name="Comment" defStyleNum="dsComment"/>+ <itemData name="Region Marker" defStyleNum="dsRegionMarker"/>+ <itemData name="Brackets" defStyleNum="dsNormal" color="#0000ff" selColor="#00ff00" bold="1" italic="0"/>+ </itemDatas>+ </highlighting>+ <general>+ <keywords casesensitive="1" weakDeliminator="-+*?!<>=/:#\"/>+ <comments>+ <comment name="singleLine" start=";;"/>+ </comments>+ </general>+</language>