vim-jp/vimdoc-ja-working

vimdoc-ja/doc/tags-ja もdeployする

h-east opened this issue · 15 comments

これ、やってない理由なんかあるんでしたっけ?
ローカルでgit pull後に毎回 :helptagsするの忘れがち。

mattn commented

賛否両論ありますね。プラグインマネージャによるインストールだと、ドキュメントとしてプラグインが配布されてる場合に作者がタグ生成し忘れてたりすると git diff が出ちゃうので、プラグイン界隈では doc/tags* は同梱しないというのが一般的なんですよね。

CIで自動生成するので「タグ生成し忘れ」は発生しないし同梱してもいいかなと思っています。

koron commented

いまざっくりみてたら vimdoc-ja のほうで .gitignore に指定しているんですね。

vim-jp/vimdoc-ja@a2f1f07

@crazymaster doc/tags-ja を含める(= vimdoc-ja の .gitignoreから外す) ことについてなにか意見はありますか?

koron commented

もともとはこれか。

vim-jp/vimdoc-ja#70

mattn commented

あるとすれば

  1. コントリビュータがドキュメントを修正
  2. git commit -a しちゃう
  3. tags-ja が含まれた PR がくる

とかでしょうか。

@mattn vimdoc-ja-working/docの方は今まで通りtags-jaは含めないのでそういうことにはならないんじゃないでしょうか?

mattn commented

そうですね。なお僕のスタンスは「どちらでもいい」ですが、いくぶんプラグインマネージャに関する知見が多い訳ではないので slack でも意見を募集しています。

koron commented

vim-jp/vimdoc-ja#21 でも同じ議論をやってたんですね。
自分はもうすっかり忘れてる。

ざっくり見ると当時は
「どっちでも良い」vs「あったらプラグインマネージャはちょっと苦労するね」
みたいな感じで、「あるほうが良い」という立場は明確ではなかった。
だったらなしにしとこう、というくらいの判断だったんだと思います。

現時点においてどうするべきかは、僕は今も「どっちでも良い」

その議論してた時ってvimdoc-ja-workingあったんでしたっけ?

ちなみにローカルでgit pull後に再度:helptagsしても内容変わらないし、タイムスタンプは変わるけど、gitは変更ファイルとみなさないです。

mattn commented

vim のバージョンにより出力されるタグが違うって事が起きた時にどうするかですね。

vim標準のパッケージ機能ではタグファイルを含めることを推奨してますね
:h package-create

そもそも、プラグインマネージャが 無条件 でtags-jaを更新するのどうなの?って思いました。

とりあえず、.vimrcにこんなのを書いて運用してみます。

packadd! vimdoc-ja
let docdir = filter(split(&rtp, ','), 'v:val =~# "vimdoc-ja$"')[0] . '/doc'
let doctag = docdir . '/tags-ja'
if !filereadable(doctag) || getftime(doctag) < getftime(docdir)
  exec "helptags" docdir
endif

(追記)
いや、:helptagsgit pullした後に1度だけおこなえばいいので、これは.vimrcに書くべきものではないですね。
package dir下の各リポジトリを更新して、必要な処理があればおこなう関数(とコマンド)を作れよって話か。

vim標準のパッケージ機能ではタグファイルを含めることを推奨してますね

では含めることにしましょう。
(mattnさん、koronさんも「どっちでもいい」という意見なのも踏まえて)

今更ですけど、 helphelp.txt にもタグファイルは同梱するのが望ましい旨が書いてありました。

- Make a package with all the files and the tags file available for download.
Users can drop it in one of the "doc" directories and start use it.
Report this to Bram, so that he can add a link on www.vim.org.

そもそも、プラグインマネージャが 無条件 でtags-jaを更新するのどうなの?って思いました。

この問題を改善するために、まずvim-plugにPRを投げました。
junegunn/vim-plug#773
以下のいずれかの条件に一致したときに:helptagsを実行するようにしました。

  • doc/{tags,tags-??x} なファイルが存在しない
  • doc/{tags,tags-??x} なファイルがgit管理されていない

他のVimプラグインマネージャも改善されて欲しい👍