Vimプラグインのメタデータを集約するリポジトリを作ろうという話

先にこちらを読んでもらった方が誤解が無いと思います。 メタデータのファイルフォーマットについて https://github.com/vim-vivacious/metainfo/issues/1
3
ドッグ @Linda_pp

tyru さん作の Vim プラグインマネージャが登場 github.com/tyru/vivacious… みんなプラグインマネージャ好きだな…

2016-01-02 17:45:06
ドッグ @Linda_pp

tyru さんの vivacious.vim はロックファイル使ってバージョンロックするタイプか.特定のプラグイン向けの設定をプラグインに対応するファイルに書くことでプラグイン消すときも該当プラグインの設定を自動で削除できるらしい.設定ファイルの見通しも良くなりそうな感じがする.

2016-01-02 18:04:13
ドッグ @Linda_pp

@tyru 期待しかない… vimrc 分割をベストプラクティスとして機能に取り込むの良いアイデアですね…!

2016-01-02 18:14:41
tyru @_tyru_

@Linda_pp うーんvimrc分割というよりはAtomとかEclipseとか1ステップでできるのに、今時プラグイン入れるのに手動ってどうなのっていう所がずっと疑問に思ってたので、それを解消したかった感じです!

2016-01-02 18:18:24
ドッグ @Linda_pp

@tyru なるほど.確かにそれはその通りですよね.公式がやってくれると皆ついてきてくれて良いんですが…

2016-01-02 18:20:26
tyru @_tyru_

@Linda_pp あとこれはREADME.mdにも書いてなかったけど、依存関係の解決はユーザが書かなくても良いように専用の公開API作ってそこに持たせようと思ってます(metacpan.org 的な)。

2016-01-02 18:14:56
ドッグ @Linda_pp

@tyru ふむ,プラグイン作者が登録する感じですか?(そうするより仕方ないですが)なかなか難しいですね… Rust の crate.io-index みたいにリポジトリ管理にするのが良さそうです. github.com/rust-lang/crat…

2016-01-02 18:16:44
tyru @_tyru_

@Linda_pp 作者に限らずユーザもですね。ただ、変なURL登録すると(plugin/**/*.vimをsourceしてるので):VivaInstallで任意のコード実行を許す恐れが…ただこれは他のパッケージマネージャでも似た事やってるはずなので、色々見て行きたいですね。

2016-01-02 18:21:53
tyru @_tyru_

@Linda_pp なのでRustの例は非常に有り難いです!ありがとうございます!

2016-01-02 18:22:25
ドッグ @Linda_pp

@tyru うーん,直接 :source はちょっと怖すぎる気がしますね… メタ情報は JSON にするとかどうでしょうか?

2016-01-02 18:23:22
tyru @_tyru_

@Linda_pp 直接sourcreが怖いのは同意です。依存プラグインはプロンプト出したりとか簡単な対策は思い付くのですが、もうちょっとなんかないかなー(?)と。JSONは良いかもですねー。検討してみます。

2016-01-02 18:26:20
ドッグ @Linda_pp

@tyru うーむ,依存関係とかのメタ情報書きたいだけならスクリプトにするのはやり過ぎなのかなと思うのですが,確かにインストール時にフックしてビルドしたりしたいとかあるかもしれないですね…

2016-01-02 18:28:35
tyru @_tyru_

@Linda_pp あ、すみません。メタ情報の話じゃないです。Vimプラグインを :VivaInstall tyru/caw.vim とかでインストールした後、Vimを再起動せずにそのプラグインが使えるように :source plugin/**/*.vim してる、という話です。

2016-01-02 18:31:10
ドッグ @Linda_pp

@tyru なるほど,そういう意味でしたか.すみません取り違えました…

2016-01-02 18:31:48
tyru @_tyru_

@Linda_pp ちなみにメタ情報はさっき言った metacpan.org 的なサイトに載せます。多分APIのレスポンスのフォーマットはJSONになると思います。Vim scriptで扱いやすいので…

2016-01-02 18:32:14
ドッグ @Linda_pp

@tyru 良さそうです.自前で用意するのは大変な気もするので,GitHub のリポジトリにホストするのが良いのかなーとも思います(PR も出せますし)

2016-01-02 18:34:28
tyru @_tyru_

@Linda_pp なるほど。それでマージはvim-jpの少人数のメンバーでやればいい訳ですね。良さそう。なんかOrganization作りたくなってきた…

2016-01-02 18:36:58
ドッグ @Linda_pp

@tyru ただ依存関係を書くところが人力になるので,実際うまくいくかは難しそうですね…(Vim プラグインは依存関係が激しいものはほとんどないので回るかもしれませんが)

2016-01-02 18:39:47
tyru @_tyru_

@Linda_pp ふむ、もしPRが面倒ならissuesでもいいよってREADME.mdに書いておけば良いかもしれないですね…

2016-01-02 18:40:52
ドッグ @Linda_pp

@tyru うーむ… 人力でやるとなると色々大変そうです.(とりあえず今ある分ぐらいは俺が書いたるぐらいの気合でいかないとキツそう…)

2016-01-02 18:44:13
tyru @_tyru_

@Linda_pp それは考えてます。最初自分がやらないと誰も乗っかっては来ないとは思います…

2016-01-02 18:45:37
tyru @_tyru_

@Linda_pp JSONの件LTSVになりそうです。今Vivacious.lockがLTSVで、JSON parser追加して肥大化させたくないので。

2016-01-02 22:39:16
暗黒美無王 dark Vim @ShougoMatsu

@tyru @Linda_pp 私も前々からそういうことやりたいと思っていたので、それをつくるのは非常に良いことだと思うのですが、外国ユーザーもうまく巻き込めるような仕組みにしないとデータベースは充実しないと思います。

2016-01-04 08:59:12
暗黒美無王 dark Vim @ShougoMatsu

@tyru @Linda_pp 他のエディタのプラグインデータベースリポジトリでもそうですが、数が増えると負担が大きくなるので問題ですね

2016-01-04 09:00:08