読者です 読者をやめる 読者になる 読者になる

ref.vim に webdict と言うソースを追加した

vim

ref.vim に webdict と言うソースを追加した。取り急ぎ版。
これは設定した Web サイト(主に辞書サイトを想定)を扱うソース。
例えば以下のように設定する。

let g:ref_source_webdict_sites = {
\   'wikipedia:ja': 'http://ja.wikipedia.org/wiki/%s',
\ }

これで以下のように使用できる。

:Ref webdict wikipedia:ja Vim

やっていることは、指定サイトをテキストブラウザで表示した結果をそのまま出しているだけだ。
辞書を使うともう少し細かく設定できる。

let g:ref_source_webdict_sites = {
\   'wiktionary': {
\     'url': 'http://ja.wiktionary.org/wiki/%s',
\     'keyword_encoding': 'utf-8',
\     'cache': 1,
\   }
\ }
" 出力に対するフィルタ。最初の数行を削除している。
function! g:ref_source_webdict_sites.wikitionary.filter(output)
  return join(split(a:output, "\n")[18 :], "\n")
endfunction

デフォルトを指定すると、キーワードがサイト名の1つと衝突していない限り、サイト名を省略できる。

let g:ref_source_webdict_sites.default = 'wikipedia:ja'
:Ref webdict Vim

詳しいところは help 見てください。
あまりテストできてないので、設定方法とか設定項目とかも含めておかしな点があったら教えてもらえると助かります。
ref.vim は書いてからだいぶ経ったのもあって、設計的にまずい部分とかもあって、今回の webdict は内部で結構アレなことをやっちゃってる。時間が取れたら再設計したいと考えてはいるのだけど、なかなか難しいね。
あと、今は初期設定は空なんですが可能であれば徐々に追加してこうかと思うので、もしいい感じのがあったら教えてくださると嬉しいです。pull request でも gist なんかに貼ってでもなんでもいいです。
最後に、Web サイトによっては規約違反になる場合もあるとの噂なので、使用は自己責任でお願いします。