agit.vim
agit.vim copied to clipboard
cat-file のコマンドを変更できるオプションが欲しい
超レアケースなのはわかっているのですが、、、 AgitFile での diff 表示時に、内部で発行されているのは現状 cat-file かと思います。 が、cat-file だとutf8以外のファイルを扱う際、--textconv を扱えないので文字化けが発生します。(set encoding や LANG を変更すればもちろん解決する話ですが。。。) そこで、 --textconv を処理できる show-file --textconv [rev]:file に変更できるようなオプションを追加 or catfile 実行する際のコマンドラインを設定できるようなオプションを追加頂きたいです。
参考:http://qiita.com/mather314/items/a6b4bad59e2edd659dd4
レスポンス遅くてすみません。
SHIFT_JIS は盲点でした。。。
イメージとしては :AgitFile --fenc=cp932
みたいな感じでしょうか。
実装としては Git の --textconv
は使わずに Vim 内部で文字コード変換をかけようかと思っています。
あー、なるほど。textconv じゃなくて Vim 側で iconv() 使うわけですね。 --fenc=cp932 などで指定でもいいですが、thinca 氏の vim-localrc を利用しているので、b:agit_fenc = "cp932" などで指定できる形でもどちらでも大丈夫です。
これ、既存の文字コード周りの実装とかち合っていて難産になりそうなのですが一旦仮実装版を作りました。
agitfile-fenc
ブランチをお試しください。
:AgitFile --fenc=cp932
で概ね動作すると思います。
ただし、現状 set encoding=utf-8
でなければならない制約があります。
すっかり放置してしまっておりました。こちらのブランチで試したところ、正常表示できることが確認できましたので、しばらくはこちらのブランチを利用しようと思います。