Bespin Community Update; Tabs, Editor Component, Syntax Checker, Quick Open, and more

Work seems to be accelerating on the Bespin project. You think that there may be a lull after launch, but the opposite has happened thanks to the great contributors that have dived in heads first to the young project.

A fair amount has happened, so I thought I would write up the news:

Tab Support

Believe it or not, but the editor was cheeky when it came to tabs. Ben reworked the model so tabs will work with a special “tabmode”, where you can decide if you like to code with true tab characters, or if you prefer converting to spaces. As always, “tabsize” defines how many spaces a tab takes up. This is actually a big change and if you are developing on top of Bespin you need to be aware that there is a new CursorManager that handles some of the heavy lifting for you. Ben wrote all about it and how we found a performance bug with it on stage!

Reusable Editor Component

We have seen a bunch of people embedding the editor component itself, and we haven’t made that as easy as we should. We now have a first class editor component that I discuss, with the goal of being able to simply load up a script src pointing to the embed code, and then wrap up a div, or create on the fly, a Bespin editor.

Quick Open

Julian has created a killer feature, Quick Open Those that have used Cmd/Apple-T in Textmate know what this does, it pops up an easy way to jump between files in a project. This is a real success story as Julian was able to take a design document and implement it himself in short order. He has continued to improve it, along with Kevin Dangdoor, who worked on the backend pieces.

Syntax checker

Malte has been hacking on syntax checker / web worker type code for awhile, and we just got this work into tip. Now the JavaScript code that you write in Bespin is syntax checked on the fly (we need to iron our the UI there a little more).

There are also other benefits such as the new command outline that shows you a function list that you can jump from, and a new improved goto command that not only takes a line number, but also a function name to … go to.

Doctype integration

We have a lot of thoughts on how to integrate great Open Web documentation into Bespin. One little experiment is being able to bring Doctype into Bespin via a doctype command. Pops it open inline. Now we need to make search work for it.

More copy and paste

Jim Wilson has integrated trepanation a Java plugin based system that lets you access more services from your Web application. He whipped together a quick way to get copy and paste work nicely via Java, and a new exec command that “runs the current document or selection in the privileged trephine Rhino context”.

Thunderhead, Ho!

Ben is on the case with Thunderhead. He has taken out the custom styling and is using CSS to do that work. We will then be able to have full themes and skins available where you can easily add your own.

There is much more coming too. Joe Walker showed off Collaboration at the Mozilla Labs London event last week, VCS is looking good, and more features are in active development. Phew!

As always, follow us on Twitter, chat with us on #bespin in irc, and join our group.

— Dion Almaer, on behalf of the Bespin development team

3 responses

  1. Mark wrote on :

    I really like the idea of a browser based IDE, but there is one editor which I just can’t let go off http://www.peter.co.nz/wblite/home.html

  2. Claude wrote on :

    I have developed a browser based editor with highliting features. The parsers I use are based on JavaCC, modified to produce JavaScript instead of Jaqva, which simplifies greatly the making of parsers.
    I am willing to share them, with whoever wants to use it.

  3. Mike wrote on :

    I’m looking forward to using Bespin as my first “browser based” IDE and I hope that you support several languages, especially the following:

    -Assembly :{HLA aka.High Level Assembly)
    -C++
    -PHP
    -CSound (special)
    -JavaScript
    -Python,Ruby,Perl,C etc.