ov v0.9.4
ov v0.9.4をリリースしました
Terminal PAGER releases ov v0.9.4
検索の改善
検索にインクリメンタルサーチを追加しました。issue#83に上がっていたインクリメンタルサーチを実装しました。 一文字入力するごとに検索をして最短でみつかった語の位置に移動します。 検索は毎回goroutineを使用しているため、入力を妨げないようになっています(小さなファイルだと気がつかないですが、大きなファイルで固まる実装が多いので、その差を実感していただけると思います)。
検索は元々、正規表現の入力も可能だったのですが、入力時に特殊文字を\
でエスケープする等のわかりづらさがあったので、今回正規表現検索を使用するかを分けました。
インクリメンタルサーチでも正規表現は使用できます。
元々、大文字、小文字を区別するスイッチはあったので、検索時は、これらの組み合わせによって動作が変わるため複雑になっています。
機能 | 表示 | (Default)切り替えキー | コマンドオプション |
---|---|---|---|
インクリメンタルサーチ | (I) | alt+i | –incremental |
正規表現 | (R) | alt+r | –regexp-search |
大文字小文字の区別 | (Aa) | alt+c | -i, –case-sensitive |
オプションの他、設定によってデフォルトを変更できます。ov.yamlのコメントを外して設定してください。
マークの改善
こちらもissue#86に上がっていたマークの削除とマークの可視化を実装しました。
これまで、現在の見ている行にマークを付けて移動して戻れるようにしていたのですが、削除機能は付けていませんでした。個別削除と全削除をできるようにしています。
マークすると先頭の背景色を変更して可視化しています。この部分はスタイルカスタマイズでStyleMarkLine
により、背景色、前景色、太字、アンダーライン等カスタマイズ可能です。また、MarkStyleWidth
により先頭から何文字スタイルを適用するか設定可能です。一行全部を変更したい場合は -1を指定してください。
スキップ行の指定
v0.9.3のオプションとして、先頭から指定した行を不可視にするオプションを追加しました。これは--header
と組み合わせて使用することを想定しています。
--header
を指定すると先頭から指定した行を固定表示できますが、余分な行があると表示領域が狭くなります。
例えばASCIIのボックス表示では、最上位行が区切り線の行になります。1行だけならまだ良いですが、横に長いデータの場合、折返し表示モードでは区切り線が何行にも渡って表示される場合があります。
1 +----+--------+
2 | id | name |
3 +----+--------+
4 | 1 | Orange |
5 | 2 | Melon |
6 | 3 | Apple |
7 +----+--------+
この場合 1行スキップして、ヘッダーを1行に指定すると2行目のみヘッダーとして扱われ、4行目以降がボディとしてスクロール対象になります。
おまけ
インクリメンタルサーチと正規表現の組み合わせで以下のようなことができるようになりました:-)
過去のバージョン
- v0.9.4 マーク機能の強化、インクリメンタルサーチを追加して検索強化。
- v0.9.3 スキップ行オプションの追加
- v0.9.2 主要モジュール更新版
- v0.9.1 半画面下移動のバグ修正。goのバージョンを1.16以降へ変更。
- v0.9.0 follow,follow-all,execの各モードを追加、改善。検索とカラム選択のスタイルカスタマイズを可能にしました。
- v0.8.9 (pre)follow-mode,follow-all-modeの追加
- v0.8.1 文字の単位をCode point から Grapheme clusterに変更しました。
- v0.8.0 tcell v2にアップグレードしました。
- v0.7.1 交互に行スタイル効果適用の行がズレていたので修正
- v0.7.0 スタイルカスタマイズの改善
- v0.6.2 検索の高速化とキャンセル処理の追加
- v0.6.1 細かな修正バージョン
- v0.6.0 マウスサポート
- v0.5.0 複数のドキュメントを開く方法を変更
- v0.4.0 ヘルプ画面を追加
- v0.3.1 位置をマークする機能を追加
- v0.3.0 入力の改善
- v0.2.1 色をカスタマイズ可能にする
- v0.2.0 検索の改善
- v0.1.3 行番号モードを追加
- v0.1.2 Homebrewパッケージの追加
- v0.1.1 パッケージ自動更新の調整
- v0.1.0 ovにレポジトリ名と構成を変更。deb/rpmパッケージの追加
- v0.0.5 現在の基本機能を備えた最初のバージョン