# 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
bawk          Bullets via AWK shows a reverse sorted tally with bullet visuals
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 AWK expression is true
cbe           Color By (file) Extensions, which ANSI-styles lines accordingly
cext          Color file EXTensions, including multiple extensions per line
cio           Clipboard I/O copies/pastes data, depending on its I/O piping
clam          Command-Line Augmentation Module defines many 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 of all source-code files given to it
datauri       turn each named input (file/URI) given into a DATA-URI line
dawk          Dim (gray) lines satisfying an AWK condition
dcol          Drop COLumns by name or 1-base position, or even negative index
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         DEDUPlicate lines, which works correctly unlike `uniq`
dejson        DEcode JSON into a TSV table
dessv         DEcode lines of Space(s)-Separated Values into TSV lines
detrail       ignore trailing spaces and/or carriage-returns on all lines
dic           DICtionary-define the words given
dog           load/fetch all files and/or URIs given (as dogs fetch things)
ecbler        European Central Bank Latest (currency) Exchange Rates
ecoli         Expressions COloring LInes, using regex/style pairs
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         find FRactional APProximations of all numbers given to it
frep          Flat Regular-Expression Print(er)
get           GET/fetch data from the filenames or URIs given
grawk         GRoup with AWK, groups lines by common results of an AWK expr.
hawk          Hilight lines satisfying an AWK condition, keeping other lines
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
json0         fix/minimize JSON data, ignoring comments and trailing commas
json2         reformat JSON into multiple lines with 2-space indent levels
jawk          Judge with AWK colors lines using 1..3 AWK conditions
jsonl         JSON Lines turns JSON arrays into lines each valid as JSON
jsons         JSON Strings turns TSV into JSON object-arrays with string values
l             run `less -JMKNiCRS`, which also shows line numbers
leak          LEAK/debug pipes by copying all output lines to stderr
metar         show latest weather reports from US/Canadian weather stations
ncol          Nice COLumns, realigns and styles tables
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
nhex          Nice HEX, a binary-data viewer, with an ASCII side-panel
njson         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`
ntsv          Nice Tab-Separated Values, 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
processes     find all running PROCESSES, emitting TSV data
pcol          Pick COLumns by name or 1-base position, or even negative index
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 OFF runs a `sudo` command, turning privileges off right after
sym           lookup-by-name all sorts of commonly-used SYMbols
tally         tally/count distinct lines, emitting TSV output
tawk          Tally (lines) via AWK, using common results of an AWK expression
tbp           Transform Bytes with a Python expression
tcatl         Title and conCATenate Lines adds highlighted filenames as titles
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
tlp           Transform Lines with a Python expression
tlr           Transform Lines with a Ruby expression
topgallery    make custom self-contained picture galleries
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
pyinca.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
pyquac.pyw     QUickly Add and Calculate python expressions via a GUI
pyunits.pyw    a live-calculator unit-converter GUI

amex.html      AMerican EXchange, converts from/to USD using recent rates
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
vj.html        View Json renders dragged JSON files in useful ways

*.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