Vimプラグインのメタデータを集約するリポジトリを作ろうという話
tyru さん作の Vim プラグインマネージャが登場 github.com/tyru/vivacious… みんなプラグインマネージャ好きだな…
2016-01-02 17:45:06tyru さんの vivacious.vim はロックファイル使ってバージョンロックするタイプか.特定のプラグイン向けの設定をプラグインに対応するファイルに書くことでプラグイン消すときも該当プラグインの設定を自動で削除できるらしい.設定ファイルの見通しも良くなりそうな感じがする.
2016-01-02 18:04:13@Linda_pp うーんvimrc分割というよりはAtomとかEclipseとか1ステップでできるのに、今時プラグイン入れるのに手動ってどうなのっていう所がずっと疑問に思ってたので、それを解消したかった感じです!
2016-01-02 18:18:24@Linda_pp あとこれはREADME.mdにも書いてなかったけど、依存関係の解決はユーザが書かなくても良いように専用の公開API作ってそこに持たせようと思ってます(metacpan.org 的な)。
2016-01-02 18:14:56@tyru ふむ,プラグイン作者が登録する感じですか?(そうするより仕方ないですが)なかなか難しいですね… Rust の crate.io-index みたいにリポジトリ管理にするのが良さそうです. github.com/rust-lang/crat…
2016-01-02 18:16:44@Linda_pp 作者に限らずユーザもですね。ただ、変なURL登録すると(plugin/**/*.vimをsourceしてるので):VivaInstallで任意のコード実行を許す恐れが…ただこれは他のパッケージマネージャでも似た事やってるはずなので、色々見て行きたいですね。
2016-01-02 18:21:53@Linda_pp 直接sourcreが怖いのは同意です。依存プラグインはプロンプト出したりとか簡単な対策は思い付くのですが、もうちょっとなんかないかなー(?)と。JSONは良いかもですねー。検討してみます。
2016-01-02 18:26:20@tyru うーむ,依存関係とかのメタ情報書きたいだけならスクリプトにするのはやり過ぎなのかなと思うのですが,確かにインストール時にフックしてビルドしたりしたいとかあるかもしれないですね…
2016-01-02 18:28:35@Linda_pp あ、すみません。メタ情報の話じゃないです。Vimプラグインを :VivaInstall tyru/caw.vim とかでインストールした後、Vimを再起動せずにそのプラグインが使えるように :source plugin/**/*.vim してる、という話です。
2016-01-02 18:31:10@Linda_pp ちなみにメタ情報はさっき言った metacpan.org 的なサイトに載せます。多分APIのレスポンスのフォーマットはJSONになると思います。Vim scriptで扱いやすいので…
2016-01-02 18:32:14@tyru 良さそうです.自前で用意するのは大変な気もするので,GitHub のリポジトリにホストするのが良いのかなーとも思います(PR も出せますし)
2016-01-02 18:34:28@Linda_pp なるほど。それでマージはvim-jpの少人数のメンバーでやればいい訳ですね。良さそう。なんかOrganization作りたくなってきた…
2016-01-02 18:36:58@tyru ただ依存関係を書くところが人力になるので,実際うまくいくかは難しそうですね…(Vim プラグインは依存関係が激しいものはほとんどないので回るかもしれませんが)
2016-01-02 18:39:47@tyru うーむ… 人力でやるとなると色々大変そうです.(とりあえず今ある分ぐらいは俺が書いたるぐらいの気合でいかないとキツそう…)
2016-01-02 18:44:13@Linda_pp JSONの件LTSVになりそうです。今Vivacious.lockがLTSVで、JSON parser追加して肥大化させたくないので。
2016-01-02 22:39:16@tyru @Linda_pp 私も前々からそういうことやりたいと思っていたので、それをつくるのは非常に良いことだと思うのですが、外国ユーザーもうまく巻き込めるような仕組みにしないとデータベースは充実しないと思います。
2016-01-04 08:59:12@tyru @Linda_pp 他のエディタのプラグインデータベースリポジトリでもそうですが、数が増えると負担が大きくなるので問題ですね
2016-01-04 09:00:08