Eddie implements a large portion of its functinality in plugins. The plugin API gives an Eddie plugin a large ammount of control over the entire application. Most Eddie plugins have a button in the button bar. Some plugins have keyboard shortcuts, settable by SetKey. The current version of Eddie includes a SyntaxColoring plugin, Commenter plugin (source to this plugin is available as an example in the plugin develompent kit), FunctionPopup plugin, IfdefBalancer plugin, SearchEngine plugin and the Worksets plugin.
Plugin API enabling plugin development is provided in a separate package, Eddie Plugin Developer Kit available at http://www.el34.com/eddie/EddiePDK.zip or at ftp://ftp.be.com/pub/contrib/editors/EddiePluginDeveloperKit1.1.zip.
The plugin API supports:
Eddie looks for plugins into the "plugins" folder in the Eddie application folder and in the "/boot/home/config/add-ons/Eddie/plugins/". You may place a new Eddie plugin into either of these two folders
Automatically colors text in C, C++, assembly and makefile documents. This plugin does not have a button associated with the plugin in the button bar. Colors used for syntax coloring may be modified in the Application Settings.
User keywords may be added to the UserStartup. The default UserStartup comes preconfigured with some user keywords, you may for instance add all the BeOS class you use frequently. To add more keywords add following lines to the UserStartup:
SCAddUserDefinedCWords BMessenger BPath ...
The above line adds C/C++ user keywords. To add keywords to the make syntax highliter, add:
SCAddUserDefinedMakeWords VPATH CFLAGS ...
Pressing down on this button will bring up a popup menu with all the funcitons in the document. The function located near the current cursor position is marked. Selecting an item in the menu brings you to the respective function. If a function is overloaded the parameters are also shown so that the different function signatures can be recognized.
Press | show the function popup |
Option-Press | show the function popup alphabetically sorted |
Shift-Press | include structs in popup |
Control-Press | show class members (useful for header files with large classes) |
Control-Shift- Press | show everything but function definitions |
Upper half click | find the previous function |
Upper half click | find the previous function |