Open lambdalisue opened 7 years ago
現在 vital.vim はテストが Vim 8 のみで行われており
Neovim でもテストするのはありかもしれないですね
手元で少しやってみたいと思います。
Neovim でしか動かないモジュールはドキュメントに書けば良い(基本的には Vim でも動くように頑張る)
必要なら、Neovim なネームスペースを切ってもいいんじゃないかなと思います。
Vimネームスペースもあるみたいだし、NeoVim.System.Job
みたいなNeoVim
以下のネームスペースに、VimとNeoVimの互換性問題 及び NeoVim特有の機能、を入れるという意見を投じます ><
個人的な話ですが Neovim ネームスペースだと Neovim 固有の機能っぽいなーと感じるので避けたいです
確かに。
そもそも互換性問題が生まれるのはNeoVimがあるから……ってことでNeoVimネームスペースに置いてもいいかな、と考えていたんですが、そしたらそもそもCompatible
的なの作った方が良さそう。
んー System.Job に限れば Compat ではない気がします。System.Job は(差異を吸収するためとはいえ)新しいインターフェースで job を使いやすくしているものなので。
また Neovim 専用モジュールのために Neovim ネームスペースを作ると仮定すると
の二点から気持ち悪いなーという感覚です。なので個人的にはネームスペースで切るよりどちらでも動くことを期待する+難しい場合はドキュメントに記載とかがいいかなーと思います。
互換性を最も重きにおいたモジュールでないのであれば、確かにそれがよさそう :cat:
完全に私的な考えですが
互換性を最も重きにおくモジュールであればCompat
NeoVimのみでしか動かないモジュールはNeoVim
二次的な機能としてNeoVim対応がなされているモジュールは各位最適な場所に
っていうのが、区分けできていいんじゃないかなーと思います :thinking:
僕はNeoVimがVimの仕様を追っている、かつNeoVimはVimにない仕様も持つ……という状況を鑑みるに
Vim⊂NeoVim
という構造を見いだしてます。(job等、厳密には違うけど)
故に
vital ⊂ (vital + NeoVim名前空間)
っていうのは不自然でないと思ってます :cat:
vital全体がneovimサポートをどうするかという本issueの本題からは外れますが、冒頭で言及されてる vital-System-Job 自体は便利そうなので、それは単独でvitalにpullreqほしい気持ちです。 (vital-System-Jobモジュールのhelpで、vim8とneovimサポートしてることを明記する感じで。)
現在 vital.vim はテストが Vim 8 のみで行われており Neovim に関係するモジュール(例: lambdalisue/vital-System-Job)などの公式へのバックポートが難しい状態です。
個人的には Neovim と Vim の差異を吸収する上記のようなモジュールもとても便利なので vital.vim 本体でも Neovim をサポートできると良いなと感じています。 そこで Neovim に関してどういう扱いをするかに関して広く意見を拝聴したいと考えています。
とりあえず問題点として
などがあると思います。皆さんのご意見よろしくお願いします。ちなみに個人的には
lambda
など今後 Neovim でもサポートされることが濃厚なものに関しては一時的に Neovim はサポートしない状態でもよしとする)って感じです。なお themis.vim は Neovim でも動くことが証明されています(例: https://github.com/lambdalisue/gina.vim )