vimperator で svn:externals + plugin_loader.js を使った設定ファイル管理
vimperator で svn:externals + plugin_loader.js を使った設定ファイル管理
はてなグループの終了日を2020年1月31日(金)に決定しました - はてなグループ日記 - 機能変更、お知らせなど の続き。
- 設定ファイルを使い回したい
- coderepos のプラグインを使いたい
- 最新版を保ちたい
という場合、svn externals と plugin_loader.js を利用するとよい。
vimperator
|-- coderepos_plugin
|-- colors
|-- info
|-- plugin
`-- vimperatorrc
な感じの vimperator ディレクトリを svn につっこむ。そして svn:externals として
http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk coderepos_plugin
を設定すれば、coderepos の trunk が coderepos_plugin ディレクトリに checkout される。ここでプラグイン修正したければ変更したりして coderepos にコミットなんかもできる。vimperator/plugin には、plugin_loader.js (と、coderepos 以外のプラグイン) のみを入れておくだけ。
で、vimperatorrc に
" plugin_loader.js
let g:plugin_loader_roots = '~/vimperator/coderepos_plugin/';
" 利用するプラグインたち
js <<EOF
liberator.globalVariables.plugin_loader_plugins = <>
_libly
auto_reload
auto_source
...
.toString().split(/\s+/).filter(function(n) n);
EOF
と書いておけばおk。coderepos に追加された新しいプラグインを使いたいときも svn up して plugin_loader_plugins に追加するだけで簡単。plugin_loader++。
ただこの方法だと、信頼ならない第三者が coderepos にコミットした、悪意のあるアップデートされたプラグインが chrome 権限で実行される恐れがあるので、その辺は自己責任で。