From 4d57caedaa53da50eb55e574762cb82502b5fc02 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sun, 12 Sep 2010 02:04:21 +0200 Subject: switch to geshi for highlighting Signed-off-by: Florian Pritz --- system/application/libraries/geshi/logtalk.php | 330 +++++++++++++++++++++++++ 1 file changed, 330 insertions(+) create mode 100644 system/application/libraries/geshi/logtalk.php (limited to 'system/application/libraries/geshi/logtalk.php') diff --git a/system/application/libraries/geshi/logtalk.php b/system/application/libraries/geshi/logtalk.php new file mode 100644 index 000000000..3321e0de4 --- /dev/null +++ b/system/application/libraries/geshi/logtalk.php @@ -0,0 +1,330 @@ + 'Logtalk', + 'COMMENT_SINGLE' => array(1 => '%'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array(2 => "/0'./sim"), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'"), + 'HARDQUOTE' => array('"', '"'), + 'HARDESCAPE' => array(), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]+\\\\#", + //Octal Char Specs + 3 => "#\\\\[0-7]+\\\\#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX_0O | + GESHI_NUMBER_HEX_PREFIX | + GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + // Directives (with arguments) + 1 => array( + // file directives + 'encoding', 'ensure_loaded', + // flag directives + 'set_logtalk_flag', 'set_prolog_flag', + // entity opening directives + 'category', 'object', 'protocol', + // predicate scope directives + 'private', 'protected', 'public', + // conditional compilation directives + 'elif', 'if', + // entity directives + 'calls', 'initialization', 'op', 'uses', + // predicate directives + 'alias', 'discontiguous', 'dynamic', 'mode', 'info', 'meta_predicate', 'multifile', 'synchronized', + // module directives + 'export', 'module', 'reexport', 'use_module' + ), + // Directives (no arguments) + 2 => array( + // entity directives + 'dynamic', + // multi-threading directives + 'synchronized', 'threaded', + // entity closing directives + 'end_category', 'end_object', 'end_protocol', + // conditional compilation directives + 'else', 'endif' + ), + // Entity relations + 3 => array( + 'complements', 'extends', 'imports', 'implements','instantiates', 'specializes' + ), + // Built-in predicates (with arguments) + 4 => array( + // event handlers + 'after', 'before', + // execution-context methods + 'parameter', 'self', 'sender', 'this', + // predicate reflection + 'current_predicate', 'predicate_property', + // DCGs and term expansion + 'expand_goal', 'expand_term', 'goal_expansion', 'phrase', 'term_expansion', + // entity + 'abolish_category', 'abolish_object', 'abolish_protocol', + 'create_category', 'create_object', 'create_protocol', + 'current_category', 'current_object', 'current_protocol', + 'category_property', 'object_property', 'protocol_property', + // entity relations + 'complements_object', + 'extends_category', 'extends_object', 'extends_protocol', + 'implements_protocol', 'imports_category', + 'instantiates_class', 'specializes_class', + // events + 'abolish_events', 'current_event', 'define_events', + // flags + 'current_logtalk_flag', 'set_logtalk_flag', + 'current_prolog_flag', 'set_prolog_flag', + // compiling, loading, and library path + 'logtalk_compile', 'logtalk_library_path', 'logtalk_load', + // database + 'abolish', 'asserta', 'assertz', 'clause', 'retract', 'retractall', + // control + 'call', 'catch', 'once', 'throw', + // all solutions predicates + 'bagof', 'findall', 'forall', 'setof', + // multi-threading meta-predicates + 'threaded', + 'threaded_call', 'threaded_once', 'threaded_ignore', 'threaded_exit', 'threaded_peek', + 'threaded_wait', 'threaded_notify', + // term unification + 'unify_with_occurs_check', + // atomic term processing + 'atom_chars', 'atom_codes', 'atom_concat', 'atom_length', + 'number_chars', 'number_codes', + 'char_code', + // term creation and decomposition + 'arg', 'copy_term', 'functor', + // term testing + 'atom', 'atomic', 'compound', 'float', 'integer', 'nonvar', 'number', 'sub_atom', 'var', + // stream selection and control + 'current_input', 'current_output', 'set_input', 'set_output', + 'open', 'close', 'flush_output', 'stream_property', + 'at_end_of_stream', 'set_stream_position', + // character and byte input/output predicates + 'get_byte', 'get_char', 'get_code', + 'peek_byte', 'peek_char', 'peek_code', + 'put_byte', 'put_char', 'put_code', + 'nl', + // term input/output predicates + 'current_op', 'op', + 'write', 'writeq', 'write_canonical', 'write_term', + 'read', 'read_term', + 'char_conversion', 'current_char_conversion', + // + 'halt' + ), + // Built-in predicates (no arguments) + 5 => array( + // control + 'fail', 'repeat', 'true', + // character and byte input/output predicates + 'nl', + // implementation defined hooks functions + 'halt', + // arithemtic evaluation + 'is', + // stream selection and control + 'at_end_of_stream', 'flush_output' + ), + // Evaluable functors (with arguments) + 6 => array( + 'float_integer_part', 'float_fractional_part', + 'rem', 'mod', 'abs', 'sign', 'floor', 'truncate', 'round', 'ceiling', + 'cos', 'atan', 'exp', 'log', 'sin', 'sqrt' + ), + // Evaluable functors (no arguments) + 7 => array( + 'mod', 'rem' + ), + ), + 'SYMBOLS' => array( + 0 => array( + // external call + '{', '}' + ), + 1 => array( + // arithemtic comparison + '=:=', '=\=', '<', '=<', '>=', '>', + // term comparison + '<<', '>>', '/\\', '\\/', '\\', + // bitwise functors + '==', '\==', '@<', '@=<', '@>=', '@>', + // evaluable functors + '+', '-', '*', '/', '**', + // logic and control + '!', '\\+', ';', + // message sending operators + '::', '^^', ':', + // grammar rule and conditional functors + '-->', '->', + // mode operators + '@', '?', + // term to list predicate + '=..', + // unification + '=', '\\=' + ), + 2 => array( + // clause and directive functors + ':-' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #2e4dc9;', + 2 => 'color: #2e4dc9;', + 3 => 'color: #2e4dc9;', + 4 => 'color: #9d4f37;', + 5 => 'color: #9d4f37;', + 6 => 'color: #9d4f37;', + 7 => 'color: #9d4f37;' + ), + 'NUMBERS' => array( + 0 => 'color: #430000;' + ), + 'COMMENTS' => array( + 1 => 'color: #60a0b0; font-style: italic;', + 2 => 'color: #430000;', + 'MULTI' => 'color: #60a0b0; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #9f0000; font-weight: bold;', + 1 => 'color: #9f0000; font-weight: bold;', + 2 => 'color: #9f0000; font-weight: bold;', + 3 => 'color: #9f0000; font-weight: bold;', + 'HARD' => '', + ), + 'SYMBOLS' => array( + 0 => 'color: #666666;font-weight: bold;', + 1 => 'color: #666666;font-weight: bold;', + 2 => 'color: #000000;' + ), + 'BRACKETS' => array( + 0 => 'color: #000000;' + ), + 'STRINGS' => array( + 0 => 'color: #9f0000;', + 'HARD' => 'color: #9f0000;' + ), + 'METHODS' => array( + ), + 'REGEXPS' => array( + 0 => 'color: #848484;' + ), + 'SCRIPT' => array() + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + 1 => '::' + ), + 'REGEXPS' => array( + // variables + 0 => '\b(?!(?:PIPE|SEMI|REG3XP\d*)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'ENABLE_FLAGS' => array( + 'BRACKETS' => GESHI_NEVER + ), + 'KEYWORDS' => array( + 1 => array( + 'DISALLOWED_BEFORE' => '(?<=:-\s)', + 'DISALLOWED_AFTER' => '(?=\()' + ), + 2 => array( + 'DISALLOWED_BEFORE' => '(?<=:-\s)', + 'DISALLOWED_AFTER' => '(?=\.)' + ), + 3 => array( + 'DISALLOWED_BEFORE' => '(?|^&\'"])', + 'DISALLOWED_AFTER' => '(?=\()' + ), + 4 => array( + 'DISALLOWED_BEFORE' => '(?|^&\'"])', + 'DISALLOWED_AFTER' => '(?=\()' + ), + 5 => array( + 'DISALLOWED_BEFORE' => '(?|^&\'"])', + 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\'"])' + ), + 6 => array( + 'DISALLOWED_BEFORE' => '(?|^&\'"])', + 'DISALLOWED_AFTER' => '(?=\()' + ), + 7 => array( + 'DISALLOWED_BEFORE' => '(?|^&\'"])', + 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\'"])' + ) + ) + ), +); + +?> \ No newline at end of file -- cgit v1.2.3-24-g4f1b