RustでSOLID原則について考える
binllionを作っていて1つのstructが大きくなりすぎたり、テストが書きづらくて全く書いてなかったりとイケテナイ感がでてきていました。 なにか解決方法はないかと調べてみるとSOLID原則というものがあることを知り…
binllionを作っていて1つのstructが大きくなりすぎたり、テストが書きづらくて全く書いてなかったりとイケテナイ感がでてきていました。 なにか解決方法はないかと調べてみるとSOLID原則というものがあることを知り…
ここままでエディターとしての最低限の機能は実装できたと思います。 一旦これで機能追加は止めてコードの改善を行いたいと思います。 Rustではリンターとしてclippyが使えます。 clippyを実行することでコードを静的…
インポートとくればエクスポートです。 インポートと違い、エクスポートはファイルの書き込み失敗のおそれがあるのでエラー処理が必要です。 Rustでファイルに書き出す処理はオプションがいくつかあるようで、それについて調べるた…
データの編集機能の開発も終えたのでファイルからインポート(読み込み)を行えるようにしてみたいと思います。 インポートするファイルの指定方法はコマンドの引数で指定するようにしたいと思います。 引数の処理は何度か使用したcl…
上書き、挿入、とくれば削除も必要でしょう。削除機能を追加しましょう。 まずはキー入力の処理から。 KeyCode::Deleteのマッチパターンを追加しています。 カーソルの位置のデータを削除すればよいのですが、最後尾の…
上書き、とくれば挿入も必要でしょう。挿入機能を追加しましょう。 現状は上書きのみを想定していたので、上書きと挿入を切り替えるようにする必要があります。 つまり、書き込みモードの管理と表示を実装していきます。 書き込みモー…
またもや少し時間が空いてしまいました。どこまで実装が進んだのか忘れてしまっていたのですがいよいよエディターの根本的な部分、編集機能を作り込んでいきたいと思います。 先を見越して編集用バッファであるBinDataには既にu…
前回の処理でスクロールできるようになりましたがヘッダーもスクロールしてしまいました。 ヘッダーは固定してデータ部分のみスクロールするようにしたいです。 現状は同じParagraphの中にヘッダーとデータの情報が入ってしま…