tools

🛠️ Terminal tools, written from scratch.

Stars
22

🛠️ tools

My blog post: Beating grep with Go

A bag of toys. A project to take ownership over the terminal tools I use every day.

Projects

grup (grep)

A replacement for (my usage of) grep. Faster than grep.

Options:

  • -n show line numbers
  • -re treat query as a regular expression
  • -w (debug) set number of search workers

Quirks:

Example:

grup -n -re ^module .
# go.mod:1 module github.com/healeycodes/tools

grup -n "\"bufio\"" .
# utils/search.go:4 	"bufio"

el (ls)

A replacement for (my usage of) ls.

Options:

  • -h ignore entries starting with .
  • -d sort by date and display metadata

Quirks:

  • Display dot files by default
  • Sorted alphabetically (with a lowercase compare)
  • Directories are put first (unless -d is passed)

Example:

el
# utils/  .gitignore  el  go.mod  main.go  README.md

el -d utils/
# 2022-04-17 13:27  695 B listfiles_test.go
# 2022-04-17 13:18 2.1 kB listfiles.go
# 2022-04-15 13:49    0 B listfiles_test_files/

kat (cat)

A replacement for (my usage of) cat.

Example:

echo 1 | kat
# 1

echo 1 >> some_file
kat some_file
# 1

Tests

Test all projects.

./test.sh

Build

Build all projects (for: windows, linux, darwin).

./build.sh