[binllion] 編集用バッファに挿入機能を追加する
上書き、とくれば挿入も必要でしょう。挿入機能を追加しましょう。 現状は上書きのみを想定していたので、上書きと挿入を切り替えるようにする必要があります。 つまり、書き込みモードの管理と表示を実装していきます。 書き込みモー…
上書き、とくれば挿入も必要でしょう。挿入機能を追加しましょう。 現状は上書きのみを想定していたので、上書きと挿入を切り替えるようにする必要があります。 つまり、書き込みモードの管理と表示を実装していきます。 書き込みモー…
またもや少し時間が空いてしまいました。どこまで実装が進んだのか忘れてしまっていたのですがいよいよエディターの根本的な部分、編集機能を作り込んでいきたいと思います。 先を見越して編集用バッファであるBinDataには既にu…
Rustを使っていると時間がかかるのがコンパイル時間。 こちらの記事によると正確にはビルドのリンカー処理に時間がかかるようです。 ということで早速モダンなリンカーmoldを導入してみます。 ただ、moldは2021年にフ…
Rustのtypeという文が新しい型を作るものだと勘違いしていたのですが、少し気になったのでtypeを使ったコードを試してみました。 typeは型エイリアスで型の別名を作るものです。ただそれだけで元の型と同じに使えます。…
以前にディレクトリを再帰処理してディレクトリとシンボリックリンクを表示するプログラムを書きましたが、crate.ioを眺めていると同じような処理をするcrateが既にありました。 walkdir crateというもので、…
前回の処理でスクロールできるようになりましたがヘッダーもスクロールしてしまいました。 ヘッダーは固定してデータ部分のみスクロールするようにしたいです。 現状は同じParagraphの中にヘッダーとデータの情報が入ってしま…
カーソルの表示と移動ができるようになったので次はスクロールの機能をつけたいと思います。 スクロールはratatuiのParagraphにあるそのものズバリなscrollメソッドを使って行います。 これらの処理を行うために…
データを編集する上で必要になるカーソルを表示するようにしてみます。 ratatuiの座標は左上が原点になっているのでそこを基点に計算することになります。 ただ移動するだけではなく、エディタとしてはカーソルの位置にある値を…