Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add the enscript state file for clojure |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | e12e0b1991f2363ecde2d8821af92259a8a06817 |
User & Date: | mwm@mired.org 2010-08-23 01:19:46 |
Context
2010-09-06
| ||
00:47 | Add the word monkey source code. check-in: 1a04a6f9bc user: mwm@mired.org tags: trunk | |
2010-08-23
| ||
01:19 | Add the enscript state file for clojure check-in: e12e0b1991 user: mwm@mired.org tags: trunk | |
2010-08-19
| ||
21:24 | Add a test case and run it check-in: 8635150a25 user: mwm@mired.org tags: trunk | |
Changes
Added clojure/clojure.st.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
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 |
/** * Name: clojure * Description: Clojure programming language. * Author: Mike Meyer <mwm@mired.org> */ state clojure extends HighlightEntry { BEGIN { /* * Modify regexp character syntax so that we can distinguish all * clojure symbols. */ extras = list ('+', '-', '!', '*', '/', '?', '.', '>'); for (i = 0; i < length (extras); i = i + 1) regexp_syntax (extras[i], 'w'); } /* Comments. */ /;/ { comment_face (true); language_print ($0); call (eat_one_line); comment_face (false); } /* String constants. */ /([^\\\])(\")/ { language_print ($1); string_face (true); language_print ($2); call (c_string); string_face (false); } /* Definitions. */ /(\([ \t]*)(def(|n|macro|multi|method|once|struct)-?)([ \t]+\(?)([!\*\/\?_+\-\.^a-zA-Z][!\*\/\?_^a-zA-Z0-9.+\-]*)/ { /* Starting garbage. */ language_print ($1); /* Keyword `def*'. */ keyword_face (true); language_print ($2); keyword_face (false); /* Middle garbage. */ language_print ($4); /* Function name. */ function_name_face (true); language_print ($5); function_name_face (false); } /* ':'-names, Emacs highlights these, so do we. */ /(\W)(:[!\*\/\?_^a-zA-Z0-9.+\-]*)/ { language_print ($1); reference_face (true); language_print ($2); reference_face (false); } /* Special forms */ /\W(if|do|let|quote|var|fn|map\?|loop|recur|throw|try|monitor-enter|monitor-exit)\b/ { keyword_face (true); language_print ($0); keyword_face (false); } /* Built-in function invocations */ /(\([ \t]*)(\*|\*1|\*2|\*3|\*agent\*|\*allow-unresolved-vars\*|\*assert\*|\*clojure-version\*|\*command-line-args\*|\*compile-files\*|\*compile-path\*|\*e|\*err\*|\*file\*|\*flush-on-newline\*|\*in\*|\*macro-meta\*|\*math-context\*|\*ns\*|\*out\*|\*print-dup\*|\*print-length\*|\*print-level\*|\*print-meta\*|\*print-readably\*|\*read-eval\*|\*source-path\*|\*use-context-classloader\*|\*warn-on-reflection\*|+|-|\/|<|<=|=|==|>|>=|\->|\->>|\.\.|accessor|aclone|agent|agent-errors|aget|alength|alias|all-ns|alter|alter-meta!|alter-var-root|amap|ancestors|and|apply|areduce|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|assoc!|assoc-in|associative\?|atom|await|await-for|await1|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\*|butlast|byte|byte-array|bytes|cast|char|char-array|char-escape-string|char-name-string|char\?|chars|chunk|chunk-append|chunk-buffer|chunk-cons|chunk-first|chunk-next|chunk-rest|chunked-seq\?|class|class\?|clear-agent-errors|clojure-version|coll\?|comment|commute|comp|comparator|compare|compare-and-set!|compile|complement|concat|cond|condp|conj|conj!|cons|constantly|construct-proxy|contains\?|count|counted\?|create-ns|create-struct|cycle|dec|decimal\?|declare|definline|defmacro|defmethod|defmulti|defn|defn-|defonce|defstruct|delay|delay\?|deliver|deref|derive|descendants|destructure|disj|disj!|dissoc|dissoc!|distinct|distinct\?|doall|doc|dorun|doseq|dosync|dotimes|doto|double|double-array|doubles|drop|drop-last|drop-while|empty|empty\?|ensure|enumeration-seq|eval|even\?|every\?|extend|extend-protocol|extend-type|extends\?|extenders|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|float-array|float\?|floats|flush|fn|fn\?|fnext|for|force|format|future|future-call|future-cancel|future-cancelled\?|future-done\?|future\?|gen-class|gen-interface|gensym|get|get-in|get-method|get-proxy-class|get-thread-bindings|get-validator|hash|hash-map|hash-set|identical\?|identity|if-let|if-not|ifn\?|import|in-ns|inc|init-proxy|instance\?|int|int-array|integer\?|interleave|intern|interpose|into|into-array|ints|io!|isa\?|iterate|iterator-seq|juxt|key|keys|keyword|keyword\?|last|lazy-cat|lazy-seq|let|letfn|line-seq|list|list\*|list\?|load|load-file|load-reader|load-string|loaded-libs|locking|long|long-array|longs|loop|macroexpand|macroexpand-1|make-array|make-hierarchy|map|map\?|mapcat|max|max-key|memfn|memoize|merge|merge-with|meta|method-sig|methods|min|min-key|mod|name|namespace|neg\?|newline|next|nfirst|nil\?|nnext|not|not-any\?|not-empty|not-every\?|not=|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|pcalls|peek|persistent!|pmap|pop|pop!|pop-thread-bindings|pos\?|pr|pr-str|prefer-method|prefers|primitives-classnames|print|print-ctor|print-doc|print-dup|print-method|print-namespace-doc|print-simple|print-special-doc|print-str|printf|println|println-str|prn|prn-str|promise|proxy|proxy-call-with-super|proxy-mappings|proxy-name|proxy-super|push-thread-bindings|pvalues|quot|rand|rand-int|range|ratio\?|rational\?|rationalize|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|read-string|reify|reduce|ref|ref-history-count|ref-max-history|ref-min-history|ref-set|refer|refer-clojure|release-pending-sends|rem|remove|remove-method|remove-ns|repeat|repeatedly|replace|replicate|require|reset!|reset-meta!|resolve|rest|resultset-seq|reverse|reversible\?|rseq|rsubseq|satisfies\?|second|select-keys|send|send-off|seq|seq\?|seque|sequence|sequential\?|set|set-validator!|set\?|short|short-array|shorts|shutdown-agents|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|sorted-set-by|sorted\?|special-form-anchor|special-symbol\?|split-at|split-with|str|stream\?|string\?|struct|struct-map|subs|subseq|subvec|supers|swap!|symbol|symbol\?|sync|syntax-symbol-anchor|take|take-last|take-nth|take-while|test|the-ns|time|to-array|to-array-2d|trampoline|transient|tree-seq|true\?|type|unchecked-add|unchecked-dec|unchecked-divide|unchecked-inc|unchecked-multiply|unchecked-negate|unchecked-remainder|unchecked-subtract|underive|unquote|unquote-splicing|update-in|update-proxy|use|val|vals|var-get|var-set|var\?|vary-meta|vec|vector|vector\?|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|xml-seq)\b/ { language_print ($1); function_name_face (true); language_print ($2); function_name_face (false); } } /* Local variables: mode: c End: */ |