Eskil

Check-in [64dd38f229]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Synch text with wiki.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 64dd38f229848cf694017ed882461e14d674f49644ad48a09235c2d41459f47b
User & Date: peter 2019-05-22 08:38:26.752
Context
2019-06-12
11:37
Include added dirs in SVN commit. [e947536c41] check-in: 4dcf31775f user: peter tags: trunk
2019-05-22
08:38
Synch text with wiki. check-in: 64dd38f229 user: peter tags: trunk
2019-03-12
22:30
Auto open prefix group dialog. [2e08dd0200] check-in: f0aac8ede2 user: peter tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to doc/plugins.txt.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
Eskil provides a plugin system where plugins can preprocess data
before being compared and displayed.










The command line options for plugins are:
  -plugin plugin     : Use plugin
  -plugininfo info   : Pass info to plugin (plugin specific)
  -pluginallow       : Allow full access privilege for a plugin.
Command line options for info:
  -plugindump plugin : Dump plugin source to stdout
  -pluginlist        : List known plugins


A plugin may further define command line options that it accepts.



Multiple -plugin may be given and they will be applied in the given
order. Any -plugininfo and -pluginallow belongs to the last -plugin
before them.

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. You can turn this safety off with -pluginallow.

A plugin is set up with these global variables filled in:
::WhoAmI     : The name of the plugin
::WhoAmIFull : The full path to the plugin source
::Info       : The contents of -plugininfo parameter
::Pref       : A copy if Eskil's internal preferences array.
::File(left) : The name of the left file processed
::File(right): The name of the right file processed
::argv       : A copy of the command line from Eskil's invocation

Example plugins are included in the kit.

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.

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

Directory Diff only supports one plugin. The first plugin with FileCompare
defined will be used.



>
>
>
>
>
>
>
>
>



<
<


>
>

>
>





<
<












<
<



|




<
<
<
<

|

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
35
36
37
38
39


40
41
42
43
44
45
46
47




48
49
50
Eskil provides a plugin system where plugins can preprocess data
before being compared and displayed.

A plugin is a Tcl script that must follow a specific format.
Example plugins are included in the kit.
Dump one of the included plugins to see what it looks like.

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

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
  -pluginlist        : List known plugins
  -pluginallow       : Allow full access privilege for a plugin.

A plugin may further define command line options that it accepts.
A way to see the plugin's options is to do:
eskil -plugin <plg> -help

Multiple -plugin may be given and they will be applied in the given
order. Any -plugininfo and -pluginallow belongs to the last -plugin
before them.



The plugin is executed in a safe interpreter and thus cannot do any
damage. You can turn this safety off with -pluginallow.

A plugin is set up with these global variables filled in:
::WhoAmI     : The name of the plugin
::WhoAmIFull : The full path to the plugin source
::Info       : The contents of -plugininfo parameter
::Pref       : A copy if Eskil's internal preferences array.
::File(left) : The name of the left file processed
::File(right): The name of the right file processed
::argv       : A copy of the command line from Eskil's invocation



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
should return 0 to signify this case.

If the plugin procedure returns 1, the processed data is used also for
displaying.






Directory diff only supports one plugin. The first plugin with FileCompare
defined will be used.