### Special "primitives" (not really primitives but they exist solely for coloring)
| primitive | default color | configurable |
| --------------------------- | -------------------------- | ------------ |
| `leading_trailing_space_bg` | Color::Rgb(128, 128, 128)) | \* |
| `header` | Color::Green.bold() | \* |
| `empty` | Color::Blue.normal() | \* |
| `row_index` | Color::Green.bold() | \* |
| `hints` | Color::DarkGray.normal() | \* |
Here's a small example of changing some of these values.
```nu
let config = {
color_config: {
separator: purple
leading_trailing_space_bg: "#ffffff"
header: gb
date: wd
filesize: c
row_index: cb
bool: red
int: green
duration: blue_bold
range: purple
float: red
string: white
nothing: red
binary: red
cellpath: cyan
hints: dark_gray
}
}
```
Here's another small example using multiple color syntaxes with some comments.
```nu
let config = {
color_config: {
separator: "#88b719" # this sets only the foreground color like PR #486
leading_trailing_space_bg: white # this sets only the foreground color in the original style
header: { # this is like PR #489
fg: "#B01455", # note, quotes are required on the values with hex colors
bg: "#ffb900", # note, commas are not required, it could also be all on one line
attr: bli # note, there are no quotes around this value. it works with or without quotes
}
date: "#75507B"
filesize: "#729fcf"
row_index: {
# note, that this is another way to set only the foreground, no need to specify bg and attr
fg: "#e50914"
}
}
}
```
## Shape Values
As mentioned above, `shape` is a term used to indicate the syntax coloring.
Here's the current list of flat shapes.
| shape | default style | configurable |
| ---------------------------- | -------------------------------------- | ------------ |
| `shape_block` | fg(Color::Blue).bold() | \* |
| `shape_bool` | fg(Color::LightCyan) | \* |
| `shape_custom` | bold() | \* |
| `shape_external` | fg(Color::Cyan) | \* |
| `shape_externalarg` | fg(Color::Green).bold() | \* |
| `shape_filepath` | fg(Color::Cyan) | \* |
| `shape_flag` | fg(Color::Blue).bold() | \* |
| `shape_float` | fg(Color::Purple).bold() | \* |
| `shape_garbage` | fg(Color::White).on(Color::Red).bold() | \* |
| `shape_globpattern` | fg(Color::Cyan).bold() | \* |
| `shape_int` | fg(Color::Purple).bold() | \* |
| `shape_internalcall` | fg(Color::Cyan).bold() | \* |
| `shape_list` | fg(Color::Cyan).bold() | \* |
| `shape_literal` | fg(Color::Blue) | \* |
| `shape_nothing` | fg(Color::LightCyan) | \* |
| `shape_operator` | fg(Color::Yellow) | \* |
| `shape_range` | fg(Color::Yellow).bold() | \* |
| `shape_record` | fg(Color::Cyan).bold() | \* |
| `shape_signature` | fg(Color::Green).bold() | \* |
| `shape_string` | fg(Color::Green) | \* |