{"id":1416,"date":"2009-03-18T08:44:40","date_gmt":"2009-03-18T16:44:40","guid":{"rendered":"http:\/\/mozillalabs.com\/?p=1416"},"modified":"2009-03-18T08:44:40","modified_gmt":"2009-03-18T16:44:40","slug":"bespin-community-update-tabs-editor-component-syntax-checker-quick-open-and-more","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/labs\/2009\/03\/bespin-community-update-tabs-editor-component-syntax-checker-quick-open-and-more\/","title":{"rendered":"Bespin Community Update; Tabs, Editor Component, Syntax Checker, Quick Open, and more"},"content":{"rendered":"<p>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.<\/p>\n<p>A fair amount has happened, so I thought I would write up the news:<\/p>\n<p><b>Tab Support<\/b><\/p>\n<p>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 &#8220;tabmode&#8221;, where you can decide if you like to code with true tab characters, or if you prefer converting to spaces. As always, &#8220;tabsize&#8221; 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 <a href=\"http:\/\/benzilla.galbraiths.org\/2009\/03\/12\/of-tabs-and-performance\/\">wrote all about it<\/a> and how we found a performance bug with it on stage!<\/p>\n<p><b>Reusable Editor Component<\/b><\/p>\n<p>We have seen a bunch of people embedding the editor component itself, and we haven&#8217;t made that as easy as we should. We now have a first class <a href=\"http:\/\/almaer.com\/blog\/embedding-and-reusing-the-bespin-editor-component\">editor component<\/a> 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.<\/p>\n<p><b>Quick Open<\/b><\/p>\n<p>Julian has created a killer feature, <a href=\"http:\/\/almaer.com\/blog\/why-open-source-is-amazing-the-story-of-the-quick-open-bespin-feature\">Quick  Open<\/a> Those that have used <code>Cmd\/Apple-T<\/code> 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 <a href=\"https:\/\/wiki.mozilla.org\/Labs\/Bespin\/DesignDocs\/Editor\/OpenFiles\">design document<\/a> and implement it himself in short order. He has continued to improve it, along with Kevin Dangdoor, who worked on the backend pieces.<\/p>\n<p><b>Syntax checker<\/b><\/p>\n<p>Malte has been hacking on syntax checker \/ web worker type code for awhile, and we just got <a href=\"http:\/\/joose-js.blogspot.com\/2009\/03\/on-fly-syntax-checker-and-code-outline.html\">this work into tip<\/a>. 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).<\/p>\n<p>There are also other benefits such as the new command <code>outline<\/code> that shows you a function list that you can jump from, and a new improved <code>goto<\/code> command that not only takes a line number, but also a function name to &#8230; go to.<\/p>\n<p><b>Doctype integration<\/b><\/p>\n<p>We have a lot of thoughts on how to integrate great Open Web documentation into Bespin. One little experiment is being able to bring <a href=\"http:\/\/almaer.com\/blog\/integrating-info-from-google-doctype-into-bespin\">Doctype into Bespin<\/a> via a <code>doctype<\/code> command. Pops it open inline. Now we need to make search work for it.<\/p>\n<p><b>More copy and paste<\/b><\/p>\n<p>Jim Wilson has integrated <a href=\"http:\/\/trephine.org\/t\/index.php?title=Bespin_trepanation\">trepanation<\/a> 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 <code>exec<\/code> command that &#8220;runs the current document or selection in the privileged trephine Rhino context&#8221;.<\/p>\n<p><b>Thunderhead, Ho!<\/b><\/p>\n<p>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.<\/p>\n<p>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!<\/p>\n<p>As always, <a href=\"http:\/\/twitter.com\/bespin\">follow us on Twitter<\/a>, <a href=\"irc:\/\/irc.mozilla.org\/bespin\">chat with us on #bespin in irc<\/a>, and <a href=\"http:\/\/groups.google.com\/group\/bespin\">join our group<\/a>.<\/p>\n<p><em>&#8212; Dion Almaer, on behalf of the Bespin development team<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/labs\/2009\/03\/bespin-community-update-tabs-editor-component-syntax-checker-quick-open-and-more\/\">Continue reading<\/a><\/p>\n","protected":false},"author":51,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[4863,667],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts\/1416"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/users\/51"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/comments?post=1416"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts\/1416\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/media?parent=1416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/categories?post=1416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/tags?post=1416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}