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--icons, -i
: draw output with icons (assumes nerd font is used)--separator, -s {string}
: character to separate grid with
Input/output types:
input | output |
---|---|
list<any> | string |
record | string |
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
Render a table with 'name' column in it to a grid with icons and colors
> [[name patch]; [Cargo.toml false] [README.md true] [SECURITY.md false]] | grid --icons --color
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.