- ヘッダ行の上にタイトル行を表示できるようにした(
-title
オプション)
Oct 8, 2024
- #4 列ごとに違う幅を設定できるようにした。例:
-w 14,0:10,1:20
1列目は10桁,2列目は20桁,他は14桁とする (Thanks to @kevin-gwyrdh) - 0バイトのファイル(
nul
,/dev/null
)を与えるとクラッシュする不具合を修正
(2024.10.07)
- 現行セルの元の値が空の時、予測表示が始まらない問題を修正
a
でセル値を挿入する際、予測候補の検索先が一つ右の列にズレていた不具合を修正
(2024.10.06)
- セル編集中に、同じ列で現在入力中のテキストを含むセルのテキストを候補として自動的に表示し、→ もしくは Ctrl-F で採用できるようにした (
→
もしくはCtrl-F
で予測結果を採用する) go-readline-ny v1.5.0 - SKK入力で半角カナ入力をサポート(SKKのかな入力モードで
Ctrl-Q
を押下する) go-readline-skk v0.4.0
(2024.06.10)
- パッケージ修正
- セルの入力チェックに失敗した時、失敗した入力値の訂正を促すようにした
(2024.06.02)
- カラム数固定(
-fixcol
)の時o
やO
で入力されたテキストが記入される列がカーソルのあった列ではなく常に先頭列になっていた不具合を修正O
でテキストを入力する時の反転セルの行位置がずれている不具合を修正
- ヘッダー保護オプションを追加(
-p
andConfig.ProtectHeader
) - EOF だけの行を作成しないようにした
- パッケージ修正
- セルの入力チェックの仕組みを用意
- キーハンドラーのパラメーターを Application から KeyEventArgs へ変更 (互換性破壊)
Application
型を非公開とし、Edit
の戻り値を*Result
へ戻した
(2024.05.27)
- パッケージ修正
- キーに関数を割り当てられるようにした
csvi.Result
はcsvi.Application
のエイリアスとした
(2024.05.26)
- v1.9.3 で入力がゼロ行の時にクラッシュする問題を修正 (実行ファイルは未リリース)
- パッケージ修正
- 変更前のセル値を保持する
uncsv.Cell.Original()
を用意した csvi.Config.FixColumn
が true の時、o
やO
で挿入される行は、カーソルのある行と同じ全列を持たせるようにした。csvi.Result
に削除した行情報を保持させるようにした。
- 変更前のセル値を保持する
(2024.05.17)
- パッケージ修正
Config.Edit
の戻り値を(*RowPtr,error)
から(*Result,error)
へ変更
(2024.05.12)
- パッケージ修正
- csvi.Config.CellWidth のデフォルトを14桁とした
- csvi.Config.Main のかわりに csvi.Config.Edit を用意
(2024.05.09)
- 端末入力(go-tty)のクローズタイミングがおかしかった点を修正 (なぜか問題として表面化していない)
(2024.05.08)
- 列をズレさせないよう、
i
,a
,x
などを無効にする オプション-fixcol
を追加 - Goパッケージとして利用できるよう、main 関数を
cmd/main
へ移動 - セルの変更を禁止する
-readonly
オプションの追加。この時は "q" で確認プロンプトは出さない
(2024.04.26)
- 引数なしで
csvi
を起動すると落ちる問題を修正 - テキストがないセルにカーソルがある時にセルが反転しない問題を修正
- カーソルの文字色が黒ではなく灰色になっていた不具合を修正
echo "foo" | csvi -auto "w|-|q|y" > foo.txt
で foo.txt がfoo\r\n
になるように、引数ゼロ時の標準出力と標準エラー出力の使い分けを変更した。
(2024.04.24)
- ステータスラインの読み込み済み行数を毎秒4回更新するようにした
- 遅い端末向けに、ERASELINE(ESC[K) を出力する回数を削減して、表示更新速度を改善
(2024.04.16)
- Yes/No を問い合わせる時、カーソルを On/Off するようにした。
- 長い行から短い行に移動した後のカーソル位置が無効になることがあり、編集するとクラッシュする不具合(v1.6.0-)を修正
(2024.04.15)
- Expect-Lua がなくても自動テストできるようにするためのオプション
-auto
を追加。これを使って、テスト用プログラムを全部 PowerShell で書き直した。テストで nkf32 も不要になった。 - 強制的にUTF16と判断させるオプション
-16le
,-16be
を追加 -semicolon
: セミコロンを区切り文字列に使えるようにした(カンマを小数点と扱うような一部のヨーロッパ用:任意の区切り文字列を使えるようにしてもよかったが、無駄に増やしてもトラブル源になるため)-nonutf8
: UTF8じゃないのに、UTF8扱いされてしまう時に使うオプションを追加- オプション一覧を表示する
-help
オプションを追加 - UTF16 かどうかを判断する先読みバイト数を10バイトに拡大
(2024.04.08)
- 同分野に同名の製品が比較的多いため、CSView より CSVI に改名した
- 今まで全行を読み込むまでユーザは待たされていたが、最初の百行を読み込んだ時点で操作できるようになった。残りの行はキー入力待ちの間に読み込むようにした
- slice で保持していた行データをcontainer/list で保持することでメモリ効率を改善した
>
の後のo
で、最終行の前の改行コードが欠けてしまう不具合を修正- 幅の判定が難しい文字が現れても、表示位置がズレないよう対処した
- Windows 8.1 で起動時にエラー終了する問題を修正した
env GOEXPERIMENT=rangefunc
がなくともビルドできるようにした- ステータスラインに (現在の桁位置,現在の行位置/読み込み済み全行数) を表示させるようにした
(2024.03.31)
- UTF16 をサポート
- 最初の2バイトが
\xFE\xFF
もしくは\xFF\xFE
、あるいは2バイトのどちらかに\0
を含んでいる場合、UTF16 で記述されたCSVと判断するようにした
- 最初の2バイトが
(2024.03.27)
- v1.3.0 で画面の表示キャッシュがうまく効いていなかった不具合を修正
-h
のデフォルト値を1とし、最初の行は常に固定ヘッダーとした- 抑制する場合は
-h 0
とする - 型を符号なし整数とした
- 抑制する場合は
-w uint
でセルの幅を指定できるようにした。- 編集の結果、ダブルクォーテーションが冗長になった場合でも削除されないようにした
- 保存ファイル名入力の際、カーソルの初期位置を拡張子前とするようにした
- uncsv パッケージの修正
(Cell) ReadableSource
→(Cell) SourceText()
とリネーム- 文字コード変更前のバイナリをそのまま返す
(Cell) Source
メソッドを用意
(2024.03.25)
- ステータスラインの
[CRLF]
[LF]
はファイル全体の代表改行コードではなく、現在の行の改行コードを示すようにした。 - サブパッケージをリネーム:
csv
(unbreakable-csv
) touncsv
(uncsv
) - 最初の数行をヘッダー行として固定できるようにした(
-h int
)
(2024.02.29)
a
,o
,O
: 入力前に新セルを確保して、画面を再表示するようにした- セル値の入力時のCtrl-Pで、同じカラムの上のセルの値を参照できるようにした
- セル値の入力時の TAB で、同じカラムの上のセルの値で補完できるようにした
- ユーザが変更したセル以外のデータは原則的に現状を維持するようにした
- ファイル先頭に BOM がついていた場合は、そのBOMを勝手に削除しない
- ファイル先頭に BOM がついていない場合、勝手に BOM を挿入しない
- 改行やカンマを含まないセルは、勝手に二重引用符を追加・削除せず、現状を維持する
- 改行コードが行ごとにLF or CRLF がバラバラでも、可能な限り、それを維持する
a
: 空行の場合はr
のように機能するようにしたw
: ファイル名補完対応-iana NAME
で UTF8 以外のエンコーディングを指定できるようにした- ステータスラインにはセルのソースデータを表示するようにした
- 変更したセルには下線を引くようにした
"
で、可能ならば二重引用符で囲む、もしくは除けるようにしたu
で、セルを変更前の値に戻すようにした- 幅があいまいな文字が含まれている場合、セルの幅が正しくなくなる不具合を修正
G
:EOFへ移動,Enter
:次の行へ,TAB
:右の列へ,Shift
+TAB
:左の列へ移動を追加
(2024.02.16)
- Windows 8.1 で、SKK変換しているテキストの表示属性がおかしくなる不具合を修正
(2023.10.01)
- SKKで変換中の文字列を反転や下線で表示するようにした
- ユーザ辞書ファイルが存在しない時、SKKが起動に失敗する不具合を修正
(2023.09.20)
- Linux では GOREADLINESKK での区切り文字で
;
のかわりに:
を使うようにした
(2023.09.20)
- lispread からバックポート
y
:コピー,p
:ペーストを実装o
とO
で新セル用のテキストを入力するようにした- 指定したファイルがディレクトリだった時にエラーを表示しない問題を修正
- 引数なしで標準入力が端末だった時、1セルでただちに開始するようにした
- go-readline-skk による SKK 入力をサポート
(2023.09.11)
- go-readline-ny v0.8.3-v0.14.0 間の非互換性向け修正
(2022.11.23)
- (#3) フィールドが長いと画面が崩れる不具合を修正
(2022.02.19)
- ステータスラインに [TSV],[CSV],[LF],[CRLF] などを表示するようにした
(2021.12.10)
- 表示を改善
- 1列の幅を12セルから14へ変更
- 背景のパターンを青い市松模様から、グレーのストライプへ変更
- 右側のセルが空白だった場合は、右の列の現セルの表示に使う
[BOM]
[ANSI]
といったマークを表示するようにした
w
: ファイルの上書きを出来るようにした- ANSIエンコードなファイルは ANSI エンコードで保存するようにした
- Linux での出力がゼロバイトになる不具合を修正
- BOM付きUTF8は、BOMを復元するようにした
- 入力データ中の空行が無視されてしまう問題を修正
x
:d
と同様に削除をアサイン
(2020.3.27)
o
- カーソルの下に行追加O
- カーソルの上に行挿入D
- カーソル上の行を削除
(2019.11.4)
- ウインドウのリサイズに対応
- Ctrl-L で再表示
w
(保存)- 出力の区切り文字を入力時の区切り文字と同じにした
- 既存ファイルへの上書きをしないようにした
- デフォルトのファイル名は、最初のファイル名、もしくは標準出力とした
- ファイル名 "-" は標準出力と解釈するようにした
- 画面描画に標準出力ではなく、標準エラー出力を用いるようにした
q
(終了): 本当に終了するかを問い合わせするようにした
(2019.11.2)
- ファイル出力に対応
(2019.10.31)
- 検索コマンド
/
,?
,n
,N
を実装
(2019.10.27)
- 初版