# The MIT License (MIT)
#
# Copyright © 2020-2025 pacman64
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the “Software”), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.


Some of the tools available are described below. When a tool is available as
a C/C++ program, that's almost always the preferred version: lacking that, if
a Go version is available, that's the preferred version instead.


backsort      BACKward-SORT (numerically) using the columns named/indexed
bf            Browse Folders is a text user-interface (TUI) to do just that
bitdump       show all bits from all input bytes
bocler        Bank Of Canada Latest (currency) Exchange Rates
bsbs          Book-like Side-By-Side lays out input lines into multiple pages
bu            Better Units converts into international units
ca            a quick and handy arbitrary-precision calculator, using `bc`
cadex         CAnaDian EXchange converts from/to CADs
cawk          Count with AWK counts how many times an expression is true
cbe           Color By (file) Extensions, ANSI-styles lines accordingly
cext          Color file EXTensions, even multiple ones per line
cio           (text) Clipboard I/O copies/pastes, based on its piping
clam          Command-Line Augmentation Module defines shell commands
clean         run a command, keeping the main screen CLEAN
coby          COunt BYtes finds various byte-related stats
coma          COlor MAtches, using regex/style-name pairs
cs            Color Syntax
datauri       turn each named input (file/URI) given into a DATA-URI line
debase64      decode base64-encoded data, including data-URIs
decsv         turn CSV tables into TSV, JSON, or `JSONS` (JSON Strings)
define        dictionary-define the words given, using an on-line service
dedup         better than `uniq`, as this one works as expected
dejson        turn JSON into other formats, such as TSV
dessv         turn lines of Space(s)-Separated Values into TSV lines
detrail       ignore trailing spaces and/or carriage-returns on all lines
detsv         turn TSV tables into JSON, or `JSONS` (JSON Strings)
dic           DICtionary-define the words given
dog           load/fetch all files and/or URIs given
dtsv          Drop Tab-Separated Values
ecbler        European Central Bank Latest (currency) Exchange Rates
ecoli         Expressions COloring LInes, using regex/style pairs
fawk          Faint (gray) lines satisfying an AWK condition
fifi          FInd FIles by case-insensitive regex
files         find all files in all the folders given, digging recursively
filesizes     find byte-counts of all files given; folders act recursively
folders       find all folders in all the folders given, digging recursively
foldoc        offline-lookup words from http://foldoc.org/
frapp         FRactional APProximations of all numbers given to it
frep          Flat Regular-Expression Print(er)
get           GET/fetch data from the filename or URI given
grawk         GRoup with AWK, groups lines by common results of an AWK expr.
hawk          Hilight lines satisfying an AWK condition
hima          HIlight MAtches, using all the regular expressions given
htmlify       render plain-text prose, JSON, or CSV/TSV tables as HTML
hydra         a more flexible alternative to `head`
icoma         case-insensitive variant of script `coma` (COlor MAtches)
id3pic        extract picture/thumbnail bytes out of ID3/MP3 data, if found
iecoli        case-insensitive variant of script `ecoli`
ihima         case-Insensitive HIlight MAtches, using all the regexes given
items         emit all word-like items from all lines
j0            fix/minimize JSON data, ignoring comments and trailing commas
j2            reformat JSON into multiple lines with 2-space indent levels
jawk          Judge with AWK colors lines using 1..3 AWK conditions
jl            turn JSON arrays into lines of individual top-level JSON values
jsons         turn TSV into JSON object-arrays with string values
l             run `less -JMKNiCRS`, which also shows line numbers
leak          debug pipes by copying all output lines to stderr
metar         show latest weather reports from US/Canadian weather stations
ndf           Nice DF runs `df` and displays its output using ANSI styles
ngron         Nice(r) GRON is similar to the `gron` (GRep-friendly jsON) tool
nh            Nice Hex, a binary-data viewer, with an ASCII side-panel
nj            Nice Json indents and styles/colors JSON data
nn            Nice Numbers makes long numbers easier to read
nps           Nice Process Show displays all currently-running processes
nss           Nice Systemctl Status, ANSI-styles `systemctl status`
nt            Nice Tables, realigns and styles TSV tables
nwf           Nice Weather Forecast, for any place around the world given
playlister    make custom self-contained shuffle-mode song-player web-pages
playwave      PLAY WAVE-format-encoded sounds, from files or from the stdin
podfeed       turn PODcast FEEDs into self-contained HTML
primes        find prime numbers in increasing order, showing one per line
ptsv          Pick Tab-Separated Values
rawk          Red AWK turns lines satisfying an AWK condition red
realign       make lines/tables easier to read by realigning columns
rein          REuse INput, read stdin, then run commands reusing those bytes
reprose       reflow/narrow plain-text paragraphs to make them easier to read
rtsv          Realign Tab-Separated Values
sawk          Summarize (numbers) via AWK, using the expression given
sbs           Side-By-Side lays out input lines into multiple columns
sf            Show Files in the folders given, using ANSI styles
sfs           Show File Sizes from the folders given, reverse-sorted
si            Show It shows (auto-detected) input data in a browser tab
sn            Summarize all Numbers found along all input lines
sortsv        SORt (tables of) Tab-Separated Values, using `sort`
sosher        make custom self-contained SOng-SHuffle-playER web-pages
squeeze       aggressively trim spaces from lines
style         (re)style lines using the ANSI-style given by name
sudoff        SUDo, but privileges are turned OFF right away
sym           lookup-by-name all sorts of commonly-used symbols
tally         tally/count distinct lines, emitting TSV output
tawk          Tsv-mode AWK
tbp           Transform Bytes with a Python expression
tcatl         Titled conCATenate Lines, highlighting filenames
teletype      simulate old-fashioned teletype machines, by delaying output
tempo         show current date/time, mini-calendar, and weather forecast(s)
timer         show live timer on stderr, also emitting input lines
tjn           Transform Json data with a Node(js) expression
tjp           Transform Json data with a Python expression
tjr           Transform Json data with a Ruby expression
tlp           Transform Lines with a Python expression
tlr           Transform Lines with Ruby one-by-one, using a ruby expression
topfiles      find all top-level files in all the folders given
topfolders    find all top-level folders in all the folders given
topgallery    make custom self-contained picture galleries
trimdecs      ignore unneeded/extra zero decimals, perhaps even decimal dots
trimends      ignore trailing spaces and/or carriage-returns on all lines
trimtrails    ignore trailing spaces and/or carriage-returns on all lines
try           run the command given, showing its error code on failure
uawk          Unique (lines) via AWK, using the expression given
v             View shows pictures and/or plain-text files
verdict       run the command given, showing its error code/status when done
waveout       emit valid WAVE-audio OUTput, using a python expression
wordnet       offline-lookup words from https://wordnet.princeton.edu/
xl            run commands using the args given and the stdin lines
year          show a calendar of the current year, or of the year given
zj            Zoom Json uses keys/indices to dig into valid JSON input

breakrem.pyw   a simple GUI break-reminder
cadex.pyw      a live-calculator GUI counterpart of `cadex` (CAD EXchange)
countdown.pyw  a simple GUI minutes-countdown
guido.pyw      GUI DO runs CLI commands, exposing options/results as GUIs
inca.pyw       INteger Calculator live-calculates over a range of integers
later.pyw      a simple message-reminder GUI
now.pyw        a simple GUI date-time live-clock
pycalc.pyw     a live-calculator GUI, using python expressions
quac.pyw       QUickly Add and Calculate python expressions via a GUI
units.pyw      a live-calculator unit-converter GUI

cadex.html     CAnaDian EXchange, converts from/to CAD using recent rates
coca.html      COmpact CAlendar shows all days in a (changeable) year
doodle.html    a blank page you can (only) draw on
fh.html        an interactive Function Heatmapper
furi.html      File to URI
fv.html        an interactive Function Viewer
inca.html      INteger Calculator live-calculates over a range of integers
jib.html       Javascript In Boxes lets you (re)run multiple JS snippets
jx.html        Javascript eXpressions loads data and runs JS code
memoji.html    a memory game using emojis
mines.html     a deliberately-unwinnable minesweeper game
now.html       a simple date-time live-clock
quac.html      QUickly Add and Calculate math expressions via a GUI
reprose.html   make plain-text paragraphs easier to read, with links/media
sosh.html      SOng SHuffler shuffle-plays sounds from imported playlists
tic.html       Talk Is Cheap shows random quotes from a given list
units.html     a live-calculator unit-converter GUI

*.c      single-source-file/compilable versions of various tools
*.go     single-source-file version of some of the original/better tools
*.py     python-based versions of various tools
*.sh     shell/awk-based versions of various tools