久々にTypeScript + Vimのお話です。
TypeScriptには欠かせない.d.tsファイルですが、管理には何を使ってますか?
僕は @vvakame氏のdtsmを使っていますが、やはりVimmerとしてはVimからの操作で完結したいものです。
ということで、vim-dtsmというVim プラギンを作りました。
:Unite dtsm
で.d.tsの一覧が表示されるので、必要であれば、Iで絞り込んでcandidateを選択すると install --save
してくれます。
本家のdtsmでもdtsm search -i
やdtsm install -i
でpecoと連動したincremental searchが出来るんですが、この手の操作はUnite.vimの方が慣れてるので、Uniteのsource化しました。
殆ど書くことが無いので、Unite sourceのコードでも貼り付けときますね。Uniteのsource作るのがどんだけ簡単かが伝われば幸いかと。
autoload/unite/sources/dtsm.vim
scriptencoding utf-8lets:source = {
\ 'name': 'dtsm',
\ 'description': '.d.ts files you can installe',
\ }
function!s:source.gather_candidates(args, context)let stdouts = systemlist('dtsm search '.join(a:args,' '))let result = []
if len(stdouts)<3returnendifcall remove(stdouts,0,1)for type_file_name in stdouts
call add(result, {
\ 'word': type_file_name,
\ 'kind': 'command',
\ 'source': 'dtsm',
\ 'action__command': 'DtsmInstall '.type_file_name
\ })endforreturn result
endfunctionfunction! unite#sources#dtsm#define()returns:source
endfunction
インストールとか細かいEx commandについては、レポジトリのREADMEに書いてあります。