8 releases (stable)
1.1.2 | Jul 25, 2021 |
---|---|
1.1.1 | Jul 2, 2021 |
1.1.0 | Jul 1, 2021 |
1.0.3 | Jun 30, 2021 |
0.2.1 | Jun 29, 2021 |
#2940 in Command line utilities
12KB
229 lines
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
Dependencies
~3.5MB
~67K SLoC