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
が追加Edit
Widgetが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)されるように。