Redcar 0.3.4dev Released
By danlucraft | March 8, 2010
Redcar 0.3.4dev is now available on Gemcutter. (Well 0.3.4.2 really, we had a few bugs.)

Please try out the new features and let us know how they work for you. NB These are developer preview releases! Saving often is advised.
Installation
$ sudo gem install redcar
$ sudo redcar install
New features
- Auto-pairer inserts matching characters ( -> ), ” -> “, etc
- Snippets
- Recent directories menu (thanks Aaron)
- Uses Gecko for HTMLTabs on Windows (thanks Roger)
Internal changes
- New API for creating text Marks, to tag a position in a Document.
- new PersistentCache class for plugins to simply cache stuff.
- Textmate plugin for dealing with Textmate bundles.
- Application focus in/out events.
Fixes
- Respects Windows style line delimiters
New contributors
- Aaron McLeod
Topics: jruby port, releases | 11 Comments »
Redcar 0.3.3dev Released
By danlucraft | February 21, 2010
Redcar 0.3.3dev is now available on Gemcutter. Install it and let us know what you think.
This release adds configurable tab widths, soft tabs and single instance support.
You’ll notice that the language combo box has disappeared from the bottom of the window. We’ve turned that into a speedbar so it’s hidden by default. This makes the main window even less cluttered. You can get it back by pressing Ctrl+Shift+E (or Cmd+Shift+E on OSX).
Remember, these are developer pre-releases! You should save often because hard crashes aren’t unheard of.
We’ve also officially dropped plans to support Textmate commands now. Textmate highlighting (done) and snippets (to be done soon) will still be supported, but commands are extremely difficult to make work cross platform, and we have some other ideas that we think are more exciting.
best,
danlucraft
Installation
$ sudo gem install redcar
$ sudo redcar install
All new features
- Tab stops:
- Can set tab width for open tab.
- Default tab width is remembered per language.
- Soft tabs (spaces that behave like tabs).
- Default soft/hard option is remembered per language.
- FindFileDialog:
- opens with a list of files opened this session.
- caches file list between invocations (cleared on window focus)
- Can autocomplete with a menu popup.
- Opens files and folders passed on the command line.
- Reopens last open directory on startup.
- Single instance support: redirects to currently open instance if any.
- Added ‘encryption’ plugin, mainly as an example.
- Forward search: wraps, regex option, match case option.
- Very raw edit preferences command (Show me the YAML!)
- Help > About command
- Can specify HTTP_PROXY for downloading jars.
- REPL captures and prints STDOUT
- Can register Redcar for opening files on Windows.
Internal changes:
- Keybindings are now stored in Keymap objects, in preparation for user preferences.
- Speedbar now uses an EditView for textboxes.
- Speedbars can have combos in them.
- Speedbars have access to the properties of the widgets in them.
- Added tab and escape key handler support to the EditView.
Fixes:
- Fixed some highlighter bugs.
- Search searches last line in doc.
- Doesn’t die on Windows-1252 encodings.
- Plugin Manager UI works on Linux and Windows.
New contributors:
- Roger D Pack
- Mat Schaffer
- Felipe Coury
- Sam Clopton
Topics: jruby port, releases | 5 Comments »
Redcar Internals
By danlucraft | February 6, 2010
Here is a series of posts I’ve made discussing various aspects of Redcar internals that you might find interesting.
- Redcar’s REPL and the DocumentMirror interface
- The Plugin Manager gem that Redcar uses
- How to Write a Tree Provider in Redcar
Topics: hacking | No Comments »
Redcar 0.3.2dev released
By danlucraft | January 23, 2010
I just pushed 0.3.2dev, please update to it and send me your comments or bugs.
This release ports to JRuby about half the remaining features. Redcar is getting fun to use again, with autocompletion, more text commands, block typing mode and simple search.
Internally I made a ton of changes as well, particularly by completely replacing the plugin manager with a new library that’s going to make things much easier. Also we now support plugins written in HTML and JavaScript, so you can use your web development skills to extend Redcar how you want.
There are still some important things missing, the most obvious of which is configurable tab widths, which I’m going to be working on for the next release.
Remember, Redcar is open source. You should feel totally able to open up the source code and have a hack around. We try to accept patches quickly and you can ask on IRC or the mailing list if you have any trouble.
Thanks!
Dan
Installation
$ sudo gem install redcar --pre
$ sudo redcar install
New features
- Dialog API for plugins and commands to use.
- Speedbar API for plugins and commands to use (e.g. Goto Line command).
- Remembers last directory when opening a file/directory. (thanks Roger Pack)
- Word movement (alt-left, alt-right) now works as it should in an editor for programmers.
- Very simple forward search command.
- Somewhat faster startup time.
- Nicer error message when jruby jar is missing.
- Goto Line command
- Select All and Select Line commands.
- Cut and Copy will take the line if there is no selection
- Block typing mode
- Auto completion
- HTML View, with Ruby/JavaScript interface, to write plugins in HTML+CSS+JS.
- PluginManagerUI plugin, running on the HTML View.
- MyPlugin plugin to help newbies get started on writing plugins
- Includes a lot more TextMate syntaxes
Internal changes
- Ported plugins to plugin_manager gem
- Pure Ruby clipboard and Copy/Cut/Paste commands.
Fixes
- The show more tabs menu in a notebook is handled properly.
- Deleting a lot of lines no longer causes the last few to lose highlighting.
- Clojure highlighting works.
- HTML colours no longer ‘bleed’ past the tags
Topics: jruby port, releases | 17 Comments »
Redcar 0.3.1dev Released
By danlucraft | January 9, 2010
I just pushed 0.3.1dev to Gemcutter.
This release changes the install process slightly. You now have to do:
$ sudo gem install redcar --pre
$ sudo redcar install
This removes the ugly hack that downloads the jars as part of the gem
install, because it made rubygems think ‘make’ was required when it
wasn’t really.
Enhancements:
- Directory tree refreshes on window focus.
- Fuzzy file finder (it’s a bit slow though!)
- Keybindings to switch tabs and notebooks.
- Undo/redo.
- Home/end keys.
- Modified tabs have little stars before their names.
- Increase indent and decrease indent commands (need further work).
- Themes support bold, italic and underline again.
- All commands are greyed out when inapplicable.
- Files can not be opened twice.
- Added Java, Perl and Ruby on Rails bundles.
- New simpler way for bundles to add commands to menus (used in
repl.rb)
Fixes:
- Change to multiple key algorithms in JavaMateView - should fix a bunch of subtle highlighting bugs.
- Runs on Java 5.
- Open Directory doesn’t log an error if you cancel.
Please kick the tires and let me know how you get on.
best,
Dan
Topics: jruby port, releases | 8 Comments »
Christmas Gem: Redcar 0.3.0dev
By danlucraft | December 25, 2009
Here’s 0.3.0dev of Redcar. This is a developer preview, to let interested parties investigate the Redcar internals as we port to JRuby. You would have to be a little bit mad to want to use Redcar right now if you are not interested in hacking on it.
To install:
sudo gem install redcar --pre
Those of you who remember the old installation instructions can imagine how happy it makes me that Redcar is now packaged as a gem. (It will take a minute or so to install as it downloads all the jar files Redcar needs).
This should work out of the box on Linux, OS X and Windows, and you do not need JRuby installed, the gem install will work fine installed under regular MRI Ruby.
Things that work in this release are:
- Open, edit and save files.
- Syntax highlighting (only ships with Ruby, HTML, C and a couple of others, but there’s no reason we can’t add more).
- Multiple editor panes.
- Multiple windows and projects open at the same time.
- Auto-indenter that just keeps the indentation level the same.
- Directory view.
Now, we obviously still have a lot of things left to port. This first release is supposed to be the absolute minimum required for me to use Redcar to edit itself. You should only use Redcar if you are interested in hacking on the internals or extending it with plugins.
It was important to get the base application framework working well before we tried to add more fancy features. This has also meant we could add things like the multiple window support that the old Redcar didn’t have, because the core of Redcar is now a lot simpler and more comprehensible.
Look at the roadmap if you are interested in the plan for porting the rest.
Topics: jruby port, releases, screenshot | 14 Comments »
JavaMateView Port Complete
By danlucraft | September 6, 2009
As of yesterday evening, the JavaMateView port of GtkMateView is essentially complete. Thanks go to Silvio Heuberger, Aokai, Mat Schaffer and Alex Lourie for contributing to this project.
This is terrific progress for our JRuby/SWT port. JavaMateView is the syntax highlighting editor component, which is the core of Redcar. We can now proceed with porting the rest of Redcar onto JRuby. And for free, we have complete cross platform compatibility:
Windows 7
Ubuntu,
and Mac OS X
I have now started making Redcar itself work on JRuby, which is going to take considerably longer. I want to do this right, so I’ve got a reading list on GUI architecture as long as my arm. If anyone has any good suggestions for further reading, please speak up!
As of now, Redcar HEAD will boot on JRuby, but all the plugins are turned off except for a very small core. There’s a long way to go yet, but I’m very happy with our progress so far.
Topics: development, jruby port, screenshot | 17 Comments »
JRuby Port Progress and Plans
By danlucraft | August 24, 2009
I’ve spent the evening on the port and it’s progressing well. There are two projects that need porting:
GtkMateView
GtkMateView is the syntax highlighter component of Redcar. At the moment it is written in Vala, a fine C#-style language for the GObject system. In order to run Redcar on JRuby, this GUI widget needs to be ported to Java.
Silvio, myself and Aokai have begun this and our work is on Github here. Porting from Vala to Java (like porting from C# to Java) is a fairly efficient process. Tedious - but efficient. We have already got several large classes, in particular the syntax Patterns and the Scope matcher, working in Java. This project will be 100% Java.
Redcar
Redcar is written in Ruby with GTK+. We need to port over Redcar from using GTK to using SWT, and make sure that everything still works on JRuby. Almost every class in Redcar will be touched by this change.
I would like to separate the plugins into two groups, the core models and the gui interfaces. So the core plugin will be split into core and core-swt, the project plugin into project and project-swt. Almost all the features can be moved over without change, although the step definitions will need to be rewritten.
We can turn off most plugins at the start and turn them back on one-by-one as we port them. So we should have a basic application frame up and running fairly soon. We also need to make sure that Cucumber and RSpec are working. Once that is done, porting of the plugins can happen in parallel, so people who want to help out can grab one and start.
We also need to get packaging sorted out from the start to avoid difficulty later. Silvio has been looking into this and it seems that we will be able to wrap up all of Redcar into a single .jar file before we are done (though we will still need Debian packages on top of that).
So Milestone 1 for the Redcar port is:
- Working application frame.
- Cucumber hooked up.
- RSpec hooked up.
- Single jar file packaging.
With a bit of luck, we can reach this sometime next week, which will give us a secure base for the rest of the work.
Good night!
Topics: development, jruby port, milestones | 5 Comments »
Redcar is moving to JRuby
By danlucraft | August 23, 2009
After a long struggle with our current platform, we have decided that it is best for the future of Redcar if we port it to JRuby. This will mean switching to another GUI toolkit, which we have identified as SWT. There are a lot of reasons for this (anyone who is interested can check the mailing list for details), but we expect the move to result in
- improved stability,
- more accessible source code,
- easier packaging,
- better cross-platform support.
We’re going to try and get this over with as quickly as possible, I’ll be pulling double shifts and Silvio and Henrik and a few others are jumping in too.
If you’d like to be involved in Redcar, this is a great opportunity to get started and help out, so please drop by the mailing list or IRC channel.
See you on the other side!
Topics: development, jruby port | 17 Comments »
News 26th May 2009
By danlucraft | May 26, 2009
Remembering that it is important to release soon and frequently, I have tagged version 0.2 of Redcar. There are numerous improvements and fixes, thanks to some new contributers. The installation process is slightly different, see below. Please report any bugs to the bug tracker.
I might have waited a bit longer before tagging this release, but I’m going to be very busy with work for a few weeks and I wanted to get what fixes there were out there for people to use.
This is still alpha-quality software! Use at your own risk and if there is something missing you need, add it! We will commit patches promptly.
New contributers
- Mark Wilkinson
- Pat Ciambrone
- poweradapter
- Henrik Hodne
New features, enhancements
- Fuzzy file finder notices new files and runs MUCH faster.
- Undo close tab (Ctrl+Shift+T)
- Type ” or ( or [ etc to wrap selection in pair.
- Warm startup 3 times faster.
- Added Incremental Search menu item.
- Now prompts to save if file is modified when closed.
- HtmlTab now uses Webkit instead of Mozilla
- Convert case commands
- Keybindings match up with Gnome better (Ctrl+C/V)
- Added Scala and Haskell bundles to the default bundle set.
- Included Railscasts theme - thanks Ryan Bates!
I am a little disappointed that neither the bundle support nor the performance of the syntax highlighter have significantly improved in this release, and they will be the priorities for 0.3.
Installing
The installation instructions are slightly changed. In particular there are no longer any release tarballs. You have to clone the source from git. Sorry, there are still no Debian packages, but we are working on getting some ready.
Plans for 0.3
Some things 0.3 will have:
- Improved highlighter performance - I am aware of the various issues around this. There is plenty of low-hanging fruit in this area.
- Autocompletion - Silvio Heuberger is working on this.
- A new smart indenter. In particular, it should handle indentation correctly in erb files.
- RSpec, Rails and Cucumber bundles should all work
- An embedded project pane (so the project view will no longer be in a tab).
That Railscasts theme in action:
Best wishes, and thanks to everyone who has expressed support for Redcar!
DBL
Topics: development, news, releases, screenshot | 11 Comments »





