2008年 08月 09日

errormaker.vim と JS の syntax error 検知

まじべんり。いままでなんか syntax error が起きている気がするときは、手で js -s -w -C をうっていたのですが、激しくうちにくいので erorrmaker.vim でやれるようにしてみた。

#!/bin/sh
# vim:set ft=sh:
# ~/.vim/vimparse.js

# sudo port install spidermonkey
js -s -w -C $1 2>&1 \
	| grep ':$' \
#	| grep -v 'test for equality' \
" ftplugin/javascript/flyquickfixmake.vim  
" require spidermonkey
setlocal makeprg=$HOME/.vim/vimparse.js\ %\ $*
setlocal errorformat=%f:%l:%m
setlocal shellpipe=>

if !exists("g:javascript_flyquickfixmake")
	let g:javascript_flyquickfixmake = 1
	au BufWritePost *.js silent make
endif

配列やオブジェクトリテラルの最後のカンマとかも -s つけると検知できるので、ほんとべんり。ラッパスクリプト書いたのは、一部のエラーを無視したり、spidermonkey が入ってない環境でチェックするためだけど、まだ困ってないので特になにもやってない。