Quick Overview

Eddie tries to balance a combination of ease of use and feature completeness of a mainstream editors, great performance and speed, with a host of super-powerful features under the hood. Here is a quick overview of some of these. If you hate reading manuals, at least glance over this part to get an idea of what to expect under the hood and make sure you are not missing some of the power user features that may appeal to you.

Language support: Syntax Coloring and Function popup and others

Configurable syntax coloring is available for a C, C++. Obj-C, HTML, JavaScript, Konfabulator, Visual Basic, Makefiles, PHP, Python, Ruby, shell scripts and others.

Further, Eddie supports a function popup for C/C++/Obj-C, Perl, Lua, Python and JavaScript.

Symbol lookup offers symbol auto-completion and lookup. Eddie comes bundled with an advanced code indexer that understands complex C, C++ and Objective C.

Magic prototyper makes Eddie a first-class editor for C/C++ development.

The Worksheet Window

Worksheet is an enhanced version of a Terminal window. It's integration with the rest of the application make it a perfect environment for compiling, running commands and other tasks you would use a Terminal for.

To execute a command from the worksheet, you either type the command or move the cursor to a line with an existing command and hit return. You may for instance type ls -la. As with Terminal, the contents of the current directory will be printed. Worksheet is a Shell window. There is an actual bash shell running in each Shell window. You can use make, cd, ls, grep, xcodebuild, etc. You may set shell variables, aliases and other shell state from within a Worksheet. Pathname and shell variable completion is supported in the worksheet, you may hit the Tab key to complete a pathname of a file, hit it again to get a list of possible suggestions if there is more than one possible completion.

By default the contents of a Worksheet is automatically saved when Eddie quits (this can be configured in Eddie Preferences). The Worksheet window is instantly accessible—you may reopen the Worksheet or bring it to the front by pressing Command-0.

If you are not a big command line user or otherwise don't care for the Worksheet, you can configure Eddie to never show it in the "Shell" pane of the Preferences.

Smart Open Selection

Smart Open Selection (Command-D), knows how to parse a file path around your current selection and open the file path. If the specified path is not absolute, it will find the file using an elaborate lookup heuristic. It knows how to parse out line numbers next to the file names in grep/complier output and select these lines when the corresponding document is opened. Together with Tab-completion Smart Open Selection makes for a super-quick alternate way to open files.

Rich Customizable Keyboard Shortcuts

Eddie has an extensive array of built-in keyboard shortcuts, both standard and more exotic. You may for instance find Smart Swap (Command-Option-LeftArrow, Command-Option-RightArrow), or Drag Line Up/Down handy. Each keyboard shortcut is fully customizable using the SetKey command. Eddie defines many more editing commands than are actually assigned to shortcuts. Some of the heavily used commands (like scrolling for instance) are available in a few variants that differ in subtle ways to suit a particular personal preference.

Eddie Buttons

Eddie comes pre-configured with several buttons. The three clipboard buttons support copy & paste. You may press any of the clipboard buttons to examine the contents of the clipboard.

Pressing on the Function popup button will bring up a popup menu of all the C, C++, Obj-C, JavaScript, Lua and Perl functions defined in a text document.

The Magic prototyper button allows you to generate prototypes from a C++ or Obj-C class and paste them into text with just two clicks. It knows about details like pure virtuals, functions inlined inside the class definition (in both cases a prototype is not generated unless you hold down the Option key), templates, it will remove default function parameters, etc. In short, it will save you from ton of the usual boilerplate editing when for instance implementing class member functions.

The extended Clipboards are useful for heavy-duty copy-paste jobs. Each of the three independent clipboards can do the usual Cut/Copy/Paste. In addition each can Swap-Paste (the text replaced by the paste is placed back onto the clipboard), operate as a stack. Press the clipboard button to examine the clipboard contents.

Note that in the example the first clipboard is being used in stack mode — it contains two entries that may be pasted one after the other.

The Commenter button lets you comment or uncomment a selection with a single keystroke (Command-/), using the commenting style appropriate for the document type.

Customizing

Aside from the application Preferences, you can configure keyboard shortcuts and a number of other settings by editing the UserStartup file. The default UserStartup comes with keyboard shortcuts pre-configured to match a keyboard map similar to MPW, BeIDE or BBEdit. An Emacs-like keymap is also supplied and can be enabled in the UserStartup.

Eddie can be further customized through its rich plugin interface. Many of its features (Magic Prototyper, Syntax Coloring, Function Popup, etc.) are implemented as plugins.

Dynamic Menus

Eddie takes advantage of dynamic menus to hide some of the more exotic menu commands. Take time to explore these — to view alternate menu commands, pull down each menu and press Option, Shift and/or Control in various combinations — you will see the different alternate menu commands.



MPW is a registered trademark of Apple Computer, Inc. BBEdit is a registered trademark of Bare Bones Software, Inc.