3 Cool Terminal Tools Written In Rust
Here are 3 nice visual changing terminal tools written in Rust that I have integrated into my workflow. Coding requires spending most of your time looking at your screen, it should at least look visually pleasing. All of the packages mentioned here are compatible Linux, WSL, and Mac. They are very easy to implement, as they pretty much work out of the box after installation. The only configuring you would want to do is in your ~/.bashrc
(or whichever shell’s rc
you use), as 2 of these packages will replace some of your main commands.
Starship
This is a neat tool that changes your prompt on all common shells. It is very customizable with a toml file ( ~/.config/starship/starship.toml
), and has hot reload functionality on the config file as well. The main useful features I’ve noticed so far is that it can display prompt command’s runtime, language environment, git branch, and also git status. Check out installation here. You can also check my dotfiles on my github to see some of the customization I do to my starship prompt.
Note: My dotfiles will change over time, feel free to watch or star it for updates.
Bat
The cat
and less
replacement. This tool will do both cat
or less
, depending on the current size of your terminal. So if the file to display requires you to scroll, bat
will less
the file. Visa-versa, bat
will cat
a file if it can be displayed within the terminal height. It also can syntax color the text in terminal as well, which makes reading files a lot easier if it is code or a config file. Github link here.
Below is my alias for replacing cat
. I manually enter the style since it has line numbers by default, and that interferes with copy and pasting the output from my terminal.
alias cat='bat --style=header,grid'
Exa
The ls
and tree
replacement. This tool makes customizing the ls
output a lot easier, which lets you remove parts of the output with a simple command flag. It also color codes the permissions, which makes it a little bit easier to read. By default, exa
will also show a file’s size in k, M, and G instead of only k. Github link here.
Below are my aliases for replacing ls
and tree
. The -F
flag adds a slash at the end of directories.
# .bashrc
alias ll="exa -Fl"
alias lll="exa -Fla"
alias l="exa -F"
alias tree="exa --tree -F"
Like my content? Github — Twitter — Medium — Support Me