| 1 |  | 
| 2 | Builtin Commands <a class="group-link" href="chap-builtin-cmd.html">builtin-cmd</a> | 
| 3 |  | 
| 4 |  | 
| 5 | [Memory]        cmd/append             Add elements to end of array | 
| 6 | pp                     asdl   cell   X gc-stats   line   proc | 
| 7 | [Handle Errors] error                  error 'failed' (status=2) | 
| 8 | try                    Run with errexit, set _error | 
| 9 | failed                 Test if _error.code !== 0 | 
| 10 | boolstatus             Enforce 0 or 1 exit status | 
| 11 | [Shell State]   ysh-cd       ysh-shopt compatible, and takes a block | 
| 12 | shvar                  Temporary modify global settings | 
| 13 | ctx                    Share and update a temporary "context" | 
| 14 | push-registers         Save registers like $?, PIPESTATUS | 
| 15 | [Modules]       runproc                Run a proc; use as main entry point | 
| 16 | module                 guard against duplicate 'source' | 
| 17 | is-main                false when sourcing a file | 
| 18 | use                    change first word lookup | 
| 19 | [I/O]           ysh-read               flags --all, -0 | 
| 20 | ysh-echo               no -e -n with simple_echo | 
| 21 | write                  Like echo, with --, --sep, --end | 
| 22 | fork         forkwait  Replace & and (), and takes a block | 
| 23 | fopen                  Open multiple streams, takes a block | 
| 24 | X dbg                    Only thing that can be used in funcs | 
| 25 | X log        X die       Common functions (polyfill) | 
| 26 | [Hay Config]    hay          haynode   For DSLs and config files | 
| 27 | [Completion]    compadjust   compexport | 
| 28 | [Data Formats]  json                   read write | 
| 29 | json8                  read write | 
| 30 | X [Lines]         slurp-by               combine adjacent lines into cells | 
| 31 | X [Awk]           each-line              --j8 --max-jobs (Str, Template, Block) - xargs | 
| 32 | each-row               --max-jobs (Str, Template, Block) - xargs | 
| 33 | split-by               (str=\n, ifs=':', pattern=/s+/) | 
| 34 | if-split-by | 
| 35 | chop                   alias for split-by (pattern=/s+/) | 
| 36 | must-match             (/ <capture d+> </capture w+> /) | 
| 37 | if-match | 
| 38 | X [Table Create]  table                  --by-row --by-col (&place); construct/parse a table | 
| 39 | table/cols             cols name age - cols name:Str age:Int | 
| 40 | types                  type       Str Int | 
| 41 | attr                   attr units -   secs | 
| 42 | row                    emit row | 
| 43 | table cat              concatenate TSV8 | 
| 44 | table align            to ssv8 | 
| 45 | table tabify           to tsv8 | 
| 46 | table header           (cols = :|name age|, types = :|Str Int|, units = :|- secs|) | 
| 47 | table slice            e.g. slice (1, -1)   slice (5, 7) | 
| 48 | table to-tsv           lose type info, and error on \t in cells | 
| 49 | X [Table Ops]     where                  subset of rows; dplyr filter() | 
| 50 | pick                   subset of columns ('select' taken by shell) | 
| 51 | mutate    transmute    [average = count / sum] - drop the ones that are used? | 
| 52 | rename                 (bytes='bytes', path='filename') | 
| 53 | group-by               add a column with a group ID [ext] | 
| 54 | sort-by                sort by columns; dplyr arrange() [ext] | 
| 55 | summary                count, sum, histogram, any, all, reduce(), etc. [ext] | 
| 56 | [Args Parser]   parser                 Parse command line arguments | 
| 57 | flag | 
| 58 | arg | 
| 59 | rest | 
| 60 | parseArgs() | 
| 61 | X [Testing]       describe               Test harness | 
| 62 | assert                 takes an expression |