« home   paste   Anonymous | Login | Signup for a new account 08-24-2019 15:13 CEST
* X »
GeSHi - Generic Syntax Highlighter Syntax Coloriser for PHP

GeSHi - Change Log

GeSHi - 1.1.2alpha4
- 0000111: [core] Possible Heap Overflow by PHP security issue (BenBE)
- 0000105: [core] GESHI_DIR_SEP deprecation (Knut)
- 0000104: [core] Optimize geshi_dbg for production systems (BenBE)

GeSHi - 1.1.2alpha3

2006-09-17 23:42 oracleshinoda

    * class.geshi.php: Updated version constant for 1.1.2alpha3

2006-09-17 23:40 oracleshinoda

    * geshi/functions.geshi.php: Added two notes about optimisations
      that could be made in geshi_get_position.

2006-09-12 11:25 oracleshinoda

    * geshi/languages/delphi/common.php: Removed debugging oopsie :)

2006-09-11 17:11 oracleshinoda

    * geshi/languages/: delphi/common.php, c/c.php,
      codeworker/codeworker.php, sql/sql.php, vhdl/vhdl.php,
      java/java.php, javascript/javascript.php: Converted languages to
      use the new escape char grouping methods for strings.

2006-09-11 17:10 oracleshinoda

    * geshi/languages/php/common.php: Added the tilde symbol. Converted
      the escape character calls to the new group method. Added a TODO
      for 1.1.9.

2006-09-11 17:07 oracleshinoda

    * geshi/languages/php/class.geshiphpcodeparser.php: Highlight the
      symbols in heredoc markers correctly.

2006-09-11 17:05 oracleshinoda

    * geshi/languages/css/css.php: CSS values in brackets are now in
      their own context, prevents incorrect highlighting of things

      background-image: url(/left.jpg)

      Where the "left" would be highlighted as a keyword.

2006-09-11 17:03 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Implemented escape
      character grouping, instead of setEscapeChars/setCharsToEscape.
      This allows certain escape characters to be grouped with certain
      characters to escape (required for languages like SQL), rather
      than all escape characters applying to all characters to escape.

      This means that the old methods are gone, I will commit fixes to
      all current languages shortly.

      The new method has some pretty robust test cases as well,
      hopefully it won't have to be touched again :).

      The "single character" context does NOT use the idea of escape
      grouping, hopefully it will never need it either.

2006-09-11 17:00 oracleshinoda

    * class.geshi.php: Version bump

2006-08-23 22:32 oracleshinoda

    * geshi/classes/class.geshicontext.php: Fixed a bug Ben found:
      E_NOTICE being triggered if the regex table is not defined.

      The fix is relatively simple (there was both no check for the
      table existing AND it was assigned in the wrong place anyway),
      although it took a lot of checking to make sure it was the right

2006-08-20 10:09 benbe

    * geshi/languages/delphi/delphi.php: fix: Property Contexts can
      only start if Property is a word of its own, not part of an

2006-08-08 14:21 netocrat

    * geshi/classes/class.geshisinglecharcontext.php: * Corrected a
      typo in the url to my clc-wiki userpage. * Added documentary

2006-08-08 14:19 netocrat

    * geshi/languages/c/NOTES: Created this file by migrating some
      extended comments from c.php because the amount of space taken up
      in that file by comments was becoming excessive.

2006-08-08 14:16 netocrat

    * geshi/languages/c/c.php: * Returned character constants to the
      'singlechar' context from the 'string' context now that
      multi-character escape sequences are supported. * Added a call
      to setDisallowEmptyChars() for character constants. * Merged
      the dual-regexes into a single one in the string/ singlechar
      contexts, for a potential (unmeasured) efficiency gain. *
      Exported some extended comments to a separate NOTES file. *
      Adjusted other comments.

2006-08-08 10:48 oracleshinoda

    * geshi/functions.geshi.php: Fixed E_NOTICE when count($splits) <=

2006-08-08 06:05 netocrat

    * geshi/classes/class.geshisinglecharcontext.php: * Committed the
      changes described in the tracker report #86 "Single character
      context should support proper single characters". In addition
      to supporting regexes in escape sequences: * any assumptions
      on the length of the start and end delimiters are removed
      and either may now also be a regex. Likewise for the
      start-of-escape character(s). * a setDisallowEmptyChars()
      method is added - to be able to specify that empty
      characters are illegal, as they are in C: '' is a syntax
      error * Updated comments; stripped trailing whitespace and
      wrapped all lines at 80 chars wide.

2006-08-08 05:53 netocrat

    * geshi/functions.geshi.php: * Rewrote part of geshi_get_position()
      per tracker report #89 "geshi_get_position() optimisations for
      regex matching". * Added a new function, geshi_whichsubstr(),
      for use with arbitrary-length - and possibly regex-specified -
      escape characters, escape sequences and end delimiters, in the
      single-character context. It might have broader use so I wrote
      it fairly generically. * Updated comments; stripped trailing
      whitespace from all lines.

2006-07-29 01:59 netocrat

    * geshi/languages/c/c.php: Added newline-termination for string
      literals and character constants because: a) multi-line strings
      are illegal in C, except when they are continued - as with
      any other part of the syntax - with \. This is now handled
      generically. b) treating character constants as strings so that
      '\xFFF' etc highlight properly - a change that the previous
      commit introduced - requires that they have some sensible
      termination within #error and #pragma directives - these are
      the only places where single quote characters can appear
      "unbounded" from GeSHi's perspective. Likewise double quotes
      can legally appear "unbounded" in these directives, so the
      same rationale applies. GeSHiCCodeParser::parseToken()
      removes highlighting of character constants and string
      literals in these directives but they need to terminate
      naturally - i.e. without parseToken() intervention - within the

2006-07-28 12:49 netocrat

    * geshi/themes/default/c/c.php: * Added a style for the new
      line-continuation character context. * Adjusted the shade of the
      wide-character-constant colour for slightly better visibility.

2006-07-28 12:47 netocrat

    * geshi/languages/c/class.geshiccodeparser.php: Changed the context
      of the line-continuation slash character to

2006-07-28 12:04 netocrat

    * geshi/themes/default/c/c.php: The summary message for the
      previous commit was incorrect; it should have been: * Added
      styles for wide character constants and wide strings; changed the
      colour of plain string literals and removed highlighting of
      escape sequences in character constants. * (Re)inserted a few
      styles for preprocessing and removed another. * Reworded some
      comments and adjusted the indentation and spacing of some lines.

2006-07-28 12:01 netocrat

    * geshi/languages/c/c.php: * Added GESHI_COMPLEX_TOKENISE to the
      remaining contexts that it belongs in so that
      slash-continuation processing in the parser is correct, and
      updated start/end context delimiters where they were
      individually dealing with slash-continuation. * Added styles
      for wide character constants and wide strings, and extracted
      common code into a base function. * Changed 'singlechar' to
      'string' for character constants to support extended escape
      sequences. * Removed several todos that have now been
      implemented in GeSHiCCodeParser::parseToken(), and generally
      updated comments.

2006-07-28 12:00 netocrat

    * geshi/languages/c/class.geshiccodeparser.php: * Disabled
      highlighting as string-literal of "headername.h" in #include
      "headername.h" and instead sub-contextualised it as
      'preprocessor/include/implheader'. * Disabled highlighting
      within #pragma and #error directives of all child contexts
      except comments. * Disabled highlighting of 'ctlflow-keyword'
      and 'declarator-keyword' child contexts within #line and
      #include directives when either directive's "arguments" are
      macro substitutions. * Reindented some lines; realigned for
      maximum 80-character line width. * Corrected a few spelling
      mistakes and reworded some comments.

2006-07-28 11:59 netocrat

    * geshi/: themes/default/c/c.php, languages/c/common.php: Corrected
      the function name tmpname to tmpnam; added the missing (C99)
      functions vfscanf, vscanf, vsnprintf and vsscanf.

- 0000013: [core] Keyword copying and context cloning can be put to good use for delphi (BenBE)
- 0000081: [core] Source preprocessing may come in handy for some highlighting difficulties (nigel)
- 0000089: [core] geshi_get_position() optimisations for regex matching (nigel)

GeSHi - 1.1.2alpha2

This release has fixed a few bugs in the PHP and C code parsers, and adds basic support for SQL.

2006-06-25 20:57 oracleshinoda

    * class.geshi.php: Updated version for 1.1.2alpha2 release.

2006-06-25 19:09 oracleshinoda

    * geshi/languages/css/css.php: Added missing newline to end of

2006-06-24 19:47 oracleshinoda

    * geshi/themes/default/sql/sql.php: Theme file for SQL.

2006-06-24 19:46 oracleshinoda

    * geshi/themes/: default/php/php.php, default/php/php4.php,
      default/php/php5.php, phpsyntax/dynamic/php/php.php,
      phpsyntax/php/php.php: Added styles for "types" (int, bool etc)

2006-06-24 19:43 oracleshinoda

    * geshi/languages/sql/: class.geshisqlcodeparser.php, sql.php:
      Added basic support for SQL, which will be much improved before
      1.1.2 is releaesd.

2006-06-24 19:42 oracleshinoda

    * geshi/languages/php/: common.php, php.php: Began corrections to
      PHP highlighting. The main change here has been adding all of the
      PHP constants (however most of them will be split out and become
      "optional" later when performance is considered.

2006-06-24 19:40 oracleshinoda

    * geshi/languages/php/class.geshiphpcodeparser.php: Added @link as
      a phpdoc tag. Corrected function name parsing when the function
      is return by reference.

2006-06-24 12:15 oracleshinoda

    * class.geshi.php: Added basic support for erroring out if a
      language doesn't exist (causes segfaults on my apache for some

2006-06-24 12:12 oracleshinoda

    * geshi/languages/c/c.php: Told the multiline comment context to be
      sent to the code parser (else the preprocessing for
      backslash-newlines breaks).

- 0000098: [lang] GeSHi crashes on parsing csharp/common (Knut)

GeSHi - 1.1.2alpha1

New features in this release include much improved support for PHP highlighting - constants, function names and calls, and PHPDoc highlighting have all been either added or improved. Also there is support in the C language for highlighting correctly even when backslash-newlines occur in the source. There are a couple of minor improvements to other languages as well.

2006-06-17 19:38 oracleshinoda

    * class.geshi.php: Updated version for 1.1.2alpha1 release.

2006-06-17 00:45 oracleshinoda

    * geshi/languages/c/class.geshiccodeparser.php: Make C use the new
      source preprocessing feature to remember/remove "\\\n" where it
      occurs, and then put them back in when parseToken() is being
      called, with the net result that escaped newlines do not affect

2006-06-17 00:44 oracleshinoda

    * geshi/classes/class.geshicodeparser.php: Added sourcePreProcess
      API method for code parsers. A child code parser can implement
      this to gather information about the source before it's parsed.

2006-06-17 00:42 oracleshinoda

    * class.geshi.php: Allow the code parser to look at the source
      before any highlighting occurs so it can gather information. C is
      using this to remember/remove "\\\n" where it occurs, and then
      put them back in when parseToken() is being called, with the net
      result that escaped newlines do not affect parsing.

2006-06-14 21:54 oracleshinoda

    * geshi/themes/: default/php/php.php, default/php/php4.php,
      default/php/php5.php, phpsyntax/php/php.php: Added colours for
      the new features for PHP, e.g. the start of variables, phpdoc
      stuff, function names and calls etc.

2006-06-14 21:53 oracleshinoda

    * geshi/themes/default/css/css.php: Darkened the colours for css
      classes and IDs so they're more readable.

2006-06-14 21:52 oracleshinoda

    * geshi/languages/php/common.php: Added support for highlighting
      the $ in variables differently. Changed highlighting of /** ...
      */ to be native to PHP instead of hooking in doxygen, which
      allows much more configurability.

2006-06-14 21:50 oracleshinoda

    * geshi/languages/php/class.geshiphpcodeparser.php: Added support
      in the PHP code parser for detecting:

        * Class names in the source (fully unlike currently), including
      static class names that are not defined in the source
        * User-defined constants (e.g. define('FOO', 1); and then
      references to FOO in the file). This doesn't handle wierd cases
      like define($foo, 1);
        * Function/method names
        * PHPDoc tags to a much greater level than for doxygen
        * Function calls

2006-06-14 21:47 oracleshinoda

    * geshi/languages/java/class.geshijavacodeparser.php: Moved java
      code parser over to using the new generic stack. Also added some
      notes about stuff to remove for 1.1.2 and cleaned up the file to
      meet coding standards a little better.

2006-06-14 21:46 oracleshinoda

    * geshi/languages/doxygen/doxygen.php: Made a much better
      starter-detection regex for doxygen tags using a lookbehind.

2006-06-14 21:45 oracleshinoda

    * geshi/languages/delphi/class.geshidelphicodeparser.php: Moved
      delphi code parser over to using the generic code parser stack.

2006-06-14 21:44 oracleshinoda

    * geshi/languages/css/common.php: Made the . and # in css
      classes/IDs respectively be symbols instead of part of the

2006-06-14 21:43 oracleshinoda

    * geshi/languages/c/class.geshiccodeparser.php: Removed unnecessary

2006-06-14 21:43 oracleshinoda

    * geshi/classes/renderers/class.geshirendererhtml.php: HTML escape
      the URL when rendering HTML.

2006-06-14 21:41 oracleshinoda

    * geshi/classes/class.geshicodeparser.php: Moved stack stuff for
      the code parsers into the parent class. It's use is completely
      optional, but at least now it is standardised.

2006-06-14 21:40 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Removed some cruft.

2006-06-14 21:39 oracleshinoda

    * class.geshi.php: Code parsers now get the styler using
      geshi_styler so there's no reason to pass it here.

GeSHi - 1.1.1

2006-06-10 22:29 oracleshinoda

    * class.geshi.php: Updated version for 1.1.1 release.

2006-06-09 10:57 oracleshinoda

    * geshi/languages/java/class.geshijavacodeparser.php: Fix when .*
      is used for imports having other tokens later on being converted
      to import context.

GeSHi - 1.1.1beta1

This release contains a couple of small bugfixes over the last alpha.

2006-06-03 10:07 oracleshinoda

    * class.geshi.php: Updated version constant for 1.1.1beta1 release.

2006-06-02 21:46 oracleshinoda

    * class.geshi.php: Removed list of major todos, the only one
      currently listed is done and I keep them elsewhere now.

2006-06-02 21:45 oracleshinoda

    * docs/.cvsignore: Ignore api documentation for now.

2006-06-02 21:43 oracleshinoda

    * geshi/classes/class.geshicodeparser.php,
      geshi/languages/php/php.php, geshi/languages/php/php5.php,
      geshi/languages/php/common.php, geshi/languages/php/php4.php,
      geshi/scripts/README, geshi/themes/boride/d10/themeinfo.php,
      geshi/themes/phpsyntax/php/php5.php, geshi/functions.geshi.php,
      geshi/themes/phpsyntax/dynamic/themeinfo.php, class.geshi.php,
      geshi/languages/css/common.php, geshi/languages/css/css.php,
      geshi/languages/web3d/vrml97.php, geshi/themes/default/c/c.php,
      geshi/languages/java/java.php, geshi/themes/boride/themeinfo.php,
      geshi/themes/default/java/java.php: Cleaned up the phpdoc stuff -
      in particular, everything is now in package geshi. Useful when
      GeSHi is used in third-party apps with their own packages.

2006-05-30 19:17 oracleshinoda

    * class.geshi.php: Prevented lang/common from being used as a
      language name.

2006-05-30 18:57 oracleshinoda

    * geshi/languages/css/css.php: Added missing font-face keyword.

2006-05-29 20:21 oracleshinoda

    * geshi/languages/php/common.php: Corrected ender for multiline

2006-05-29 20:20 oracleshinoda

    * class.geshi.php: Added some TODOs for 1.1.1.

GeSHi - 1.1.1alpha5

New features include subthemes, language file format change to improve loading time and language file simplicity, support for C added, improvements to Java highlighting and many bug fixes and enhancements.

2006-05-27 10:20 oracleshinoda

    * class.geshi.php: Changed version for 1.1.1alpha5 release.

2006-05-26 22:05 oracleshinoda

    * docs/index.html: Gave documentation a long overdue overhaul.

2006-05-26 21:38 oracleshinoda

    * geshi/: classes/class.geshistringcontext.php,
      languages/php/class.geshiphpcodeparser.php: Deferred or marked as
      completed some TODOs.

2006-05-26 21:36 oracleshinoda

    * geshi/classes/class.geshicodecontext.php,
      geshi/classes/class.geshistyler.php, class.geshi.php,
      geshi/languages/php/common.php: Made the language parameter of
      loadStyles() optional.

2006-05-26 21:25 oracleshinoda

    * geshi/languages/html/html.php: Corrected the parse data for
      javascript embedded in strings.

2006-05-26 21:21 oracleshinoda

    * geshi/classes/class.geshicontext.php: Deferred a balancing
      context TODO.

2006-05-26 21:20 oracleshinoda

    * geshi/classes/: class.geshirenderer.php, class.geshistyler.php,
      renderers/class.geshirendererhtml.php: Moved renderer code to the
      renderer package. Removed the need for passing the GeSHiStyler

2006-05-26 21:15 oracleshinoda

    * geshi/languages/java/java.php: Removed done TODO.

2006-05-26 21:14 oracleshinoda

    * class.geshi.php, geshi/classes/class.geshicodecontext.php,
      geshi/languages/html/html.php, geshi/languages/java/java.php,
      geshi/languages/php/common.php: Converted fifth parameter of
      addChildLanguage to default to GESHI_CHILD_PARSE_NONE, which is
      used more often.

2006-05-26 21:03 oracleshinoda

    * class.geshi.php, geshi/languages/c/c.php,
      geshi/languages/java/class.geshijavacodeparser.php: Moved the
      code parsers to the language directory.

2006-05-22 21:18 oracleshinoda

    * geshi/themes/default/web3d/vrml97.php: Added theme file for

2006-05-22 21:17 oracleshinoda

    * geshi/themes/default/php/: php.php, php4.php, php5.php: Made
      double numbers readable.

2006-05-22 21:16 oracleshinoda

    * geshi/languages/web3d/vrml97.php: Converted web3d&#039;s vrml97
      language to the new language file format.

2006-05-22 21:16 oracleshinoda

    * geshi/languages/vhdl/vhdl.php: Converted vhdl to new language
      file format.

2006-05-22 21:15 oracleshinoda

    * geshi/languages/codeworker/: codeworker.php, roughtext.php:
      Converted codeworker to the new format, but it&#039;s a little buggy
      and needs some work.

2006-05-21 18:47 oracleshinoda

    * geshi/themes/default/qbasic/qbasic.php: Added a theme file for

2006-05-21 18:46 oracleshinoda

    * geshi/languages/qbasic/qbasic.php: Converted QBasic language to
      the new format, and added some keywords.

2006-05-21 18:45 oracleshinoda

    * geshi/classes/class.geshicontext.php: Don&#039;t check for a dialect
      function if the language being highlighted is not a dialect.

2006-05-21 18:45 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Detection of
      differently cased keywords when keyword case checking was false
      was broken because the wrong flag was being checked to see if
      case sensitivity was on. This is now fixed.

2006-05-18 10:07 benbe

    * geshi/languages/delphi/asm.php: add: #0000033 Minimal support for
      highlighting local ASM labels (alpha)

2006-05-18 09:45 benbe

    * geshi/languages/delphi/: asm.php, common.php, delphi.php: mov:
      Moved stdprocs contexts from delphi to common file fix: Fixed
      some little issue with hex numbers highlighted only randomly add:
      Added Result to the set of keyidents add: linked keyidents in ASM
      language file

2006-05-17 22:03 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Bug 79: Added the
      ability for languages to specify a context name for numbers,
      overriding the default num/int and num/dbl. Specify the name by
      defining the context_name index of the passed $options array.

2006-05-17 21:35 oracleshinoda

    * geshi/classes/class.geshicontext.php: Related to bug 76: define
      an _initPostProcess() method that is called after a context is
      set up to allow classes to clean up after the init function is

      Also removed some old member variables that had been commented
      out for a while.

2006-05-17 21:33 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Fixed bug 76 by
      allowing the double regex to always be specified after the int
      regex, thus making their dectection much faster and easier than
      if the ints had to be detected before the doubles.

2006-05-17 20:06 oracleshinoda

    * geshi/classes/class.geshicontext.php: Bug 73: Cleaned up the code
      for determining which functions get called, and in what order.
      The user-defined function is tried first, then
      geshi_lang_dialect_context_name, then geshi_dialect_context_name,
      then geshi_lang_context_name.

2006-05-17 19:05 netocrat

    * geshi/languages/c/c.php: Re-inserted detailed preprocessor
      highlighting after removing it for the recent performance-based
      changes. Achieved this by removing child preprocessor contexts
      and adding most of their functionality to the main preprocessor

      Added copious notes and todos explaining the changes and what&#039;s
      still missing (no showstoppers) - much of this documentation
      might eventually be better placed in a separate plain-text file.

      Made misc other changes such as removal of commented-out code.

2006-05-17 18:58 netocrat

    * geshi/languages/c/common.php: Made miscellaneous updates
      alongside those to the language and parser files: * added a
      $token parameter to geshi_c_get_ctlflow_keywords_url() *
      reworded some comments * removed some no-longer-used functions *
      renamed others

2006-05-17 18:54 netocrat

    * geshi/themes/default/c/c.php: * Removed styles - added in the
      last commit - for child preprocessor contexts that were not and
      are not used. * Commented out two styles and documented another
      that will become redundant when changes to the language and
      parser files are (shortly) committed * Reworded the comment on
      the styling of non-standard preprocessor directives.

2006-05-16 22:08 oracleshinoda

    * geshi/languages/php/common.php: Corrected intentional mistake
      used to test bug 74.

2006-05-16 22:07 oracleshinoda

    * geshi/languages/php/common.php: Because of the better fix for bug
      73, we don&#039;t need to specify functions so often now.

2006-05-16 22:07 oracleshinoda

    * geshi/languages/delphi/: asm.php, common.php, delphi.php: Because
      of the better fix for bug 73, we don&#039;t need to specify functions
      so often now.

      Also fixed incorrect name of oodynamic in one context.

2006-05-16 22:05 oracleshinoda

    * geshi/classes/class.geshicontext.php: Better behaviour for bug
      73, now geshi_lang_context_name is also checked for existance and
      called if necessary.

      Bug 74: a better crash dump is generated if the function doesn&#039;t

      Bug 75: ending child languages wasn&#039;t working as expected. The
      child language was not being allowed to decide the ender for
      itself, and it should have been.

      Some cleanups were performed.

2006-05-16 14:54 netocrat

    * geshi/languages/c/c.php: Made several changes to the C language
      file and C parser file to improve performance. Average
      improvement is a sixfold speed increase, at the cost of: * loss
      of highlighting/linking of the &#039;defined&#039; keyword within #if and
      #elif directives * loss of highlighting of comments, string
      literals, character constants, symbols other than &lt; and &gt;, ints
      and doubles in the preprocessor context

      Changes to the language file alone: * greatly reduced the size
      and complexity of the regex that detects the start of the
      preprocessor context * disabled the ifelif, include and general
      child contexts of the preprocessor

      Changes affecting both files: * moved highlighting/linking of
      preprocessor directives to the parser * moved
      highlighting/linking of standard headers in #include directives
      to the parser

2006-05-16 14:43 netocrat

    * geshi/themes/default/c/c.php: Added a couple of styles necessary
      for the about-to-be-committed performance-based changes to the C
      language and parser files.

2006-05-16 14:41 netocrat

    * geshi/languages/c/common.php: Added a $token parameter to most
      url-returning functions so that they can be called by
      GeSHiCCodeParser::parseToken() without having to perform a
      &#039;{FNAME}&#039; replacement.

2006-05-14 21:40 tim-w

    * geshi/languages/java/java.php: files changed -languages/java.php

      -Updated the java language file, now all java packages have been

2006-05-14 21:28 oracleshinoda

    * geshi/languages/java/java.php: Due to functionality change, the
      language file has to include any extra required classes. Made the
      Java language file include the geshisinglecharcontext class.

2006-05-14 21:27 oracleshinoda

    * geshi/languages/c/common.php: Due to functionality change, the
      common file has to include any extra required classes. Made the C
      common file include the geshisinglecharcontext class.

2006-05-14 21:24 oracleshinoda

    * geshi/languages/php/class.geshiphpdoublestringcontext.php: Moved
      the PHPDoubleStringContext to the languages directory.

2006-05-14 21:22 oracleshinoda

    * geshi/languages/php/: common.php, php.php, php4.php, php5.php:
      Use bug #73 features for PHP language.

2006-05-14 21:21 oracleshinoda

    * geshi/languages/delphi/: asm.php, common.php, delphi.php: Use the
      bug #73 features for delphi language.

2006-05-14 21:18 oracleshinoda

    * geshi/classes/class.geshicontext.php: Bug #73: allow addChild to
      specify a function that can be used to initialise the context.
      Still needs more discussion before it can be marked as resolved.

      Also some very basic handling of bug #74: better error reporting
      if language functions don&#039;t exist.

2006-05-14 21:07 netocrat

    * geshi/themes/default/c/c.php: * Added author, copyright and
      bug-report page to header

2006-05-14 21:02 netocrat

    * geshi/languages/c/c.php: * Added author, copyright and bug-report
      page to header * Modified file to use the included functions of
      common.php - this avoids redundancy and keep tokens in a single
      file (many will need to be also used in the parser for correctly
      highlighting tokens split over lines with the continuation
      character \)

2006-05-14 21:00 netocrat

    * geshi/languages/c/common.php: * Added author, copyright and
      bug-report page to header * Modified file to be function-based
      instead of operating on $this

2006-05-14 20:44 netocrat

    * geshi/languages/c/common.php: Moved
      contexts/c/common_keywords.php to languages/c/common.php (this
      breaks usage of the &#039;contexts/c&#039; subdirectory but that
      directory&#039;s scheduled for removal anyway)

2006-05-14 18:28 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Fix integers taking
      over highlighting of the first part of double numbers.

2006-05-14 18:25 netocrat

    * geshi/languages/c/c.php: Returned other functionality that got
      lost in the conversion to the new format: a separate highlighting
      context for the preprocessor.

2006-05-14 18:01 chocmurderer

    * geshi/languages/vhdl/vhdl.php: lol at nigel

2006-05-14 16:55 netocrat

    * geshi/languages/c/c.php: * Returned reliability to detection and
      highlighting of the &#039;preprocessor/general&#039; context by
      re-inserting the geshic_make_ppdir_regexps() function, lost
      during conversion to the new format. * Allowed that a newline
      might not be the last character in the code - strictly not
      allowed in C but a possible occurrence when passing code in to
      GeSHi. (Yes, both of these increase the complexity of the
      preprocessor&#039;s already excessive regexp&#039;s, but before improving
      performance I wanted to get the behaviour right)

2006-05-14 14:18 oracleshinoda

    * geshi/languages/delphi/common.php: Added &#039; as an escape character
      and a character to escape, now that bug #72 is fixed.

2006-05-14 14:18 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Fixed a couple of
      bugs in the string context:

        1) Bug #72: allowed using the ender for a string as an escape
      character for itself.
        2) Allow all enders to have a go at matching the end of the
      string, and pick the best one (as opposed to having only the
      first ender try).

2006-05-14 14:15 oracleshinoda

    * geshi/classes/class.geshicontext.php: Better check for
      whitespace-only code blocks.

2006-05-14 13:40 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Removed ( and * from
      symbols to include in OO token highlighting (bug 71).

2006-05-14 13:30 oracleshinoda

    * geshi/languages/: delphi/delphi.php, c/c.php, delphi/asm.php,
      java/java.php, javascript/javascript.php, php/common.php:
      Converted language files to use the new useStandardDoubles()

2006-05-14 13:29 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: useStandardDoubles()
      now takes an array of options to configure the highlighting of
      double numbers. +/- signs before double number are no longer
      highlighted like the number.

2006-05-13 18:25 oracleshinoda

    * geshi/themes/: boride/d2/delphi/delphi.php,
      boride/d1/delphi/asm.php, boride/d1/delphi/delphi.php,
      boride/d10/delphi/asm.php, boride/d10/delphi/delphi.php,
      boride/d2/delphi/asm.php, boride/d3/delphi/asm.php,
      boride/d3/delphi/delphi.php, boride/d4/delphi/asm.php,
      boride/d4/delphi/delphi.php, boride/d5/delphi/asm.php,
      boride/d5/delphi/delphi.php, boride/d6/delphi/asm.php,
      boride/d6/delphi/delphi.php, boride/d7/delphi/asm.php,
      boride/d7/delphi/delphi.php, boride/d8/delphi/asm.php,
      boride/d8/delphi/delphi.php, boride/d9/delphi/asm.php,
      boride/d9/delphi/delphi.php, boride/delphi/asm.php,
      boride/delphi/delphi.php, default/delphi/asm.php,
      default/delphi/delphi.php: Moved delphi ASM stuff into it&#039;s own
      theme files because it&#039;s now a dialect of delphi.

2006-05-13 18:18 oracleshinoda

    * geshi/languages/delphi/delphi.php: Moved delphi ASM stuff to a
      separate dialect, and hook it in here to support ASM within
      delphi. Fixed mishighlighting of OO tokens, context name was

2006-05-13 18:16 oracleshinoda

    * geshi/languages/delphi/common.php: Corrected some minor
      file/comment format mistakes.

2006-05-13 18:16 oracleshinoda

    * geshi/languages/delphi/asm.php: Split out the Delphi ASM stuff
      into a separate dialect.

2006-05-13 18:13 oracleshinoda

    * geshi/languages/c/c.php: Converted C language file to new format.

2006-05-13 18:09 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Added a todo about
      escaping (also mentioned in a GeSHi bug report.

2006-05-13 18:07 oracleshinoda

    * geshi/classes/class.geshicontext.php: Store the language name as
      a language name, not language/dialect. Required for making
      relative context names correctly.

2006-05-13 18:06 oracleshinoda

    * geshi/classes/class.geshicodeparser.php: Added a couple of TODOs
      on code parser usage.

2006-05-13 18:05 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Make sure to cast the
      symbols to an array to allow symbol groups with just one symbol.

2006-05-07 18:37 oracleshinoda

    * geshi/functions.geshi.php: Enforced correct return type for

2006-05-07 14:14 oracleshinoda

    * geshi/languages/delphi/delphi.php: Corrected include path for
      delphi&#039;s common.php file.

2006-05-07 14:12 oracleshinoda

    * class.geshi.php: Added a todo about a bug I should check.

2006-05-07 14:09 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Fixed issue where not
      specifying escape characters caused an infinite loop. Also
      possibly fixed the todo listed where only the last escape
      character is checked for escaping.

2006-05-07 05:40 benbe

    * geshi/: languages/delphi/common.php, languages/delphi/delphi.php,
      themes/default/delphi/delphi.php: fix: Started fixing broken
      Delphi language support add: Added Compiler Switch highlighting
      mov: Moved some duplicate stuff into a separate common file.

2006-05-06 21:28 oracleshinoda

    * geshi/languages/delphi/delphi.php: Removed \n from characters to
      escape for delphi single strings.

2006-04-30 10:58 oracleshinoda

    * class.geshi.php: Moved some preprocessing for parseCode to the
      appropriate place. Automatically include the base code parser to
      prevent it having to be done in the code parser files.

2006-04-30 10:57 oracleshinoda

    * geshi/classes/renderers/class.geshirendererhtml.php: Changed
      header comment format to new format.

2006-04-30 10:55 oracleshinoda

    * geshi/classes/class.geshistyler.php: require_once the base code
      parser and renderer class before getting the appropriate classes,
      to save having to do it in the code parsers/renderers themselves.
      Added handling for setCodeParser error.

2006-04-30 10:54 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Added comments about
      removing _lastOpener field.

2006-04-30 10:54 oracleshinoda

    * geshi/classes/class.geshisinglecharcontext.php: Changed the
      header comment to the new format.

2006-04-30 10:52 oracleshinoda

    * geshi/classes/: class.geshidefaultcodeparser.php,
      class.geshirenderer.php: Changed the header format. Whitespace

2006-04-30 10:51 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Removed the obsolete
      load() method.

2006-04-30 10:51 oracleshinoda

    * geshi/functions.geshi.php: Changed the header comment to the new
      format, and commented the geshi_styler function.

2006-04-29 22:12 oracleshinoda

    * geshi/languages/java/java.php: Fixed up the copyright notice, and
      commented out an unnecessary call.

2006-04-29 22:11 oracleshinoda

    * geshi/languages/delphi/delphi.php: Converted the delphi language
      file to the new format. It&#039;s a very basic &quot;1 for 1&quot; change at the
      moment, and is most likely broken for now.

2006-04-29 22:10 oracleshinoda

    * geshi/languages/css/common.php: Whitespace cleanup.

2006-04-29 22:09 oracleshinoda

    * geshi/classes/class.geshisinglecharcontext.php: Added some
      missing API methods.

2006-04-26 20:36 oracleshinoda

    * geshi/languages/php/php5.php: Converted PHP5 file to new language

2006-04-26 20:32 oracleshinoda

    * geshi/languages/java/java.php: Changed author name to be correct.

2006-04-26 20:20 oracleshinoda

    * geshi/themes/default/css/css.php: Removed some unneeded styles.

2006-04-26 20:18 oracleshinoda

    * geshi/languages/: java/java.php, php/common.php, php/php.php:
      Minor style changes.

2006-04-26 20:17 oracleshinoda

    * geshi/languages/: html/html.php, javascript/javascript.php,
      php/php4.php: New header format. Minor style changes.

2006-04-26 20:17 oracleshinoda

    * geshi/languages/css/: common.php, css.php: Converted CSS language
      file to new format. Added common CSS file for any dialects in the

2006-04-26 20:16 oracleshinoda

    * geshi/languages/c/c.php: Minor formatting changes, these files
      still have to be changed to the new language file format.

2006-04-26 20:10 oracleshinoda

    * geshi/classes/class.geshistyler.php: Header comment format

2006-04-26 20:10 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Header comment
      changes. Added some missing API methods.

2006-04-26 20:09 oracleshinoda

    * geshi/classes/class.geshicontext.php: A whole bunch of style
      cleanups and improvements to the new language file format.
      Unfortunately I am writing this comment a while after I actually
      did the changes...

2006-04-26 20:07 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Use new
      _makeContextName function to get a context name. This allows
      relative names.

2006-04-09 21:04 oracleshinoda

    * class.geshi.php: Allowed styler to be reset after code is parsed.
      Allow code parser to be set if two geshi objects are used in one

2006-04-09 21:02 oracleshinoda

    * geshi/themes/default/php/php.php: Added highlighting for heredoc
      escape characters.

2006-04-09 21:01 oracleshinoda

    * geshi/languages/php/common.php: Added new common file that
      contains stuff common to all versions of PHP.

2006-04-09 21:01 oracleshinoda

    * geshi/languages/php/php4.php: Converted PHP4 to new language file

2006-04-09 21:00 oracleshinoda

    * geshi/languages/php/php.php: Moved some of the PHP stuff into a
      new common file, so php4 and 5 can share it.

2006-04-09 20:59 oracleshinoda

    * geshi/languages/javascript/javascript.php: Converted javascript
      to new language file format.

2006-04-09 20:58 oracleshinoda

    * geshi/languages/html/html.php: Changed HTML language to new

2006-04-09 20:57 oracleshinoda

    * geshi/languages/css/css.php: Began changing CSS to new language
      file format.

2006-04-09 20:54 oracleshinoda

    * geshi/classes/class.geshicontext.php: When embedding do it to all
      children as well as the new root context. Added support for
      aliasing again, this time it is much simpler because of one stage
      loading. Commented out some old stuff.

2006-04-09 20:52 oracleshinoda

    * geshi/functions.geshi.php: Allow styler to be reset after one
      code parsing has taken place.

2006-04-09 13:02 oracleshinoda

    * geshi/languages/php/php.php: PHP language file converted to the
      new format.

2006-04-09 12:59 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Fixed up a geshi_dbg

2006-04-09 12:50 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Language file format
      has been rethought, and as a result some changes have been made
      to the GeSHiCodeContext class:

        * Header comment now has new format
        * Some unnecessary fields have been commented out
        * Added a collection of API methods for language files to use
      to define languages. A context now loads by passing itself as an
      argument to a function which calls those API methods as
      appropriate to customise the context.
        * Removed the load() method, which is no longer required (one
      stage loading!)
        * Calls to geshi_dbg fixed.

2006-04-09 12:48 oracleshinoda

    * geshi/classes/class.geshicontext.php: Language file format has
      been rethought, and as a result some changes have been made to
      the GeSHiContext class:

        * Header comment now has new format
        * Some unnecessary fields have been commented out
        * Added a collection of API methods for language files to use
      to define languages. A context now loads by passing itself as an
      argument to a function which calls those API methods as
      appropriate to customise the context.
        * getName() renamed to name()
        * Removed the load() method, which is no longer required (one
      stage loading!)
        * Rather than a context &quot;infecting&quot; another context, the
      context &quot;embeds&quot; itself inside another. Mainly a grammar change
      but also some sneakiness in the embedWithin() method.
        * trimUselessChildren was tidied up
        * Calls to geshi_dbg fixed.

2006-04-09 12:40 oracleshinoda

    * geshi/classes/: class.geshistringcontext.php,
      class.geshisinglecharcontext.php: Fixed up calls to geshi_dbg.

2006-04-09 12:39 oracleshinoda

    * geshi/classes/class.geshistyler.php: * Removed support for
      different file extensions.
        * Now the language field is used internally where possible.
        * Removed a bunch of unnecessary geshi_dbg calls.

2006-04-09 12:37 oracleshinoda

    * geshi/languages/doxygen/doxygen.php: Added doxygen language,
      using the new language file format.

2006-04-09 12:36 oracleshinoda

    * geshi/languages/java/java.php: Java language file has been
      converted to the new format - a bunch of functions that make API
      calls on a GeSHiContext object.

2006-04-09 12:34 oracleshinoda

    * geshi/functions.geshi.php: * Changed debugging: no longer can
      you pass a bitmask to geshi_dbg to control what is displayed.
      Instead geshi_dbg_on() and geshi_dbg_off() assist with debugging.
        * Removed old, commented out version of geshi_can_include
        * Removed geshi_use_integers and geshi_use_doubles functions,
      which are now handled internally by the GeSHiCodeContext class.
        * Added geshi_styler(), which returns one instance of the
      styler helper and prevents having to pass the styler around by
      reference everywhere.

2006-04-09 12:27 oracleshinoda

    * class.geshi.php: These large changes are related to the language
      file format rethink.

        * Version bumped to 1.1.1alpha5dev
        * The header comment now has a new format, which will be
      applied to all files
        * Removed GESHI_DIR_SEPARATOR constant (now GESHI_DIR_SEP)
        * Both the GeSHiCodeContext and GeSHiStringContext are now
      automatically included, because they are most likely to be used
      anyway and this allows us to use require instead of require_once,
      speeding the operation of PHP opcode caches.
        * Timing is now initialised in a method
        * error() has been deprecated as it&#039;s hardly ever used and
      doesn&#039;t provide very useful information
        * Language data loading is delayed until parseCode is called
        * When language data is loaded, the code parser is
      automatically detected and used if present

        * Tidyup:
          * Removed some done TODOs
          * Removed a bunch of geshi_dbg calls no longer needed
          * Removed some debug/error constants
          * setTheme was simplified
          * Removed get_version method not present in 1.0.X
          * Removed support for configuring the file extension
          * Moved deprecated methods to the bottom of the file

2006-03-29 21:46 netocrat

    * geshi/: languages/c/c.php, themes/default/c/c.php: Added files
      containing initial highlighting support for C including
      preprocessor directives. No dialects yet and the list of
      functions/standard identifiers is incomplete. No known bugs when
      highlighting well-formed code that doesn&#039;t use any
      implementation-specific extensions..

2006-03-23 21:47 oracleshinoda

    * class.geshi.php: Added new method getSupportedThemes() - returns
      all possible themes supported.

2006-03-04 15:12 oracleshinoda

    * geshi/functions.geshi.php: Fixed erroneous catching of f or l for
      double number highlighting, that was causing the next symbol to
      be replaced by the f or l.

2006-03-04 14:37 oracleshinoda

    * geshi/functions.geshi.php: Highlight either f or l after double
      numbers (still not sure whether this should be configurable or

2006-02-25 12:36 oracleshinoda

    * geshi/functions.geshi.php: Added support for &quot;f&quot; after a number,
      though this may need to be configurable per language later.

2006-02-18 14:59 tim-w

    * geshi/themes/default/java/java.php: Files Edited

      Changes -Fixed the case public void foo(class1 c, class2 d) { }
      back to how it was by commenting $flush = true in the methods
      checking section -Then fixed the original problem of Foo foo; not
      recognising foo as a variable by adding a check for this case.

      -The java code parser can now detect static classes and will
      highlight ones that are user defined.

      -Added static class highlighting information to the java theme

2006-02-17 08:21 benbe

    * geshi/themes/boride/: d10/delphi/delphi.php,
      d7/delphi/delphi.php: add: Further Color Theme updates for the
      Borland IDE Theme regarding Version 7 and 10

2006-02-16 12:37 tim-w

    * geshi/themes/default/java/java.php: Files Edited

      Changes -Fixed the case Foo foo; which was treating both as
      class_name by uncommenting $flush = true in the method check

      -Added support for static import statements

      -Added support for the new java 5 for loop for(X x : c) { } now x
      is recognised as a variable

      -Added support for highlighting enum varaibles

      -Added highlighting to the possible values of an enum

      -Added enum highlighting information to the java theme file

2006-02-15 12:12 benbe

    * geshi/themes/boride/: d10/delphi/delphi.php,
      d9/delphi/delphi.php: fix: Modified the theme files to better
      suite the Borland Delphi 9 and 10 IDE defaults, that got heavily
      changed in those versions

2006-02-13 15:47 tim-w

    * geshi/themes/default/java/java.php: Files Edited

      Changes -Added highlighting information for package and import

2006-02-13 14:21 tim-w

    * geshi/themes/default/java/java.php: Files Edited
      -class.geshijavacodeparser.php -themes/default/java/java.php

      Changes -Can now highlight exceptions after throws and can
      highlight mulitple exceptions.

      -User defined exceptions are highlighted in a different colour to
      standard Java Exceptions

      -Abstract methods/classes are highlighted a different colour to
      normal methods/classes

      -Static methods/classes are highlighted a different colour to
      normal methods/classes

      -Added highlighting information to the default java theme file

2006-02-13 03:11 benbe

    * geshi/themes/boride/: d10/delphi/delphi.php, d1/themeinfo.php,
      d1/delphi/delphi.php, d10/themeinfo.php, d2/themeinfo.php,
      d2/delphi/delphi.php, d3/themeinfo.php, d3/delphi/delphi.php,
      d4/delphi/delphi.php, d4/themeinfo.php, d5/themeinfo.php,
      d5/delphi/delphi.php, d6/themeinfo.php, d6/delphi/delphi.php,
      d7/themeinfo.php, d7/delphi/delphi.php, d8/delphi/delphi.php,
      d8/themeinfo.php, d9/delphi/delphi.php, d9/themeinfo.php: add:
      #0000061 Created basic subthemes for the Borland IDEs (Delphi 1
      to Delphi 10).

- 0000032: [lang] Copy stdprocs context for delphi/delphi/asm (BenBE)
- 0000072: [core] Problems with escape chars (nigel)
- 0000073: [core] Context Load Handler Spec by Context Adding Proc (nigel)
- 0000075: [lang] ASM-Ender in Delphi sources inside comments not ignored (nigel)
- 0000076: [lang] Integers after subranges not highlighted (nigel)
- 0000078: [lang] Delphi Code Parser dropping some contexts (BenBE)
- 0000077: [lang] Aliasing problems on non-aliased context (BenBE)
- 0000079: [core] Add $context as a parameter of useStandardIntegers() and useStandardDoubles() (nigel)
- 0000071: [core] Current OOP behaviour not suitable for Delphi (nigel)
- 0000070: [core] Unsupported FP-Format with Delphi (nigel)
- 0000002: [core] Should be possible to tweak context data dynamically (nigel)
- 0000061: [core] Allow for Subtheme-definitions (nigel)

GeSHi - 1.1.1alpha4

This release contains theming support (i.e. highlight the same source in the colours of your favourite IDE), and improvements to Java and Delphi highlighting.

2006-02-12 14:38 oracleshinoda

    * class.geshi.php, geshi/functions.geshi.php: Bug 15: Added symlink
      checking when detecting paths.

2006-02-12 14:11 oracleshinoda

    * geshi/classes/java/class.geshijavacodeparser.php: Removed
      debugging line.

2006-02-12 14:10 oracleshinoda

    * geshi/classes/java/class.geshijavacodeparser.php: Detect
      classnames after instanceof. Better variable name checking, now
      variables can be detected inside method signatures. Detect casts
      (e.g.: f = (Foo) f;)

2006-02-12 14:07 oracleshinoda

    * geshi/themes/default/java/java.php: Style data plugged into the
      theme file for java.

2006-02-12 14:06 oracleshinoda

    * geshi/contexts/doxygen/: doxygen.php, htmltag.php, link.php,
      tag.php: Because doxygen is used by java which uses the code
      parser, set the complexFlag for them to GESHI_COMPLEX_PASSALL.

2006-02-12 14:05 oracleshinoda

    * class.geshi.php: When setTheme is called, set second parameter of
      loadStyles so that it knows that it is a root loading of styles.

2006-02-12 14:04 oracleshinoda

    * geshi/classes/class.geshistyler.php: Provide a "hidden" second
      parameter to loadStyles which is only used internally by GeSHi
      (and not by theme files) to signal that this call of loadStyles
      is the "root" call for loading all theme data, and thus the
      previous style data should be trashed.

2006-02-11 17:59 oracleshinoda

    * class.geshi.php, geshi/classes/class.geshistyler.php: Bug 59: now
      style data is loaded in a semi-WYSIWYG way, with setTheme
      trashing all data before it. Themes are still loaded "on demand".

2006-02-11 17:56 oracleshinoda

    * docs/developers/cvs.html: Bug 62: CVS commit documentation added.
      A little rudimentary at this point.

2006-02-11 16:07 oracleshinoda

    * geshi/classes/java/class.geshijavacodeparser.php: - Use the
      stack to enable highlighting of class names in examples like:

          Foo f = new Foo(); // now the first Foo can be caught
          Bar b;
          b = new Bar(); // first bar is still caught

        - Highlight interfaces differently from class names
        - Highlight variables and methods

2006-02-11 15:58 oracleshinoda

    * geshi/contexts/java/: double_string.php, doxygen.php,
      multi_comment.php, single_comment.php, single_string.php: All
      java contexts need to be passed into the code parser because the
      stack is being used.

2006-02-11 15:51 oracleshinoda

    * geshi/classes/class.geshistyler.php: Flush the last of the parsed
      code when getting the result, to make sure we don't leave
      anything behind.

2006-02-11 15:50 oracleshinoda

    * geshi/classes/class.geshicodeparser.php: Added flush() method,
      which should flush the stack if a code parser is using one.

2006-02-11 11:58 oracleshinoda

    * geshi/classes/java/class.geshijavacodeparser.php: $this->state
      doesn't exist, it is $this->_state (notice on line 164)

2006-02-10 11:16 tim-w

    * geshi/: classes/java/class.geshijavacodeparser.php,
      contexts/java/java.php: Files Edited
      -class.geshijavacodeparser.php -contexts/java/java.php

      Changes -Removed double, byte, char and boolean from the keywords
      array as they are already in the dtypes array and it makes more
      sense for them to be in the dypes array in java.php

      -The javacodeparser now recognises variables, but cannot
      highlight yet -Barewords after new are now recognised as user
      class types except for java standard library class types

2006-02-09 16:24 tim-w

    * geshi/classes/java/class.geshijavacodeparser.php: Files Edited

      Changes -Removed extra newlines from the end of the file

2006-02-09 16:16 tim-w

    * geshi/classes/java/class.geshijavacodeparser.php: Files Edited

      Changes -Fixed bug where only the first implemented interface was
      being highlighted, now it handles an arbitrary number. -The java
      code parser now detects methods but will need another stage of
      code parsing before they can be highlighted.

2006-02-09 14:40 tim-w

    * geshi/classes/java/class.geshijavacodeparser.php: Files Edited

      Changes -Fixed bug where the ( after the keyword super when used
      to call the superclass constructor was being recognised as a
      class type.

2006-02-02 16:59 tim-w

    * geshi/classes/java/class.geshijavacodeparser.php: Files Edited

      Changes -Some basic support for annotations is avaliable
      -parameterised types are now highlighted separately from class
      types. -Fixed a few highlighting bugs such as tokens that were
      outside a < and > were been highlighted

2006-02-02 12:12 tim-w

    * geshi/contexts/java/java.php: Files Edited -contexts/java.php

      Changes -Added @ to array of java symbols as it is used for

2006-02-02 10:30 tim-w

    * geshi/classes/java/class.geshijavacodeparser.php: Files Edited

      Changes -Interfaces implemented by a class are highlighted
      -Parameterized types in generics are now highlightable including
      cases such as

      -Foo<A, B, C> foo1; -Foo<? extends C> foo2; -Foo<? super B> foo3

      In all cases A, B, C are all highlighted.

2006-01-30 22:17 oracleshinoda

    * geshi/languages/java/java.php: Re-enabled the GeSHiCodeParser for

2006-01-30 22:16 oracleshinoda

    * geshi/contexts/java/java.php: Added isComplex field so the code
      parser actually gets work to do.

2006-01-30 22:14 oracleshinoda

    * geshi/classes/java/class.geshijavacodeparser.php: Tried to get
      Generics highlighted correctly, but still needs some work.

2006-01-29 13:00 oracleshinoda

    * class.geshi.php: Bug 43: Added optional parameter to
      themesSupportedBy. If true, returns the human-readable theme name
      also for each theme.

2006-01-28 19:50 oracleshinoda

    * class.geshi.php: Added languageSupportsTheme static method for
      helping users.

2006-01-11 23:09 oracleshinoda

    * class.geshi.php, geshi/classes/class.geshistyler.php: Fixed: user
      can specify styles with setStyles before or after calling

2006-01-11 22:46 oracleshinoda

    * geshi/themes/phpsyntax/: dynamic/php/php4.php,
      dynamic/php/php5.php, php/php.php, php/php4.php, php/php5.php:
      Rather than redefine all the styles, just load them from the
      php.php theme file. Saves some space and repetition.

2006-01-11 22:33 oracleshinoda

    * class.geshi.php: Bug 61: add support for subthemes. All that
      needed to change was the detecting of subthemes in

2006-01-11 22:30 oracleshinoda

    * geshi/themes/phpsyntax/dynamic/: php/php5.php, php/php.php,
      php/php4.php, themeinfo.php: Bug 47: Added subtheme
      phpsyntax/dynamic: gets its colours from ini_get('highlight.*')

2006-01-09 07:40 benbe

    * geshi/contexts/delphi/asm.php: fix: #0000056 Missing
      "isComplex"-Directive caused ASM Operator Highlighting to do not
      work at all ;-) (although I already included such a directive
      before ;-)

2006-01-05 21:38 oracleshinoda

    * geshi/contexts/javascript/javascript.php: Fixed up keyword
      disallowed characters

2006-01-03 11:17 oracleshinoda

    * class.geshi.php: setStyles now calls GeSHi::setRawStyle, to allow
      for more control.

2006-01-02 23:00 oracleshinoda

    * geshi/functions.geshi.php: Cosmetic/maintenance

2006-01-02 22:42 oracleshinoda

    * class.geshi.php: Added some @since tags.

2006-01-02 22:41 oracleshinoda

    * geshi/contexts/php/: php.php, php4.php, php5.php: Added types for
      casting. Moved array, isset and unset to be language constructs
      instead of functions.

2006-01-02 22:39 oracleshinoda

    * class.geshi.php: setTheme can now take a list, e.g.
      $geshi->setTheme('theme1', 'theme2'); languagesSupportedBy now
      returns an empty array if no languages are found, to be more
      consistent with themesSupportedBy.

2006-01-02 19:11 oracleshinoda

    * geshi/classes/class.geshicodecontext.php,
      geshi/contexts/delphi/single_comment.php, class.geshi.php,
      geshi/contexts/php/php.php, geshi/contexts/php/php4.php,
      geshi/contexts/php/php5.php: More advanced support for passing
      stuff to the code parser - now many contexts can be ignored
      completely, saving many method calls.

2006-01-02 18:05 oracleshinoda

    * geshi/themes/phpsyntax/: php/php.php, php/php4.php, php/php5.php,
      themeinfo.php: Added phpsyntax theme: styles things like php -s.

2006-01-02 18:04 oracleshinoda

    * geshi/contexts/php/: php4.php, php5.php: Did some re-organising:
      merged cstructure and keyword groups (though kept "echo" and
      "print" seperate so they could specify a php.net manual link).

2006-01-02 18:01 oracleshinoda

    * geshi/themes/default/php/: php5.php, php.php, php4.php: Due to
      re-organisation of php context files, styles were rearranged.

2006-01-02 18:00 oracleshinoda

    * geshi/contexts/php/php.php: Did some re-organising: merged
      cstructure and keyword groups (though kept "echo" and "print"
      seperate so they could specify a php.net manual link).

2006-01-02 17:58 oracleshinoda

    * geshi/classes/class.geshistyler.php: Fixed notices when a /start
      or /end context did not have a style.

2006-01-02 15:52 oracleshinoda

    * geshi/themes/default/: codeworker/codeworker.php, css/css.php,
      delphi/delphi.php, doxygen/doxygen.php, java/java.php,
      php/php.php, php/php4.php, php/php5.php, vhdl/vhdl.php,
      html/html.php, javascript/javascript.php: All theme stuff is now
      in package theme (bug 51)

2006-01-02 15:39 oracleshinoda

    * class.geshi.php: Updated version to 1.1.1a4 (though this is still
      in dev). Marked som older stuff for removal. Added new methods,
      languagesSupportedBy($theme), themesSupportedBy($language) and

2006-01-02 15:37 oracleshinoda

    * geshi/themes/: default/themeinfo.php, boride/themeinfo.php: Added
      theme info files for themes.

2006-01-02 13:14 oracleshinoda

    * geshi/languages/delphi/delphi.php, class.geshi.php,
      geshi/classes/class.geshistyler.php: Added support for specifying
      many themes that should be tried in preference order. Language
      files can do this to set what theme(s) they think they should be
      highlighted with, and $geshi->setTheme can take either an array
      of themes or just one theme that overrides the current choices.

2006-01-02 12:40 oracleshinoda

    * class.geshi.php, geshi/classes/class.geshistyler.php: Fix bugs 54
      and 55: $geshi->setTheme() doesn't work.

2006-01-01 13:53 benbe

    * geshi/classes/delphi/class.geshidelphicodeparser.php: add:
      Highlight operators AND, OR, SHL, SHR and XOR when used as an
      operator behind an instruction

2006-01-01 13:48 benbe

    * geshi/themes/default/delphi/delphi.php: add: /asm/num/int added
      add: /asm/num/dbl added fix: /num/int changed fix: /num/dbl

2005-12-24 00:38 benbe

    * geshi/themes/boride/delphi/delphi.php: add: missing blank line

2005-12-24 00:27 benbe

    * geshi/themes/boride/java/java.php: add: Initial Borland IDE Theme
      using defaults for JBuilder 2 although I'm not sure about some
      details - I don't have it installed nor running ATM *g*

2005-12-24 00:21 benbe

    * geshi/themes/boride/delphi/delphi.php: add: Initial Borland IDE
      Theme using defaults for D7 although I'm not sure about some
      details - I'm no more using defaults *g*

2005-12-21 21:19 oracleshinoda

    * class.geshi.php: Tell the style what language is being used for
      highlighting, useful for theming.

2005-12-21 21:18 oracleshinoda

    * geshi/themes/default/: css/css.php, delphi/delphi.php,
      php/php.php, php/php4.php, php/php5.php, doxygen/doxygen.php,
      html/html.php, java/java.php, javascript/javascript.php,
      vhdl/vhdl.php: Theme files use setStyle without specifying a

2005-12-21 21:17 oracleshinoda

    * geshi/contexts/java/doxygen.php: Create context by reference.

2005-12-21 21:17 oracleshinoda

    * geshi/: contexts/codeworker/codeworker.php,
      contexts/codeworker/cworkercwt.php, contexts/codeworker/cwt.php,
      themes/default/codeworker/codeworker.php: Support theming for

2005-12-21 21:16 oracleshinoda

    * geshi/classes/class.geshistyler.php: You can now use setStyle
      without specifying a language/dialect. New method setRawStyle
      allows specific styling if it's needed.

2005-12-21 21:15 oracleshinoda

    * geshi/classes/class.geshicontext.php: Removed ability to load
      common contexts.

2005-12-20 23:23 oracleshinoda

    * geshi/themes/default/javascript/javascript.php: Javascript
      numbers should be highlighted

2005-12-20 23:07 oracleshinoda

    * geshi/contexts/php/php4.php: Removed some unneeded indices.

2005-12-20 22:41 oracleshinoda

    * geshi/: contexts/css/at_rule.php,
      contexts/css/attribute_selector.php, contexts/css/comment.php,
      contexts/css/css.php, contexts/css/inline_media.php,
      contexts/css/rule.php, contexts/css/string.php,
      contexts/delphi/asm.php, contexts/delphi/delphi.php,
      contexts/delphi/exports_brackets.php, contexts/delphi/extern.php,
      contexts/delphi/preprocessor.php, contexts/delphi/property.php,
      contexts/doxygen/doxygen.php, contexts/doxygen/htmltag.php,
      contexts/doxygen/link.php, contexts/doxygen/tag.php,
      contexts/html/comment.php, contexts/html/css.php,
      contexts/html/doctype.php, contexts/html/html.php,
      contexts/html/javascript.php, contexts/html/string.php,
      contexts/html/string_javascript.php, contexts/html/tag.php,
      contexts/java/double_string.php, contexts/java/doxygen.php,
      contexts/java/java.php, contexts/java/multi_comment.php,
      contexts/php/double_string.php, contexts/php/heredoc.php,
      contexts/php/multi_comment.php, contexts/php/php.php,
      contexts/php/php4.php, contexts/php/php5.php,
      contexts/php/single_comment.php, contexts/php/single_string.php,
      themes/default/java/java.php, themes/default/php/php.php,
      themes/default/php/php4.php, themes/default/php/php5.php,
      contexts/javascript/single_string.php, contexts/vhdl/comment.php,
      contexts/vhdl/comments.php, contexts/vhdl/double_string.php,
      contexts/vhdl/single_string.php, contexts/vhdl/vhdl.php,
      languages/css/css.php, languages/php/php4.php,
      themes/default/css/css.php, themes/default/delphi/delphi.php,
      themes/default/vhdl/vhdl.php: Implemented theming support for
      several languages. Theme information is in seperate files.
      Renamed many contexts to singular names. Removed indices from
      many arrays.

2005-12-20 22:36 oracleshinoda

    * geshi/classes/class.geshistyler.php: Better style loading (theme
      support). Support wildcard style names.

2005-12-20 22:35 oracleshinoda

    * geshi/classes/class.geshistringcontext.php: Added note about
      removing DELIM support.

2005-12-20 22:34 oracleshinoda

    * geshi/classes/class.geshicodecontext.php: Removed loadStyleData
      method. Renumbered some array index references to remove the
      "style" index everywhere.

2005-12-20 22:32 oracleshinoda

    * geshi/classes/class.geshicontext.php: Removed loadStyleData

2005-12-20 22:31 oracleshinoda

    * geshi/functions.geshi.php: Removed indices from number function
      returned arrays.

2005-12-20 22:29 oracleshinoda

    * class.geshi.php: Added setTheme method. Better loading of theme
      information (non-recursive).

2005-12-18 11:37 oracleshinoda

    * geshi/contexts/: delphi/delphi.php, php/php.php, php/php4.php,
      php/php5.php: Made these contexts "complex", so that their tokens
      are split by whitespace for the code parser.

2005-12-18 11:35 oracleshinoda

    * geshi/classes/: css/class.geshicssinlinemediacontext.php,
      php/class.geshiphpdoublestringcontext.php: Pass new isComplex
      flag to styler.

2005-12-18 11:35 oracleshinoda

    * geshi/classes/class.geshistyler.php: Added $complex parameter. If
      true, then do the whitespace splitting, otherwise send through
      the whole token at once, resulting in speed increase.

2005-12-18 11:33 oracleshinoda

    * geshi/classes/class.geshisinglecharcontext.php: Pass new
      isComplex flag to styler. Clean up indentation.

2005-12-18 11:32 oracleshinoda

    * geshi/classes/class.geshicontext.php: Added isComplex flag which
      is used for optimisation in the codeparser. Pass isComplex flag
      to styler.

2005-12-18 11:31 oracleshinoda

    * geshi/classes/: class.geshicodecontext.php,
      class.geshistringcontext.php: Pass new isComplex flag to styler.

2005-12-15 14:32 tim-w

    * geshi/contexts/java/java.php: Files Modified:
      -geshi/contexts/java/java.php Comment: -Added % and ? to the
      Symbols array

2005-12-15 12:08 tim-w

    * geshi/contexts/java/java.php: Modified Files:
      geshi-src/geshi/contexts/java/java.php Log message: -Replaced
      the "."s in the context names with "/" -Removed the
      duplicate array of constant values

2005-12-14 15:38 tim-w

    * geshi/contexts/java/java.php: Modified Files:
      geshi-src/geshi/contexts/java/java.php Log message: -Split
      the keywords array into a separate array for each

2005-12-12 08:53 benbe

    * geshi/classes/delphi/class.geshidelphicodeparser.php: fix: Wrong
      block detection because of missing checks for comments

- 0000007: [core] Theming support (nigel)
- 0000015: [core] Check for valid, unlinked paths (nigel)
- 0000020: [core] Support single-length char strings (nigel)
- 0000037: [lang] Delphi CP: Block Starter\Ender Detection irritated by comments (BenBE)
- 0000038: [core] Parse comment contexts as single regexps (nigel)
- 0000043: [core] additional functions for theme enumeration (nigel)
- 0000048: [core] Shorten paths for themes (nigel)
- 0000051: [core] Themes should go package theme (nigel)
- 0000054: [core] $G->setTheme has no effect (nigel)
- 0000055: [core] Theme loading performed at earliest in $G->ParseCode (nigel)
- 0000056: [lang] Highlight Key Operators after Instruction (BenBE)
- 0000062: [core] CVS instructions documentation (nigel)

GeSHi - 1.1.1alpha3

Major Features:
  * Added support for VHDL (Lingzi Xue)
  * Added support for single length character contexts
  *Added support for "Renderers" - which enable different output formats like PDF, RTF and similar as well as HTML.
  * Added support for "Code Parsers" - which receive each token as it is parsed and can change the context that token is in based on custom rules, which leads to more accurate highlighting

- 0000010: [core] var: Deprecated (nigel)
- 0000026: [lang] Context-Dependent discarding of keywords (BenBE)
- 0000031: [lang] Incorrect ender handling with delphi/asm (BenBE)
- 0000040: [lang] Split Java keywords into smaller groups (tim-w)
- 0000047: [theme] Create a theme for the PHP syntax output style (nigel)
- 0000028: [core] Parse Spaces as separate tokens (nigel)
- 0000012: [scripts] keywords need to be got using the get-keywords script (BenBE)
- 0000011: [lang] "default" keyword after property context is not highlighted (BenBE)
- 0000004: [core] ^ for regular expressions doesn't match in string_javascript (nigel)
- 0000023: [scripts] Fatal error using get-keywords script (nigel)

GeSHi - 1.1.1alpha2

Implemented beginning support for balanced contexts. Codeworker is using
this to correctly highlight code.

Fixed bug 10: PHP5 and E_STRICT causes warnings

Added support for a context to say that it should never be removed from the
context tree, no matter how useless it seems to be.

Tidied up GeSHiContext class.

  Fixed up PHP 4.4 reference errors.
  Slightly refactored
  Removed extra line output before normal output
  Defined FILE_UNAVAILABLE constant
  Added support for delphi and delphi's ASM keywords

- 0000034: [core] GeSHi::getLanguageFileName gives invalid path (nigel)
- 0000036: [lang] Detection of some asm instr in non-instr-context (BenBE)
- 0000019: [lang] Single style for subclassing of delphi/asm/instr (BenBE)

GeSHi - 1.1.1alpha1

Fixed regression: empty string highlighting.

Ben: removed square brackets from exports_brackets context

Delphi: don't highlight keywords as keywords if they do not have a bracket after them.

PHP: highlight class names (e.g. class Foo means Foo gets highlighted).

If trying to add the empty string as parse data in GeSHiCodeContext, exit immediately.

Added abstract GeSHiCodeParser class: this class can be extended and used by languages to provide for more advanced highlighting. Also added a default implementation that does nothing special.

Added abstract GeSHiRenderer class that can be extended by other classes to provide for different output formats, like PDF.

Major overhaul: removed old style of putting all parse data in a big array, and implemented new code parser/renderer system for more advanced highlighiting and support for different output formats.

Added a php version of the code parser that will provide more advanced syntax highlighting for PHP.

Added an HTML renderer that highlights source as HTML.

Plugged advanced PHP highlighter into PHP files.

Renamed a couple of verification methods. Made some member variables start with _. Removed the cache stuff, and the stuff in _parsePostprocess that generates HTML, as that is done in the HTML renderer now.

Tidied up many of the files, and added documentation to some methods.

Added GESHI_DIR_SEP constant which will replace GESHI_DIR_SEPARATOR.

GeSHi - 1.1.0

Changed author notice in delphi files to include Ben.

Changed class comments to be in standardised format, and work with phpdoc.

Fixed a warning in class.htmlkeywordgetter.php: undefined variable $matches.

Fixed bug: strings that have no ender detected should end at the end of the source instead of immediately.

Added highlighting for ${foo} type variables, although checking that just ${foo (no closing brace) should not be highlighted will be implemented later.

Fixed regression: heredoc broken due to strings ending at the end of the source if ender is not detected.

Added comment on why the negative sign double number problem will not be dealt with.

GeSHi - 1.1.0beta1

Fixed an E_WARNING in class.geshicontext.php if trying to find the end of a context that does not have an ender.

Added get_version method, and new getVersion (static).

Fixed a bug where the start of contexts defined by regular expression that didn't want to parse the starter was being slurped up.

Fixed a bug where the end of a context was not being detected correctly if the context had multiple enders.

Improved number highlighting - no more wierd highlighting in variable/function names like "wsd03" (the 3 would be highlighted).

Added support for Delphi syntax highlighting, including inline assembler.

Added support for Codeworker syntax highlighting, although balancing of context ender support planned for 1.1.1 will be required before it can be complete.

Fixed multiline comment highlighting in php/php4 language - they were not being displayed.
Commented out some memory-sapping code: addition of class attribute to span tags that does nothing, and clickifying of URLs.

Fixed \\$ PHP string bug. PHP string highlighting support has been improved.

Keywords are now allowed only after non-alphanumeric characters, previously they were allowed after non-alpha characters. Prevents "42var" being highlighted for example in delphi.

Allowed keywords to be matched immediately after regular expression matches.

Implemented aliasing: one context can call itself by another's name.

Removed setStartStyle and setEndStyle methods as part of implementing aliasing, so now you set the start and end style of a context by using setStyle and passing $CONTEXT_START/$CONTEXT_END as first parameter as

GeSHi - 1.1.0alpha6

Fixed a bug found while backporting the auto language file path detection stuff: If GESHI_ROOT constant is set before including the class.geshi.php file, none of the other important paths will be set.

Fixed up error message, now the actual error message is returned, with a link to documentation for the message (documentation yet to be created).

New feature for regex support: Now it is possible to allow code to attempt to highlight a regex match first, and have the regex style apply to the parts that do not get styled by this.

Made an optimisation in geshi_get_position - the match table is only calculated if it is needed, which is rarely

GeSHi - 1.1.0alpha5

Context files no longer have to set every single data field that is part of their context, they are preset to common defaults within the classes themselves.

Context files can use the $DIALECT variable to refer to the dialect that the language being highlighted is, and $CONTEXT to refer to the current context name.

Change to the constructor of GeSHiContext to ensure that file names for loading and context names for styling are correctly recieved.

Played around with the idea of using the singleton pattern for contexts to reduce memory usage, but due to PHP4's poor support for static member variables this proved to not gain any efficiency at all.

Added support for HTML language, including all attribute names, which can be accessed by the get-keywords script now also.

Added support for Javascript. Highlighting for javascript is improved with more keywords. Keywords for javascript can be got through the get-keywords script.

Added support for PHP5.

Fixed a bug whereby keywords that were case insensitive were being converted to the case of the keywords in the context file instead of being left as they were.

Get-keywords script now formats result for pasting into a context file.

Get-kewords supports PHP now.

GeSHi - 1.1.0alpha4

Fixed support for javascript within HTML strings - it is now highlighted like other javascript.

Updated the header of all files to contain the GNU GPL notice

Added support to linkify e-mails and URLs in the source

CSS support brought to release grade:
  * All keywords added
  * Correctly handles @ rules, attribute selectors, pseudoclasses, strings in source
  * CSS language file added

String contexts can now specify 'DELIM' as an escape character - it will be processed as if the actual opening delimiter for the context had been substituted in its place. For example, if a string context opens with a `"',
'DELIM' will be substituted with `"' so that it will be escaped properly. This allows flexibility when more than one character can open a string, for example in the CSS string context file.

Some tidyups and improvement in get-keywords:
  * More comments added
  * Better version reported
  * --list-groups and --list-langs are supported properly
  * Console_Getopt is used to parse command line options

Re-did naming of contexts so languages and dialects are supported much better now

Contexts are now named [lang-name]/[dialect-name]/[context-name](/[subcontext-name])

GeSHi - 1.1.0alpha3

get-keywords script
  - CSS gets keywords from all possible groups in the CSS XML file
  - Some code cleanup and documentation added
  - New --list-groups option to see what groups a language supports

Gone back to loading contexts from disk instead of caching them, as I was encountering memory issues. However, the memory issues weren't quite to do with this, so it may return if I can prove it is faster.

The infectious context is passed around by reference. This is the true cause of the memory issues - many, many PHP contexts being loaded over and over was chewing up RAM

Namespace support has been REMOVED as a result of the infectious context being passed by reference.

Major changes:

  - Changed email address
  - Added a flag to check whether the code context has already been loaded,and if so, don't bother loading it again
  - Removed last vestiges of namespace stuff
  - Added a better comment to _addParseData method
  - In _codeContextHighlight, the result array that is built now takes up less RAM by appending each character found to the previous character data if it is in the same context
  - Optimisation by skipping keyword checking if there are no keywords to check for
  - Added a new method that handles the symbol checking, to get it out of _codeContextHighlight
  - Removed a ton of old code that had been commented out for ages and is now worthless

Restored loading infectious contexts through the constructor. Tidied up some whitespace and removed some old, commented out code. Added two new methods - _addParseDataStart and _addParseDataEnd - that can be overriden to provide more control over the highlighting of starters and enders for contexts.

Added a class that handles CSS Inline Media contexts and makes use of the new _addParseDataStart method to highlight the start of inline media better.

GeSHi - 1.1.0alpha2

Added a workaround for child contexts starting within the starter of the parent. This still needs to be made permanent though.

Added inline media context to CSS (begins with @media, has rules in it).

Fixed underlying cause of bug: Children contexts could begin within the opening delimiter of the parent context. This functionality is unneeded and adds complications to code in many places.

Doxygen tags end at REGEX#[^a-z]# instead of REGEX#\s# to improve handling of phpdoc template tags (/**#@-*/ for example)

Commented out symbol groups 1 and 2 in php/php context, and moved their symbols into group 0. There is little need to test multiple symbol group handling now.

CSS support greatly improved:
  - CSS comments supported
  - More symbols added: * > , %
  - Class and ID selectors highlighted
  - CSS properties sourced from get-keywords.php script have been added to the rule context
  - regular expressions have been included to match hex colour values

PHP styles for OO stuff made readable.

PHP String support improved:
  - Heredoc can have the variables within it highlighted
  - Improved support for variables within braces

Added more attribute names to HTML tag context

HTML context has style of color:#000; by default

Fixed bug: HTML tags need to allow numbers in the starter.

GeSHi - 1.1.0alpha1

Initial release of new GeSHi parser.

GeSHi - pre 1.1.0

This is for bugs in GeSHi < 1.1.0. Please note that the sf.net tracker is the place that these bugs should be put.

- 0000022: [lang] Language file for Fortran77 unavailable
- 0000024: [lang] Delphi language file (1.0.7.X) needs additions (nigel)

GeSHi phpBB MOD - Change Log


Mantis 1.0.0rc2[^]
Copyright © 2000 - 2005 Mantis Group
132 total queries executed.
130 unique queries executed.
Powered by Mantis Bugtracker