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/latex.php | 223 +++++++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 system/application/libraries/geshi/latex.php (limited to 'system/application/libraries/geshi/latex.php') diff --git a/system/application/libraries/geshi/latex.php b/system/application/libraries/geshi/latex.php new file mode 100644 index 000000000..ae7f0b3c5 --- /dev/null +++ b/system/application/libraries/geshi/latex.php @@ -0,0 +1,223 @@ + 'LaTeX', + 'COMMENT_SINGLE' => array( + 1 => '%' + ), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array(), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'addlinespace','and','address','appendix','author','backmatter', + 'bfseries','bibitem','bigskip','blindtext','caption','captionabove', + 'captionbelow','cdot','centering','chapter','cite','color', + 'colorbox','date','dedication','def','definecolor','documentclass', + 'edef','else','email','emph','eqref','extratitle','fbox','fi', + 'flushleft','flushright','footnote','frac','frontmatter', + 'graphicspath','hfill','hline','hspace','huge','ifx','include', + 'includegraphics','infty','input','int','item','itemsep', + 'KOMAoption','KOMAoptions','label','LaTeX','left','let','limits', + 'listfiles','listoffigures','listoftables','lowertitleback', + 'mainmatter','makeatletter','makeatother','makebox','makeindex', + 'maketitle','mbox','mediumskip','newcommand','newenvironment', + 'newpage','nocite','nonumber','pagestyle','par','paragraph', + 'parbox','parident','parskip','partial','publishers','raggedleft', + 'raggedright','raisebox','ref','renewcommand','renewenvironment', + 'right','rule','section','setlength','sffamily','subject', + 'subparagraph','subsection','subsubsection','subtitle','sum', + 'table','tableofcontents','textbf','textcolor','textit', + 'textnormal','textsuperscript','texttt','textwidth','thanks','title', + 'titlehead','today','ttfamily','uppertitleback','urlstyle', + 'usepackage','vspace' + ) + ), + 'SYMBOLS' => array( + "&", "\\", "{", "}", "[", "]" + ), + 'CASE_SENSITIVE' => array( + 1 => true, + GESHI_COMMENTS => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #800000;', + ), + 'COMMENTS' => array( + 1 => 'color: #2C922C; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000000; font-weight: bold;' + ), + 'BRACKETS' => array( + ), + 'STRINGS' => array( + 0 => 'color: #000000;' + ), + 'NUMBERS' => array( + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #E02020; ' + ), + 'REGEXPS' => array( + 1 => 'color: #8020E0; font-weight: normal;', // Math inner + 2 => 'color: #C08020; font-weight: normal;', // [Option] + 3 => 'color: #8020E0; font-weight: normal;', // Maths + 4 => 'color: #800000; font-weight: normal;', // Structure: Labels + 5 => 'color: #00008B; font-weight: bold;', // Structure (\section{->x<-}) + 6 => 'color: #800000; font-weight: normal;', // Structure (\section) + 7 => 'color: #0000D0; font-weight: normal;', // Environment \end or \begin{->x<-} (brighter blue) + 8 => 'color: #C00000; font-weight: normal;', // Structure \end or \begin + 9 => 'color: #2020C0; font-weight: normal;', // {...} + 10 => 'color: #800000; font-weight: normal;', // \%, \& etc. + 11 => 'color: #E00000; font-weight: normal;', // \@keyword + 12 => 'color: #800000; font-weight: normal;', // \keyword + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => 'http://www.golatex.de/wiki/index.php?title=%5C{FNAME}', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + // Math inner + 1 => array( + GESHI_SEARCH => "(\\\\begin\\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign)\\})(.*)(\\\\end\\{\\2\\})", + GESHI_REPLACE => '\3', + GESHI_MODIFIERS => 'Us', + GESHI_BEFORE => '\1', + GESHI_AFTER => '\4' + ), + // [options] + 2 => array( + GESHI_SEARCH => "(?<=\[).+(?=\])", + GESHI_REPLACE => '\0', + GESHI_MODIFIERS => 'Us', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + // Math mode with $ ... $ + 3 => array( + GESHI_SEARCH => "\\$.+\\$", + GESHI_REPLACE => '\0', + GESHI_MODIFIERS => 'Us', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + // Structure: Label + 4 => "\\\\(?:label|pageref|ref|cite)(?=[^a-zA-Z])", + // Structure: sections + 5 => array( + GESHI_SEARCH => "(\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?\\{)(.*)(?=\\})", + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => 'U', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '' + ), + // Structure: sections + 6 => "\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?(?=[^a-zA-Z])", + // environment \begin{} and \end{} (i.e. the things inside the {}) + 7 => array( + GESHI_SEARCH => "(\\\\(?:begin|end)\\{)(.*)(?=\\})", + GESHI_REPLACE => '\\2', + GESHI_MODIFIERS => 'U', + GESHI_BEFORE => '\\1', + GESHI_AFTER => '' + ), + // Structure \begin and \end + 8 => "\\\\(?:end|begin)(?=[^a-zA-Z])", + // {parameters} + 9 => array( + GESHI_SEARCH => "(?<=\\{)(?!<\|!REG3XP5!>).*(?=\\})", + GESHI_REPLACE => '\0', + GESHI_MODIFIERS => 'Us', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + // \%, \& usw. + 10 => "\\\\(?:[_$%]|&)", + // \@keywords + 11 => "(?)\\\\@[a-zA-Z]+\*?", + // \keywords + 12 => "(?)\\\\[a-zA-Z]+\*?", + +// --------------------------------------------- + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'COMMENTS' => array( + 'DISALLOWED_BEFORE' => '\\' + ), + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(?<=\\\\)", + 'DISALLOWED_AFTER' => "(?![A-Za-z0-9])" + ), + 'ENABLE_FLAGS' => array( + 'NUMBERS' => GESHI_NEVER, + 'BRACKETS' => GESHI_NEVER + ) + ) +); + +?> \ No newline at end of file -- cgit v1.2.3-24-g4f1b