go-readline-ny v1.3.1
サブパッケージ completion で、空状態で補完するとクラッシュする不具合を修正するプルリクエストをいただきました。ありがたい
あと、csvi でやった一文字キー入力の仮想化をこっちでもやりました。前から ITty という interface で go-tty への依存にワンクッション入れてたんですが、細かすぎるメソッドを要求していて微妙だったので、ざっくり Open/GetKey/Size/Close だけを必要要件にしました。これでも少なくはないですが、差し替えるものを作れなくもないレベルまで下ったかと思います。これを利用して、テストに使うオートパイロットパッケージ github.com/nyaosorg/go-readline-ny/auto を作成しました。
実はこれで互換性は破壊されてしまっているのですが、ITty をリプレースしている人なんてまずいないので、多分、大丈夫だと判断しました。
nyagos issue対応
- Feat: Integration https://github.com/microsoft/inshellisense · Issue #439 · nyaosorg/nyagos
- support: nyagos.eval + "context deadline exceeded" · Issue #441 · nyaosorg/nyagos
nyagos に inshellisense を組み込もうという人からの issue。4.4.15_0時点の機能では必要と思われる機能がいろいろ足りなさそうだったので
- Unicode ではなく、上矢印キーを
ESC[1A
と表現するキーシーケンスを得る関数nyagos.getkeys
- キーシーケンスに対応した編集機能を呼び出すコールバック関数
(callback):eval
など、いろいろ追加しました。
が、最終的には、それでも開発効率の悪さから、ちょっとダメだこりゃとなってしまったようです。まぁ、仕方ないかなと思ってます。nyagos のエコシステムを発達させるには、ユーザが少なすぎるんですよね。ユーザからのフィードバックが十分にないと、無駄に使われない機能ばかり追加したり、プロジェクトは迷走します。それを自覚したがゆえに、自分がどうしても欲しい機能 もしくは 明確にユーザからリクエストがあった機能のみを追加する保守モードへ切り替えたんですよ…
正直、ちょっとつらい話でした。
SQL-Bless
新バージョンのリリースはしていないんですが、
- CSVI 同様に
-auto
オプションを追加 - テストコードを Expect-Lua から PowerShell に書き直した
-auto
オプションの文法は CSVI とはちょっと違っていて改行に相当する部分は |
、送信(Ctrl-J,Ctrl-Enter) に相当する部分は ||
と書きます。go-multiline-ny 側にもテストコードを追加しているので、複数行編集の細かいテストはこっちには入れていません。
-auto
オプションの追加で、キーボード操作を無理矢理よこどりしてのテストは無用になったので、テストスクリプトも PowerShell で書き直しました。Expect-Lua もどこが悪いということはないんですが、テストコードを走らせる要件は低いにこしたことはないので。
( PowerShell は一応 Linux 版もあるし、Windows では一応一般的なので )
go-box
nyagos で Ctrl-O を押した時に起動するファイルセレクタ的な用途に使うパッケージです。書き方が自分的に古いままになっていたので、いろいろ直しました。
- エラーの時に panic していたが、全関数に対して、error を返す版バージョンを用意した。
- 関数名が直感的に分かりにくかったので、改名・集約を行なった