Add-ons for SynWrite can be installed automatically. You should pack files into ZIP archive and place text file "install.inf" into archive root. Then user should open zip in SynWrite, and program will suggest auto-installation of this package.
Example of install.inf for SynJedi plugin:
[info]
title=SynJedi
type=plugin
subdir=SynJedi
[ini]
section=Complete
id=SynJedi
file=SynJedi.dll
params=Python;
Example for Python command plugin (lexers C/C++ specified):
[info]
title=My Sample
type=py-plugin
subdir=syn_my_sample
[ini]
section=Commands
id=My Sample
params=run;C,C++
hotkey=Alt+C
This describes section "ini" and sections "ini1" to "ini400".
Sections can be with gaps, e.g. only 1, 10, 20, 40.
Sections needed only for plugins and have such fields:
section: Section name for SynPlugins.ini file. Can be one of:
id: Text before "=" char for "SynPlugins.ini" file. For command plugins: if it is "Submenu\ItemName", then menu item in submenu will appear. To specify separators in submenu (don't use them in root menu), write them like this:
file: Only for binary plugins: DLL file name of plugin (without path).
params: Additional string, which is appended to the line of "SynPlugins.ini" file. It's one or more parameters, separated with ";".
hotkey: Hotkey for command plugin item (optional). Example of simple values: "Alt+A", "Ctrl+Shift+F1", example of combo keys: "Ctrl+Shift+A * Ctrl+B * Ctrl+C". If lexers list (in params=) empty, then hotkey saves to file SynHotkeys.ini. If lexers list not empty, then hotkey saves to each "SynHotkeys lexer nnnn.ini" for all mentioned lexers.
If type is "lexer", then instead of sections "iniN" you must use sections "lexer1" to "lexer120". These sections list lexers and/or autocomplete files (*.acp) present in package. First section must be for main lexer, others for sublexers of main lexer. Keys in sections: