Hatena::ブログ(Diary)

C++でゲームプログラミング

2012-10-06

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

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


D


[必要な設定]

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とか)でも試してみたいですね。


[参考]

http://vim-users.jp/2011/03/hack206/

https://github.com/leafgarland/typescript-vim

http://d.hatena.ne.jp/mizchi/20121004/1349360909