Eddie plugins

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

Plugin API enabling plugin development will be provided upon request.

The plugin API supports:

Installing plugins

Eddie looks for plugins in the Eddie bundle and in the "~/Library/Preferences/Eddie/plugins/". You may place a new Eddie plugin into either of these two places

Syntax Coloring

Automatically colors text in C, C++, Obj-C Java, Perl, Python, HTML, Javascript, Konfabulator, PHP, assembly, shell, Lua 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 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 Carbon types you use frequently. To add more keywords add following lines to the UserStartup:

SCAddUserDefinedCWords BMessenger BPath ...

The above line adds C/C++/Obj-C user keywords. To add keywords to syntax coloring for makefiles, add:

SCAddUserDefinedMakeWords VPATH CFLAGS ...

For Java, Perl, etc. you may define user defined words using the following keywords:

SCAddUserDefinedJavaWords ...
SCAddUserDefinedCLikeAsmWords ...
SCAddUserDefinedPerlWords ...
SCAddUserDefinedHTMLWords ...
SCAddUserDefinedShellWords ...

Function popup

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.

Function popup button

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

The plugin adds two menu items to the search menu that let you find the next and previous function.

Header file popup button

Pressing down on this button will bring 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 Alt-D.

Ifdef menu

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.