diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2009-12-11 01:16:01 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2009-12-11 01:16:20 +0100 |
commit | 48d7424647b146a66c5bde93ee836919933a4150 (patch) | |
tree | 3eb816e42a0cd857cf831c57baa59ad7cee478c7 /paste/include/geshi/contexts/codeworker | |
parent | 8242c982ebcdfc67274c8ab79a2f34aa451872d7 (diff) | |
download | rafb-nopaste-48d7424647b146a66c5bde93ee836919933a4150.tar.gz rafb-nopaste-48d7424647b146a66c5bde93ee836919933a4150.tar.xz rafb-nopaste-48d7424647b146a66c5bde93ee836919933a4150.zip |
added geshi syntax highlighter
Diffstat (limited to 'paste/include/geshi/contexts/codeworker')
-rw-r--r-- | paste/include/geshi/contexts/codeworker/codeworker.php | 126 | ||||
-rw-r--r-- | paste/include/geshi/contexts/codeworker/cworkercwt.php | 138 | ||||
-rw-r--r-- | paste/include/geshi/contexts/codeworker/cwt.php | 41 | ||||
-rw-r--r-- | paste/include/geshi/contexts/codeworker/roughtext.php | 58 |
4 files changed, 363 insertions, 0 deletions
diff --git a/paste/include/geshi/contexts/codeworker/codeworker.php b/paste/include/geshi/contexts/codeworker/codeworker.php new file mode 100644 index 0000000..0ea1155 --- /dev/null +++ b/paste/include/geshi/contexts/codeworker/codeworker.php @@ -0,0 +1,126 @@ +<?php +/** + * GeSHi - Generic Syntax Highlighter + * + * For information on how to use GeSHi, please consult the documentation + * found in the docs/ directory, or online at http://geshi.org/docs/ + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * You can view a copy of the GNU GPL in the COPYING file that comes + * with GeSHi, in the docs/ directory. + * + * @package lang + * @author Nigel McNie <nigel@geshi.org> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL + * @copyright (C) 2005 Nigel McNie + * @version 1.1.0 + * + */ + +/** Get the GeSHiStringContext class */ +require_once GESHI_CLASSES_ROOT . 'class.geshistringcontext.php'; + +$this->_childContexts = array( + new GeSHiContext('codeworker', $DIALECT, 'common/multi_comment'), + new GeSHiContext('codeworker', $DIALECT, 'common/single_comment'), + new GeSHiStringContext('codeworker', $DIALECT, 'common/single_string'), + new GeSHiStringContext('codeworker', $DIALECT, 'common/double_string'), + new GeSHiContext('codeworker', $DIALECT, 'roughtext') +); + +$this->_styler->setStyle($CONTEXT, 'color:#000;'); + +$this->_contextKeywords = array( + 0 => array( + 0 => array( + 'foreach', 'forfile', 'in', 'if', 'else', 'while', 'do', 'local', 'ref', 'localref', + 'value', 'node', 'function', 'return', 'insert', 'pushItem', 'break' + ), + 1 => $CONTEXT . '/keywords', + 2 => 'color:#000;font-weight:bold;', + 3 => false, + 4 => '' + ), + 1 => array( + 0 => array( + 'traceLine', 'removeElement', 'clearVariable', 'incrementIndentLevel', + 'decrementIndentLevel', 'setInputLocation', 'readChars', 'getShortFilename', + 'getInputFilename', 'getOutputFilename', 'replaceString', 'subString', 'rsubString', + 'findLastString', 'leftString', 'midString', 'startString', 'toLowerString', + 'toUpperString', 'composeCLikeString', 'composeHTMLLikeString', 'loadFile', 'size', + 'empty', 'key', 'first', 'last' + ), + 1 => $CONTEXT . '/functions', + 2 => 'color:#006;', + 3 => false, + 4 => '' + ), + 2 => array( + 0 => array( + 'project', 'this', '_ARGS', '_REQUEST', 'true', 'false' + ), + 1 => $CONTEXT . '/constants', + 2 => 'color:#900;font-weight:bold;', + 3 => false, + 4 => '' + ), + 3 => array( + 0 => array( + 'parseAsBNF', 'parseStringAsBNF', 'translate', 'translateString' + ), + 1 => $CONTEXT . '/sfunctions', + 2 => 'color:#006;font-weight:bold;', + 3 => false, + 4 => '' + ) +); + +$this->_contextSymbols = array( + 0 => array( + 0 => array( + '|', '=', '!', ':', '(', ')', ',', '<', '>', '&', '$', '+', '-', '*', '/', + '{', '}', ';', '[', ']', '~', '?' + ), + 1 => $CONTEXT . '/sym', + 2 => 'color:#008000;' + ) +); + +$this->_contextRegexps = array( + 0 => array( + 0 => array( + '/(#[a-zA-Z][a-zA-Z0-9\-_]*)/' + ), + 1 => '#', + 2 => array( + 1 => array($CONTEXT . '/preprocessor', 'color:#933;', false) + ) + ), + 1 => geshi_use_doubles($CONTEXT), + 2 => geshi_use_integers($CONTEXT) +); + +$this->_objectSplitters = array( + 0 => array( + 0 => array('.'), + 1 => $CONTEXT . '/oodynamic', + 2 => 'color:#559;', + 3 => true // Check that matched method isn't a keyword first + ) +); +?> diff --git a/paste/include/geshi/contexts/codeworker/cworkercwt.php b/paste/include/geshi/contexts/codeworker/cworkercwt.php new file mode 100644 index 0000000..69310ae --- /dev/null +++ b/paste/include/geshi/contexts/codeworker/cworkercwt.php @@ -0,0 +1,138 @@ +<?php +/** + * GeSHi - Generic Syntax Highlighter + * + * For information on how to use GeSHi, please consult the documentation + * found in the docs/ directory, or online at http://geshi.org/docs/ + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * You can view a copy of the GNU GPL in the COPYING file that comes + * with GeSHi, in the docs/ directory. + * + * @package lang + * @author Nigel McNie <nigel@geshi.org> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL + * @copyright (C) 2005 Nigel McNie + * @version 1.1.0 + * + */ + +/** Get the GeSHiStringContext class */ +require_once GESHI_CLASSES_ROOT . 'class.geshistringcontext.php'; + +$this->_contextDelimiters = array( + 0 => array( + 0 => array('@', '<%'), + 1 => array('@', '%>'), + 2 => false + ) +); + +$this->_childContexts = array( + // Normally you'd use $DIALECT for the second parameter, but we want this + // context to be as much like codeworker/codeworker as possible + new GeSHiContext('codeworker', 'codeworker', 'common/multi_comment'), + new GeSHiContext('codeworker', 'codeworker', 'common/single_comment'), + new GeSHiStringContext('codeworker', 'codeworker', 'common/single_string'), + new GeSHiStringContext('codeworker', 'codeworker', 'common/double_string') +); + +//Skip styling since should already be done in codeworker/codeworker +//$this->_styler->setStyle($CONTEXT, 'color:#000;'); + +$this->_contextKeywords = array( + 0 => array( + 0 => array( + 'foreach', 'forfile', 'in', 'if', 'else', 'while', 'do', 'local', 'ref', 'localref', + 'value', 'node', 'function', 'return', 'insert', 'pushItem', 'break' + ), + // Again, we're faking being like codeworker + 1 => 'codeworker/codeworker/keywords', + 2 => 'color:#000;font-weight:bold;', + 3 => false, + 4 => '' + ), + 1 => array( + 0 => array( + 'traceLine', 'removeElement', 'clearVariable', 'incrementIndentLevel', + 'decrementIndentLevel', 'setInputLocation', 'readChars', 'getShortFilename', + 'getInputFilename', 'getOutputFilename', 'replaceString', 'subString', 'rsubString', + 'findLastString', 'leftString', 'midString', 'startString', 'toLowerString', + 'toUpperString', 'composeCLikeString', 'composeHTMLLikeString', 'loadFile', 'size', + 'empty', 'key', 'first', 'last' + ), + 1 => 'codeworker/codeworker/functions', + 2 => 'color:#006;', + 3 => false, + 4 => '' + ), + 2 => array( + 0 => array( + 'project', 'this', '_ARGS', '_REQUEST', 'true', 'false' + ), + 1 => 'codeworker/codeworker/constants', + 2 => 'color:#900;font-weight:bold;', + 3 => false, + 4 => '' + ), + 3 => array( + 0 => array( + 'parseAsBNF', 'parseStringAsBNF', 'translate', 'translateString' + ), + 1 => 'codeworker/codeworker/sfunctions', + 2 => 'color:#006;font-weight:bold;', + 3 => false, + 4 => '' + ) +); + +$this->_contextSymbols = array( + 0 => array( + 0 => array( + '|', '=', '!', ':', '(', ')', ',', '<', '>', '&', '$', '+', '-', '*', '/', + '{', '}', ';', '[', ']', '~', '?' + ), + 1 => 'codeworker/codeworker/sym', + 2 => 'color:#008000;' + ) +); + +$this->_contextRegexps = array( + 0 => array( + 0 => array( + '/(#[a-zA-Z][a-zA-Z0-9\-_]*)/' + ), + 1 => '#', + 2 => array( + 1 => array('codeworker/codeworker/preprocessor', 'color:#933;', false) + ) + ), + 1 => geshi_use_doubles('codeworker/codeworker'), + 2 => geshi_use_integers('codeworker/codeworker') +); + +$this->_objectSplitters = array( + 0 => array( + 0 => array('.'), + 1 => 'codeworker/codeworker/oodynamic', + 2 => 'color:#559;', + 3 => true // Check that matched method isn't a keyword first + ) +); + +?> diff --git a/paste/include/geshi/contexts/codeworker/cwt.php b/paste/include/geshi/contexts/codeworker/cwt.php new file mode 100644 index 0000000..46337e9 --- /dev/null +++ b/paste/include/geshi/contexts/codeworker/cwt.php @@ -0,0 +1,41 @@ +<?php +/** + * GeSHi - Generic Syntax Highlighter + * + * For information on how to use GeSHi, please consult the documentation + * found in the docs/ directory, or online at http://geshi.org/docs/ + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * You can view a copy of the GNU GPL in the COPYING file that comes + * with GeSHi, in the docs/ directory. + * + * @package lang + * @author Nigel McNie <nigel@geshi.org> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL + * @copyright (C) 2005 Nigel McNie + * @version 1.1.0 + * + */ + +$this->_styler->setStyle($CONTEXT, 'color:#f00;'); + +$this->_childContexts = array( + new GeSHiCodeContext('codeworker', $DIALECT, 'cworkercwt') +); + +?> diff --git a/paste/include/geshi/contexts/codeworker/roughtext.php b/paste/include/geshi/contexts/codeworker/roughtext.php new file mode 100644 index 0000000..4e465b5 --- /dev/null +++ b/paste/include/geshi/contexts/codeworker/roughtext.php @@ -0,0 +1,58 @@ +<?php
+/**
+ * GeSHi - Generic Syntax Highlighter
+ *
+ * For information on how to use GeSHi, please consult the documentation
+ * found in the docs/ directory, or online at http://geshi.org/docs/
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * You can view a copy of the GNU GPL in the COPYING file that comes
+ * with GeSHi, in the docs/ directory.
+ *
+ * @package lang
+ * @author Nigel McNie <nigel@geshi.org> + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL
+ * @copyright (C) 2005 Nigel McNie
+ * @version 1.1.0 + *
+ */
+
+$this->_contextDelimiters = array(
+ 0 => array(
+ 0 => array('REGEX#generate\s*\(\s*\{#'),
+ 1 => array('}'),
+ 2 => false
+ ),
+ 1 => array(
+ 0 => array('REGEX#generateString\s*\(\s*\{#'),
+ 1 => array('}'),
+ 2 => false
+ ),
+ 2 => array(
+ 0 => array('REGEX#expand\s*\(\s*\{#'),
+ 1 => array('}'),
+ 2 => false
+ )
+);
+
+$this->_styler->setStyle($CONTEXT, 'color:#f00;');
+//$this->_contextStyleType = GESHI_STYLE_NONE;
+$this->_delimiterParseData = GESHI_CHILD_PARSE_NONE;
+$this->_overridingChildContext =& new GeSHiCodeContext('codeworker', 'cwt');
+
+?>
|