Skip to content

Latest commit

 

History

History
63 lines (45 loc) · 4.23 KB

Rust powered tools.md

File metadata and controls

63 lines (45 loc) · 4.23 KB

Subject

Rust logo

Many projects are proposing nice alternatives to various command-line tools like grep(1) or ls(1). Some of them are written in /Rust. Here we have a list of such tools that we use ourselves.

How to

Rust has its own build tool and package manager called "cargo". When you are asking Cargo to install some software (not a library) it usually puts the executable binaries into "${HOME}/.cargo/bin". So make sure you have this directory in your $PATH.

To install any of the listed below tools you will need to run "cargo install <name>". But some projects also provide .deb packages or just the zipped binaries — take a look at the repos.

Also, some of the mentioned tools could be installed using /asdf or /Nix (package manager).

The tools

  • ripgrep — very fast and /Git-aware modern alternative to grep(1)
  • bat — drop-in replacement for cat(1) with syntax highlighting, line numbering, diff preview
  • exa — modern replacement for the venerable file-listing command-line program ls(1)
  • fd-find — simple, fast and user-friendly alternative to find(1)
  • just — very simple alternative to /GNU Make
  • du-dust — more intuitive version of du(1) in rust
  • procs — modern replacement for ps(1)
  • skim — an fzf-like fuzzy matching search and selection tool
  • difftastic — a syntax-aware replacement for git diff, can be easily integrated with /git

Another list of such stuff.

Not-so-replacements

These projects don't pose themselves as replacements for "good old Unix tools". But they also are built using Rust and we found it interesting :)

  • tealdeer — very fast implementation of tldr
  • ffsend — fully featured Firefox Send client
  • hyperfine — command-line benchmarking tool
  • alacritty — terminal emulator
  • drill — HTTP load testing application
  • autojump — port of the wildly popular helper application autojump
  • bb — simple process viewer
  • git-delta — viewer for git and diff output
  • dura — "a background process that watches your Git repositories and commits your uncommitted changes without impacting HEAD, the current branch, or the Git index"
  • meli — terminal email client
  • rage — encryption tool
  • ht — "Yet another HTTPie clone". HTTPie is a /Python powered "Swiss Army knife" for HTTP requests.
  • gitui — a neat /TUI for the /Git
  • miniserve — a "/CLI tool to serve files and dirs over HTTP"

Editors

Yep, editor building is a pretty popular theme for the hobby projects. There are some:

  • Xi-Editor, dead but good. Was the first one of the kind and still gives the inspiration for new projects.
  • Lapce, a pretty new one. Proposes a /WASI based plugin system!

Aliases

Some (most?) of the mentioned tools are designed as "drop-in" replacements for the corresponding programs. That's why you can add some aliases to your shell and keep the muscle memory:

alias cat="bat"
alias ll="exa --long"
alias ls="exa"