agit.vim icon indicating copy to clipboard operation
agit.vim copied to clipboard

cat-file のコマンドを変更できるオプションが欲しい

Open pekepeke opened this issue 8 years ago • 4 comments

超レアケースなのはわかっているのですが、、、 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

pekepeke avatar Nov 17 '16 13:11 pekepeke

レスポンス遅くてすみません。

SHIFT_JIS は盲点でした。。。

イメージとしては :AgitFile --fenc=cp932 みたいな感じでしょうか。

実装としては Git の --textconv は使わずに Vim 内部で文字コード変換をかけようかと思っています。

cohama avatar Nov 20 '16 15:11 cohama

あー、なるほど。textconv じゃなくて Vim 側で iconv() 使うわけですね。 --fenc=cp932 などで指定でもいいですが、thinca 氏の vim-localrc を利用しているので、b:agit_fenc = "cp932" などで指定できる形でもどちらでも大丈夫です。

pekepeke avatar Nov 21 '16 09:11 pekepeke

これ、既存の文字コード周りの実装とかち合っていて難産になりそうなのですが一旦仮実装版を作りました。

agitfile-fenc ブランチをお試しください。

:AgitFile --fenc=cp932 で概ね動作すると思います。

ただし、現状 set encoding=utf-8 でなければならない制約があります。

cohama avatar Nov 24 '16 14:11 cohama

すっかり放置してしまっておりました。こちらのブランチで試したところ、正常表示できることが確認できましたので、しばらくはこちらのブランチを利用しようと思います。

pekepeke avatar Apr 10 '17 06:04 pekepeke