**Note:
As of webcpp 0.7.0 and up, g++3 (gcc3) is required to build webcpp
use: `/usr/sbin/gcc_select 3` if gcc 2.9x and 3.x reside on the same
system to select the default version of the compiler.
ver 0.8.4 (04/01/2004)
- Added more syntax colour schemes and background tiles.
- Enabled preprocessor highlighting for UnrealScript.
- Reduced the file size on all the backgrounds.
- Updated the keyword list for UnrealScript.
- Updated the Webcpp documentation.
- Webcpp now copies background image files from source dir to output dir.
- Webcpp32, Webcpp WinGUI, and WinMkSCS2 for Windows are now discontinued.
- Windows version now includes WebcppUI, an integrated GUI solution.
ver 0.8.3 (08/09/2003)
- Code cleanup.
- Placed macros in new header files: defdebug.h, and defparse.h.
ver 0.8.2 (10/05/2003)
- Added symbol highlighting for JavaScript.
- Added MMX and SSE registers for Assembly language keytypes.
- Added the ability to parse MSVC/Borland style inline Assembly for C++.
- Added the ability to parse JavaScript within HTML files.
- Brightened the default background colour (just slightly).
- Colour schemes are now searched for in the default path if none is given.
- External stylesheets are now generated in the same directory as the output.
- Highlighting of other inline languages is now also possible.
- Languages now know themselves (a new variable in Engine: int langext).
- SuperInclude now finds files when a directory for the first file is given.
- SuperInclude will recursively overwrite files without prompting.
- The Engine class now points to a CFfile object, rather than encapsulates it.
- Two or more language classes can now point to the same CFfile IO object.
- Updated the Webcpp documentation.
ver 0.8.1 (06/05/2003)
- Added DOCTYPE tags to the beginning of the output files.
- Added a "-s, --snippet-only" option to omit "html" and "body" tags.
- Added a namespace webcpp to the stylesheet to aviod stylesheet clashes.
- All of the highlighted code are output within "div" tags.
- Changed the alignment of the "made with webcpp" option.
ver 0.8.0 (06/02/2003)
- Added language support for UnrealScript.
- Added backrgound patterns for use with the Scs2 format.
- Added documentation for WinMkScs2 (Windows).
- Added documentation for Webcpp WinGUI (Windows).
- Added new schemes: bright3, mint, decent, and jungle.
- Fixed lowercase rem comment from highlighting in non-REM highlighting context.
- Fixed fortran comment from highlighting in non-fortran highlighting context.
- Removed all the old .scs files, and installation now only copies .Scs2 schemes.
- Removed Cfour Persist class from the source code, Theme derives from CFfile.
- Updated schemes nightvision and blue to utilize new elements of the Scs2 format.
- Updated the webcpp documentation, and documented the Scs2 format.
- Updated Webcpp WinGUI (v1.4.5) to be able to filter Scs2 files (Windows).
- Updated WinMkSCS to WinMkScs2 (v2.0), which handles the Scs2 format (Windows).
ver 0.8.0 preview 2 (26/01/2003)
- Added separate colour for single quoted strings (breaks the format from pre1).
- Background images may now be specified in the Scs2 file format.
- Highlighting elements in the Scs2 xml file format can now be in random order.
- Redone the port of the 55 SCS files (pre1 ported files will no longer work).
- Slightly darkened the default background colour.
- Used separate counters for keys and types in lang*.cpp files (to compile in msvc).
- Updated scs2scs2.pl to separate strings into single and double quoted strings.
ver 0.8.0 preview 1 (07/01/2003)
- Added highlighting of character symbols for some languages.
- Fixed first tab if tabs to spaces option is off, and line numbers is on.
- Line numbers option is able to fit up to 999,999 before going over the margin.
- Redesigned the Syntax Colour Scheme format and engine (now called Scs2).
- Scs2 files are now defined in XML format.
- Scs2 engine is also made to be compatible with old SCS files.
- Separated number highlighting colours to integers and floating points.
- Separated keyword highlighting colours to keys and types/commands.
- The default colour scheme has changed to reflect the new Scs2 engine.
- The 55 old Syntax Colour Schemes have been ported to Scs2.
- Tool for converting scs formats (scs2scs2.pl) has been added.
- Updated keywords/types for Asm,C,C#,C++,Cg,Fortran,Java,Modula,Pascal,Perl & shell.
ver 0.7.12 (15/01/2003)
- Fixed first tab if tabs to spaces option is off, and line numbers is on.
- Line numbers option is able to fit up to 999,999 before going over the margin.
ver 0.7.11 (04/01/2003)
- Added the ability to specify the tab size (requested by Don Tompkins).
- Converts & characters to & to prevent undesired escapes.
- Fixed a flaw in the tabs to spaces alignment by factoring in escapes.
- Some code has been cleaned up.
ver 0.7.10 (19/12/2002)
- Added number highlighting to Markup languages.
- Added tag highlighting to Markup languages.
- Added 20 more ASP keywords (Submitted by Matt Runion).
- Allowed C-Style comment highlighting for SQL.
- Fixed SQL freeze on C-Style comments (Thanks Quentin J Sarafinchan).
- Fixed freeze in multiline tags in Markup languages.
- Fixed comment highlighting in Markup languages.
- Fixed tabs to spaces algorithm to align properly.
- Fixed //* and /* inside of // comment (Thanks Chris Mcbride & Guillaume Mendonca).
- Fixed /* comment inside of # comment in PHP.
- Fixed commented-out double-quoted strings in ASP (Coded by Matt Runion).
- Fixed invalid IO mode error in windows when specifying drive letter.
- Improved the accuracy of Engine::isInsideIt() inline boundary detector.
- Updated Windows version with WinGUI 1.4.4, boosting performance up to 3x.
ver 0.7.9 (01/11/2002)
- Added support for the Euphoria language (Thank you George Lewis).
- Added string and number highlighting for DOS Batch files.
- Added support for :: comment highlighting in DOS Batch files.
- Added significantly more keywords to the Assembly language keyword list.
- Fixed REM comment highlighting to accept lowercase rem in DOS Batch files.
- Fixed warnings from the #defines in deflangs.h.
- Fixed escaped backslash + escaped quote in string ("\\\"") (Thank you Glen Okita).
- Fixed EMF file detector message: a type of microemacs, not enhanced metafile.
ver 0.7.8 (07/10/2002)
- Added support for ASP, new ASP/VB style comments (coded by Matt Runion).
- Added support for RenderMan shading language (Thank you Mark Williams).
- Added support for Ruby (finally).
- WinMkSCS from the windows version can now export themes to CSS.
ver 0.7.7 (26/09/2002)
- Added support for EMF (Thank you Dr. Detlef Groth).
- Added support for Javascript (Thank you Forrest Johnston).
- Fixed batch operations on files with spaces in their pathnames.
ver 0.7.6 (04/09/2002)
- Added support for PowerBuilder 6 source (Thank you Philippe Torche).
- Fixed "Invalid I/O Mode" error when forcing filetypes (0.7.5 bug).
ver 0.7.5 (03/09/2002)
- Added file flags to force overwrite or abort on existing output files.
- Added a superinclude option, like hyperinclude, that recursively converts files.
- Added 22 new syntax colour scheme files, totaling 53 schemes.
- Windows version now packs with the new WinMkSCS v1.0 to visually edit themes.
- Windows version's Webcpp WinGUI is at v1.4.0, which has many improvements.
ver 0.7.4 (25/08/2002)
- Absolute pathname using wildcard on directories in Windows (left out in 0.7.3).
- Added language support for IEEE 1076 (VHDL) (Thank you Thomas Hedler).
- Added language support for DOS Batch files (Thank you Daniel Lin).
ver 0.7.3 (27/07/2002)
- Added NASA's CLIPS highlighting support (Thanks Walter Maner).
- Added NVidia's Cg highlighting support.
- Added Haskell highlighting support.
- Added Tcl highlighting support.
- Added extended help.
- Brought back an improved shell dialog interface script for webcpp.
- Fixed highlighting inside last line of multiline comments.
- The dialog interface is now run by `sh webc++`, not `wwwcpp.sh`.
- Improved number highlighting accuracy.
ver 0.7.2 (15/07/2002)
- Added the original themes to the source distribution again.
- Fixed hang with numbers inside of multi-line comments.
- Fixed absolute pathname in using wildcard on directories in Windows.
- Fixed tab after preprocessor highlighting.
- C now also uses C++ style comment highlighting.
- Tested on more C source code (some from xine-lib and linux 2.4.18).
ver 0.7.1 (09/07/2002)
- Added highlighting support for SQL.
- Added more HTML 4.0 tags and keywords.
- Fixed background image -i=<imagefile> option.
- Fixed tabs to spaces option.
- Fixed relative pathname in using wildcard on directories in Windows.
ver 0.7.0 (27/06/2002)
- Added a timer for benchmarking webcpp's time efficiency.
- Added a new option that anchors line numbers (cxref compatible).
- Added support for the wildcard (*) in filenames (needs to be in quotes).
- Added support for single-quote string highlighting.
- Added support for backquote string highlighting.
- Added highlighting support for Ada95.
- Added highlighting support for BASIC.
- Added highlighting support for Fortran.
- Added highlighting support for Modula2.
- Added highlighting support for Objective-C.
- Added highlighting support for Pascal.
- Classic 'C' comment parsing was re-witten.
- Code has been cleaned up, naming conventions also improved.
- Greatly improved support for the C-Sharp language.
- HTML comment highlighting now works.
- HTML highlighting will only take place inside tags.
- Improved filetype forcing.
- Keywords are case-insensitive for languages that require.
- More feedback on webcpp's progress.
- Redesigned the internal class architecture.
- Removed pathnames from generated HTML header titles.
- String parsing was improved for more accurracy and flexibility.
- Support for other languages is now even easier to add.
- Static, hard-coded colour tags generation has been dropped.
- Support for embedded CSS (StyleSheets) has been added.
- StyleSheets are now generated by webcpp from the SCS theme.
- StyleSheets are now placed in the directory of the output file.
- Switch parser now gives feedback.
- The ".scs" is no longer required with the scheme switches.
- The NameMe, TagMe, & LinkMe labels are ignored in strings.
- The I/O engine was re-integrated using Cfour CFfile v1.2.3.
- Using "--auto" will automatically name the output file.
- Webcpp is now officialy developed using FreeBSD 4.6 and Slackware 8.1.
ver 0.6.8 (09/03/2002)
-Added an option to replace tabs with spaces (fixes Opera bug).
-Changed some option names, old options (-p,t=<ext>) will phase out.
-Updated the documentation.
ver 0.6.7 (25/02/2002)
- Added resource extension (.rc) to C++ filetypes.
- Added another extension (.s) to Assembly filetypes.
- Fixed line miscount after C-style comments (Uwe Koloska).
- Made better supprt for label highlighting in Assembly.
- Updated the Assembly keyword list.
- Updated the documentation.
ver 0.6.6 (15/02/2002)
- Added syntax highlighting support for Assembly language.
- Added filetype detection for C# (.cs) files as C++ highlighting.
- Win console version now packs with the new WinGUI 1.3.1.
ver 0.6.5 (03/01/2002)
- Added a new option, "--made-with" which adds a little footer.
- Fixed file extension forcing (v0.6.4 needs prepending dot).
- Made a few Style class switches protected and added access methods.
ver 0.6.4 (01/01/2002)
- Fixed duplicate C++ keyword highlighting tags (bug since v0.4.4).
- Fixed extension checking for files with very short file titles.
- Decimal points are now included in number grouping.
- The "HyperSystem" now also works on unsupported filetypes.
- The usage is no longer loaded via file, but rather built-in.
ver 0.6.3 (11/12/2001)
- Rewrote the string highlighting for speed, size, and accuracy.
- Added grouping in number highlighting, reducing output filesize.
- Allows highlighting for multi-line strings.
- Fixed double quoted string problems inside single qutoes.
- Slight changes to the CSS schemes, and changes to scs2css.pl.
- Less forgiving with missing quotes for strings.
ver 0.6.2 (07/12/2001)
- Fixed a memory leak in Style::keysCheck() (thanks Ryan Phillips).
- Optimized the loading of languages.
- Optimized filetype methods in style.cpp for performance.
- More file extensions supported for Perl.
- Added a progress display.
- The scs2css.pl tool was modified.
- Fixed the file not found bug on some Windows2000 machines.
ver 0.6.1 (05/12/2001)
- A modified verion of the 0.6.0 engine that Webcpp for Win32 v1.0 uses.
- The release outside of Webcpp for Win32 was cancelled.
ver 0.6.0 (17/11/2001)
- Added a couple of file filters to the autodetection.
- Fixed keyword highlighting inside strings (0.6-pre1-only bug).
- Improved CSS file detection and handling.
- Made a very large update to the user manual.
- Windows version packaged with mkscs 2.3.
ver 0.6.0 preview 1 (14/11/2001)
- Added an alternative highlighting engine that uses CSS (stylesheets).
- Added a new Perl tool that converts SCS schemes to CSS (scs2css.pl).
- Added comment highlighting italics with CSS.
- Added Style::eraseTags(int,int) method to reduce code redundancy.
- Broke some things that once worked.
ver 0.5.3 (09/11/2001)
- All messages are now printed via STDERR.
- Fixes a number of tiny bugs with I/O redirection.
- Now saves schemes which are made on the fly with the --set-colours option.
- Windows version now packaged with wingui v1.1.
ver 0.5.2 (29/10/2001)
- Added a TagMe label processor to allow HTML tags.
- Added option -w=<scheme> (the works) equivalent to -l -h -c=<scheme>.
- Fixed $# array operator not to highlight as a comment in Perl.
- Displays the version number with the usage.
- Self-Cleaning LinkME and NameME labels.
ver 0.5.1 (26/10/2001)
- Rewrote the entire PHP support engine.
- Small update to the Perl keyword list.
- New online CGI version of webcpp (used for testing schemes only).
- Windows version is packaged with wingui v1.0b.
ver 0.5.0 (08/10/2001)
- Added --hyperlink option to hyperlink the #include files.
- Added -p=<filename> option to use a picture for the background.
- Added link colours to use colour schemes on the hyperlinks.
- Added a new colour scheme, "vampire".
- Allows to name and link lines of code using labels.
- Disabled number highlighting in preprocessor statements.
- Fixed infinite loop with an escaped backslash inside a string.
- Fixed infinite loop with a string with no end quote on the same line.
- Fixed infinite loop with triple quote in python.
- Fixed highlighting bug with #if and #else preprocessor statements.
- Fixed markup keywords to only highlight inside tags.
- Tested on over 50,000 lines of GPL source code.
- Updated the user's manual with a new "hyperlinking" section.
ver 0.4.4 (04/10/2001)
- Added syntax highlighting support for Python.
- Added the option -b to backup existing html files.
- Added tag highlighting for markup languages.
- Added ".c++" as file extension for C++.
- Fixed infinite loop with escaped string inside of single quotes.
- Fixed infinite loop with lonely dollar sign in shell (thx. William Shotts).
- Fixed a comment bug that kills preformatted text in Netscape Navigator 4x.
- Fixed markup tags to show up in perl/shell/python scripts.
- Now searches for colour schemes in the default path first.
- The Base Language class is now abstract.
- The C++ keyword list now derives from C keyword list.
- The webcpp binary is 50K smaller than v0.4.3.
- Updated the user's manual.
ver 0.4.3 (30/09/2001)
- Added syntax highlighting support for markup languages.
- Added wingui to the webcpp Windows installer.
- Changed the default colour scheme (typical.scs).
ver 0.4.0 (23/09/2001)
- Fixed syntax highlighting filetype forcing with Perl using the -t switch.
- Fixed syntax highlighting filetype forcing with shell using the -t switch.
- Unified redundant output calls in openhtml(), closehtml() and mkMargin().
ver 0.4.0 preview 2 (19/09/2001)
- Fixed file checking issues when I/O is redirected with --pipe.
- Reduced the size of the Help class.
- Help file is now found (UNIX).
ver 0.4.0 preview 1 (13/09/2001)
- Added the ability to redirect the input (request #460545).
- Added the ability to redirect the output (request #460545).
- Added the option -,--pipe in place of the in/output filename.
- Added the option -t=<extension> to manually set the filetype.
- Re-done the main file I/O with the Cfour CFfile class.
- Re-implementation of the main fucntion.
ver 0.3.0 (10/09/2001)
- Fixed string highlighting with keywords inside (bug from 0.2.x).
- Fixed SCS default path searching (another bug from 0.2.x).
- Fixed 'C' style comments to not highlight inside a string.
- Fixed C++/Java style comments to not highlight inside a string.
- Fixed shell/Perl style comments to not highlight inside a string.
- Improved the accuracy of keyword checking.
ver 0.2.2 (05/09/2001)
- Fixed infinite loop when > one \" in a string (Thanks Christopher Trudeau).
- Fixed similar hang with Perl/shell when > one \$ on a line.
- Fixed Perl/shell highlighting variable names with underscores.
ver 0.2.1 (02/09/2001)
- Updated Perl keyword list.
- Updated shell keyword list.
- Updated webcpp curses interface script.
- Added highlighting of shell variables.
- Added highlighting of Perl scalars, arrays, and hashes.
- Added a new, reusable file I/O engine.
- Fixed the broken -d,--dupe option.
- Fixed bad symlink in 0.2.x -> webcpp/ (UNIX).
- Recognizes files with ".cgi" extensions as Perl scripts.
- Re-implemented the colour scheme engine internally.
ver 0.2.0 (29/08/2001)
- Added highlighting support for PERL scripts.
- Added highlighting support for UNIX shell scripts.
- Added a new option: "-l" or "--line-numbers".
- Added support for 2 or more options at a time.
- Improved number highlighting dealing with strings.
- Improved file extension checking.
- Many internal improvements and changes.
- Webcpp is written in pure C++ Object Oriented Programming.
- Language additions will now be much more easier.
- Windows version includes the new mkscs 2.2.
ver 0.1.1 (final) (19/08/2001)
- New user's manual v1 in text and html format.
- Number highlighting bug has been fixed.
- Keyword highlighting is now "smarter" (it knows...).
- Comment and C-style comment highlighting improvements.
- Fixed "colours inside colours" to be smarter.
- Improved scs file and hex data verification.
- Searches default path if a given scs file isn't found.
- Dropped the double-spacing.
- Updated webcpp ncurses UI script.
- Updated custom UNIX installation scripts.
- Improved UNIX installation with `make install`.
- Windows installer creates new Start menu items.
- MkSCS 2.1a is now packaged with the Windows installer.
ver 0.1.1-pre3 (22/07/2001)
- Highlighting keywords for C,C++, and Java now works.
- Highlighting numbers now works (sometimes quirky).
- Highlighting C-style comments now works.
- No highlighting inside the coloured comment.
- Fixed Windows installer to install it to the right dir (sorry).
- Fixed program segfault on #endif statements (for real this time).
- Now easier to manually enter your own Hex codes for colour schemes (option).
- Strictly enforce .scs files and Hex codes to prevent corrupt colour schemes.
- More colour schemes.
ver 0.1.1-pre2 (09/07/2001)
- Fixed wrong index bug in string highlighting.
- Fixed string ending in occurrence of \" inside a string.
- Fixed string highlighting so it can accept multiple strings in a single line.
- Fixed program segfault on #endif statements (email me if it happens again).
- Added a CLI installer which lets you choose the install directory.
- Added an ncurses installer which lets you choose the install directory.
- Made custom colour files extension .scs (syntax colour scheme).
- WebCpp now generates non-highlighted HTML files out of normal text files.
syntax highlighting by