🚚
massrenのRustによる再実装 🚚 moove
普段使っていたlaurent22/massrenのWindows版配布がなくなり、更新もしばらく止まっていたのでRustの勉強も兼ねて再実装してみた。
mooveの特徴 🎨
- ファイルやディレクトリを
ls
のような形でテキストエディタ上に表示して、変更された内容の通りにファイルを移動したりリネームしたりする。 - 依存関係のない単一の実行ファイルとして配布。
- Linux、Mac、Windowsをサポート。
- Windowsでも柔軟なワイルドカードによる指定が可能。
- テキストエディタに表示する行をNatural orderで並べることができる。
注意点 ⚠
- パスに含まれる文字はUTF-8に変換可能でなければならない。
- ファイル操作の衝突などについては可能な限り検出するようになっているが完全ではない。
全てのハードリンク、シンボリックリンクなどの検証をするわけではない。
使用方法 🚀
Usage: moove [OPTIONS] [PATHS]...
Arguments:
[PATHS]... Paths or wildcard patterns to move
Options:
-v, --verbose Verbose output
-s, --sort Sort in natural order
-a, --absolute Treat as absolute paths
-d, --directory Directories themselves, not their contents
-w, --with-hidden Include hidden files
-e, --exclude-pattern <PATTERN> Exclude regular expression pattern
-c, --copy Copy without moving
-u, --dry-run Dry-run
-o, --oops Abort in case of collision (prompt as default)
-q, --quiet No output to stdout/strerr even if error
-h, --help Print help
-V, --version Print version
- ファイルやディレクトリを
ls
のような形でテキストエディタ上に表示する。 - テキストエディタに最初に表示された順序を崩さないように編集する。空行は無視される。
- 変更を保存せずにテキストエディタを閉じた場合は何もしない。
- 行頭が
//
で始まる場合、その行の変更内容に関わらずそのファイルもしくはディレクトリを削除する。ゴミ箱には入らない。 - 移動先のディレクトリが存在しない場合は自動的に作成する。
- 行数が変更されたり、操作の衝突を検出した場合はユーザに再編集するか中止するかを問い合わせる。
--oops
オプションを使うと問い合わせなく中止する。
設定 🎚
- デフォルトのコマンドラインオプションは環境変数
MOOVE_OPTIONS
に指定できる。 - 使用されるエディタは以下の順序で検索される。
- 環境変数
VISUAL
- 環境変数
EDITOR
- ハードコードされたテキストエディタ一覧
- OSデフォルトのテキストエディタ
- 環境変数
インストール 📥
実行ファイル
- moove-apple-aarch64.tar.gz
- moove-apple-x86_64.tar.gz
- moove-linux-aarch64.tar.gz
- moove-linux-x86_64.tar.gz
- moove-windows-x86_64.tar.gz
Rustソースからビルドする場合
cargo install moove
最後に
要望・バグなどあればIssueをお願いします。
Discussion