vim-jetpack
vim-jetpack copied to clipboard
feat: pkg.config
ありがとうございます。この場合、optが設定されていないとき 510行目付近で continue実行されてしまい、configの有無に関係なく 読み込まれてい、またconfigに対する autocmdが実行されないと思われます。
まずテストの追加をお願いします。その後, テストを通過するためにどうすればよいか議論しましょう。 よろしくお願いします。
588行目で plugin.opt = true
してますが、これだとまずいですかね?packerとの互換機能なのでこっちで処理していいかなと思ったのですが
テスト了解です
opt=trueしてましたね。見落としてました。OKだと思います。
うーん、この書き方だとインストールされる前に次の処理に行っちゃうみたいですね。
通ったけどVimEnter発行されてるんですかねこれ
ありがとうございます. v:vim_did_enter
によって発行の有無が確認できますね.
そこの確認もお願いできますでしょうか?ありがとうございます.
suiteの中で登録したautocmdが発行されたかどうかってどこに書けばいいんでしよう…?
requireが失敗しているということは、インストールできてないってことですよね。どうしてだろう
そもそもpacker styleのテストがなかったので足しましたが、これが通ってませんね。
ありがとうございます。 package_root
の値が packer.nvim の非互換なので、どうしましょうか ...
~~packer.initで設定するのですが、jetpack.initって名前使うのはどうかなあと思いまして。 記法はお任せしますが~~ おっと勘違い。階層違うんですね 他の大半の設定は対応できませんし、ここは互換切ってもいい気はします。そうすると名前も変えた方が良いでしょうが
一晩考えさせてください。他の部分はOKです。すばらしい仕事ありがとうございます。
setup(ソース前に読み込む設定)も追加したいんですが、PR分けた方がいいでしょうか?
そろそろ考え固まったでしょうか。。。?
すみません。体調ダウンしてておくれました! 対応します。
まず、setupについては、すでに paq.nvim対応のために追加しているので、名前空間を分けましょう。 別のプルリクエストでお願いします。以下のような形でどうでしょうか?
require('jetpack.packer').setup { ... }
require('jetpack.packer').startup { ... }
require('jetpack.paq').setup { ... }
package_root については、やはり公式と揃えたいので、 fnamemodifyでディレクトリを適宜調整する処理を挟んでいただけますか?
あー、packerのsetupはconfigと同様のuseで使うフィールド名です。読み込むタイミングが違うやつ。なので名前空間は問題ないですかね。PRは分けます。 packer.initの場所は今ので良いですか?変えた方が?
なるほど。名前空間を汚染しないこと承知しました。ご説明ありがとうございます。 PR分けていただけると便利なのでお願いします。
今後さらに互換性を高めるためには上記のように分けたほうが、 より安心して機能追加できるので分けていただけますか?
準備できたのでレビューお願いします。
すっかり忘れてました。 nvim-web-deviconsでもplugin/*.vimあるから発火してるのか
あ、大丈夫そう? > https://neovim.io/doc/user/autocmd.html uga-rosaさんの需要が満せるか、lua系でもテストしてみていただけますか?
lua/以下はplugin/以下と違って自動読み込みされないのでそっちが問題ですね。autoloadに近い よさげなプラグイン調べて試してみます。
度重なる仕様要求すみません。よろしくお願いします。 協力ありがとうございます。心強いです。
ちゃんと(?)落ちました。 イベント設定されてるものは対処できるでしょうが、手動packaddには対応できない気が、、、いいアイデアありますかね
packer.nvimで試したけど手動packaddのconfigは対応してないですね!無視していいかも
グローバルにrequire上書きすることで、requireした時に発火するようにハックしたことがあります。流石に邪悪なので、取り下げた案でしたが、もはや致し方なしですかね。packerはどうしているのでしょうか?
packer.load読んでみましたが、こういうのを作ってpackaddの代わりに使うことで対応してますね
function! jetpack#load(pkg_name) abort
if !has_key(s:packages, a:pkg_name)
return
endif
let pkg = s:packages[a:pkg_name]
execute 'silent! packadd' a:pkg_name
if pkg.config !=# ''
execute pkg.config
endif
endfunction
setup対応も楽そうなのでこの方針で今書いてます。
ご教示くださりありがとうございます。 テスト追加も検討してくださると嬉しいです。 よろしくお願いします。
これでどうでしょう
コミット混ぜちゃったので再push ちゃんと通ってますね。これで大丈夫そうかな