Time flies when you are having fun, and the Bespin team seems to be having a lot!
We just deployed version 0.1.4 to bespin.mozilla.com, and this release has a lot of changes.
The biggest infrastructure reboot is the fact that we are now using Dojo to power Bespin, and this major contribution was lead by Roberto Saccon. Major thanks to Pete Higgins, Dojo lead, to giving it all a once over and making sure that Bespin looks and runs as “Dojo-y” as possible.
Roberto went on to fix a bunch of bugs and issues, and is now working on a much better syntax highlighter.
Jay Bird and Julian Vierect kindly made the editor nicer. You can now indent and un-indent as you would imagine (with TAB), and I added the notion of a setting autoindent
that when on (by running set autoindent on
in the command line) will keep track of your indent level when you hit RETURN.
Extension points; Config and Commands
We really want to offer great extension points, and we got a bit of the way there in this release. You can use the configuration system to tweak your system. After opening your config.js (manually get into the BespinSettings project or just run editconfig
. Once there you can include other files, setup aliases, load commands, and run any code you wish.
For example:
// -- Load up custom commands publish("bespin:commands:load", { commandname: "calculate" }); // -- Load in my aliases include("aliases.js"); // -- Load up sub systems of Bespin that aren't loaded by default require("bespin.syntax.arduino");
You will notice that these functions are aliases to make life easier for you when in config scope.
To create a custom command such as the calculate
one above, you simply create a new file in your BespinSettings/commands
directory, and write a command object.
Here is what the calculate command looks like. Read about the various commands here. We are also designing a simple plugin API, and would love comment.
There is a lot more in this release, and I want to thanks all of the contributors who have already made working in the Bespin community so much fun.
What else is happening in the community? Here are a few things:
- Joe Walker has a design document (and partial implementation already) for how collaboration will work in Bespin, at scale
- Kevin Dangoor did a great screencast introducing the python backend to Bespin which implements the Bespin Server API
- Guillaume and Sebastian posted on how they have integrated Bespin with the Java Play! Web framework
- Malte Ubl shared a prototype of what a “VisualWorks for JavaScript” could look like
- I wrote about the pain of working with system clipboards from the Web here and then followed up right here
Finally, Ben and I will be in London next week and will be hanging at a Mozilla Labs event that is taking place on Tuesday March 10, 2009 from 6:30pm to 8:30pm at The Hub in Kings Cross. We hope to see any Londoners there to chat Bespin, Developer Tools, and general Open Web!
— Dion Almaer, on behalf of the Bespin development team