After looking for a lint program for JavaScript, I’ve found JavaScript Lint and after a few pokes around the documentation and forum, got it installed and integrated with vim.
I posted this information to the Irish PHP Users’ Group mailing list on Wednesday – thought I’d share it to a wider audience tonight.
This is how I did it, note this process now only works with the downloaded package JavaScript Lint 0.3.0:
I got, compiled and installed javascriptlint: $ svn co https://svn.sourceforge.net/svnroot/javascriptlint/trunk javascriptlint $ cd javascriptlint $ make -f Makefile.ref all $ cd Linux_All_DBG.OBJ/ $ sudo cp jsl jscpucfg /usr/local/bin/ $ #generate default config file (and edit to taste) $ jsl -help:conf > /etc/jsl.conf
I added the following lines to the “Defining identifiers” section of jsl.conf, as JavaScript Lint
doesn’t know anything about DOM objects in web browsers.
+define window +define document +define alert +define XMLHttpRequest +define ActiveXObject +define Image +define parent +define dispatchEvent +define screen +define navigator +define setTimeout
I also turned on the ‘option explicit’ settingÅŸ which causes the linter to catch undeclared variables in the “Defining identifiers” section.
For integrating with vim I added these lines to my ftplugin/javascript.vim file:
set makeprg=jsl\ -nologo\ -nofilelisting\ -nosummary\ -nocontext\ -conf\ '/etc/jsl.conf'\ -process\ % set errorformat=%f(%l):\ %m "make F10 call make for linting etc. inoremap <silent> <F10> <C-O>:make<CR> map <silent> <F10> :make<CR>



















