Skip to content

tamada/sibling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sibling

build Coverage Status

Rust Report Card

crates.io License Version

get the next/previous sibling directory name.

🗣️ Description

When a directory has too many sub-directories, we are tiresome to traverse the whole of sub-directories. Because, sometimes we lose where we are. Ideally, we move the directory by specifying ‘next’ or ‘previous,' not the directory name.

The command like the following makes us tired 👎.

cd ../next_directory_name

We should type the command like below 👍.

cdnext

For this, I implemented sibling.

Utility commands

The sibling introduces the following utility commands.

  • change the working directory to the sibling directory:
    • cdnext,
    • cdprev,
    • cdfirst,
    • cdlast, and
    • cdrand
  • list the sibling directory:
    • lsnext,
    • lsprev,
    • lsfirst,
    • lslast, and
    • lsrand

The cdnext and the cdprev allow the integer argument to repeat the traversing.

🏃 Usage

sibling prints the next directory name with 0 status code. The next directory is decided by the traversing type. Available values are: next, previous, first, last, keep and random, default is next.

After visiting the final directory, the sibling prints nothing and exits with a non-zero status code.

⚓ Installation

🍺 Homebrew

Install sibling via Homebrew, simply run:

brew tap tamada/brew
brew install sibling

And put the following snipeets into your shell profile (e.g., .bash_profile, or .zshrc) The --init option accepts only bash. Other shell scripts are not supported, yet.

eval "$(sibling --init bash)"

💪 Compiling yourself

Get source codes by git clone or download from GitHub, then run cargo build to build sibling.

git clone https://github.com/tamada/sibling.git # or download from https://github.com/tamada/sibling
cd sibling
cargo build --release # the binary file is put on target/release/sibling.

😄 About the project

📜 License

  • WTFPL
    • 👍 Commercial use
    • 👍 Modification
    • 👍 Distribution
    • 👍 Private use

👨‍💼 Developers 👩‍💼

🔗 Useful links for directory traversing

About

get next/previous sibling directory name.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors