public
Description: Essential Tools for developing Javascript in TextMate
Homepage: http://bundleforge.com
Clone URL: git://github.com/subtleGradient/javascript-tools.tmbundle.git
Sven Schwyn (author)
Mon Nov 16 10:10:05 -0800 2009
commit  ed157663cb4f35413cf3900dd9fa8dddd7ab7b05
tree    5c7a00bc071df36b809553b8bf8a469e5074c4d8
parent  2b6507940ea299127f93fddc06e54be380e182ac
name age message
directory Commands/ Mon Nov 16 10:10:05 -0800 2009 Fix all Ruby calls to honour TM_RUBY. [Sven Schwyn]
directory Macros/ Thu Feb 15 14:51:37 -0800 2007 + Upgraded to JSLint 0.3.0 and merged into a si... [taylott]
file README.markdown Thu May 07 12:38:00 -0700 2009 Corrected information about JavaScript Lint. S... [savetheclocktower]
directory Support/ Mon Nov 16 10:10:05 -0800 2009 Fix all Ruby calls to honour TM_RUBY. [Sven Schwyn]
file info.plist Sun Nov 15 13:48:29 -0800 2009 NEW Basic Google Compiled Validation Support! [Thomas Aylott]
README.markdown

JavaScript Tools TextMate Bundle

Help

Opens this help file.

Run JavaScript (⌘R)

Attempts to run the current javascript document or selection in TextMate's Web Preview window.

JavaScript Lint

With JavaScript Lint, you can check all your JavaScript source code for common mistakes without actually running the script or opening the web page. http://javascriptlint.com/

  • Validate Syntax (⌃⇧V) uses Matthias Miller's JavaScript Lint to check your script for errors and warnings and shows the results in a new window. The Validate JavaScript window will give you a description and hyperlink when problems are found. The hyperlink will take you straight to the line and column where JavaScript Lint suspects the problem arises.

  • Validate Syntax Quick (⌘S) same as above except that instead of a dedicated window you simply get a tooltip showing the number of errors and warnings. This command overrides the Save behavior so every time you save your javascript it will be passed through jslint. Of course it only applies to javascript files so you don't need to worry about accidentally jslint'ing your non-javascript files.

  • Edit Lint Validation settings allows you to customize what jslint considers when checking your script. The format and meaning of the options are straightforward and well documented within the settings file itself.

Formatting / Compression

  • Format JavaScript (⌃Q) attempts to beautify your javascript by inserting uniform line breaks and indentation throughout your current document or selection.

  • Compress (current file) (⌃⌘C) uses a custom Rhino build from the Dojo Toolkit project to compress your current javascript document. Before compressing it attempts to insert missing semi-colons so you should consider running Validate Syntax and fixing missing semi-colons prior to using this command.

  • Dean Edwards Packer (current file) (⌃⌘C) compresses and obfuscates your current javascript document. It currently relies on the Packr ruby port which is based on version 3 of Packer. According to Dean Edwards, "All statements, including function declarations, must be correctly terminated with semi-colons" before you run this command. After an email exchange with James Coglan, author of Packr, it's been decided that base62 encoding not be on by default as having it off yields more efficiency when your scripts are gzipped.
    However, if you would like base62 encoding, just set the Variable TM_JST_PB62 to true in the Advanced pane of the TextMate preferences or in your TextMate Project variables (see the TextMate documentation for more info on setting environment variables).

  • YUI! Compressor (current file) (⌃⌘C) compresses your current javascript document. By default it assumes your character set is UTF-8. Additionally it strictly preserves semi-colons, i.e. it will not drop or attempt to insert any semi-colons. Both of these settings can be easily changed by opening the Bundle editor and adjusting the second line of this command through the Bundle editor.

  • Minimize (current file) (⌃⌘C) uses Douglas Crockford's JSMin to minimize your current javascript document. It will not do any semi-colon insertion or removal.

  • Minimize selection (⌃⌥⇧Q) same as the above except it only applies to the selected portion of your current javascript document.

  • Convert JavaScript to Bookmarklet (⌃⌥⇧Q) turns your current javascript selection or document into a bookmarklet for use in a web browser.

  • Convert Bookmarklet to JavaScript (⌃⌥⇧Q) does the opposite of the above; turns an existing bookmarklet into a standard javascript.

Licenses