CHANGES (18331B)
1 2 CHANGES - Changelog for GeSHi (geshi.php only) 3 4 Changes to the code are listed under the version they occured in, with who suggested 5 it by each one (if there's nobody listed as suggesting it I dreamed it up :)). Users 6 who suggested an idea often also provided the code that was used as a basis for the 7 changes - thanks to all who suggested these ideas and gave me the code to show me how! 8 9 Language files listed under each version were made by the author beside them, and then 10 modified by me for consistency/bug fixing. 11 12 Please send any bug reports to nigel@geshi.org, or use the bug report tracker 13 at sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231) 14 15 Version 1.0.7.20 16 - Added language files 17 * Genero (logic) and Per (forms) (FOURJ's Genero 4GL) (Lars Gersmann) 18 * Haskell (Dagit) 19 * ABAP (Andres Picazo) 20 * Motorola 68k Assembler (for MC68HC908GP32 Microcontroller) (BenBE) 21 * Dot (Adrien Friggeri) 22 - Fixed java documentation search for keywords to actually go to the 23 documentation (spaze) 24 - Applied fix for bug 1688864 (bad regexes) (Tim Starling) 25 - Fixed comment CSS rule in visualfoxpro 26 - ThinBASIC language update (Eros Olmi) 27 - mIRC language update (BenBE) 28 - Fixed outdated documentation URL of Perl language file (RuralMoon by BenBE) 29 - Fixed tab replacement code not generating the correct number of spaces in 30 some cases (Guillermo Calvo) 31 - Fixed two typos in Z80 language file 32 - Applied fix for bug 1730168 (Daniel Naber) 33 - Applied fix for bug 1705482 (Jason Frame) 34 * Configurable line endings (Replace \n by custom string) 35 * per-language tab-widths (Adjustable for width>=1) 36 * Included defaults for ASM (x86, m68k, z80), C, C (Mac), C++, C++ (QT), C#, 37 Delphi, CSS,, HTML, PHP, PHP (Brief), QBasic, Ruby, XML 38 - Added a possibility to force generation of a surrounding tag around 39 the highlighted source 40 - Applied fix for additional keywords for the bash language 41 (cf. http://bash.thefreebizhost.com/bash_geshi.php, BenBE / Jan G) 42 - Fix bad colour definition in GML language (Andreas Gohr) 43 - Fixed phpdoc comments not being indented one space if they should be (Andy 44 Hassall) 45 Version 1.0.7.19 46 - Added language files 47 * X++ (Simon Butcher) 48 * Rails (Moises Deniz) 49 - Fixed invalid HTML being generated and doctypes not being highlighted over 50 multiple lines properly when line numbers are on (Validome) 51 - Improved the ruby syntax highlighting by basing it off the Rails file 52 - Changed some regular expressions to possibly help with badly performing 53 regex support in PHP (Tim Starling) 54 - Allow {TIME}, {LANGUAGE} and {VERSION} to be used in the header as well as 55 the normal <TIME>/<LANGUAGE>/<VERSION> (AthanD) 56 - Changed comment regex in bash to prevent malformed XHTML (rv1971) 57 Version 1.0.7.18 58 - Added language files 59 * ZiLOG Z80 Assembly (BenBE) 60 - Fixed incorrect highlighting when the starter of a multiline comment is 61 longer than the ender (Robert Anthony). 62 - Fixed "</span" generated if a multiline comment is the last thing in the 63 source (related to the above). 64 - Added #cs => #ce comment markers to AutoIT (Robert Anthony) 65 - Fixed spelling mistake for keyword in Python (wd3) 66 - Added a method to enable/disable keyword linking (Ian McKellar) 67 - Improved empty line detection for HTML output (BenBE) 68 - Changed code style of geshi.php, and removed tabs 69 Version 1.0.7.17 70 - Fixed up ends of files having too many newlines (binarygroop) 71 - Removed background colour on keyword group in eiffel (Julian Tschannen) 72 - Removed GESHI_DIR_SEPARATOR constant usage, it's unnecessary (Aleksey Zapparov) 73 - Added /* ... */ comments to coldfusion (Jeff Howden) 74 Version 1.0.7.16 75 - Added language files 76 * C++/QT (Iulian M) 77 * PL/SQL (Victor Engmark) 78 - Fixed up my e-mail address everywhere 79 - Fixed notice with "error" property (IZIU Zielona Góra) 80 - Added some entries to the get_language_name_from_extension table 81 (Stebastian Schuberth) 82 Version 1.0.7.15 83 - Added language files 84 * BNF (Rowan Rodrik van der Molen) 85 * IO (me, thanks to Johnathan Wright) 86 * mIRC (Alberto de Areba Sánchez) 87 - Fixed use of colon in XML (Grigory Rubtsov) 88 - Fixed notices in text.php, reg.php and latex.php when $this is not 89 available (Clemens Weiß) 90 - Made third parameter of geshi_highlight optional (Gaetano Giunta) 91 - Fix incorrect highlighting of the $# variable in bash (Michael Knight) 92 - Fixed single line comment mistake in thinbasic.php (Eros Olmi) 93 Version 1.0.7.14 94 - Added language files 95 * thinBasic (Eros Olmi) 96 * LaTeX (Matthais Pospiech) 97 - Removed extra newlines at the end of some files 98 - Fixed SF bug 1556404 - check before using $this in language files 99 (Clemens Weiß) 100 Version 1.0.7.13 101 - Added language files 102 * Uno IDL (Cedric Bosdonnat) 103 - Fixed add_ids causing odd XHTML (RyanJ) 104 - Fixed extra newline being added to end of result (Andreas Gohr) 105 Version 1.0.7.12 106 - Fixed lines being collapsed when they contain just a space (artlover) 107 - Allowed matching for regexes using start/end matchers at the start/end 108 of the code (Sheri) 109 - Added (dubious) fix for google "I'm feeling lucky" search for java keywords 110 (dubious in that it doesn't work for me) 111 - mysql - Made the symbols into their own keyword group as the symbol group 112 isn't used. Added a style for multiline comments. 113 - Added a couple of php5 keywords to the php language files. 114 - Allow XML tags to have dashes. 115 - Changed LANG_NAME for many languages to be more sensible/correct case 116 (Matthias Mohr) 117 - Added case-sensitivity indices to python 118 Version 1.0.7.11 119 - Added language files 120 * Smalltalk (Bananeweizen) 121 - Minor style improvements to matlab 122 - Moved a couple of functions to the correct group in smarty (arwan) 123 Version 1.0.7.10 124 - Added language files 125 * TCL (Reid van Melle) 126 * Winbatch (Craig Storey) 127 * Groovy (Ivan F. Villanueva B.) 128 * Text (SmokingRope) 129 * Reg (SmokingRope) 130 - Removed \ as an escape character in T-SQL (Dave Jackson) 131 - Reset extra lines to highlight if source is changed (Diogo Resende) 132 - Allow setting of lexic permissions in language files (SmokingRope) 133 - Allow regexes to set a CSS class name (SmokingRope) 134 - Added URL support to DOS language (mastrboy) 135 Version 1.0.7.9 136 - Added language files 137 * Fortran (Cedric Arrabie) 138 * SAS (Galen Johnson) 139 * CFDG (John Horigan) 140 - Fixed & in URL in java5 (Clemens Weiß) 141 - Added MD5 and SHA1 to mysql keywords (polarina) 142 - Fixes for highlight_lines_extra with line numbers (ithcy) 143 - Fixed backslash characters being removed (ArTourter) 144 Version 1.0.7.8 145 - Fixed blank at start of MySQL file (W. Tasin) 146 - Fixed smarty functions being broken (ultrabob) 147 - Changed keyword and regexp detection and parsing 148 slightly to allow more "meta characters" (like #) in 149 keywords 150 - Minor fixes for XML and GML 151 Version 1.0.7.7 152 - Added language files 153 * T-SQL (Duncan Lock) 154 * Robots.txt (Christian Lescuyer) 155 * AutoIT (mastrboy) 156 * Java 5 (Clemens Bruckmann) 157 * ColdFusion (Diego) 158 - A few keyword changes in java, removed :: object splitter (amphi) 159 - Now using a simpler regular expression for numbers (Brice Bernard) 160 - Fixed ah, bh etc. regs being highlighted as numbers (Unknown) 161 Version 1.0.7.6 162 - Fix backtick-string highlighting in ruby (Juan J. Mart�nez) 163 - Add =begin multiline comments in ruby (Juan J. Mart�nez) 164 - Added support for :keywords and ::access in lisp (Denis Mashkevich) 165 - Prevented number highlighting if they are just after underscores (Joce) 166 - Removed escape characters for strings in XML and HTML (floele) 167 - Added instanceof keyword to java (jgottschling) 168 - Fixed comments in ASP (SBD) 169 - Removed unnecessary keyword style index from ini 170 - Added support for " strings in ini 171 - Removed unnecessary regex style index from blitzbasic 172 - Keyword case of URL-ed keywords should be defined by language file (Benny Baumann) 173 - Added "Hardquote" feature, provides more accurate string highlighting (Cliff Stanford) 174 - Used hardquote support for @"..." strings in C# (Cliff Stanford) 175 - Used hardquote support for ' strings in perl (Cliff Stanford) 176 - Fixed setting of language path (Cliff Stanford) 177 - Display source correctly formatted with line numbers (if requested) if an error 178 has occured (several people) 179 - Having no source to highlight is not an error condition anymore 180 - Delphi language updated to include more keywords and types (BenBE) 181 - Updated NSIS to version 2.11 (deguix) 182 Version 1.0.7.5 183 - Fix for using escape characters to escape newlines breaking XHTML compliance (Yves Goergen) 184 - Fixed method highlighting in VB (Matt Beale) 185 - Fixed multiline comment highlighting in SQL (MrBaseball34) 186 - Fixed two ">" symbols being outputted when using a footer but not CSS classes (MrBaseball34) 187 - Marked important block stuff as deprecated 188 - Some documentation tidyup 189 - Updated GML language file (Jos� Jorge Enr�quez Rodr�guez) 190 - THANKS file tidied up 191 - Fixed double </a> for elements in HTML (Yves Goergen) 192 - Added some keywords for ASM (Dreuzzo) 193 Version 1.0.7.4 194 - Added language files 195 * MySQL (Carl F�rstenberg) 196 * BlitzBasic (P�draig O`Connel) 197 - Fixed up geshi_highlight function: it now correctly uses <code> instead of <div> (Remi Faure) 198 - When using GESHI_HEADER_NONE, remove the <ol> if line numbering is not enabled 199 - Commented example.php so people can use it as a guide better 200 - Fixed extra newline being generated if a comment is at the end 201 of the source (many people, including Yves Goergen) 202 - Fixed up some documentation issues 203 - Some minor language file fixes (C++, Lua) (Lua fixes by chromix) 204 - Fixed up no </span> in XML and other strict languages (regression from 1.0.7.3 fix: removed 205 unnecessary </span> when using strict mode) (Daniel Ecer, drskrud), 206 Version 1.0.7.3 207 - Added language files 208 * Scheme (Jon Raphaelson) 209 * Ocaml and Ocaml-brief (Flaie) 210 * Ruby (Amit Gupta) 211 - Make urls generated for java highlighting XHTML compliant (Tim Van Wassenhove) 212 - Removed unnecessary </span> when using strict mode (Tim Van Wassenhove) 213 - Fixed warning in dos.php about undefined constant (Tim Van Wassenhove) 214 - Fixed security hole in contrib/example.php - able to view any file if source 215 not set and language is set to wierd value (Maksymilian Arciemowicz) 216 Version 1.0.7.2 217 - Added language files 218 * Inno (Thomas Klinger) 219 * Ini (Deguix) 220 * DOS (Batchfile) (Alessandro Staltali) 221 * Applescript (Stephan Klimek) 222 * Freebasic (Roberto Rossi) 223 * SDLBasic (Roberto Rossi) 224 * ActionScript (links to French documentation) (NikO) 225 - NSIS language file updated (deguix) 226 - Lua language file updated (Roberto Rossi) 227 - Bugfix: Styles incorrectly overriding default styles instead of being merged 228 in set_*_styles methods (Stebastian Werner) 229 - Added GESHI_HEADER_NONE as valid header type. This still allows header content. 230 Version 1.0.7.1 231 - Added language files: 232 * Div (Gabriel Lorenzo) 233 * GML (Jos� Jorge Enr�quez Rodr�guez) 234 * Eiffel (Zoran Simic) 235 - Minor change to rules regarding when keywords can appear - now dots (.) are 236 allowed before keywords. (NikO) 237 - Bugfix: the line style for non-fancy lines when fancy highlighting is enabled 238 is now applied (Amit Gupta) 239 Version 1.0.7 240 - Added language files: 241 * Diff (Conny Brunnkvist) 242 * VHDL (Alexander Krause) 243 * D (Thomas Kuehne) 244 * Matlab (Florian Knorn) 245 - Python highlighting improved (thither, Federico Quagliata) 246 - Changed file comments to use phpdoc syntax, and changed code style to be more 247 like PEAR 248 - Fixed bug in set_code_style: Second parameter is now optional 249 - The $_GESHI_ERRORS array is gone, error messages are internal to the GeSHi class 250 - Changed name of XML language to XML from HTML 251 - Removed min and max tab width checks 252 - Backported GeSHi 1.1.X's automatic language file path detection so you no longer 253 need to use the third parameter of the constructor or set_language_path except for 254 special circumstances. 255 - Source is checked to make sure it is not empty else an error occurs 256 - Removed excess characters after ?> in ada.php, apache.php and cpp.php that caused 257 http headers to be sent (psichron) 258 - Removed second "foreach" keyword for smarty language file that was causing 259 duplication (Iss) 260 - Added underscore to allowed characters in match for XML tags (anonymous) 261 - Added some missing java keywords like "abstract" and "transient" 262 - Added "list" and "continue" PHP keywords 263 - set_language resets error status and strict mode (Andrew Black) 264 - Removed margin:0 declaration from cssgen.php (Andrzej Kubaszek) 265 - Fixed multiline comment selector in cssgen.php (Andrzej Kubaszek) 266 Version 1.0.6 267 - Added support for smart tabs - tabs that behave just like normal tabs when in 268 GESHI_HEADER_DIV mode. 269 - Partial patch for UTF-8 encoding applied (doesn't quite work however...) 270 Version 1.0.5 271 - Added language files: 272 * MPASM (Bakalex) 273 * Oracle 8 (Guy Wicks) 274 - Fixed bug where not using an encoding type would sometime result in warnings (although 275 there still seems to be issues with encoding in general that I'm trying to gather more 276 data on) (Alexander Spennemann) 277 - Removed "margin: 0" from <ol> in an attempt to make line numbers visible in IE again 278 by default (untested, but I don't really care if it works... get firefox! ;)) 279 - Added note on php5 support (Karim Scheik) 280 - Added two new methods: load_from_file and get_language_name_from_extension, that can 281 help automate file highlighting (though the extension array at this time is quite bare) 282 (David Gartner, Brian Cheesman) 283 Version 1.0.4 284 - Fixed many version-reporting bugs (Jack Lloyd) 285 - Fixed bug where methods were not having the correct CSS generated for them 286 by get_stylesheet() (Jack Lloyd) 287 - Added new keywords to C and C++ files (Jack Lloyd) 288 - Added section on case sensitivity to documentation that wasn't in the other versions 289 Version 1.0.3 290 - Added language files: 291 * Smarty (Alan Juden) 292 * C# (Alan Juden) 293 * VB.NET (Alan Juden) 294 * C for Macs (M. Uli Kusterer) 295 * Objective C (M. Uli Kusterer) 296 - Links can have a target attribute (Andreas Gohr) 297 - Fixed multiline string bug if not using classes 298 - Added method set_encoding that allows you to set the character 299 set used by calls to htmlentities() in GeSHi 300 - You can now specify an array of object splitters, and each 301 type of method separated by each object splitter can be highlighted 302 differently 303 - If a language uses a case sensitive keyword group and that group 304 has a URL associated with it, the keyword will not be lowercased 305 in the URL (M. Uli Kusterer) 306 Version 1.0.2 307 - Added language files: 308 * Actionscript (Steffen Krause) 309 * ASP (Amit Gupta) 310 * Bash (Andreas Gohr) 311 * CADDCL (Roberto Rossi) 312 * CadLisp (Roberto Rossi) 313 * C++ (Dennis Bayer) 314 * Delphi (J�rja Norbert) 315 * Javascript (Ben Keen) 316 * Lisp (Roberto Rossi) 317 * OpenOffice.org BASIC (Roberto Rossi) 318 * Perl (Andreas Gohr and Ben Keen) 319 * Python (Roberto Rossi) 320 * VisualFoxPro (Roberto Armellin) 321 * XML (Nigel McNie, from an idea/file by Christian Weiske) 322 - Added contrib/ directory with script to create one external stylesheet 323 from many languages(base script by Andreas Gohr, modified by Nigel McNie), 324 and an example script (needs lotsa work...) 325 - Code lines can have their own unique ID (for use with javascript) 326 (suggested by Andreas von Oettingen) 327 - Certain rows can be specified to be highlighted differently (suggested by 328 Andreas von Oettingen) 329 - Getter available for human-readable language name (suggested by Simon Patterson) 330 - Line numbers aren't highlighted when a user selects the code 331 - Contextual highlighting with <BEGIN GeSHi> ... <END GeSHi> in the code (which 332 can be disabled) 333 - Functions can be made into URLs to appropriate documentation (suggested 334 by cybot_tm). Also thanks to Marcin Gryszkalis for the links for C, Java 335 and Perl. 336 - Code can have a header and footer 337 - Time taken to parse the code is recorded and made available with the get_time() 338 method 339 - error() now returns a human-readable error message 340 - Function geshi_highlight added to make it even easier to highlight on the fly 341 - Advanced regular expression handling 342 - Bug fixes to lexic_permission handling 343 344 Version 1.0.1 345 - Added methods set_symbols_style() and set_symbols_highlighting(). These should be used 346 instead of set_brackets_style and set_brackets_highlighting respectively. 347 - Added a new field - language_path - that can be set either when the constructor is 348 called, or by the new method set_language_path(), that specifies a path to the directory 349 containing the language files (bug reported by bbspliff) 350 - Added a new method set_case_keywords(), that allows the auto-casing feature to be 351 changed on the fly instead of simply being specified in the language file 352 - If there is an error the source that is outputted is now handled much better 353 - Lines are broken in the source only by \n now, not by \r\n (to save on output source) 354 - Indentation moved into its own method 355 - Method header() modified to allow the user to choose whether the code is surrounded in 356 a <div> or a <pre> (see documentation for benefits of both). Method footer() likewise 357 modified. 358 - Method get_stylesheet() modified so that a smaller comment is outputted in economy mode, 359 and bugs with when line number classes are outputted in economy mode have been fixed 360 - Bug where spans had two quotes at the end of the attributes fixed (ie. <span style=".."">) 361 - Added language files: 362 * Ada (Tux) 363 * Apache log file (Tux) 364 * ASM (Tux) 365 * NSIS (Tux) 366 * Pascal (Tux) 367 368 Version 1.0.0 369 - Initial Release 370