Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

dtsm + Vim + Uniteで.d.ts管理が幸せになる話

$
0
0

久々にTypeScript + Vimのお話です。

TypeScriptには欠かせない.d.tsファイルですが、管理には何を使ってますか?
僕は @vvakame氏のdtsmを使っていますが、やはりVimmerとしてはVimからの操作で完結したいものです。

ということで、vim-dtsmというVim プラギンを作りました。

screencast

:Unite dtsmで.d.tsの一覧が表示されるので、必要であれば、Iで絞り込んでcandidateを選択すると install --saveしてくれます。

本家のdtsmでもdtsm search -idtsm 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に書いてあります。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>