Code Trowel is a free programmer's text editor. Its aims to be somewhere between typical Windows editors (UltraEdit, TextPad etc) and the two big Unix editors (VIM and EMACS). Its main advantages are:
- A Python scripting engine
- A fast and efficient user interface
- Understands UNIX tools (ie Makefiles, bash scripts etc) better than most Windows editors
- Easier to use, extend and configure than VIM and EMACS
- More features
Source code is not currently available. Currently on Windows is supported. Mac and Linux versions are possible but not currently scheduled.
Monday, 15 October, 2012
Version 0.91 released.
- Added a Go syntax file.
- Column mode cursor can now be moved beyond the end of the line with the cursor keys.
- When exiting the Trowel, before it prompts about saving an unsaved doc, the document will be made visible to make it easier for you to decide if you want to save or not.
- Cursor up, down, left, right and home now all work in big cursor mode.
- Bug fix: Double click on an edit box with no contents could crash.
- Bug fix: All files were detected as having Unix line endings. This bug was introduced in v0.89 - right where I said "Hopefully I haven't broken anything".
- Bug fix: Context menus could be drawn partly off the bottom of the window.
- Bug fix: Column mode select all now works - it used to select a zero width block.
- Bug fix: The find dialog keeps a record of the 10 most recent search strings. The list is saved when the Trowel is closed down and read back in on startup. There were two bugs that could lead to items failing to be saved properly, or worse, the file containing the saved list could become corrupted and that could lead to instability.
- Bug fix: It wasn't possible to type into the edit boxes in the settings widget.
Thursday, 19 July, 2012
Version 0.90 released.
- MAJOR feature: Added simple macro recording. See the tools menu.
- Added a paragraph reformat feature. If the cursor is in a paragraph of plain text, or in a comment block, then pressing Ctrl+K will reflow the text in that block to make it wrap at column 80. It's not perfect yet, still needs polishing.
- Added "big cursor mode", which allows you to insert the text you type into multiple lines at the same time. This makes editing columns of text easier. Say you want to indent a block to a non-tab-stop position. Enable column mode, select a black zero columns wide covering the lines you want to indent. Then press space. The space character will be inserted on each line.
- Added a "Commands" tab to the window thing at the bottom of screen (ie next to the search results and settings tabs). There you can see a history of the last 1000 commands that have been actioned by the Trowel. This should make writing Python scripts a lot easier, because it provides a mechanism to discover command names and parameters. It might also be useful when you've accidentally pressed some keys and you want to check if you caused any damage.
- Added a small feature to join the next line onto the current one and automatically strip annoying whitespace.
- When closing the Trowel, sometimes you'd be asked if you wanted to overwrite the configuration file. This was more annoying than useful, so I removed the dialog.
- Bug fix: I noticed a few sporadic crashes over the last couple of months. They all occurred in a render function being called from the "paint" event handler. The paint event was being fired into the event handler function when I wasn't expecting it. As a result, contention between the main thread and the paint thread could cause a crash. I've modified the paint handler to simply tell the main thread to render. The unfortunate side effect is that if the main thread gets stuck in some long-running function for a long time, no render updates will be seen in that time. However, that should be vary rare since most of the Trowel's long-running tasks are broken up into small pieces to prevent unresponsiveness.
- Bug fix: Doing a replace-all with the replace string as "\0" when regex was not set caused a crash.