File: cmd/fh/info.txt
   1 fh [options...] [x/y ranges...] formula
   2 
   3 
   4 Function Heatmapper emits a picture showing a heatmap view of the function
   5 f(x, y) implied by the math expression given. Plenty of math functions and
   6 constants are available, all their names being lowercase; the syntax is
   7 almost identical to Python/JavaScript's math notation, and has no keywords.
   8 
   9 For convenience, you can treat any 1-input func as a fake-property of its
  10 only input; you can also pretend all functions are fake-methods, where the
  11 1st input comes before the dot preceding the func name, followed by all the
  12 other args to it. All values and functions are global: without namespaces
  13 of any kind.
  14 
  15 Ranges for variables `x` and `y` are 0 to 1 by default, but you can change
  16 them via the special syntax shown on some of the examples below. Using the
  17 keyword `int`, `ints`, or `integers` enables integer-mode, where both `x`
  18 and `y` values are only sampled as integers: in that case, formula results
  19 will be used to fill whole tiles, instead of single pixels.
  20 
  21 By default, output is PNG-encoded using a good tradeoff between encoding
  22 speed and final payload size. Output resolutions can be as shown below, or
  23 consist of the width, followed by `x`, followed by the height wanted, such
  24 as `1024x768`, for example.
  25 
  26 Options have no flags/prefixes, and are accepted in any order.
  27 
  28 
  29 Options
  30 
  31     resolution                          resolution
  32 
  33     4k           3840x2160              4ks           2160x2160
  34     hd           1920x1080              hds           1080x1080
  35 
  36     2160p        3840x2160              2160s         2160x2160
  37     1440p        2560x1440              1440s         1440x1440
  38     1080p        1920x1080              1080s         1080x1080
  39     720p         1280x720               720s          720x720
  40 
  41 
  42     output     aliases                  colorscale    aliases
  43 
  44     png                                 magma         mag, m
  45     bmp        bitmap                   parula        par, p
  46     jpg        jpeg                     viridis       vir, v
  47 
  48 
  49 Concrete Examples
  50 
  51 
  52 fh 'x/(x+y)' > corner-fan-1.png
  53 
  54 fh 'y/(x+y)' > corner-fan-2.png
  55 
  56 fh 4k x:=-5..5 y:=1..5 'x.sin.abs / y**1.4' > floor-lights.png
  57 
  58 fh vir x:=-5..5 y:=1..5 'lbeta(x + 5.1, y + 5.1)' > beta-gradient.png
  59 
  60 fh mag 4k xy:=0.01..199.99 'lcm(x.ceil, y.ceil)' > lcm-200.png
  61 
  62 fh par 4k xy:=-5..5 'x.abs + sqrt(abs(sin(2*y)))' > bars.png
  63 
  64 fh x:=-1.5..0.5 y:=-1..1 'mandel(16/9*x, y)' > mandelbrot.png
  65 
  66 fh x:=-1.5..0.5 y:=-1..1 'absmandel(16/9*x, y)' > wobbly-mandelbrot.png
  67 
  68 fh 4k 'sign(cos(160*tau*x) + sin(90*tau*y))' > 90-deg-square-tiles.png
  69 
  70 fh xy:=-10..10 'sin(x.sin+y.cos) + cos(sin(x*y)+cos(y*y))' > crazy-grids.png
  71 
  72 fh 'gauss(sin(50*x) * cos(50*9/16*y) + 1)' > light-tiles.png
  73 
  74 fh xy:=-2..3 'sgn(log((x*x-1)*(x-2-y)/(x*x+2+2*y)))' > abstract-shapes.png
  75 
  76 fh xy:=-10..10 square 'sinc(0.55 * hypot(x, y))' > central-ripple.png

     File: cmd/finfo/info.txt
   1 finfo [options...] [files/folders...]
   2 
   3 Show various file info, mainly filesizes in decreasing order (biggest to
   4 smallest): all folders given are explored recursively to find all files in
   5 them.
   6 
   7 When exploring files in the current folder, use a dot as the folder name;
   8 when not given any file/folder names, it reads those from standard input one
   9 name per line, so file paths with spaces don't cause any problem.
  10 
  11 Besides file size and name, it can show other info
  12 
  13     - line counts, except for recognized media files
  14     - column counts, in the context of delimiter-separated tabular text data
  15     - carriage-return and byte-order-mark counts, except for known media types
  16     - width, height, and bits per pixel for pictures and video files
  17     - duration/play-length in seconds for all common audio/video files
  18     - path of containing folder
  19     - extension
  20     - MIME type
  21 
  22 Results can also be reverse-sorted by line count, by duration, or any other
  23 numeric option/column: there's no way to increase-sort for any of the numeric
  24 ranking options.

     File: cmd/hot/info.txt
   1 hot [options...] [filename]
   2 
   3 HOrizontal Tables... and some stats: this app gives you a general overview of
   4 what a table file/result has.
   5 
   6 Given tabular data, shows various stats for all columns, along with colored
   7 tiles/bars representing all values, as well as the commonest values for all
   8 columns.
   9 
  10 When showing values in bar mode (the default), bars for positive values start
  11 from the bottom of each cell and go up, while bars for negative values start
  12 from the top and go down.

     File: cmd/jf/info.txt
   1 jf [options...] [command] [URIs/files...]
   2 
   3 
   4 Json Formulas (Jeff) is a data processor/extractor, named after its focus on
   5 JSON data, but it can also read/write many more text/binary data formats. It
   6 can even output documents via special comments in HTML and SVG templates.
   7 
   8 Jeff also lets you run a command to transform data, run using a surprisingly
   9 capable scripting engine. If the command is a dot, it means keep input data
  10 as they are. Input and output are JSON by default, but you can use several
  11 other formats via options -from and -to, or by using named file/URI inputs.
  12 
  13 Scripts give you all sorts of conveniences you may have come to expect from
  14 other popular tools, such as negative indexing, but that's barely scratching
  15 the surface: Jeff gives you many other handy features, such as automatic
  16 depth-first recursion for most operators and functions.
  17 
  18 
  19 The data formats supported in options -from and -to are
  20 
  21     notes:      -  you can add `.gz` or `.gzip` to each input/output option
  22                    below to gzip-(de)compress input/output
  23 
  24                 -  you can add `.bz`, `.bzip`, or `.bzip2` to each input
  25                    option below to decompress bzipped input; no bzip output
  26 
  27                 -  input-type is autodetected by default when given files
  28                    and/or URIs to read from; option -from overrides for all
  29 
  30     blocks        input         empty-line separated blocks/arrays of lines
  31     csv           input         comma-separated values of tabular data
  32     each-line     input         line-by-line / streaming string-input mode
  33     each-value    input         line-by-line / streaming JSONL-input mode
  34     ini           input         configuration values; subset of TOML format
  35     ssv           input         space-separated values of tabular data
  36     strict-json   input         proper JSON: no comments, no trailing commas
  37     strict-jsonl  input         proper JSONL: no comments, no trailing commas
  38     sysinfo       input         use various system info as input
  39     unix-conf     input         key-value pairs from non-comment lines
  40     unix-list     input         only keep non-empty-ish/non-comment lines
  41     xml           input         often used by governments and big org's
  42 
  43     ansi          input/output  ANSI-code styled plain-text
  44     bytes         input/output  read input as is into a string
  45     env           input/output  lines of equal-sign-separated key-value pairs
  46     html          input/output  web page documents
  47     json          input/output  I/O default, ignores comments & extra commas
  48     jsonl         input/output  JSON Lines: text lines each with a JSON value
  49     lines         input/output  lines of text: as input it's read as an array
  50     msgpack       input/output  message pack, a binary JSON-like data format
  51     null          input/output  don't read any input; don't emit any output
  52     text          input/output  a single text/string value
  53     tsv           input/output  tab-separated values of tabular data
  54 
  55     gron                output  same as https://github.com/tomnomnom/gron
  56     json0               output  compact JSON output, without unneeded spaces
  57     json1               output  JSON output with 1-space indentations
  58     json2               output  JSON output with 2-spaces indentations
  59     json4               output  JSON output with 4-spaces indentations
  60     jsonl0              output  compact JSONL output, without unneeded spaces
  61     json-tab            output  JSON output with tab indentations
  62     live                output  interactive web-browser mode to run formulas
  63     rec                 output  grep/sed/awk-friendly plain-text records
  64 
  65     el            input         alias for each-line (a line-streaming mode)
  66     ev            input         alias for each-value (a line-streaming mode)
  67     sj            input         alias for strict-json
  68     sjl           input         alias for strict-jsonl
  69     sys           input         alias for sysinfo
  70     uc            input         alias for unix-conf
  71     ul            input         alias for unix-list
  72     x             input         alias for xml
  73 
  74     b             input/output  alias for bytes
  75     h             input/output  alias for html
  76     j             input/output  alias for json
  77     jl            input/output  alias for jsonl
  78     l             input/output  alias for lines
  79     mp            input/output  alias for msgpack
  80     n, nil, none  input/output  aliases for null
  81     t             input/output  alias for text
  82 
  83     j0, j1, j2, j4      output  aliases for json0, json1, json2, and json4
  84     jl0                 output  alias for jsonl0
  85     jt                  output  alias for json-tab
  86 
  87 
  88 Scripts can use 250+ predefined funcs, not counting aliases; plenty of global
  89 variables with all sorts of data are also available. Some of these predefined
  90 functions/values are documented on the help page available in live mode; you
  91 can also emit it as self-contained HTML output if you use output mode `help`.
  92 
  93 Many names/aliases should be familiar if you know JavaScript, Go, or Python:
  94 just avoid package names, avoid underscores, keep all letters lowercase, and
  95 chances are you'll get the right Jeff names.
  96 
  97 
  98 Functions (always lowercase, no underscores)
  99 
 100     most go math/string function names, names lowercased, imported globally
 101         https://pkg.go.dev/math
 102         https://pkg.go.dev/strings
 103         https://pkg.go.dev/filepath
 104 
 105     many python math/string/builtin funcs, no underscores, imported globally
 106         https://docs.python.org/3/library/math.html
 107         https://docs.python.org/3/library/string.html
 108 
 109     many functions named after JavaScript funcs/methods, names lowercased
 110         https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference
 111 
 112     many other custom functions

     File: cmd/loser/info.txt
   1 loser [options...] [root-folder]
   2 
   3 LOcal SERver is a simple webserver to access files from a local folder via
   4 HTTP. Access is limited to localhost and devices on the local-area network
   5 (LAN).
   6 
   7 If this app is started with - (minus/dash) instead of a root folder, it
   8 only serves the contents read from standard-input, with the MIME-type being
   9 autodetected.

     File: cmd/playwave/info.txt
   1 playwave
   2 
   3 Plays wave-audio data from standard input.

     File: cmd/tap/info.txt
   1 tap [options] [filename]
   2 
   3 TAble Peek
   4 
   5 Tabular-data peeker/summarizer whose output is HTML which is fully
   6 self-contained script-free icon-free with embedded tables and graphics

     File: cmd/vida/info.txt
   1 vida [options...] [filename]
   2 
   3 VIew DAta is an app which turns plain-text tabular data and tree-structured
   4 JSON/JSON-lines into an easy-to-read representation, by using ANSI styles,
   5 and aligning columns visually when showing tables. Alternatively, vida can
   6 render to HTML.
   7 
   8 When rendering tables as HTML, all numeric columns will show cell backgrounds
   9 proportional to each value relative to the min/max of its column, giving you
  10 an immediate/instinctive feel for quantities as they relate to each other.
  11 
  12 Gzip-compressed input files are automatically handled on the fly and without
  13 intermediate files, while still allowing input-format autodetection: this
  14 works by ignoring the `.gz` extension in the filename and looking for any
  15 other extensions before it.
  16 
  17 
  18 Formats
  19 
  20     tsv     input         default | aliases: tab, tabs, txt
  21     csv     input         aliases: comma, commas
  22     semi    input         aliases: semis, semicolon, semicolons
  23     pipe    input         aliases: pipes, vbar, vbars
  24     ssv     input         aliases: space, spaces, fields
  25     json    input
  26     jsonl   input         aliases: ndjson
  27     ansi          output  default
  28     text          output  aliases: plain
  29     html          output

     File: cmd/waveout/info.txt
   1 waveout [options...] [formulas...]
   2 
   3 
   4 This app emits wave-sound binary data using the script(s) given. Scripts
   5 give you the float64-related functionality you may expect, from numeric
   6 operations to several math functions. When given 1 formula, the result is
   7 mono; when given 2 formulas (left and right), the result is stereo. When
   8 given `stereo` as an option on its own, even 1 formula will emit stereo.
   9 
  10 Output is always uncompressed audio: `waveout` can emit that as is, or as a
  11 base64-encoded data-URI, which you can use as a `src` attribute value in an
  12 HTML audio tag. Output duration is 1 second by default, but you can change
  13 that too by using a recognized time format.
  14 
  15 The first recognized time format is the familiar hh:mm:ss, where the hours
  16 are optional, and where seconds can have a decimal part after it.
  17 
  18 The second recognized time format uses 1-letter shortcuts instead of colons
  19 for each time component, each of which is optional: `h` stands for hour, `m`
  20 for minutes, and `s` for seconds.
  21 
  22 
  23 Output Formats
  24 
  25              encoding  header  samples  endian   more info
  26 
  27     wav      direct    wave    int16    little   default format
  28 
  29     wav16    direct    wave    int16    little   alias for `wav`
  30     wav32    direct    wave    float32  little
  31     uri      data-URI  wave    int16    little   MIME type is audio/x-wav
  32 
  33     raw      direct    none    int16    little
  34     raw16le  direct    none    int16    little   alias for `raw`
  35     raw32le  direct    none    float32  little
  36     raw16be  direct    none    int16    big
  37     raw32be  direct    none    float32  big
  38 
  39 
  40 Concrete Examples
  41 
  42 # low-tones commonly used in club music as beats
  43 waveout 2s 'sin(10 * tau * exp(-20 * u)) * exp(-2 * u)' > club-beats.wav
  44 
  45 # 1 minute and 5 seconds of static-like random noise
  46 waveout 1m5s 'rand()' > random-noise.wav
  47 
  48 # many bell-like clicks in quick succession; can be a cellphone's ringtone
  49 waveout 'sin(2048 * tau * t) * exp(-50 * (t%0.1))' > ringtone.wav
  50 
  51 # similar to the door-opening sound from a dsc powerseries home alarm
  52 waveout 'sin(4096 * tau * t) * exp(-10 * (t%0.1))' > home-alarm.wav
  53 
  54 # watch your ears: quickly increases frequency up to 2khz
  55 waveout 'sin(2_000 * t * tau * t)' > frequency-sweep.wav
  56 
  57 # 1-second 400hz test tone
  58 waveout 'sin(400 * tau * t)' > test-tone-400.wav
  59 
  60 # 2s of a 440hz test tone, also called an A440 sound
  61 waveout 2s 'sin(440 * tau * t)' > a440.wav
  62 
  63 # 1s 400hz test tone with sudden volume drop at the end, to avoid clip
  64 waveout 'sin(400 * tau * t) * min(1, exp(-100*(t-0.9)))' > nice-tone.wav
  65 
  66 # old ringtone used in north america
  67 waveout '0.5*sin(350 * tau * t) + 0.5*sin(450 * tau * t)' > na-ringtone.wav
  68 
  69 # 20 seconds of periodic pings
  70 waveout 20s 'sin(800 * tau * u) * exp(-20 * u)' > pings.wav
  71 
  72 # 2 seconds of a european-style dial-tone
  73 waveout 2s '(sin(350 * tau * t) + sin(450 * tau * t)) / 2' > dial-tone.wav
  74 
  75 # 4 seconds of a north-american-style busy-phone signal
  76 waveout 4s '(u < 0.5) * (sin(480*tau * t) + sin(620*tau * t)) / 2' > na-busy.wav
  77 
  78 # hit the 51st key on a synthetic piano-like instrument
  79 waveout 'sin(tau * 440 * 2**((51 - 49)/12) * t) * exp(-10*u)' > piano-key.wav
  80 
  81 # hit of a synthetic snare-like sound
  82 waveout 'random() * exp(-10 * t)' > synth-snare.wav
  83 
  84 # a stereotypical `laser` sound
  85 waveout 'sin(100 * tau * exp(-40 * t))' > laser.wav

     File: self-contained/ansi2html/info.txt
   1 ansi2html [options]
   2 
   3 A simple ANSI-code to styled-HTML translator: pipe/redirect some text to it
   4 and out comes completely self-contained HTML source, which you can then save
   5 or show as is.

     File: self-contained/book/info.txt
   1 book [height...] [filenames...]
   2 
   3 
   4 Book shows lays out text-lines the same way pairs of pages are laid out in
   5 books, letting you take advantage of wide screens. Every pair of pages ends
   6 with a special dotted line to visually separate it from the next pair.
   7 
   8 If you're using Linux or MacOS, you may find this cmd-line shortcut useful:
   9 
  10 # Like A Book lays lines as pairs of pages, the same way books do it
  11 lab() { "$(which book)" $(expr $(tput lines) - 1) ${@:-} | less -KiCRS; }

     File: self-contained/breakrem/info.txt
   1 This app keeps reminding you to take breaks from your
   2 computer with pop-ups every %d minutes: time isn't
   3 counted while pop-ups are showing.
   4 
   5 The pop-ups will keep coming regularly as long as you
   6 keep pressing OK to dismiss them when they show up;
   7 pressing Cancel or the ✕ on the top corner will quit
   8 this app and stop the reminders.
   9 
  10 Note: you can start this app from the command-line with
  11 a number between 1 and 20 to set how many minutes to
  12 wait for each break reminder.

     File: self-contained/chu/info.txt
   1 chu [numbers w/ or w/out units...]
   2 
   3 CHange Units converts among most commonly-used measurement units: run with
   4 numbers and unit shortnames as arguments, as many as you want in any order
   5 
   6 Names are matched case-insensitively; when no units shortnames are given,
   7 all conversions will show up.
   8 
   9 If given binary, base-16, or even explicit base-10 integers, those are all
  10 shown in all three bases, along with their matching unicode symbol
  11 
  12     binary           starts with 0b (ex. 0b1010010111)
  13     hexadecimal      starts with 0x (ex. 0x59da2)
  14     explicit decimal starts with 0d (ex. 0d278)
  15 
  16 You can also convert time duration either using the common hh:mm:ss and
  17 mm:ss format; similarly, you can also use the format XXhXXmXXs, where
  18 each part is optional.
  19 
  20 
  21 Units supported
  22 
  23     length       cm, m, km, in, ft, yd, mi, nmi
  24     weight       kg, lb, ton
  25     volume       L, gal, cup, mL, oz
  26     temperature  C, F, K
  27     area         m2, in2, ft2, km2, mi2, ac
  28     volume       m3, ft3
  29 
  30 The following mixed-unit pairs are also supported
  31 
  32     feet/inches          (ex. 4ft7in)
  33     pound/weight-ounces  (ex. 35lb3oz)

     File: self-contained/coby/info.txt
   1 coby [filepaths...]
   2 
   3 COunt BYtes finds out various byte-related stats, counting
   4 
   5     - bytes
   6     - lines
   7     - how many lines have trailing spaces
   8     - how many lines end with a CRLF pair
   9     - all-off (0) bytes
  10     - all-on (255) bytes
  11     - high-bytes (128+)
  12 
  13 Output is TSV (tab-separated values) lines, whose first line has all the
  14 column names.
  15 
  16 When no filepaths are given, the standard input is used by default.

     File: self-contained/dog/info.txt
   1 dog [options...] [paths/URIs...]
   2 
   3 
   4 Dog fetches data from the named sources given to it, whether these are
   5 filenames or URIs. Single dashes stand for standard input, and can be
   6 used more than once. When no names are given, stdin is read by default.
   7 
   8 A line-mode is available via leading option `-l`, or its aliases `--l`,
   9 `-lines`, and `--lines`. This mode turns all CRLF byte-pairs into single
  10 LF bytes, and ensures all non-empty inputs end with a final LF byte,
  11 which avoids accidentally joining lines across different inputs.
  12 
  13 Line-mode also ignores leading UTF-8 BOMs on each input's first line.

     File: self-contained/ecoli/info.txt
   1 ecoli [options...] [regex/color pairs...]
   2 
   3 Expressions COloring LInes tries to match each line to the 1st applicable
   4 RE2-style regular expression given and colors it with its associated color.
   5 
   6 Each regex must precede its corresponding color/style as follows
   7     ecoli regex color regex color regex color ...
   8 
   9 Colors/styles available include, along with their 1/2-letter shortcuts
  10     red        r
  11     green      g
  12     blue       b
  13     magenta    m
  14     pink       p
  15     orange     o
  16     yellow     y
  17     cyan       c
  18     gray       gr
  19     invert     in
  20     bold       bo
  21     italic     it
  22     underline  un
  23     strike     st
  24 
  25 The RE2 regular expression syntax is very similar to the other commonly-used
  26 alternatives, and is described at https://github.com/google/re2/wiki/Syntax

     File: self-contained/fob/info.txt
   1 fob [options...] [root]
   2 
   3 Files On the Browser
   4 
   5 This is a simple webserver to browse folders the way I like: its main use-case
   6 is to view folders full of pictures, showing thumbnail-previews for pics and
   7 generic filetype/folder icons for all other entries.

     File: self-contained/frep/info.txt
   1 frep [options...] regex [files...]
   2 
   3 Flat Regular Expression Print(er) is an app similar to `grep`, except it
   4 normally ignores line-feeds and/or carriage returns and follows the RE2
   5 syntax, described at https://github.com/google/re2/wiki/Syntax
   6 
   7 The exception to that is when the regular expression given starts/ends with
   8 explicit line-delimiters, namely `^` and `$`: in that case the app behaves
   9 like a regular `grep` clone, except for the RE2 syntax.

     File: self-contained/getup/info.txt
   1 getup [options...] filename
   2 
   3 This app is a webserver which lets LAN users upload files to.

     File: self-contained/gotron/info.txt
   1 gotron [options...] [go-formula] [filepath...]
   2 
   3 This is a data-transformation tool centered on a JSON-like data-model. All
   4 formulas are valid go-syntax expressions. While these expressions are run
   5 with custom semantics differing from go, they mostly behave as go would.

     File: self-contained/hat/info.txt
   1 hat [options...] [tool] ...
   2 
   3 
   4 This is one of my `HAndy Tools` (hat) apps. It bundles a wide range of
   5 single-purpose tools, most of which transform lines of UTF-8 text. The
   6 idea is to expose these using intuitive names/aliases, so you don't have
   7 to think too much when you want something done on the command-line.
   8 
   9 Its 100+ tools include
  10 
  11   - all sorts of single-purpose UTF-8 text-processors and text adapters
  12   - JSON (re)formatters, selectors, converters, and adapters
  13   - CSV/TSV column-selectors, formatters, and format converters
  14   - calculators for either arbitrary-size rationals or 64-bit floating-point
  15   - template runners for text/HTML/SVG files, and stdin-line transformers
  16   - web servers, HTTP/HTTPS handlers, and other online-data fetchers
  17   - converters to self-contained HTML from CSV/TSV/JSON, or plain-text docs
  18   - file/folder/URI filters and openers
  19   - message stylers

     File: self-contained/hex/info.txt
   1 hex [options...] [filenames...]
   2 
   3 A simple hexadecimal viewer for easy byte-level inspection of files/data.
   4 
   5 Each line shows the starting offset for the bytes shown, 20 of the bytes
   6 themselves in base-16 notation, and any ASCII codes when the byte values
   7 are in the typical ASCII range.
   8 
   9 The base-16 codes are color-coded, with most bytes shown in gray, while
  10 all-1 and all-0 bytes are shown in orange and blue respectively.
  11 
  12 All-0 bytes are the commonest kind in most binary file types and, along
  13 with all-1 bytes are also a special case worth noticing when exploring
  14 binary data, so it makes sense for them to stand out right away.

     File: self-contained/j0/info.txt
   1 j0 [filepath...]
   2 
   3 Json-0 converts/fixes JSON/pseudo-JSON input into minimal JSON output.
   4 
   5 Besides minimizing bytes, this tool also adapts almost-JSON input into
   6 valid JSON, since it ignores comments and trailing commas, neither of
   7 which are supported in JSON, but which are still commonly used.
   8 
   9 Output is always a single line, which ends with a line-feed.

     File: self-contained/nn/info.txt
   1 nn [options...] [filenames...]
   2 
   3 Nice Numbers is an app which renders the UTF-8 text it's given to make long
   4 numbers much easier to read. It does so by alternating 3-digit groups which
   5 are colored using ANSI-codes with plain/unstyled 3-digit groups.
   6 
   7 Unlike the common practice of inserting commas between 3-digit groups, this
   8 trick doesn't widen the original text, keeping alignments across lines the
   9 same.
  10 
  11 When not given filenames, it just reads from stdin; when given filenames,
  12 a dash means use stdin, along with the other files.
  13 
  14 Input is assumed to be UTF-8, and all CRLF byte-pairs are turned into line
  15 feeds.
  16 
  17 All (optional) leading options start with either single or double-dash,
  18 and most of them change the style/color used. Some of the options are,
  19 shown in their single-dash form:
  20 
  21     -h          show this help message
  22     -help       show this help message
  23 
  24     -b          use a blue color
  25     -blue       use a blue color
  26     -bold       bold-style digits
  27     -g          use a green color
  28     -gray       use a gray color (default)
  29     -green      use a green color
  30     -hi         use a highlighting/inverse style
  31     -m          use a magenta color
  32     -magenta    use a magenta color
  33     -o          use an orange color
  34     -orange     use an orange color
  35     -r          use a red color
  36     -red        use a red color
  37     -u          underline digits
  38     -underline  underline digits

     File: self-contained/podfeed/info.txt
   1 podfeed [URIs/filenames...]
   2 
   3 Keep track of what's on multiple podcasts/RSS feeds with auto-popup links and
   4 collapsible descriptions.
   5 
   6 After fetching all RSS feeds, this program emits script-free HTML code for a
   7 standalone webpage with links to all feed items, each having expandable
   8 descriptions.
   9 
  10 The cmd-line arguments can be a mix of direct URIs to podcast/RSS feeds and
  11 filenames: in any files given, each line is taken as a URI to check, unless
  12 the line is empty or starts with #, which marks it as a comment line.

     File: self-contained/pscan/info.txt
   1 pscan [options...] [hostname/ports...]
   2 
   3 A TCP port scanner showing all open ports, along with a description of
   4 which common apps/services are known to use those ports by default.
   5 
   6 When using the -describe option and no port numbers are given as trailing
   7 arguments, all descriptions available will show.
   8 
   9 All output is tab-separated values (TSV), and starts with a header line.

     File: self-contained/sbs/info.txt
   1 sbs [columns...] [filenames...]
   2 
   3 
   4 Show lines Side By Side: this app is made for content which normally scrolls
   5 a long way downward. You can either just pipe text into it, or give multiple
   6 filenames to read lines from those: a common use-case is to pipe its results
   7 to `less -KiCRS` or some other viewer command.
   8 
   9 When given no filenames, this app reads from stdin; when giving it filenames,
  10 you can use a dash to use stdin along with the files.

     File: self-contained/si/info.txt
   1 si [filenames/URIs...]
   2 
   3 This app (Show It) shows data using your default web browser by auto-opening
   4 tabs. When reading from stdin, the content-type is auto-detected: data are
   5 then sent right away to the browser via localhost, using a random port among
   6 the available ones.
   7 
   8 The localhost connection is available only until all data are transferred:
   9 this means refreshing your browser tab will lose your content, replacing it
  10 with a server-not-found message page.
  11 
  12 When given filenames and/or URIs, the browser tabs will point their paths, so
  13 accidentally reloading them doesn't make them disappear, unless those files
  14 are actually deleted between reloads.
  15 
  16 Dozens of common data-formats are recognized when piped from stdin, such as
  17   - HTML (web pages)
  18   - PDF
  19   - pictures (PNG, JPEG, SVG, WEBP, GIF)
  20   - audio (AAC, MP3, FLAC, WAV, AU, MIDI)
  21   - video (MP4, MOV, WEBM, MKV, AVI)
  22   - JSON
  23   - generic UTF-8 plain-text
  24 
  25 Base64-encoded data URIs are auto-detected and decoded appropriately.

     File: self-contained/teletype/info.txt
   1 teletype [filepaths...]
   2 
   3 
   4 Simulate the cadence of old-fashioned teletype machines, by slowing down
   5 the output of UTF-8 symbols from standard input.

     File: self-contained/timer/info.txt
   1 timer
   2 
   3 
   4 Run a live timer/chronograph on stderr, always showing below all lines
   5 from stdin, which update stdout as they come.
   6 
   7 When stdin is over, it simply quits showing how long it ran, by extending
   8 its last visible timer line on stderr.
   9 
  10 You can also use this app without piping anything to its stdin, acting as
  11 a simple live clock until you force-quit it.

     File: self-contained/ts/info.txt
   1 ts
   2 
   3 TimeStamp lines from standard input.

     File: self-contained/vip/info.txt
   1 vip [options] [filenames...]
   2 
   3 VIew Pictures on any truecolor terminal emulator / cmd-line: you may want to
   4 pipe its results to `less -RS`, unless pics are small enough to fit in your
   5 current window size.
   6 
   7 Supported input formats
   8 
   9   - PNG (stills only)
  10   - JPEG
  11   - GIF (stills only)
  12   - BMP
  13   - TIFF
  14   - WEBP
  15 
  16 If your terminal emulator supports inline base64-encoded images, run this app
  17 with option -to=direct for best results.

     File: self-contained/webex/info.txt
   1 webex [options...] [uri/filename...]
   2 
   3 This WEB EXtractor app lets you get all sorts of items/links out of web pages,
   4 whether local, or from the net. It can also turn HTML into JSON, as an option.

     File: self-contained/wi/info.txt
   1 wi [regex] [folders...]
   2 
   3 Where Is is an app which finds files and folders by name, using an RE2-syntax
   4 case-insensitive regular expression, searching in all the folders given after
   5 it. If no search folders are given, the current one is used.
   6 
   7 Matching folder names are always shown ending in a slash, unlike matching
   8 files. Also, path separators are always forward slashes (/), even when
   9 running on Windows.
  10 
  11 The RE2 regular expression syntax is very similar to the other commonly-used
  12 alternatives, and is described at https://github.com/google/re2/wiki/Syntax;
  13 once more, remember that this app puts `(?i)` in front of your expression if
  14 it's not already there, so that matches are case-insensitive.