Eskil

Diff
Login

Differences From Artifact [df19835ef1]:

To Artifact [256f1ccebb]:




1





2










3


4





5


6
7




8

1
2

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

22
23
24
25
26
27
28
29


30
31
32
33

34
+
+
-
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+

+
+
-
+
+
+
+
+

+
+
-
-
+
+
+
+
-
+
Eskil provides a plugin system where a plugin can preprocess data
before being compared and displayed.
To be written...

The command line options for plugins are:
  -plugin plugin     : Use plugin
  -plugininfo info   : Pass info to plugin (plugin specific)
  -plugindump plugin : Dump plugin source to stdout

A plugin is a Tcl script that must follow a specific format.
Dump one of the included plugins to see what it looks like.
The plugin is executed in a safe interpreter and thus cannot do any
damage.

A plugin is set up with these global variables filled in:
::WhoAmI  : The name of the plugin
::Info    : The contents of -plugininfo parameter
::Pref    : A copy if Eskil's internal preferences array.

Example plugins are included in the kit.
Just give a bad plugin name to the options and you will get a list
of available plugins.
Check them to see how they work.

A plugin may give a result that has a line-by-line correspondence to
the original, in which case the preprocessed data is used for comparing
while the original is used for displaying.  The main plugin procedure
returns 0 to signify this case.

If the plugin procedure returns 1, the processed data is used also for
displaying.
If you can't unpack the kit you can browse it
with eskil's directory diff. Just start eskil

When searching for a plugin, files "plugin" and "plugin.tcl" will
match. The search path is current directory, "plugins" directory,
the directory where Eskil is installed, "plugins" directory where
with itself as argument.
Eskil is installed, and also the internal "plugins" wrapped into Eskil.