From: <ora...@us...> - 2007-02-25 04:47:45
|
Revision: 925 http://geshi.svn.sourceforge.net/geshi/?rev=925&view=rev Author: oracleshinoda Date: 2007-02-24 20:47:44 -0800 (Sat, 24 Feb 2007) Log Message: ----------- Merged whitespace/code style changes to trunk Modified Paths: -------------- trunk/geshi-1.0.X/src/geshi.php Modified: trunk/geshi-1.0.X/src/geshi.php =================================================================== --- trunk/geshi-1.0.X/src/geshi.php 2007-02-24 21:41:42 UTC (rev 924) +++ trunk/geshi-1.0.X/src/geshi.php 2007-02-25 04:47:44 UTC (rev 925) @@ -25,11 +25,11 @@ * along with GeSHi; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * @package core - * @author Nigel McNie <ni...@ge...> - * @copyright Copyright © 2004, 2005, Nigel McNie - * @license http://gnu.org/copyleft/gpl.html GNU GPL - * @version $Id$ + * @package geshi + * @subpackage core + * @author Nigel McNie <ni...@ge...> + * @copyright (C) 2004 - 2007 Nigel McNie + * @license http://gnu.org/copyleft/gpl.html GNU GPL * */ @@ -153,10 +153,9 @@ * * @package core * @author Nigel McNie <ni...@ge...> - * @copyright Copyright © 2004, 2005 Nigel McNie + * @copyright (C) 2004 - 2007 Nigel McNie */ -class GeSHi -{ +class GeSHi { /**#@+ * @access private */ @@ -164,39 +163,38 @@ * The source code to highlight * @var string */ - var $source = ''; + var $source = ''; /** * The language to use when highlighting * @var string */ - var $language = ''; + var $language = ''; /** * The data for the language used * @var array */ - var $language_data = array(); + var $language_data = array(); /** * The path to the language files * @var string */ - var $language_path = GESHI_LANG_ROOT; + var $language_path = GESHI_LANG_ROOT; /** * The error message associated with an error * @var string * @todo check err reporting works */ - var $error = false; + var $error = false; /** * Possible error messages * @var array */ var $error_messages = array( - //GESHI_ERROR_NO_INPUT => 'No source code inputted', GESHI_ERROR_NO_SUCH_LANG => 'GeSHi could not find the language {LANGUAGE} (using path {PATH})', GESHI_ERROR_FILE_NOT_READABLE => 'The file specified for load_from_file was not readable', GESHI_ERROR_INVALID_HEADER_TYPE => 'The header type specified is invalid', @@ -207,35 +205,31 @@ * Whether highlighting is strict or not * @var boolean */ - var $strict_mode = false; + var $strict_mode = false; /** * Whether to use CSS classes in output * @var boolean */ - var $use_classes = false; + var $use_classes = false; /** * The type of header to use. Can be one of the following * values: * - * <ul> - * <li><b>GESHI_HEADER_PRE</b>: Source is outputted in - * a <pre> HTML element.</li> - * <li><b>GESHI_HEADER_DIV</b>: Source is outputted in - * a <div> HTML element.</li> - * <li><b>GESHI_HEADER_NONE</b>: No header is outputted.</li> - * </ul> + * - GESHI_HEADER_PRE: Source is outputted in a "pre" HTML element. + * - GESHI_HEADER_DIV: Source is outputted in a "div" HTML element. + * - GESHI_HEADER_NONE: No header is outputted. * * @var int */ - var $header_type = GESHI_HEADER_PRE; + var $header_type = GESHI_HEADER_PRE; /** * Array of permissions for which lexics should be highlighted * @var array */ - var $lexic_permissions = array( + var $lexic_permissions = array( 'KEYWORDS' => array(), 'COMMENTS' => array('MULTI' => true), 'REGEXPS' => array(), @@ -258,31 +252,31 @@ * The content of the header block * @var string */ - var $header_content = ''; + var $header_content = ''; /** * The content of the footer block * @var string */ - var $footer_content = ''; + var $footer_content = ''; /** * The style of the header block * @var string */ - var $header_content_style = ''; + var $header_content_style = ''; /** * The style of the footer block * @var string */ - var $footer_content_style = ''; + var $footer_content_style = ''; /** * The styles for hyperlinks in the code * @var array */ - var $link_styles = array(); + var $link_styles = array(); /** * Whether important blocks should be recognised or not @@ -290,7 +284,7 @@ * @deprecated * @todo REMOVE THIS FUNCTIONALITY! */ - var $enable_important_blocks = false; + var $enable_important_blocks = false; /** * Styles for important parts of the code @@ -299,95 +293,95 @@ * @todo As above - rethink the whole idea of important blocks as it is buggy and * will be hard to implement in 1.2 */ - var $important_styles = 'font-weight: bold; color: red;'; // Styles for important parts of the code + var $important_styles = 'font-weight: bold; color: red;'; // Styles for important parts of the code /** * Whether CSS IDs should be added to the code * @var boolean */ - var $add_ids = false; + var $add_ids = false; /** * Lines that should be highlighted extra * @var array */ - var $highlight_extra_lines = array(); + var $highlight_extra_lines = array(); /** * Styles of extra-highlighted lines * @var string */ - var $highlight_extra_lines_style = 'color: #cc0; background-color: #ffc;'; + var $highlight_extra_lines_style = 'color: #cc0; background-color: #ffc;'; /** * Number at which line numbers should start at * @var int - * @todo Warning documentation about XHTML compliance */ - var $line_numbers_start = 1; + var $line_numbers_start = 1; - /** + /** * The overall style for this code block * @var string - */ - var $overall_style = ''; + */ + var $overall_style = ''; /** * The style for the actual code * @var string */ - var $code_style = 'font-family: \'Courier New\', Courier, monospace; font-weight: normal;'; + var $code_style = 'font-family: \'Courier New\', Courier, monospace; font-weight: normal;'; /** * The overall class for this code block * @var string */ - var $overall_class = ''; + var $overall_class = ''; /** * The overall ID for this code block * @var string */ - var $overall_id = ''; + var $overall_id = ''; - /** + /** * Line number styles * @var string */ - var $line_style1 = 'font-family: \'Courier New\', Courier, monospace; color: black; font-weight: normal; font-style: normal;'; + var $line_style1 = 'font-family: \'Courier New\', Courier, monospace; color: black; font-weight: normal; font-style: normal;'; /** * Line number styles for fancy lines * @var string */ - var $line_style2 = 'font-weight: bold;'; + var $line_style2 = 'font-weight: bold;'; /** * Flag for how line nubmers are displayed * @var boolean */ - var $line_numbers = GESHI_NO_LINE_NUMBERS; + var $line_numbers = GESHI_NO_LINE_NUMBERS; /** * The "nth" value for fancy line highlighting * @var int */ - var $line_nth_row = 0; + var $line_nth_row = 0; - /** + /** * The size of tab stops * @var int - */ - var $tab_width = 8; + */ + var $tab_width = 8; /** * Default target for keyword links * @var string */ - var $link_target = ''; + var $link_target = ''; /** * The encoding to use for entity encoding + * NOTE: no longer used * @var string */ var $encoding = 'ISO-8859-1'; @@ -400,8 +394,8 @@ /**#@-*/ - /** - * Creates a new GeSHi object, with source and language + /** + * Creates a new GeSHi object, with source and language * * @param string The source code to highlight * @param string The language to highlight the source with @@ -413,91 +407,86 @@ * still need to set the path using this parameter or * {@link GeSHi::set_language_path()} * @since 1.0.0 - */ - function GeSHi ($source, $language, $path = '') - { + */ + function GeSHi($source, $language, $path = '') { $this->set_source($source); $this->set_language_path($path); $this->set_language($language); - } + } - /** - * Returns an error message associated with the last GeSHi operation, - * or false if no error has occured + /** + * Returns an error message associated with the last GeSHi operation, + * or false if no error has occured * * @return string|false An error message if there has been an error, else false * @since 1.0.0 - */ - function error () - { - if ($this->error) { - $msg = $this->error_messages[$this->error]; - $debug_tpl_vars = array( - '{LANGUAGE}' => $this->language, - '{PATH}' => $this->language_path - ); - foreach ($debug_tpl_vars as $tpl => $var) { - $msg = str_replace($tpl, $var, $msg); - } - return "<br /><strong>GeSHi Error:</strong> $msg (code $this->error)<br />"; - } - return false; - } + */ + function error() { + if ($this->error) { + $msg = $this->error_messages[$this->error]; + $debug_tpl_vars = array( + '{LANGUAGE}' => $this->language, + '{PATH}' => $this->language_path + ); + foreach ($debug_tpl_vars as $tpl => $var) { + $msg = str_replace($tpl, $var, $msg); + } + return "<br /><strong>GeSHi Error:</strong> $msg (code $this->error)<br />"; + } + return false; + } - /** - * Gets a human-readable language name (thanks to Simon Patterson - * for the idea :)) + /** + * Gets a human-readable language name (thanks to Simon Patterson + * for the idea :)) * * @return string The name for the current language * @since 1.0.2 - */ - function get_language_name () - { - if (GESHI_ERROR_NO_SUCH_LANG == $this->error) { - return $this->language_data['LANG_NAME'] . ' (Unknown Language)'; - } - return $this->language_data['LANG_NAME']; - } + */ + function get_language_name() { + if (GESHI_ERROR_NO_SUCH_LANG == $this->error) { + return $this->language_data['LANG_NAME'] . ' (Unknown Language)'; + } + return $this->language_data['LANG_NAME']; + } - /** - * Sets the source code for this object + /** + * Sets the source code for this object * * @param string The source code to highlight * @since 1.0.0 - */ - function set_source ($source) - { - $this->source = $source; + */ + function set_source($source) { + $this->source = $source; $this->highlight_extra_lines = array(); - } + } - /** - * Sets the language for this object + /** + * Sets the language for this object * * @param string The name of the language to use * @since 1.0.0 - */ - function set_language ($language) - { + */ + function set_language($language) { $this->error = false; $this->strict_mode = GESHI_NEVER; - $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language); - $this->language = strtolower($language); + $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language); + $this->language = strtolower($language); $file_name = $this->language_path . $this->language . '.php'; if (!is_readable($file_name)) { $this->error = GESHI_ERROR_NO_SUCH_LANG; return; } - // Load the language for parsing - $this->load_language($file_name); - } + // Load the language for parsing + $this->load_language($file_name); + } - /** - * Sets the path to the directory containing the language files. Note - * that this path is relative to the directory of the script that included - * geshi.php, NOT geshi.php itself. + /** + * Sets the path to the directory containing the language files. Note + * that this path is relative to the directory of the script that included + * geshi.php, NOT geshi.php itself. * * @param string The path to the language directory * @since 1.0.0 @@ -505,17 +494,16 @@ * detected, so this method should no longer be needed. The * 1.1.X branch handles manual setting of the path differently * so this method will disappear in 1.2.0. - */ - function set_language_path ($path) - { + */ + function set_language_path($path) { if ($path) { - $this->language_path = ('/' == substr($path, strlen($path) - 1, 1)) ? $path : $path . '/'; - $this->set_language($this->language); // otherwise set_language_path has no effect + $this->language_path = ('/' == substr($path, strlen($path) - 1, 1)) ? $path : $path . '/'; + $this->set_language($this->language); // otherwise set_language_path has no effect } - } + } - /** - * Sets the type of header to be used. + /** + * Sets the type of header to be used. * * If GESHI_HEADER_DIV is used, the code is surrounded in a "div".This * means more source code but more control over tab width and line-wrapping. @@ -527,100 +515,96 @@ * * @param int The type of header to be used * @since 1.0.0 - */ - function set_header_type ($type) - { + */ + function set_header_type($type) { if (GESHI_HEADER_DIV != $type && GESHI_HEADER_PRE != $type && GESHI_HEADER_NONE != $type) { $this->error = GESHI_ERROR_INVALID_HEADER_TYPE; return; } - $this->header_type = $type; + $this->header_type = $type; // Set a default overall style if the header is a <div> if (GESHI_HEADER_DIV == $type && !$this->overall_style) { $this->overall_style = 'font-family: monospace;'; } - } + } - /** - * Sets the styles for the code that will be outputted - * when this object is parsed. The style should be a - * string of valid stylesheet declarations + /** + * Sets the styles for the code that will be outputted + * when this object is parsed. The style should be a + * string of valid stylesheet declarations * * @param string The overall style for the outputted code block * @param boolean Whether to merge the styles with the current styles or not * @since 1.0.0 - */ - function set_overall_style ($style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->overall_style = $style; - } else { - $this->overall_style .= $style; - } - } + */ + function set_overall_style($style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->overall_style = $style; + } + else { + $this->overall_style .= $style; + } + } - /** - * Sets the overall classname for this block of code. This - * class can then be used in a stylesheet to style this object's - * output + /** + * Sets the overall classname for this block of code. This + * class can then be used in a stylesheet to style this object's + * output * * @param string The class name to use for this block of code * @since 1.0.0 - */ - function set_overall_class ($class) - { - $this->overall_class = $class; - } + */ + function set_overall_class($class) { + $this->overall_class = $class; + } - /** - * Sets the overall id for this block of code. This id can then - * be used in a stylesheet to style this object's output + /** + * Sets the overall id for this block of code. This id can then + * be used in a stylesheet to style this object's output * * @param string The ID to use for this block of code * @since 1.0.0 - */ - function set_overall_id ($id) - { + */ + function set_overall_id($id) { $this->overall_id = $id; - } + } - /** + /** * Sets whether CSS classes should be used to highlight the source. Default * is off, calling this method with no arguments will turn it on * * @param boolean Whether to turn classes on or not * @since 1.0.0 */ - function enable_classes ($flag = true) - { - $this->use_classes = ($flag) ? true : false; - } + function enable_classes($flag = true) { + $this->use_classes = ($flag) ? true : false; + } - /** - * Sets the style for the actual code. This should be a string - * containing valid stylesheet declarations. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority - * - * Note: Use this method to override any style changes you made to - * the line numbers if you are using line numbers, else the line of - * code will have the same style as the line number! Consult the - * GeSHi documentation for more information about this. + /** + * Sets the style for the actual code. This should be a string + * containing valid stylesheet declarations. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * + * Note: Use this method to override any style changes you made to + * the line numbers if you are using line numbers, else the line of + * code will have the same style as the line number! Consult the + * GeSHi documentation for more information about this. + * * @param string The style to use for actual code * @param boolean Whether to merge the current styles with the new styles - */ - function set_code_style ($style, $preserve_defaults = false) - { + */ + function set_code_style($style, $preserve_defaults = false) { if (!$preserve_defaults) { $this->code_style = $style; - } else { + } + else { $this->code_style .= $style; } } - /** - * Sets the styles for the line numbers. + /** + * Sets the styles for the line numbers. * * @param string The style for the line numbers that are "normal" * @param string|boolean If a string, this is the style of the line @@ -630,32 +614,30 @@ * @param boolean If set, is the flag for whether to merge the "fancy" * styles with the current styles or not * @since 1.0.2 - */ - function set_line_style ($style1, $style2 = '', $preserve_defaults = false) - { - if (is_bool($style2)) { - $preserve_defaults = $style2; - $style2 = ''; - } - if (!$preserve_defaults) { - $this->line_style1 = $style1; - $this->line_style2 = $style2; - } else { - $this->line_style1 .= $style1; - $this->line_style2 .= $style2; - } - } + */ + function set_line_style($style1, $style2 = '', $preserve_defaults = false) { + if (is_bool($style2)) { + $preserve_defaults = $style2; + $style2 = ''; + } + if (!$preserve_defaults) { + $this->line_style1 = $style1; + $this->line_style2 = $style2; + } + else { + $this->line_style1 .= $style1; + $this->line_style2 .= $style2; + } + } - /** - * Sets whether line numbers should be displayed. + /** + * Sets whether line numbers should be displayed. * * Valid values for the first parameter are: * - * <ul> - * <li><b>GESHI_NO_LINE_NUMBERS</b>: Line numbers will not be displayed</li> - * <li><b>GESHI_NORMAL_LINE_NUMBERS</b>: Line numbers will be displayed</li> - * <li><b>GESHI_FANCY_LINE_NUMBERS</b>: Fancy line numbers will be displayed</li> - * </ul> + * - GESHI_NO_LINE_NUMBERS: Line numbers will not be displayed + * - GESHI_NORMAL_LINE_NUMBERS: Line numbers will be displayed + * - GESHI_FANCY_LINE_NUMBERS: Fancy line numbers will be displayed * * For fancy line numbers, the second parameter is used to signal which lines * are to be fancy. For example, if the value of this parameter is 5 then every @@ -664,410 +646,394 @@ * @param int How line numbers should be displayed * @param int Defines which lines are fancy * @since 1.0.0 - */ - function enable_line_numbers ($flag, $nth_row = 5) - { + */ + function enable_line_numbers($flag, $nth_row = 5) { if (GESHI_NO_LINE_NUMBERS != $flag && GESHI_NORMAL_LINE_NUMBERS != $flag && GESHI_FANCY_LINE_NUMBERS != $flag) { $this->error = GESHI_ERROR_INVALID_LINE_NUMBER_TYPE; } - $this->line_numbers = $flag; - $this->line_nth_row = $nth_row; - } + $this->line_numbers = $flag; + $this->line_nth_row = $nth_row; + } - /** - * Sets the style for a keyword group. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the style for a keyword group. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param int The key of the keyword group to change the styles of * @param string The style to make the keywords * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 - */ - function set_keyword_group_style ($key, $style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['KEYWORDS'][$key] = $style; - } else { - $this->language_data['STYLES']['KEYWORDS'][$key] .= $style; - } - } + */ + function set_keyword_group_style($key, $style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['KEYWORDS'][$key] = $style; + } + else { + $this->language_data['STYLES']['KEYWORDS'][$key] .= $style; + } + } - /** - * Turns highlighting on/off for a keyword group + /** + * Turns highlighting on/off for a keyword group * * @param int The key of the keyword group to turn on or off * @param boolean Whether to turn highlighting for that group on or off * @since 1.0.0 - */ - function set_keyword_group_highlighting ( $key, $flag = true ) - { - $this->lexic_permissions['KEYWORDS'][$key] = ($flag) ? true : false; - } + */ + function set_keyword_group_highlighting($key, $flag = true) { + $this->lexic_permissions['KEYWORDS'][$key] = ($flag) ? true : false; + } - /** - * Sets the styles for comment groups. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the styles for comment groups. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param int The key of the comment group to change the styles of * @param string The style to make the comments * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 - */ - function set_comments_style ($key, $style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['COMMENTS'][$key] = $style; - } else { - $this->language_data['STYLES']['COMMENTS'][$key] .= $style; - } - } + */ + function set_comments_style($key, $style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['COMMENTS'][$key] = $style; + } + else { + $this->language_data['STYLES']['COMMENTS'][$key] .= $style; + } + } - /** - * Turns highlighting on/off for comment groups + /** + * Turns highlighting on/off for comment groups * * @param int The key of the comment group to turn on or off * @param boolean Whether to turn highlighting for that group on or off * @since 1.0.0 - */ - function set_comments_highlighting ($key, $flag = true) - { - $this->lexic_permissions['COMMENTS'][$key] = ($flag) ? true : false; - } + */ + function set_comments_highlighting($key, $flag = true) { + $this->lexic_permissions['COMMENTS'][$key] = ($flag) ? true : false; + } - /** - * Sets the styles for escaped characters. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the styles for escaped characters. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param string The style to make the escape characters * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 - */ - function set_escape_characters_style ($style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['ESCAPE_CHAR'][0] = $style; - } else { - $this->language_data['STYLES']['ESCAPE_CHAR'][0] .= $style; - } - } + */ + function set_escape_characters_style($style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['ESCAPE_CHAR'][0] = $style; + } + else { + $this->language_data['STYLES']['ESCAPE_CHAR'][0] .= $style; + } + } - /** - * Turns highlighting on/off for escaped characters + /** + * Turns highlighting on/off for escaped characters * * @param boolean Whether to turn highlighting for escape characters on or off * @since 1.0.0 - */ - function set_escape_characters_highlighting ($flag = true) - { - $this->lexic_permissions['ESCAPE_CHAR'] = ($flag) ? true : false; - } + */ + function set_escape_characters_highlighting($flag = true) { + $this->lexic_permissions['ESCAPE_CHAR'] = ($flag) ? true : false; + } - /** - * Sets the styles for brackets. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority - * - * This method is DEPRECATED: use set_symbols_style instead. - * This method will be removed in 1.2.X + /** + * Sets the styles for brackets. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * + * This method is DEPRECATED: use set_symbols_style instead. + * This method will be removed in 1.2.X + * * @param string The style to make the brackets * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 * @deprecated In favour of set_symbols_style - */ - function set_brackets_style ($style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['BRACKETS'][0] = $style; - } else { - $this->language_data['STYLES']['BRACKETS'][0] .= $style; - } - } + */ + function set_brackets_style($style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['BRACKETS'][0] = $style; + } + else { + $this->language_data['STYLES']['BRACKETS'][0] .= $style; + } + } - /** - * Turns highlighting on/off for brackets - * - * This method is DEPRECATED: use set_symbols_highlighting instead. - * This method will be remove in 1.2.X + /** + * Turns highlighting on/off for brackets * + * This method is DEPRECATED: use set_symbols_highlighting instead. + * This method will be remove in 1.2.X + * * @param boolean Whether to turn highlighting for brackets on or off * @since 1.0.0 * @deprecated In favour of set_symbols_highlighting - */ - function set_brackets_highlighting ($flag) - { - $this->lexic_permissions['BRACKETS'] = ($flag) ? true : false; - } + */ + function set_brackets_highlighting($flag) { + $this->lexic_permissions['BRACKETS'] = ($flag) ? true : false; + } - /** - * Sets the styles for symbols. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the styles for symbols. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param string The style to make the symbols * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.1 - */ - function set_symbols_style ($style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['SYMBOLS'][0] = $style; - } else { - $this->language_data['STYLES']['SYMBOLS'][0] .= $style; - } - // For backward compatibility - $this->set_brackets_style ($style, $preserve_defaults); - } + */ + function set_symbols_style($style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['SYMBOLS'][0] = $style; + } + else { + $this->language_data['STYLES']['SYMBOLS'][0] .= $style; + } + // For backward compatibility + $this->set_brackets_style ($style, $preserve_defaults); + } - /** - * Turns highlighting on/off for symbols + /** + * Turns highlighting on/off for symbols * * @param boolean Whether to turn highlighting for symbols on or off * @since 1.0.0 - */ - function set_symbols_highlighting ($flag) - { - $this->lexic_permissions['SYMBOLS'] = ($flag) ? true : false; - // For backward compatibility - $this->set_brackets_highlighting ($flag); - } + */ + function set_symbols_highlighting($flag) { + $this->lexic_permissions['SYMBOLS'] = ($flag) ? true : false; + // For backward compatibility + $this->set_brackets_highlighting ($flag); + } - /** - * Sets the styles for strings. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the styles for strings. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param string The style to make the escape characters * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 - */ - function set_strings_style ($style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['STRINGS'][0] = $style; - } else { - $this->language_data['STYLES']['STRINGS'][0] .= $style; - } - } + */ + function set_strings_style($style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['STRINGS'][0] = $style; + } + else { + $this->language_data['STYLES']['STRINGS'][0] .= $style; + } + } - /** - * Turns highlighting on/off for strings + /** + * Turns highlighting on/off for strings * * @param boolean Whether to turn highlighting for strings on or off * @since 1.0.0 - */ - function set_strings_highlighting ($flag) - { - $this->lexic_permissions['STRINGS'] = ($flag) ? true : false; - } + */ + function set_strings_highlighting($flag) { + $this->lexic_permissions['STRINGS'] = ($flag) ? true : false; + } - /** - * Sets the styles for numbers. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the styles for numbers. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param string The style to make the numbers * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 - */ - function set_numbers_style ($style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['NUMBERS'][0] = $style; - } else { - $this->language_data['STYLES']['NUMBERS'][0] .= $style; - } - } + */ + function set_numbers_style($style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['NUMBERS'][0] = $style; + } + else { + $this->language_data['STYLES']['NUMBERS'][0] .= $style; + } + } - /** - * Turns highlighting on/off for numbers + /** + * Turns highlighting on/off for numbers * * @param boolean Whether to turn highlighting for numbers on or off * @since 1.0.0 - */ - function set_numbers_highlighting ($flag) - { - $this->lexic_permissions['NUMBERS'] = ($flag) ? true : false; - } + */ + function set_numbers_highlighting($flag) { + $this->lexic_permissions['NUMBERS'] = ($flag) ? true : false; + } - /** - * Sets the styles for methods. $key is a number that references the - * appropriate "object splitter" - see the language file for the language - * you are highlighting to get this number. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the styles for methods. $key is a number that references the + * appropriate "object splitter" - see the language file for the language + * you are highlighting to get this number. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param int The key of the object splitter to change the styles of * @param string The style to make the methods * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 - */ - function set_methods_style ($key, $style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['METHODS'][$key] = $style; - } else { - $this->language_data['STYLES']['METHODS'][$key] .= $style; - } - } + */ + function set_methods_style($key, $style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['METHODS'][$key] = $style; + } + else { + $this->language_data['STYLES']['METHODS'][$key] .= $style; + } + } - /** - * Turns highlighting on/off for methods + /** + * Turns highlighting on/off for methods * * @param boolean Whether to turn highlighting for methods on or off * @since 1.0.0 - */ - function set_methods_highlighting ($flag) - { - $this->lexic_permissions['METHODS'] = ($flag) ? true : false; - } + */ + function set_methods_highlighting($flag) { + $this->lexic_permissions['METHODS'] = ($flag) ? true : false; + } - /** - * Sets the styles for regexps. If $preserve_defaults is - * true, then styles are merged with the default styles, with the - * user defined styles having priority + /** + * Sets the styles for regexps. If $preserve_defaults is + * true, then styles are merged with the default styles, with the + * user defined styles having priority * * @param string The style to make the regular expression matches * @param boolean Whether to merge the new styles with the old or just * to overwrite them * @since 1.0.0 - */ - function set_regexps_style ($key, $style, $preserve_defaults = false) - { - if (!$preserve_defaults) { - $this->language_data['STYLES']['REGEXPS'][$key] = $style; - } else { - $this->language_data['STYLES']['REGEXPS'][$key] .= $style; - } - } + */ + function set_regexps_style($key, $style, $preserve_defaults = false) { + if (!$preserve_defaults) { + $this->language_data['STYLES']['REGEXPS'][$key] = $style; + } + else { + $this->language_data['STYLES']['REGEXPS'][$key] .= $style; + } + } - /** - * Turns highlighting on/off for regexps + /** + * Turns highlighting on/off for regexps * * @param int The key of the regular expression group to turn on or off * @param boolean Whether to turn highlighting for the regular expression group on or off * @since 1.0.0 - */ - function set_regexps_highlighting ($key, $flag) - { - $this->lexic_permissions['REGEXPS'][$key] = ($flag) ? true : false; - } + */ + function set_regexps_highlighting($key, $flag) { + $this->lexic_permissions['REGEXPS'][$key] = ($flag) ? true : false; + } - /** - * Sets whether a set of keywords are checked for in a case sensitive manner + /** + * Sets whether a set of keywords are checked for in a case sensitive manner * * @param int The key of the keyword group to change the case sensitivity of * @param boolean Whether to check in a case sensitive manner or not * @since 1.0.0 - */ - function set_case_sensitivity ($key, $case) - { - $this->language_data['CASE_SENSITIVE'][$key] = ($case) ? true : false; - } + */ + function set_case_sensitivity($key, $case) { + $this->language_data['CASE_SENSITIVE'][$key] = ($case) ? true : false; + } - /** - * Sets the case that keywords should use when found. Use the constants: + /** + * Sets the case that keywords should use when found. Use the constants: * - * <ul> - * <li><b>GESHI_CAPS_NO_CHANGE</b>: leave keywords as-is</li> - * <li><b>GESHI_CAPS_UPPER</b>: convert all keywords to uppercase where found</li> - * <li><b>GESHI_CAPS_LOWER</b>: convert all keywords to lowercase where found</li> - * </ul> + * - GESHI_CAPS_NO_CHANGE: leave keywords as-is + * - GESHI_CAPS_UPPER: convert all keywords to uppercase where found + * - GESHI_CAPS_LOWER: convert all keywords to lowercase where found * * @param int A constant specifying what to do with matched keywords * @since 1.0.1 * @todo Error check the passed value - */ - function set_case_keywords ($case) - { - $this->language_data['CASE_KEYWORDS'] = $case; - } + */ + function set_case_keywords($case) { + $this->language_data['CASE_KEYWORDS'] = $case; + } - /** - * Sets how many spaces a tab is substituted for + /** + * Sets how many spaces a tab is substituted for * * Widths below zero are ignored * * @param int The tab width * @since 1.0.0 - */ - function set_tab_width ($width) - { - $this->tab_width = intval($width); - } + */ + function set_tab_width($width) { + $this->tab_width = intval($width); + } - /** - * Enables/disables strict highlighting. Default is off, calling this - * method without parameters will turn it on. See documentation - * for more details on strict mode and where to use it. + /** + * Enables/disables strict highlighting. Default is off, calling this + * method without parameters will turn it on. See documentation + * for more details on strict mode and where to use it. * * @param boolean Whether to enable strict mode or not * @since 1.0.0 - */ - function enable_strict_mode ($mode = true) - { + */ + function enable_strict_mode($mode = true) { if (GESHI_MAYBE == $this->language_data['STRICT_MODE_APPLIES']) { - $this->strict_mode = ($mode) ? true : false; + $this->strict_mode = ($mode) ? true : false; } - } + } - /** - * Disables all highlighting + /** + * Disables all highlighting * * @since 1.0.0 * @todo Rewrite with an array traversal - */ - function disable_highlighting () - { + */ + function disable_highlighting() { foreach ($this->lexic_permissions as $key => $value) { if (is_array($value)) { foreach ($value as $k => $v) { $this->lexic_permissions[$key][$k] = false; } - } else { + } + else { $this->lexic_permissions[$key] = false; } } - // Context blocks - $this->enable_important_blocks = false; - } + // Context blocks + $this->enable_important_blocks = false; + } - /** - * Enables all highlighting + /** + * Enables all highlighting * * @since 1.0.0 * @todo Rewrite with array traversal - */ - function enable_highlighting () - { + */ + function enable_highlighting() { foreach ($this->lexic_permissions as $key => $value) { if (is_array($value)) { foreach ($value as $k => $v) { $this->lexic_permissions[$key][$k] = true; } - } else { + } + else { $this->lexic_permissions[$key] = true; } } - // Context blocks - $this->enable_important_blocks = true; - } + // Context blocks + $this->enable_important_blocks = true; + } - /** - * Given a file extension, this method returns either a valid geshi language - * name, or the empty string if it couldn't be found + /** + * Given a file extension, this method returns either a valid geshi language + * name, or the empty string if it couldn't be found * * @param string The extension to get a language name for * @param array A lookup array to use instead of the default @@ -1075,295 +1041,279 @@ * @todo Re-think about how this method works (maybe make it private and/or make it * a extension->lang lookup?) * @todo static? - */ - function get_language_name_from_extension ( $extension, $lookup = array() ) - { - if ( !$lookup ) - { - $lookup = array( - 'actionscript' => array('as'), - 'ada' => array('a', 'ada', 'adb', 'ads'), - 'apache' => array('conf'), - 'asm' => array('ash', 'asm'), - 'asp' => array('asp'), - 'bash' => array('sh'), - 'c' => array('c', 'h'), - 'c_mac' => array('c', 'h'), - 'caddcl' => array(), - 'cadlisp' => array(), + */ + function get_language_name_from_extension( $extension, $lookup = array() ) { + if ( !$lookup ) { + $lookup = array( + 'actionscript' => array('as'), + 'ada' => array('a', 'ada', 'adb', 'ads'), + 'apache' => array('conf'), + 'asm' => array('ash', 'asm'), + 'asp' => array('asp'), + 'bash' => array('sh'), + 'c' => array('c', 'h'), + 'c_mac' => array('c', 'h'), + 'caddcl' => array(), + 'cadlisp' => array(), 'cdfg' => array('cdfg'), - 'cpp' => array('cpp', 'h', 'hpp'), - 'csharp' => array(), - 'css' => array('css'), - 'delphi' => array('dpk', 'dpr'), - 'html4strict' => array('html', 'htm'), - 'java' => array('java'), - 'javascript' => array('js'), - 'lisp' => array('lisp'), - 'lua' => array('lua'), - 'mpasm' => array(), - 'nsis' => array(), - 'objc' => array(), - 'oobas' => array(), - 'oracle8' => array(), - 'pascal' => array('pas'), - 'perl' => array('pl', 'pm'), - 'php' => array('php', 'php5', 'phtml', 'phps'), - 'python' => array('py'), - 'qbasic' => array('bi'), + 'cpp' => array('cpp', 'h', 'hpp'), + 'csharp' => array(), + 'css' => array('css'), + 'delphi' => array('dpk', 'dpr'), + 'html4strict' => array('html', 'htm'), + 'java' => array('java'), + 'javascript' => array('js'), + 'lisp' => array('lisp'), + 'lua' => array('lua'), + 'mpasm' => array(), + 'nsis' => array(), + 'objc' => array(), + 'oobas' => array(), + 'oracle8' => array(), + 'pascal' => array('pas'), + 'perl' => array('pl', 'pm'), + 'php' => array('php', 'php5', 'phtml', 'phps'), + 'python' => array('py'), + 'qbasic' => array('bi'), 'sas' => array('sas'), - 'smarty' => array(), - 'vb' => array('bas'), - 'vbnet' => array(), - 'visualfoxpro' => array(), - 'xml' => array('xml') - ); - } + 'smarty' => array(), + 'vb' => array('bas'), + 'vbnet' => array(), + 'visualfoxpro' => array(), + 'xml' => array('xml') + ); + } - foreach ($lookup as $lang => $extensions) { - foreach ($extensions as $ext) { - if ($ext == $extension) { - return $lang; - } - } - } - return ''; - } + foreach ($lookup as $lang => $extensions) { + foreach ($extensions as $ext) { + if ($ext == $extension) { + return $lang; + } + } + } + return ''; + } - /** - * Given a file name, this method loads its contents in, and attempts - * to set the language automatically. An optional lookup table can be - * passed for looking up the language name. If not specified a default + /** + * Given a file name, this method loads its contents in, and attempts + * to set the language automatically. An optional lookup table can be + * passed for looking up the language name. If not specified a default * table is used - * - * The language table is in the form - * <pre>array( - * 'lang_name' => array('extension', 'extension', ...), - * 'lang_name' ... - * );</pre> * + * The language table is in the form + * <pre>array( + * 'lang_name' => array('extension', 'extension', ...), + * 'lang_name' ... + * );</pre> + * * @todo Complete rethink of this and above method * @since 1.0.5 - */ - function load_from_file ($file_name, $lookup = array()) - { - if (is_readable($file_name)) { - $this->set_source(implode('', file($file_name))); - $this->set_language($this->get_language_name_from_extension(substr(strrchr($file_name, '.'), 1), $lookup)); - } else { - $this->error = GESHI_ERROR_FILE_NOT_READABLE; - } - } + */ + function load_from_file($file_name, $lookup = array()) { + if (is_readable($file_name)) { + $this->set_source(implode('', file($file_name))); + $this->set_language($this->get_language_name_from_extension(substr(strrchr($file_name, '.'), 1), $lookup)); + } + else { + $this->error = GESHI_ERROR_FILE_NOT_READABLE; + } + } - /** - * Adds a keyword to a keyword group for highlighting + /** + * Adds a keyword to a keyword group for highlighting * * @param int The key of the keyword group to add the keyword to * @param string The word to add to the keyword group * @since 1.0.0 - */ - function add_keyword ($key, $word) - { - $this->language_data['KEYWORDS'][$key][] = $word; - } + */ + function add_keyword($key, $word) { + $this->language_data['KEYWORDS'][$key][] = $word; + } - /** - * Removes a keyword from a keyword group + /** + * Removes a keyword from a keyword group * * @param int The key of the keyword group to remove the keyword from * @param string The word to remove from the keyword group * @since 1.0.0 - */ - function remove_keyword ($key, $word) - { - $this->language_data['KEYWORDS'][$key] = + */ + function remove_keyword($key, $word) { + $this->language_data['KEYWORDS'][$key] = array_diff($this->language_data['KEYWORDS'][$key], array($word)); - } + } - /** - * Creates a new keyword group + /** + * Creates a new keyword group * * @param int The key of the keyword group to create * @param string The styles for the keyword group * @param boolean Whether the keyword group is case sensitive ornot * @param array The words to use for the keyword group * @since 1.0.0 - */ - function add_keyword_group ( $key, $styles, $case_sensitive = true, $words = array() ) - { + */ + function add_keyword_group($key, $styles, $case_sensitive = true, $words = array()) { $words = (array) $words; - $this->language_data['KEYWORDS'][$key] = $words; - $this->lexic_permissions['KEYWORDS'][$key] = true; - $this->language_data['CASE_SENSITIVE'][$key] = $case_sensitive; - $this->language_data['STYLES']['KEYWORDS'][$key] = $styles; - } + $this->language_data['KEYWORDS'][$key] = $words; + $this->lexic_permissions['KEYWORDS'][$key] = true; + $this->language_data['CASE_SENSITIVE'][$key] = $case_sensitive; + $this->language_data['STYLES']['KEYWORDS'][$key] = $styles; + } - /** - * Removes a keyword group + /** + * Removes a keyword group * * @param int The key of the keyword group to remove * @since 1.0.0 - */ - function remove_keyword_group ($key) - { - unset($this->language_data['KEYWORDS'][$key]); - unset($this->lexic_permissions['KEYWORDS'][$key]); - unset($this->language_data['CASE_SENSITIVE'][$key]); - unset($this->language_data['STYLES']['KEYWORDS'][$key]); - } + */ + function remove_keyword_group ($key) { + unset($this->language_data['KEYWORDS'][$key]); + unset($this->lexic_permissions['KEYWORDS'][$key]); + unset($this->language_data['CASE_SENSITIVE'][$key]); + unset($this->language_data['STYLES']['KEYWORDS'][$key]); + } - /** - * Sets the content of the header block + /** + * Sets the content of the header block * * @param string The content of the header block * @since 1.0.2 - */ - function set_header_content ($content) - { - $this->header_content = $content; - } + */ + function set_header_content($content) { + $this->header_content = $content; + } - /** - * Sets the content of the footer block + /** + * Sets the content of the footer block * * @param string The content of the footer block * @since 1.0.2 - */ - function set_footer_content ($content) - { - $this->footer_content = $content; - } + */ + function set_footer_content($content) { + $this->footer_content = $content; + } - /** - * Sets the style for the header content + /** + * Sets the style for the header content * * @param string The style for the header content * @since 1.0.2 - */ - function set_header_content_style ($style) - { - $this->header_content_style = $style; - } + */ + function set_header_content_style($style) { + $this->header_content_style = $style; + } - /** - * Sets the style for the footer content + /** + * Sets the style for the footer content * * @param string The style for the footer content * @since 1.0.2 - */ - function set_footer_content_style ($style) - { - $this->footer_content_style = $style; - } + */ + function set_footer_content_style($style) { + $this->footer_content_style = $style; + } - /** - * Sets the base URL to be used for keywords + /** + * Sets the base URL to be used for keywords * * @param int The key of the keyword group to set the URL for * @param string The URL to set for the group. If {FNAME} is in * the url somewhere, it is replaced by the keyword * that the URL is being made for * @since 1.0.2 - */ - function set_url_for_keyword_group ($group, $url) - { - $this->language_data['URLS'][$group] = $url; - } + */ + function set_url_for_keyword_group($group, $url) { + $this->language_data['URLS'][$group] = $url; + } - /** - * Sets styles for links in code + /** + * Sets styles for links in code * * @param int A constant that specifies what state the style is being * set for - e.g. :hover or :visited * @param string The styles to use for that state * @since 1.0.2 - */ - function set_link_styles ($type, $styles) - { - $this->link_styles[$type] = $styles; - } + */ + function set_link_styles($type, $styles) { + $this->link_styles[$type] = $styles; + } - /** + /** * Sets the target for links in code * * @param string The target for links in the code, e.g. _blank * @since 1.0.3 */ - function set_link_target ( $target ) - { - if (!$target) { - $this->link_target = ''; - } else { - $this->link_target = ' target="' . $target . '" '; - } - } + function set_link_target($target) { + if (!$target) { + $this->link_target = ''; + } + else { + $this->link_target = ' target="' . $target . '" '; + } + } - /** - * Sets styles for important parts of the code + /** + * Sets styles for important parts of the code * * @param string The styles to use on important parts of the code * @since 1.0.2 - */ - function set_important_styles ($styles) - { - $this->important_styles = $styles; - } + */ + function set_important_styles($styles) { + $this->important_styles = $styles; + } - /** - * Sets whether context-important blocks are highlighted + /** + * Sets whether context-important blocks are highlighted * * @todo REMOVE THIS SHIZ FROM GESHI! * @deprecated - */ - function enable_important_blocks ( $flag ) - { - $this->enable_important_blocks = ( $flag ) ? true : false; - } + */ + function enable_important_blocks($flag) { + $this->enable_important_blocks = ( $flag ) ? true : false; + } - /** - * Whether CSS IDs should be added to each line + /** + * Whether CSS IDs should be added to each line * * @param boolean If true, IDs will be added to each line. * @since 1.0.2 - */ - function enable_ids ($flag = true) - { - $this->add_ids = ($flag) ? true : false; - } + */ + function enable_ids($flag = true) { + $this->add_ids = ($flag) ? true : false; + } - /** - * Specifies which lines to highlight extra + /** + * Specifies which lines to highlight extra * * @param mixed An array of line numbers to highlight, or just a line * number on its own. * @since 1.0.2 * @todo Some data replication here that could be cut down on - */ - function highlight_lines_extra ($lines) - { - if (is_array($lines)) { - foreach ($lines as $line) { - $this->highlight_extra_lines[intval($line)] = intval($line); - } - } else { - $this->highlight_extra_lines[intval($lines)] = intval($lines); - } - } + */ + function highlight_lines_extra($lines) { + if (is_array($lines)) { + foreach ($lines as $line) { + $this->highlight_extra_lines[intval($line)] = intval($line); + } + } + else { + $this->highlight_extra_lines[intval($lines)] = intval($lines); + } + } - /** - * Sets the style for extra-highlighted lines + /** + * Sets the style for extra-highlighted lines * * @param string The style for extra-highlighted lines * @since 1.0.2 - */ - function set_highlight_lines_extra_style ($styles) - { - $this->highlight_extra_lines_style = $styles; - } + */ + function set_highlight_lines_extra_style($styles) { + $this->highlight_extra_lines_style = $styles; + } - /** - * Sets what number line numbers should start at. Should - * be a positive integer, and will be converted to one. + /** + * Sets what number line numbers should start at. Should + * be a positive integer, and will be converted to one. * * <b>Warning:</b> Using this method will add the "start" * attribute to the <ol> that is used for line numbering. @@ -1375,15 +1325,14 @@ * * @param int The number to start line numbers at * @since 1.0.2 - */ - function start_line_numbers_at ($number) - { - $this->line_numbers_start = abs(intval($number)); - } + */ + function start_line_numbers_at($number) { + $this->line_numbers_start = abs(intval($number)); + } - /** - * Sets the encoding used for htmlspecialchars(), for international - * support. + /** + * Sets the encoding used for htmlspecialchars(), for international + * support. * * NOTE: This is not needed for now because htmlspecialchars() is not * being used (it has a security hole in PHP4 that has not been patched). @@ -1392,11 +1341,10 @@ * * @param string The encoding to use for the source * @since 1.0.3 - */ - function set_encoding ($encoding) - { + */ + function set_encoding($encoding) { if ($encoding) { - $this->encoding = $encoding; + $this->encoding = $encoding; } } @@ -1405,451 +1353,471 @@ * * @param boolean If true, links will be added to keywords */ - function enable_keyword_links ($enable = true) - { + function enable_keyword_links($enable = true) { $this->keyword_links = ($enable) ? true : false; } - /** - * Returns the code in $this->source, highlighted and surrounded by the - * nessecary HTML. + /** + * Returns the code in $this->source, highlighted and surrounded by the + * nessecary HTML. * * This should only be called ONCE, cos it's SLOW! If you want to highlight * the same source multiple times, you're better off doing a whole lot of * str_replaces to replace the <span>s * * @since 1.0.0 - */ - function parse_code () - { - // Start the timer - $start_time = microtime(); + */ + function parse_code () { + // Start the timer + $start_time = microtime(); - // Firstly, if there is an error, we won't highlight - if ($this->error) { + // Firstly, if there is an error, we won't highlight + if ($this->error) { $result = GeSHi::hsc($this->source); - // Timing is irrelevant - $this->set_time($start_time, $start_time); - return $this->finalise($result); - } + // Timing is irrelevant + $this->set_time($start_time, $start_time); + return $this->finalise($result); + } - // Replace all newlines to a common form. - $code = str_replace("\r\n", "\n", $this->source); - $code = str_replace("\r", "\n", $code); + // Replace all newlines to a common form. + $code = str_replace("\r\n", "\n", $this->source); + $code = str_replace("\r", "\n", $code); // Add spaces for regular expression matching and line numbers $code = "\n" . $code . "\n"; - // Initialise various stuff - $length = strlen($code); - $STRING_OPEN = ''; - $CLOSE_STRING = false; - $ESCAPE_CHAR_OPEN = false; - $COMMENT_MATCHED = false; - // Turn highlighting on if strict mode doesn't apply to this language - $HIGHLIGHTING_ON = ( !$this->strict_mode ) ? true : ''; - // Whether to highlight inside a block of code - $HIGHLIGHT_INSIDE_STRICT = false; - $HARDQUOTE_OPEN = false; - $stuff_to_parse = ''; - $result = ''; + // Initialise various stuff + $length = strlen($code); + $STRING_OPEN = ''; + $CLOSE_STRING = false; + $ESCAPE_CHAR_OPEN = false; + $COMMENT_MATCHED = false; + // Turn highlighting on if strict mode doesn't apply to this language + $HIGHLIGHTING_ON = ( !$this->str... [truncated message content] |