I'm using the following linting command: jslint4java --white --maxerr 10000 --nomen --plusplus --predef on,_,playerIsGM,state,sendChat,findObjs,filterObjs,getObj,createObj,Campaign,toBack,toFront,randomInteger,isGM,getAttrByName,setInterval,clearInterval,console,setAttrs,getAttrs,getSectionIDs $@ 2>&1 | sed 's/^jslint://' In my case, I'm on a Mac (or Commercial *nix, as I like to think of it...) so have powerful command line semantics to do some filtering post execution. The important takeaway is the --predef list of functions and objects to assume are defined elsewhere. So using on(), playerIsGM(), etc will be fine. (I leave log() out of the list intentionally as I generally want to be aware of where I have those). Reducing it further would likely require some clever use of cURL to push the changes into the API tab when you save the script, or possibly an extension for Chrome/FF that could watch local files and post them on the page on change. For me, I have a command in Vim to copy the current buffer into the clipboard to make it easy to put it in the API tab. I've not gone further than that. =D