1<?php 2/************************************************************************************* 3 * clojure.php 4 * -------- 5 * Author: Jess Johnson (jess@grok-code.com) 6 * Copyright: (c) 2009 Jess Johnson (http://grok-code.com) 7 * Release Version: 1.0.9.1 8 * Date Started: 2009/09/20 9 * 10 * Clojure language file for GeSHi. 11 * 12 * This file borrows significantly from the lisp language file for GeSHi 13 * 14 * CHANGES 15 * ------- 16 * 2009/09/20 (1.0.8.6) 17 * - First Release 18 * 19 * TODO (updated 2009/09/20) 20 * ------------------------- 21 * 22 ************************************************************************************* 23 * 24 * This file is part of GeSHi. 25 * 26 * GeSHi is free software; you can redistribute it and/or modify 27 * it under the terms of the GNU General Public License as published by 28 * the Free Software Foundation; either version 2 of the License, or 29 * (at your option) any later version. 30 * 31 * GeSHi is distributed in the hope that it will be useful, 32 * but WITHOUT ANY WARRANTY; without even the implied warranty of 33 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 34 * GNU General Public License for more details. 35 * 36 * You should have received a copy of the GNU General Public License 37 * along with GeSHi; if not, write to the Free Software 38 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 39 * 40 ************************************************************************************/ 41 42$language_data = array ( 43 'LANG_NAME' => 'Clojure', 44 'COMMENT_SINGLE' => array(1 => ';'), 45 'COMMENT_MULTI' => array(';|' => '|;'), 46 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 47 'QUOTEMARKS' => array('"'), 48 'ESCAPE_CHAR' => '\\', 49 'KEYWORDS' => array( 50 1 => array( 51 'defn', 'defn-', 'defmulti', 'defmethod', 'defmacro', 'deftest', 52 'defstruct', 'def', 'defonce', 'let', 'letfn', 'do', 'cond', 'condp', 53 'for', 'loop', 'recur', 'when', 'when-not', 'when-let', 'when-first', 54 'if', 'if-let', 'if-not', 'doto', 'and', 'or','not','aget','aset', 55 'dosync', 'doseq', 'dotimes', 'dorun', 'doall', 56 'load', 'import', 'unimport', 'ns', 'in-ns', 'refer', 'print', 57 'try', 'catch', 'finally', 'throw', 'fn', 'update-in', 58 'with-open', 'with-local-vars', 'binding', 59 'gen-class', 'gen-and-load-class', 'gen-and-save-class', 60 'implement', 'proxy', 'lazy-cons', 'with-meta', 61 'struct', 'struct-map', 'delay', 'locking', 'sync', 'time', 'apply', 62 'remove', 'merge', 'interleave', 'interpose', 'distinct', 63 'cons', 'concat', 'lazy-cat', 'cycle', 'rest', 'frest', 'drop', 64 'drop-while', 'nthrest', 'take', 'take-while', 'take-nth', 'butlast', 65 'reverse', 'sort', 'sort-by', 'split-at', 'partition', 'split-with', 66 'first', 'ffirst', 'rfirst', 'zipmap', 'into', 'set', 'vec', 67 'to-array-2d', 'not-empty', 'seq?', 'not-every?', 'every?', 'not-any?', 68 'map', 'mapcat', 'vector?', 'list?', 'hash-map', 'reduce', 'filter', 69 'vals', 'keys', 'rseq', 'subseq', 'rsubseq', 'count', 'empty?', 70 'fnseq', 'repeatedly', 'iterate', 'drop-last', 71 'repeat', 'replicate', 'range', 'into-array', 72 'line-seq', 'resultset-seq', 're-seq', 're-find', 'tree-seq', 'file-seq', 73 'iterator-seq', 'enumeration-seq', 'declare', 'xml-seq', 74 'symbol?', 'string?', 'vector', 'conj', 'str', 75 'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'dec', 'format', 76 'alter', 'commute', 'ref-set', 'floor', 'assoc', 'send', 'send-off' 77 ) 78 ), 79 'SYMBOLS' => array( 80 '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|', '.', '..', '->', 81 ), 82 'CASE_SENSITIVE' => array( 83 GESHI_COMMENTS => true, 84 1 => false 85 ), 86 'STYLES' => array( 87 'KEYWORDS' => array( 88 1 => 'color: #b1b100;' 89 ), 90 'COMMENTS' => array( 91 1 => 'color: #808080; font-style: italic;', 92 'MULTI' => 'color: #808080; font-style: italic;' 93 ), 94 'ESCAPE_CHAR' => array( 95 0 => 'color: #000099; font-weight: bold;' 96 ), 97 'BRACKETS' => array( 98 0 => 'color: #66cc66;' 99 ), 100 'STRINGS' => array( 101 0 => 'color: #ff0000;' 102 ), 103 'NUMBERS' => array( 104 0 => 'color: #cc66cc;' 105 ), 106 'METHODS' => array( 107 0 => 'color: #555;', 108 1 => 'color: #555;' 109 ), 110 'SYMBOLS' => array( 111 0 => 'color: #66cc66;' 112 ), 113 'REGEXPS' => array( 114 ), 115 'SCRIPT' => array( 116 ) 117 ), 118 'URLS' => array( 119 1 => '' 120 ), 121 'OOLANG' => true, 122 'OBJECT_SPLITTERS' => array( 123 '::', ':' 124 ), 125 'REGEXPS' => array( 126 ), 127 'STRICT_MODE_APPLIES' => GESHI_NEVER, 128 'SCRIPT_DELIMITERS' => array( 129 ), 130 'HIGHLIGHT_STRICT_BLOCK' => array( 131 ) 132); 133