grid for viewers

Renders the output to a textual terminal grid.

Signature

> grid {flags}

Flags

  • --width, -w {int}: number of terminal columns wide (not output columns)
  • --color, -c: draw output with color
  • --separator, -s {string}: character to separate grid with

Input/output types:

inputoutput
list<any>string
recordstring

Examples

Render a simple list to a grid

> [1 2 3 a b c] | grid
1 2 3 a b c

The above example is the same as:

> [1 2 3 a b c] | wrap name | grid
1 2 3 a b c

Render a record to a grid

> {name: 'foo', b: 1, c: 2} | grid
foo

Render a list of records to a grid

> [{name: 'A', v: 1} {name: 'B', v: 2} {name: 'C', v: 3}] | grid
A B C

Render a table with 'name' column in it to a grid

> [[name patch]; [0.1.0 false] [0.1.1 true] [0.2.0 false]] | grid
0.1.0 0.1.1 0.2.0

Notes

grid was built to give a concise gridded layout for ls. however, it determines what to put in the grid by looking for a column named 'name'. this works great for tables and records but for lists we need to do something different. such as with '[one two three] | grid' it creates a fake column called 'name' for these values so that it prints out the list properly.