tinytools
A collection of tools that enhance your experience in shell. This provides an
executable named tt, which in turn provides the following utilities (more to
be added):
bak: Append a tilde (~) to the names of given files/directories.debak: Pop a tilde (~) from the names of given files/directories.gr: Get the nearest git root above current working directory (if it exists).
Installation
Installing with cargo:
$ cargo install tinytools
Utilities
bak
Sometimes you want to quickly backup some file, this is typically done by
suffixing the file with a tilde (~). When there are multiple files to be
renamed, bak helps you to do this at ease:
$ alias bak="tt bak"
$ touch testfile
$ mkdir testdir
$ ls
testdir/ testfile
$ bak testdir testfile
renamed "<absolute path>/testfile" -> "<absolute path>/testfile~"
renamed "<absolute path>/testdir" -> "<absolute path>/testdir~"
bak aborts if the path after appending a tilde exists in the filesystem.
debak
debak is the inverse of bak (see: bak). It does nothing (and
aborts) when any of the given path does not end with a tilde.
gr
Sometimes you want to quickly go to nearest git root of current project. Add this shell alias to your shell's initialization script:
$ alias cg='cd ${$(tt gr 2>/dev/null):-$PWD}'
Then, call cg to quickly jump from your cwd to git root:
$ pwd
/home/r2d2/repos/tinytools/src/modules
$ cg
$ pwd
/home/r2d2/repos/tinytools
$ cd -
$ pwd
/home/r2d2/repos/tinytools/src/modules