Summary of the configuration options for plug-ins

As explained before, the Scheme configuration file myplugin/progs/init-myplugin.scm of a plug-in with name plugin should contain an instruction of the type

(plugin-configure myplugin

configuration-options)

Here follows a list of the available configuration-options:

(:require condition)
This option specifies a sanity condition which needs to be satisfied by the plug-in. Usually, it is checked that certain binaries or libraries are present on your system. If the condition fails, then TeXmacs will continue as whether your plug-in did not exist. In that case, further configuration is aborted. The :require option usually occurs first in the list of configuration options.
(:version version-cmd)
This option specifies a Scheme expression version-cmd which evaluates to the version of the plug-in.
(:setup cmd)
This command is only executed when the version of the plug-in changed from one execution of TeXmacs to another one. This occurs mainly when installing new versions of TeXmacs or helper applications.
(:initialize cmd)
This option executes the Scheme expression cmd. It usually occurs just after the :require option, so that the plug-in will only be configured if the plug-in really exists. For large plug-ins, it is important to keep the file myplugin/progs/init-myplugin.scm small, because it will be rerun each time you start TeXmacs. In order to reduce the boot time, most Scheme commands of the plug-in therefore occur in separate modules, some of which may be loaded by the initialization command.
(:launch shell-cmd)
This option specifies that the plug-in is able to evaluate expressions over a pipe, using a helper application which is launched using the shell-command shell-cmd.
(:link lib-name export-struct options)
This option is similar to :launch, except that the extern application is now linked dynamically. For more information, see the section about dynamic linking.
(:session menu-name)
This option indicates that the plug-in supports an evaluator for interactive shell sessions. An item menu-item will be inserted to the TextSession menu in order to launch such sessions.
(:serializer ,fun-name)
If the plug-in can be used as an evaluator, then this option specifies the Scheme function fun-name which is used in order to transform TeXmacs trees to strings.
(:commander ,fun-name)
This command is similar to the :serializer option except that it is used to transform special commands to strings.
(:tab-completion #t)
This command indicates that the plug-in supports tab-completion.
(:test-input-done #t)
This command indicates that the plug-in provides a routine for testing whether the input is complete.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".