I hope my changes are sensible and don't break any vital bits. However, given that the AP source code is quite substantial and that I really have looked only into them for a short while, there's every possibility that I do something pretty stupid or that there are undiscovered bugs (there must be some;-)).
Here's a concise list of the changes:
- command line: wildcard filenames like "*.h" or "a??.c" are supported (a wildcard pattern terminated by a "+" triggers a recursive load, ie "AkelPad win*.h+" loads win*.h files in the current directory and all subdirectories) [1]
command line: @FILELIST loads all files listed (one per line) in file FILELIST [2]
command line: /LINE[:COLUMN] following a filename goes to line:column in that file
command line: /IniName=ININAME loads ININAME.ini from the AP executable directory. Default (if this switch is not used) remains AkelPad.ini. [3]
- ini file: window positions for Find/Replace/Goto dialogs are remembered
ini file: manual parameter "MainClassName" sets AP main window's class name [4]
ini file: manual parameter "PluginIniPrefix" sets a prefix for plugin ini filenames [3][5]
ini file: "%w" in StatusUserFormat shows word wrap status (either "on" or "off")
[1] This feature requires that the script plugin is installed and that script openWildcard.js (included in zip) is installed in the scripts directory.
[2] This feature requires that the script plugin is installed and that script openFileList.js (included in zip) is installed in the scripts directory.
[3] If options are loaded from the registry, this switch/parameter has no effect (in other words, there's only one set of registry-based options). It is certainly possible to change this but as I don't use the registry, I haven't looked into this.
[4] This is useful if you use two or more ini files and AP is restricted to a single instance (see "Options/Don't open a program twice"). By assigning specific class names in the ini files, you can direct further invocations or commands to a specific instance. If you don't see the point of this feature, you probably don't need it.
[5] The PluginIniPrefix string is exactly that: a textual prefix added to the inifile name. A PluginIniPrefix value of "AkelTest-" means that, say, the Coder plugin will store its ini values in file AkelTest-Coder.ini in directory .\AkelFiles\Plugs\. On the other hand, a PluginIniPrefix value of "AkelTest\" will store ini values in file Coder.ini in subdirectory .\AkelFiles\Plugs\AkelTest\. Attention: such subdirectories must be created manually, they are not created automatically!
The zip file only contains the changed source files (based on AP 4.7.9) and the two required JS scripts. All source code changes should be marked with "// TM!!!" (if I forgot something, just drop me a note).
Hopefully some of these changes will find their way into a future version of AP.
TM