[binllion] データのエクスポート機能を追加する
インポートとくればエクスポートです。 インポートと違い、エクスポートはファイルの書き込み失敗のおそれがあるのでエラー処理が必要です。 Rustでファイルに書き出す処理はオプションがいくつかあるようで、それについて調べるた…
インポートとくればエクスポートです。 インポートと違い、エクスポートはファイルの書き込み失敗のおそれがあるのでエラー処理が必要です。 Rustでファイルに書き出す処理はオプションがいくつかあるようで、それについて調べるた…
データの編集機能の開発も終えたのでファイルからインポート(読み込み)を行えるようにしてみたいと思います。 インポートするファイルの指定方法はコマンドの引数で指定するようにしたいと思います。 引数の処理は何度か使用したcl…
上書き、挿入、とくれば削除も必要でしょう。削除機能を追加しましょう。 まずはキー入力の処理から。 KeyCode::Deleteのマッチパターンを追加しています。 カーソルの位置のデータを削除すればよいのですが、最後尾の…
上書き、とくれば挿入も必要でしょう。挿入機能を追加しましょう。 現状は上書きのみを想定していたので、上書きと挿入を切り替えるようにする必要があります。 つまり、書き込みモードの管理と表示を実装していきます。 書き込みモー…
またもや少し時間が空いてしまいました。どこまで実装が進んだのか忘れてしまっていたのですがいよいよエディターの根本的な部分、編集機能を作り込んでいきたいと思います。 先を見越して編集用バッファであるBinDataには既にu…
Rustを使っていると時間がかかるのがコンパイル時間。 こちらの記事によると正確にはビルドのリンカー処理に時間がかかるようです。 ということで早速モダンなリンカーmoldを導入してみます。 ただ、moldは2021年にフ…
Rustのtypeという文が新しい型を作るものだと勘違いしていたのですが、少し気になったのでtypeを使ったコードを試してみました。 typeは型エイリアスで型の別名を作るものです。ただそれだけで元の型と同じに使えます。…
以前にディレクトリを再帰処理してディレクトリとシンボリックリンクを表示するプログラムを書きましたが、crateを眺めていると同じような処理をするcrateが既にありました。 walkdir crateというもので、以前の…