From 4dc6c110706568c9abd6ef849890864ebbb87de3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jamie=20Hoover=20=E2=9A=94?= Date: Sun, 19 Feb 2012 15:55:03 -0800 Subject: [PATCH] Usability Improvements Adds JSHint command for changing build system to JSHint and building in on step. Adds control-J shortcut and JSHint to Tools menu, contextual menu and Command Palette. Adds package metadata JSON for indexing within Sublime Package Control. --- .gitignore | 3 ++- Context.sublime-menu | 5 +++++ Default.sublime-commands | 5 +++++ Default.sublime-keymap | 3 +++ JSHint.py | 8 ++++++++ Main.sublime-menu | 10 ++++++++++ jshint.sublime-build | 13 +++++-------- package-metadata.json | 5 +++++ 8 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 Context.sublime-menu create mode 100644 Default.sublime-commands create mode 100644 Default.sublime-keymap create mode 100644 JSHint.py create mode 100644 Main.sublime-menu create mode 100644 package-metadata.json diff --git a/.gitignore b/.gitignore index 496ee2c..b7f3397 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.DS_Store \ No newline at end of file +.DS_Store +JSHint.pyc \ No newline at end of file diff --git a/Context.sublime-menu b/Context.sublime-menu new file mode 100644 index 0000000..062fb2f --- /dev/null +++ b/Context.sublime-menu @@ -0,0 +1,5 @@ +[{ + "id": "jshint", + "caption": "JSHint", + "command": "jshint" +}] diff --git a/Default.sublime-commands b/Default.sublime-commands new file mode 100644 index 0000000..062fb2f --- /dev/null +++ b/Default.sublime-commands @@ -0,0 +1,5 @@ +[{ + "id": "jshint", + "caption": "JSHint", + "command": "jshint" +}] diff --git a/Default.sublime-keymap b/Default.sublime-keymap new file mode 100644 index 0000000..513a732 --- /dev/null +++ b/Default.sublime-keymap @@ -0,0 +1,3 @@ +[{ + "keys": ["ctrl+j"], "command": "jshint" +}] diff --git a/JSHint.py b/JSHint.py new file mode 100644 index 0000000..5cad1f9 --- /dev/null +++ b/JSHint.py @@ -0,0 +1,8 @@ +import sublime, sublime_plugin + +class JshintCommand(sublime_plugin.WindowCommand): + def run(self): + self.window.run_command('set_build_system', { + 'file': 'Packages/JSHint/JSHint.sublime-build' + }) + self.window.run_command('build') diff --git a/Main.sublime-menu b/Main.sublime-menu new file mode 100644 index 0000000..6ea0906 --- /dev/null +++ b/Main.sublime-menu @@ -0,0 +1,10 @@ +[{ + "caption": "Tools", + "mnemonic": "t", + "id": "tools", + "children": [{ + "id": "jshint", + "caption": "JSHint", + "command": "jshint" + }] +}] diff --git a/jshint.sublime-build b/jshint.sublime-build index c023817..1e1a7a3 100644 --- a/jshint.sublime-build +++ b/jshint.sublime-build @@ -5,16 +5,13 @@ "osx": { "path": "/usr/local/bin" - } + }, - /* - , "linux": { - "path": "" - } - */ + "linux": { + "path": "/usr/local/bin" + }/*, - /* - , "windows": { + "windows": { "path": "" }*/ } diff --git a/package-metadata.json b/package-metadata.json new file mode 100644 index 0000000..edc932e --- /dev/null +++ b/package-metadata.json @@ -0,0 +1,5 @@ +{ + "version": "0.2.0", + "url": "https://github.com/uipoet/sublime-jshint", + "description": "node-jshint current JavaScript file in Sublime Text 2" +}