| ||||||||
![]()
Cool Mac Gear iPod Video iPod nano iPod 1G-2G iPod 3G iPod 4G iPod Mini PowerBook-iBook Garageband |
Charles Moore Reviews Pepper 4.0.4
I did a mini-review of Pepper 3.5 Back in the fall of 2000, and found it to be an interesting but somewhat quirky little text editor. With the recent release of Pepper 4.0, I decided it was a good time to take another look at Pepper. Pepper 4.0 was released on May 1st, 2002. Pepper 4.0.3 was a bug fix release dated May 6th, and on May 13 Pepper 4.0.4 was released, containing a new Fortran language plugin and an improved Java function parser as well as more bugfixes and an experimental feature that allows the display of multiple files simultaneously in the Multi-File view.
Pepper was written by Maarten Hekkelman, and is a descendant of his Pe for BeOS. It is Appearance-savvy and tries to offer a consistent and easy to use yet powerful interface. I still find Pepper to be a somewhat enigmatic piece of software. It has a very extensive and deep feature set and is amazingly powerful in some respects, but a bit rough around the edges in others. Pepper offers several unique features, not found in other editors: - it is a full utf-8 editor, this means it works internally with the utf-8 encoding of Unicode. Pepper can also work with other encodings, currently there are several Unicode encodings and a handful of single byte encodings, more will be added in future releases.- intelligent and extendable language support through addons with syntax styling as opposed to mere syntax coloring. Pepper comes with 14 language addons. - identifier (word) completion - incremental search (aka Fast Find) - commandline integration with stderr parsing - extensions and script extensions (apply a perl script to a selection e.g.) - rectangular selections - fully configurable keybindings, emacs and brief emulation - tags support, quickly lookup definitions - Virtually unlimited file sizes not limited by memory size. Probably one of the reasons I have a mixed reaction to Pepper is that it is it strongly oriented towards programmers, and I am essentially ignorant of the nuances of programming language and procedures. Consequently, a substantial portion of Pepper’s capabilities are inscrutable to me, and I only have a vague conception -- if that, of what they are. I think the key to success for text editor applications is to focus on doing a particular thing really well, and the fact that I only understand about 20 percent of that list immediately above makes me suspect that Pepper is a text editor that will appeal mainly to real programmers. It also has Code Warrior integration, as well as other programming-friendly features. While I’m not exactly the village idiot, I find many of the Pepper features that sound cool initially, to be non-intuitive in practice. Consequently, in general, I kept wishing for some really easy-to-understand instructions in non-geek plain English to help walk me through learning this program. For instance, when editing HTML you often have to enter the same tags repeatedly. To speed up these tasks some editors (BBEdit is a good example) have developed floating windows containing buttons for often-used tags and ways to bind text strings to selected pieces of text. Pepper’s Accelerator, a customizable, translucent sidebar overlay containing shortcuts and macros for applying frequently-used bits of text or HTML code offers a different solution. When you bring up the Accelerator, it appears inside the document window on top of the text as a translucent menu-like overlay. Move the mouse over the items offered and click on an item to enter the accompanying text and the accelerator will dissolve and the text will be entered at the cursor position in the document.
The contents of the Accelerator are language sensitive; ie: items offered for HTML differ from the ones offered when editing a C++ file. When no items are available for the current language, the accelerator refuses to come up. An interesting idea theoretically, but I found the instructions for configuring the Accelerator in the on-line documentation about as clear as mud. They read:
And so on. Maybe I’m just dense, but I didn’t find that helped me very much. In two sessions of clicking various combinations of buttons and pull-down menu items in te Accelerator Editor window, I had gotten precisely nowhere. Frustrated, I finally gave up and e-mailed Pepper’s developer Maarten Hekkelman asking for help. Maartin replied:
That was all I needed, and I was able to configure the accelerator with no further difficulty. Suggestion to Martin: why not just paste the contents of that e-mail to me into the documentation?
Pepper 4.0 (currently at 4.0.4) is a carbon application, so it works in both OS X and OS 9.2, and I tried it out in both. It is fast enough in OS X on my 500 MHz Pismo PowerBook, but seemed a trifle sluggish running under OS 9.2.2 on my 233 MHz WallStreet. It is also supposed to support down to OS 9, it but for some reason I couldn’t convince it to start up in OS 9.1, and I ended up doing most of my testing in OS X. There are some other glitches and idiosyncrasies. There is no support for the standard Cut, Copy, Paste F-Key shortcuts using F-2, F-3, and F-4 respectively. I also experienced a maddening refusal to place the cursor where I wanted it in some pasted-in text, from the Word 5.1 document, I think. When I copied and pasted that same block of text into Tex Edit Plus, there was no problem. However, I found that both text selection and scrolling response with Pepper frequently erratic on either platform to the point of being a significant annoyance. And while Pepper would open html documents created in, say, BBEdit, toggling the Accelerator produced this:
The File Info window provides a good deal of information, but doesn’t offer a partial word count of a highlighted selection in a document.
And Pepper can only save documents in its own text format or as stationery.
Then there are the icons. Installing pepper in OS X turned of most of the file icons in my Preferences folder, and some elsewhere on the hard drive, into Pepper icons. Like I said, this program has some rough edges.
That’s not to say that I don’t like Pepper. It is, as I noted, a very interesting application. Just a bit offbeat. It has a nice set of HTML markup tools, but the implementation isn’t nearly as slick as in, say, BBEdit, or my AppleScript-customized copy of Tex Edit Plus.
Pepper document windows as well as the “Find Differences” window and the Accelerator window have a toolbar on top. Most of the buttons are regular buttons, but the buttons containing a downward-pointing arrow in their label can also act as menus. E.g. the New button contains a menu that allows you to quickly open a new document containing the text from a template document. Templates are located in the Templates folder.
The New button can be used to open a new window. But when you click and hold, you will get a menu that allows you to open a template. The Open button when clicked will present you the Open Navigation dialog. When you click and hold, you’ll get a menu showing the 20 most recently opened documents. The Save button allows you to quickly save a document. When it is disabled, the document does not contain changes since the last time you saved. The Parse button is a language sensitive button. When the current document contains e.g. a C source file, this button will show you a menu with all the include files and functions found in the document. For an HTML file all links and all headings will appear, as well as JavaScript and PHP functions. The Find button will bring up the Find Dialog. The Fast Find button toggles Fast Find mode. The Writeable/Read Only button shows whether a file is writeable. On MacOS 9 Read Only means there is a so called ‘ckid’ resource in the document and it indicates the file is locked or the document was locked using the Finder’s Get Info dialog. On all other OS’es including MacOS X and Win2k the meaning of Writable/Read Only is related to the file permission flags of the document. The Info button can bring up the Info Dialog but can also present a menu that allows you to quickly change the several properties for the current document, such as line ending or the language to use. The Soft Wrap button toggles between softwrapping and no wrapping. Pepper allows windows to be split by dragging the dark gray indicator which you can find above the vertical scrollbar. You can also double click this indicator to split the current pane into two halves. When a pane is split, you can resize the parts by dragging the indicator between the vertical scrollbars of both parts. Double clicking this indicator removes the second part. You can also remove splits by moving the indicator towards the top or bottom. There can be as many split panes as will fit on a window, but each pane has to be at least 150 pixels in height. The Multi-File view lets you work with several documents opened in a single window. You can switch between documents using the popup menu just below the toolbar. You can have only one multi-file view window and show it using the Multi-File View command from the Window menu. To close it you use this Menu item again. This version of Pepper comes with full FTP support. You can open files from FTP servers just like you open files from your local hard drive. Internally Pepper keeps references to files using URL’s. On MacOS Pepper even responds to the GetURL apple event. To help you opening files from remote servers, Pepper has a built in navigation dialog that looks and works similar to Apple’s Navigation dialog. Pepper uses six clipboards. Whenever you copy something it is placed on a new clipboard and if there were already six clipboards in use the oldest is purged and removed. When you paste, the text inserted comes from the most recent clipboard. There is also a command called Paste Next that undoes the last paste and pastes the contents of the previous clipboard. You can continue to use Paste Next and Pepper will cycle through all six clipboards.
Pepper offers syntax styling as opposed to just syntax coloring. You can modify the styles per language-specific portion in the Preferences dialog. The default for all languages is to only override text color, but you can modify this to have style add more than that, e.g. change the font or the face.
A powerful feature of Pepper is identifier completion the facility to type the first couple of letters of a word and then type the shortcut for ‘Complete identifier looking forward/backward’ (default is Option-Tab and Option-Shift -Tab resp.) and Pepper will collect all the words that start with the same sequence and will complete the word with the first match. Typing the command again will substitute this text with that of the next match and so forth until there are no options left. You can choose to collect words from all open files, see prefs dialog, searching panel.
Another cool feature is Pepper’s incremental search. Type Cmd/Cntrl-I and start typing the word you’re looking for. As more characters are entered Pepper will look for the next match and select it. Typing backspace removes characters from the search string. Escape and Enter will stop the search, just as using the cursor keys. Typing Cmd-I again while in Incremental search mode will search the next occurence.
Pepper has its own plugin format for extensions. A few samples are included but basically it means you have to write the extension in C++ using the supplied interface file. I’ll take your word for it, Maartin. ;-) Keybindings (I only have the vaguest idea of what they are) in Pepper are fully configurable. You can use Pepper as an external editor for Codewarrior. Put an alias to Pepper in (Helper Apps), rename it to ‘External Editor’ and set the checkbox in Codewarrior’s prefs to use an external editor. You can then use Find Definition to look up symbols in the IDE’s browser catalog. Also, when opening an include file Pepper will optionally search through all include paths of the current project. You can put marks on lines and then jump to them. You will have to assign a keybinding to the commands first. There is no graphical indication for marks yet and marks will not be saved along with the file. Marks are not saved along with the document, once you close it the marks are gone. Other stuff of interest to programmer types: Pepper uses the Perl Compatible Regular Expression library (PCRE) developed by Philip Hazel to implement regular expressions. For a complete description of the syntax, see the document pcre.txt in the Goodies Folder. Pepper uses unix linefeeds internally. Therefore, if you enter an expression that spans multiple lines, you will have to enter \n for the linebreak character instead of \r as you might be used to. For a comprehensive list of Pepper's extensive feature set, visit here: As I said, to me Pepper is an enigma. As a non programmer professional writer, it’s main strengths are not especially relevant, However, I infer that for users who work regularly with programming languages, it could be a very attractive text editor. Consequently, I’m giving Pepper two separate Applelinks ratings. If you’re not into programming, and like me have only a foggy idea of what some of the features described in the foregoing text refer to, then Pepper is probably not your best choice in a text editor. I especially found the text selection abd scrolling crankiness annoying. So for that type of user, I’m giving Pepper a two-A Applelinks rating.
![]()
If you do understand what those features are and can use them, then Pepper my indeed be for you, so for that type of user, I’m giving Pepper a four-A Applelinks rating.
![]()
Minimum requirements to run Pepper a PowerMac with MacOS X or MacOS 9 and CarbonLib 1.5, MacOS 9.2 is strongly recommended. Pepper uses 4 Mb of RAM and needs about 5 Mb of diskspace. Pepper 4.0.4 is also available for Windows 2000/XP, and the cross-platform aspect may be very useful to some users. Pepper is $35 shareware. Upgrades from Pepper 3.x to Pepper 4.0 for MacOS are free. For more information, visit:
Page: 1 - 2 - 3 - 4 - 5
| |||||||