Eddie implements a large portion of its functionality in plugins. The plugin API gives an Eddie plugin a large amount 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, FunctionPopup plugin, IfdefBalancer plugin, SearchEngine plugin, Worksets plugin and the Symbols plugin.
Plugin API enabling plugin development will be provided upon request.
The plugin API supports:
Eddie looks for plugins in the Eddie bundle and in the ~/Library/Preferences/com.el34.eddie/plugins/ directory. You may place a new Eddie plugin into either of these two places
Automatically colors text in C, C++, Obj-C Java, Perl, Python, HTML, Javascript, Konfabulator, PHP, assembly, shell, Lua, LaTeX, Ragel and makefile documents. Colors used for syntax coloring may be modified in the Application Preferences.
User keywords may be added to the UserStartup. The default UserStartup comes pre-configured with some user keywords, you may for instance add all the Cocoa types you use frequently. To add more keywords add following lines to the UserStartup:
SCAddUserDefinedCWords NSWindow NSResponder ...
The above line adds C/C++/Obj-C user keywords. To add keywords to syntax coloring for makefiles, add:
SCAddUserDefinedMakeWords VPATH CFLAGS ...
Similarly for the other languages:
SCAddUserDefinedJavaWords ...
SCAddUserDefinedPerlWords ...
SCAddUserDefinedSwiftWords ...
SCAddUserDefinedShellWords ...
SCAddUserDefinedRubyWords ...
SCAddUserDefinedRagelWords ...
SCAddUserDefinedPythonWords ...
SCAddUserDefinedPHPWords ...
SCAddUserDefinedMakeWords ...
SCAddUserDefinedLuaWords ...
SCAddUserDefinedLaTeXWords ...
SCAddUserDefinedHTMLWords ...
SCAddUserDefinedCLikeAsmWords ...
Pressing down on this button will bring up a popup menu with all the functions 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.
Click | show the function popup |
Option-Click | show the function popup alphabetically sorted |
Control-Click | show class members (useful for header files with large classes) |
The plugin adds two menu items to the search menu that let you find the next and previous function.
The Header file button brings up a popup menu with all the header files included by the source files. Selecting a header file from the menu will search for the header file and open it. When searching for the header file, workset directories, search paths, etc. are used, the same way as when opening a header file using Command-D.
The Ifdef balancer popup allows you to display and navigate all the #ifdefs in a document, much like you would functions. Learn about it in the Ifdef balancer section.