- Introduction
VEE Colorizer paints the detail view of VEE programs automatically, depending on the object type.
In the default configuration, this means that loops (e.g. Until Break...Break) will become blue,
functions call boxes orange, constants grey and so on.
Before colorizing...
...and after running VEE Colorizer:
The color scheme can be changed in
colors.ini
Every time you invoke the colorizer, a backup from the original .VEE file
is created with the extension ".colorizer.bak". This is done for security
reasons, if VEE is unable to load the colorized file. Of course, this
shouldn't happen, but if... :-).
- Requirements
Nothing special, if you just want to use it.
If you want to code by your own, you may also want to:
- Run the source by means of a perl
interpreter: you need a perl interpreter. A good and free one is
ActivePerl.
- Create the .exe file by your own: you need a Win32 C compiler, such as
MS Visual Studio or gcc (untested).
See Building instructions for more info.
- Installation
Unpack all files and directories to a destination of your choice, e.g.
C:\Program Files\VeeColorizer.
For uninstallation, simply delete this directory (VEE colorizer does not make use of the registry,
so there is no garbage left).
- Invoking VEE Colorizer
- On the command line
At the Command Prompt (e.g. C:\) say:
veecolorizer [-options] inputfiles...
where [-options] can be one or more of the following:
- -c <file>
- read color table from <file> (default: colors.ini)
- -f
- force (overwrite existing colors)
- -q
- be quiet (don't print any information)
- -u
- uncolorize (remove color info from all objects)
- From Windows Explorer
Put a shortcut to veecolorizer.exe your the SendTo Folder
(in Win95/98/ME, this is C:\Windows\SendTo, in Win2000/XP,
this is C:\Documents And Settings\<username>\SendTo).
Now you can right-click any VEE file, then select "Send to > / Vee Colorizer".
If you do this with non-vee files, nothing happens because VeeColorizer
searches the VEE file for the appropriate type before it does anything.
Tip: You can do this from within VEE. Save your current file, select "File/Open...",
right-click the just saved file and run the Colorizer,
then open your file again.
- How it works
A VEE file is plain text in a special format. Objects and their relationship are stored in blocks,
delimited by nested parentheses. These blocks are analyzed, and to those describing detail view objects, color info is added.
- The basic description of any object in a block that starts with the string
This is where main features are
defined.
- Additionally, properties for each object (color, position, title,
description, settings etc.) are stored in a separate section called
Each entry consists of a key and one or more associated values, depending on
the key type. This is the place where color info is stored, for the detail view
these are keys titleBg and titleFg.
When invoked, VeeColorizer first looks for an object definition, starting with a
new block beginning with the keyword "(device". Then a color table lookup is made
to find the correct color, and appropriate colors are stored along with the object
identifier. This continues until one of the following conditions become true:
-
A
devCarrierFor line for is found. Then color info is added by inserting
titleBg and/or titleFg lines.
-
A new context (child object, e.g. UserObject) is found. Then all collected information about
device lines remain on the stack, and recursively device sections are
searched again.
-
A context definition ends (this is when a sufficient number of closing brackets
was found).
For more info, look at the Perl
source code.
- Known bugs and limitations
This should also work for the HP-UX version of VEE, but THIS IS COMPLETELY UNTESTED!
If you have any experience with this, please send me a mail.
- Want to help?
Comments, bugfixes and suggestions are welcome - and if you have created a nice "Theme"
(aka .ini-file), mail it
me. It will be bundled with the next
"official" version of VEE colorizer.
- Credits
Christian Groeger and Steffen Walter for their ideas and testing,
Porsche for their really fast cars :-)