diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:10:37 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:11:17 +0200 |
commit | 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch) | |
tree | 70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/highlight.js/lib/languages/clojure.js | |
parent | aca1143cb9eed16cf37f04e475e4257418dd18ac (diff) |
fix build issues and add typedoc
Diffstat (limited to 'node_modules/highlight.js/lib/languages/clojure.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/clojure.js | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/clojure.js b/node_modules/highlight.js/lib/languages/clojure.js new file mode 100644 index 000000000..4c9d6e929 --- /dev/null +++ b/node_modules/highlight.js/lib/languages/clojure.js @@ -0,0 +1,94 @@ +module.exports = function(hljs) { + var keywords = { + 'builtin-name': + // Clojure keywords + 'def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem '+ + 'quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? '+ + 'set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? '+ + 'class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? '+ + 'string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . '+ + 'inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last '+ + 'drop-while while intern condp case reduced cycle split-at split-with repeat replicate '+ + 'iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext '+ + 'nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends '+ + 'add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler '+ + 'set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter '+ + 'monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or '+ + 'when when-not when-let comp juxt partial sequence memoize constantly complement identity assert '+ + 'peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast '+ + 'sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import '+ + 'refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! '+ + 'assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger '+ + 'bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline '+ + 'flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking '+ + 'assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! '+ + 'reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! '+ + 'new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty '+ + 'hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list '+ + 'disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer '+ + 'chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate '+ + 'unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta '+ + 'lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize' + }; + + var SYMBOLSTART = 'a-zA-Z_\\-!.?+*=<>&#\''; + var SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*'; + var SIMPLE_NUMBER_RE = '[-+]?\\d+(\\.\\d+)?'; + + var SYMBOL = { + begin: SYMBOL_RE, + relevance: 0 + }; + var NUMBER = { + className: 'number', begin: SIMPLE_NUMBER_RE, + relevance: 0 + }; + var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}); + var COMMENT = hljs.COMMENT( + ';', + '$', + { + relevance: 0 + } + ); + var LITERAL = { + className: 'literal', + begin: /\b(true|false|nil)\b/ + }; + var COLLECTION = { + begin: '[\\[\\{]', end: '[\\]\\}]' + }; + var HINT = { + className: 'comment', + begin: '\\^' + SYMBOL_RE + }; + var HINT_COL = hljs.COMMENT('\\^\\{', '\\}'); + var KEY = { + className: 'symbol', + begin: '[:]{1,2}' + SYMBOL_RE + }; + var LIST = { + begin: '\\(', end: '\\)' + }; + var BODY = { + endsWithParent: true, + relevance: 0 + }; + var NAME = { + keywords: keywords, + lexemes: SYMBOL_RE, + className: 'name', begin: SYMBOL_RE, + starts: BODY + }; + var DEFAULT_CONTAINS = [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL, SYMBOL]; + + LIST.contains = [hljs.COMMENT('comment', ''), NAME, BODY]; + BODY.contains = DEFAULT_CONTAINS; + COLLECTION.contains = DEFAULT_CONTAINS; + + return { + aliases: ['clj'], + illegal: /\S/, + contains: [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL] + } +};
\ No newline at end of file |