brick 0.46から0.62へのアップグレードメモ
ghq:Cj-bc/brick-shgif を久々に使おうとしたが、 brickのバージョンが凄い上がっていたのでアップグレードしよ~のコーナー
ちなみに最新の0.64にしないのは、 ghq:Cj-bc/brick-shgif の 他の依存パッケージであるtartが最新版でも0.63より古いバージョンまでしか 対応していないため。
チェンジログからわかる!変更点まとめ
但し実装に影響がありそうなもののみ、又簡素な纏め。
customMain が
Vtyハンドルを初期値として取るようになった。mainが終了した後にVtyを返すcustomMainWithVtyが追加EditWidgetがEvPasteイベントに反応するように。UTF-8としてデコードされ、デコードできないものは無視される
txtWrapWithは、Greedyに応じて利用可能な横幅目一杯まで パディングを追加するようになった。FileBrowserはシンボリックリンクに対応したシンボリックリンクの上で
Enterを押すとリンク先に飛ぶようになった。Brick.Widgets.FileBrowserに新しいフィールドfileInfoLinkTargetTypeが追加された。
writeBChanNonBlockingを追加。BChanへのnon-blockingな書き込みを可能にし、書き込みが成功したかを返す
これによりSTMの対応バージョンの下限が2.4.3に引き上げられた。
Brick.Focus.focusRingLengthを追加。focus ringの大きさを取得できる。
Brick.Focus.focusRingToListを追加。focus ringの全ての中身をリストで取得できる。focusしているものが先頭にある。
EventMにMonadFail,MonadMask,MonadCatch,MonadThrowインスタンス追加FileBrowserがvi風のキーバインディングも追加でサポートした。Brick.Widgets.FileBrowser.maybeSelectCurrentEntryを exportBrick.Widgets.Edit.handleEditorEventにHomeとEndキーのハンドラを追加customMainが、シャットダウン後に初期のterminal input stateを復元するようにBrick.Forms.updateFormStateを追加Formの中にありFormに管理されているステートの更新をするフォームのフィールドをステートの中身と一致させるのを勝手にやってくれる
vtyのバージョン下限を 5.31に引き上げ、
strikethroughが使えるようにtheme customizeation fileで
strikethroughが使用可能に。GHC 9.0.1 でビルドできるように
baseのバージョン制約を緩めたFileBrowserモジュールが、それの管理するイベントそれぞれのための 関数をexportドキュメントも、どの関数がどのキーイベントで実行されるかを示す ように変更。
List.listFindBy関数が、カーソルとリストの最後までだけでなく リストのどの場所にもマッチするようにFileBrowsrはfocusされた時に、カーソルを選択されているエントリーの 行の始めに配置するように。Brick.Widgets.ListにlistMoveToBeginningとlistMoveToEnd関数を追加Extentから、使用されていなかったextentOffsetフィールドを削除簡易的なテーブルを書ける
Brick.Widgets.Tableを追加。cachedでキャッシュされている時も、clickableがclickableとして 報告(report)されるように。Brick.FormsにeditShowableFieldWithValidateを追加。editShowableFieldに、呼出元が追加のバリデーションをする関数を 与えられるようにした抽象化(generalization)した。
Brick.Widgets.Coreにcrop{Left,Right,Bottom,Top}To関数が追加。説明はよくわからんかったのでちょっと放置
変更が必要そうなもの
機能の追加等は修正必要ないのでスルーする。
customMain が
Vtyハンドルを初期値として取るようになった。txtWrapWithは、Greedyに応じて利用可能な横幅目一杯まで パディングを追加するようになった。FileBrowserはシンボリックリンクに対応したシンボリックリンクの上で
Enterを押すとリンク先に飛ぶようになった。Brick.Widgets.FileBrowserに新しいフィールドfileInfoLinkTargetTypeが追加された。
EventMにMonadFail,MonadMask,MonadCatch,MonadThrowインスタンス追加customMainが、シャットダウン後に初期のterminal input stateを復元するようにvtyのバージョン下限を 5.31に引き上げ、
strikethroughが使えるようにGHC 9.0.1 でビルドできるように
baseのバージョン制約を緩めたList.listFindBy関数が、カーソルとリストの最後までだけでなく リストのどの場所にもマッチするようにFileBrowsrはfocusされた時に、カーソルを選択されているエントリーの 行の始めに配置するように。Extentから、使用されていなかったextentOffsetフィールドを削除cachedでキャッシュされている時も、clickableがclickableとして 報告(report)されるように。