At 12:05 PM +0200 9/9/13, Allan Odgaard wrote:
On 8 Sep 2013, at 1:13, Stephen Bannasch wrote:
[]
I solved this by specifying input from document and and inputFormat as text in the "Hint (without save)" command and then using this in the nodejs code to read the currentDocument: []
I had a longer response partially written, as there's a lot of options related to the overall goal here, but I'll put that in the manual instead and drop a link here (when finished).
I look forward to it.
I ended up making a number of other changes to jshint.tmbundle ... then Felix Gnass made me a repo collaborator so they are all in the master branch now.
I'm sure there are some things I could do better but it seems to work reasonably well now.
Regarding integration with TextMate -- the bundle code written in JavaScript and running on nodejs is sending html output to the console log and running process.exit(205).
https://github.com/fgnass/jshint.tmbundle/blob/3f709/Support/jshint-tm.js#L1...
One of the features I added was to have the JSHint window with errors close if you fix all the errors.
Along with the ability to use ctrl-shift-L to check the current document (instead of just the saved file done with command-S) I use this iteratively until the JSHint error window goes away and then save.
There might be a better way ... but this is what I did to close the window.
When JSHint is invoked and there are errors it creates a window with the title "JSHint: <name of file>".
When it is invoked and there are no errors it executes this in nodejs:
https://github.com/fgnass/jshint.tmbundle/blob/3f7091/Support/jshint-tm.js#L...
function closeWindowWithTitle(title) { spawn('osascript', ['close-window.applescript', title], { cwd: __dirname }); }
Which runs this very simple applescript:
https://github.com/fgnass/jshint.tmbundle/blob/3f7091b8c1311154af3d1575ca19f...
on run argv set window_name to item 1 of argv try tell application "TextMate" to close window named window_name on error number -1728 end try end run
This is of course not perfect ... but it seems to be good enough.