TextMate News

Anything vaguely related to TextMate and macOS.

JavaScript Tools

Some time ago Andrew Dupont wrote a TextMate bundle for JavaScript developers which includes a very nice front-end to JavaScript Lint, an indispensable tool for JavaScript programmers.

Thomas Aylott has since adopted the bundle and announced that it is now available at BundleForge (svn link).

There are two reasons for why the JS Lint command has not been added to the default JavaScript bundle:

  1. The jsl binary is 1.6 MB. Considering the number of bundles that ships with TextMate, the size/benefit probably could not justify it.

  2. There is a need for better being able to share user bundles, for example by publishing them from within TextMate. Other users should then be able to subscribe to it just as easily as subscribing to an RSS feed.

    While I am not (currently) involved in the BundleForge project, I am hoping it is laying out the infrastructure required for this (one would need to publish to a server, from where other users can then subscribe), and it is therefor good to have a few bundles on the site for potential future testing :)

categories General

2 Comments

Re updating, since you mention that Bundle subscription should be as simple as subscribing to an RSS feed, have you considered the Sparkle update framework, for use, or at least inspiration? I understand that Sparkle can be used for sub-components of an app, and of course, is based on RSS.

Naturally the use of RSS should not be a barrier to the TextMate ‘work-alikes’ on other OSes as they should be able to easily parse the RSS (or the user can deal with RSS enclosures manually.)

Bundles could be browsed via a web directory (WebKit within the app?) and individual bundles added (i.e. subscribe to the bundle’s RSS feed), which would inherently enable auto-updating of individual bundles, which would obviously be very useful.

With this infrastructure in place, publishing a custom Bundle from TextMate might be a ‘simple’ matter of submitting it to a central store (BundleForge?), publishing an RSS feed from within the app (less feasible), or broadcasting via Bonjour for local sharing only, though I’m not sure you’re after that functionality.

As an aside, as the number of Bundles grow, it could be useful to consider some sort of ‘profile’ system; a means of grouping related Bundles (e.g. Web Design = X/HTML/CSS etc., Web Dev = JS/PHP/Perl/Python/RR/SQL etc., Utilities = Web Serches, SVN, Text etc.) This could simply be a grouping mechanism in the Bundle menu, or go further and allow the certain Bundle groups to be associated with a particular file type (or a manual user selection.)

have you considered the Sparkle update framework, for use, or at least inspiration?

The Sparkle framework was actually inspired by TextMate’s update mechanism, and does contain some of my code ;)

But as-is, it is not appropriate for bundle-updating, and not really compatible with what I have in mind.

With this infrastructure in place, publishing a custom Bundle from TextMate might be a ’simple’ matter of submitting it to a central store (BundleForge?), publishing an RSS feed from within the app (less feasible), or broadcasting via Bonjour for local sharing only, though I’m not sure you’re after that functionality.

I am after a few things… but definitely it will, for most practical applications, require to be pushed to a server, as majority of people are behind NAT so can’t publish a feed (or they don’t run their machine 24/7 etc.).

As an aside, as the number of Bundles grow, it could be useful to consider some sort of ‘profile’ system; a means of grouping related Bundles […]

Yes, grouping is being worked at. See e.g. this category proposal.