Skip to content
/ moove Public
generated from urin/.github

🚚 Manipulate file names and locations using any text editor

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

urin/moove

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

60 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

moove - 🚚 Manipulate file names and locations

Version Downloads from crates.io Downloads from GitHub License

moove is a command line tool for renaming and moving files and directories using a text editor.

🎨 Features | πŸš€ Usage | πŸ“₯ Getting started | πŸ’™ Contributing | 🌏 License

Demo

Features 🎨

  • Displays file and directory names like ls in a text editor, and renames or moves them exactly as you edit them.
  • A pre-compiled single executable without any dependencies. Thanks πŸ’– to Zig and musl libc.
  • Supports Linux, Mac and Windows.
  • Supports wildcard patterns, including Windows.

Caveats ⚠

  • Given paths have to be convertible to UTF-8.
  • Collisions are detected as much as possible, but not perfectly. Does not verify all paths such as hard links and symbolic links.

Usage πŸš€

Usage: moove [OPTIONS] [PATHS]...

Arguments:
  [PATHS]...  Paths or wildcard patterns to move

Options:
  -v, --verbose                    Verbose output
  -s, --sort                       Sort in the 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
  • Displays file and directory names like ls in a text editor.
  • You can edit the list as you want to operate. The order of lines after editing corresponds to the original one. Empty lines will be ignored.
  • Operations are canceled if you close the editor without saving.
  • If a line starts with //, the file and directory (and its contents) will be removed regardless of modification of the remaining part of the line.
  • Destination directories will be created automatically.
  • In case of line number change or collision, asks whether to re-edit or abort. Aborts without asking if --oops is specified.

Configuration 🎚

  • Default command line options can be specified by the environment variable MOOVE_OPTIONS.
  • The default editor is searched in the following order.
    • environment variable VISUAL
    • environment variable EDITOR
    • hardcoded lists
    • platform-specific generic file openers

Getting Started πŸ“₯

Pre-compiled binaries

Install by cargo

cargo install moove

Alternatives

Contributing πŸ’™

Followings are used to build.

Setup development environment πŸͺœ

  1. Install Zig according to the Zig document.
  2. Run following commands.
cargo install cargo-make
cargo make setup

Testing and Building πŸ”¨

  • To test,

    cargo make test
  • To build binaries for release,

    cargo make

    Pre-compiled binaries will be in the directory dist.

    ⚠ Binaries do not have execute permission in case of building on windows.

TODOs βœ…

  • Package for various platforms
  • Overwrite option
  • Exclude .gitignore option
  • Move to trash instead of removing as the default
  • Logging
  • Recursive option
  • Maximum depth option
  • Depth option

License 🌏

Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Β© 2023 Urin

About

🚚 Manipulate file names and locations using any text editor

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Sponsor this project

 

Languages