Vim 上で TypeScript から JavaScript へのリアルタイム変換

巷で話題の TypeScript なんですがここの動画にあった、TypeScript がリアルタイムで JavaScript に変換されているのが面白くて、Vim でも同じようになってみました。


[必要な設定]

set autoread
set updatetime=50

let s:system = exists('g:loaded_vimproc') ? 'vimproc#system_bg' : 'system'

augroup vim-auto-typescript
	autocmd!
	" 適当なタイミングで再読み込み
	autocmd CursorHold   *.ts :checktime
	autocmd CursorMoved  *.ts :checktime
	
	" 書き込み時に js に出力する
	autocmd BufWritePost *.ts :call {s:system}("tsc main.ts")
augroup END


書き込み時に自動で tsc で js を吐き出して、再読み込みを行なっています。
上の設定は結構適当なので、まじめにやる場合はもうちょっと工夫が必要だと思います(quickrun.vim を使うのが楽かなー。
やってみたら思ったよりも面白かったので、他のこの手の言語(JSXとか)でも試してみたいですね。