Naracea 1.1
Well, it is obvious, that I’m better in developing Naracea than writing about it. Yes. There is version 1.1 available for download for some time. I was even able to release an update, and I have another one in the testing. However, I’m back now, and I’d like to go through what’s new in 1.1.
There are still three main things I’m using Naracea for, and I kind of improved things which are needed for these areas. I’m using Naracea for writing, for editing of couple of scripts, and I rely on it heavily with my note taking. Let’s go though improvements for each of these areas.
Writing with infinite undo
Since the very beginning I knew editing capabilities of the 1.0 were not sufficient. Problem was that adapting some other editing component would take some time (significant amount of time, as I found out when working on 1.1), and didn’t want to delay release. So 1.0 had to live with limited editing capabilities, and immediately after release I started to work on integration of more powerful text editing component. Finally I decided to use AvalonEdit (which is powering SharpDevelop) for 1.1.
AvalonEdit is beautiful piece of software, it is nicely designed, it has lots of features and it has permissive LGPL license. And of course: it is text editor developed for IDE. That means that while it is really great for editing code, there were some limitations when I tried to use it as a base for text editor which is meant for writing of text. So I did some adaptations and now, I believe it works really nice as the main part of the Naracea’s UI. (Naracea’s version of AvalonEdit can be downloaded from forum.)
Next feature I was really missing was simple overview of text changes. While timeline is nice, and it gives overview of the development of the text, it is not easy to explain how Naracea works and how changes are recorded when they are not visible on the first sight. Also finding the point I want to get to in document history was somehow complicated, because while the history can be searched, sometimes I do not remember what I’m exactly searching for. Therefore now there is change stream. It shows changes as they were entered, it distinguishes inserts and deletions, shows how changes are grouped and allows quick rewinding to any point in document’s history.
Minor function related to writing is possibility to show whitespaces, convert tabs to spaces automatically, and set size of tabs (if you are using indentation instead of empty lines between paragraphs).
Simple to-do lists and note taking
For note taking, there are two new important features for me. It might surprise you, but first one is the way indentation is kept when you hit enter. I build my to-do lists hierarchically, so having indentation kept when I hit enter is pretty important for me. Second feature is support for regular expressions. Searching history is hard when you do not know what are you looking for, and being able to search with regular expressions make this way easier. I know regular expressions aren’t something majority of people will use, but still — it is great to have it there.
Persistent history/undo for scripts
Honestly — Naracea is far from being best editor for writing code, and it is not my intention to turn it into one. There are lots of better tools for full time code editing. However there is this kind of exploratory coding I do from time to time, where I really appreciate I have whole history of the code available. As I already mentioned, I keep my build scripts as Naracea document. Because I’m not so proficient in Ruby and rake scripts, having the whole history and being able to develop by trial and error without fear of losing previously working code is something I really like.
That’s why I added syntax highlighting. It was cheap and easy (because AvalonEdit supports syntax highlighting out of the box — well, it is text editor for IDE), and I like to have it there for those occasions I need it.
OK, so that’s what’s new in Naracea 1.1. If you like it, please, go to the download page, and try Naracea by yourselves.