Configuration reference

Core config fields

FieldTypeNotes
h5v.themestringBuilt-in color theme name
h5v.symbol_themestringBuilt-in symbol theme name
h5v.compatibilitybooleanCompatibility mode override from config
h5v.content_mode_orderstring arrayOrdered content-mode preference
h5v.heatmaptablePreferred heatmap defaults and custom range presets
h5v.multicharttableMultichart overview sampling and viewport-refinement tuning
h5v.keymapstableScoped keymap overrides and command bindings
h5v.colorstablePer-key color overrides
h5v.symbolstablePer-key symbol overrides
h5v.themes.<name>tableBuilt-in color catalogs
h5v.symbol_themes.<name>tableBuilt-in symbol catalogs
h5v.log("message")functionShow a small info toast while config runs

Built-in themes

Theme
dark
light

Built-in symbol themes

Theme
rich
compatibility

Content modes

Mode
preview
matrix
heatmap

heatmap in h5v.content_mode_order only affects preferred tab order. Heatmap appears only when compatibility mode is off and terminal image rendering is available.

Color categories

CategoryPurpose
accentSelection, highlight, and search accents
textText rendering
contentHeader, tabs, empty states
commandMinibuffer text
helpHelp overlay text
metadataMetadata labels and values
fileFile preview labels and values
mchartMultichart list and prompt colors
surfaceBackgrounds, borders, highlights
treeTree lines and node colors
chartAxes, grids, plot area, chart series
statusRead-only, writable, linked, update status
toastToast border colors

Symbol categories

CategoryPurpose
treeTree connectors, arrows, icons
sectionMetadata section titles
titlePanel and dialog titles
badgeHeader badges and linked markers
chartMultichart markers and enum symbols

Accepted color values

Hex values: #RRGGBB

Canonical nameAccepted aliases
blackblack
redred
greengreen
yellowyellow
blueblue
magentamagenta, purple
cyancyan
graygray, grey
darkgraydarkgray, darkgrey, dark_gray, dark_grey
lightredlightred, light_red, pink
lightgreenlightgreen, light_green
lightyellowlightyellow, light_yellow
lightbluelightblue, light_blue
lightmagentalightmagenta, light_magenta
lightcyanlightcyan, light_cyan
whitewhite
amberamber
orangeorange

Color override keys

GroupKeys
textprimary, number, string, opaque, bool_value, error, search_text, search_count, type_desc, line_num
contentapp_brand, app_version, help_hint, empty_state, tab_active, tab_inactive, tree_membership_more
commandprompt_prefix, usage, description, suggestion_label, no_match, key_hint
helptitle, section, description, muted
metadatasection, property_name, property_value, attribute_name
filesection_title, label, value
mchartempty_state, item_selected, item_selected_hidden, item_visible, item_hidden, prefix_selected, prefix, detail_label, prompt_prefix
surfacetitle_bg, focus_bg, bg, bg_val1, bg_val2, bg_val3, bg_val4, break_line, highlight_bg, highlight_bg_copy, panel_border, panel_title, help_key_bg, image_border
treelines, root_file, variable, variable_builtin, file, group, compound_name, dataset, dataset_file, compound, load_more
accentselected_index, selected_dim, equal_sign, symbol, selection_fg, selection_bg, search_highlight, search_icon
chartaxis, grid, label, preview_line, plot_bg, series_1 to series_8, enum_1 to enum_8
statusreadonly, writable, linked, compability, update_available
toastinfo, warning, neutral

Symbol override keys

GroupKeys
treehorizontal_rule, connector_last, connector_middle, vertical_guide, collapse_expanded, collapse_collapsed, folder_open_branch, folder_open_leaf, folder_closed_branch, folder_closed_leaf, root_file_icon, dataset_icon, dataset_link_icon, compound_container_icon, compound_leaf_icon, link_marker, broken_node_icon, load_more_label
sectionproperties_title, attributes_title
titlepreview, tree, meta, file_metadata, empty_group, empty_dataset, error, create_attribute, delete_attribute, fixed_string_overflow, fixed_string_resize, help, matrix_tab
badgereadonly, writable, linked, linked_root_suffix, compatibility_mode
chartmembership_marker, visibility_visible, visibility_hidden, enum_1 to enum_8

Example

h5v.theme = "dark"
h5v.symbol_theme = "rich"

h5v.colors.accent.selection_bg = "lightblue"
h5v.colors.chart.series_1 = "#ff8800"
h5v.symbols.title.preview = "Plot"
h5v.symbols.tree.dataset_icon = "D"

Heatmap config

FieldTypeNotes
h5v.heatmap.default_rangestringPreferred starting range preset
h5v.heatmap.default_colormapstringturbo, grayscale, or inferno
h5v.heatmap.default_normalizationstringlinear, log, or sqrt
h5v.heatmap.default_invert_xbooleanPreferred X-axis inversion
h5v.heatmap.default_invert_ybooleanPreferred Y-axis inversion
h5v.heatmap.default_invert_cbooleanPreferred colormap inversion
h5v.heatmap.range_modestable arrayCustom selectable range presets

Example:

h5v.content_mode_order = { "heatmap", "preview", "matrix" }
h5v.heatmap.default_range = "MIN/MAX"
h5v.heatmap.default_colormap = "inferno"
h5v.heatmap.default_normalization = "log"
h5v.heatmap.default_invert_y = true
h5v.heatmap.default_invert_c = true
h5v.heatmap.range_modes = {
  { label = "5-80%", min = "5%", max = "80%" },
}

Multichart config

FieldTypeNotes
h5v.multichart.overview_max_samplesintegerCap for the initial background overview sample
h5v.multichart.detail_enabledbooleanEnable viewport-driven detail refinement
h5v.multichart.detail_samples_per_columnintegerWidth multiplier used to pick detail sample count
h5v.multichart.detail_min_samplesintegerLower clamp for viewport detail samples
h5v.multichart.detail_max_samplesintegerUpper clamp for viewport detail samples
h5v.multichart.detail_padding_rationumberExtra x-range loaded around the visible viewport
h5v.multichart.derived_detail_enabledbooleanAllow derived series to refine when inputs share detail windows

Example:

h5v.multichart = {
  overview_max_samples = 2048,
  detail_enabled = true,
  detail_samples_per_column = 6,
  detail_min_samples = 1024,
  detail_max_samples = 32768,
  detail_padding_ratio = 0.1,
  derived_detail_enabled = true,
}

Keymap config

Scopes:

ScopeNotes
h5v.keymaps.globalAvailable in non-text-entry modes regardless of focus
h5v.keymaps.normalNormal mode bindings before focus-specific scopes
h5v.keymaps.windowFollow-up keys after the window chord action
h5v.keymaps.treeTree focus in normal mode
h5v.keymaps.contentPreview, matrix, and shared content bindings
h5v.keymaps.heatmapHeatmap-only bindings
h5v.keymaps.attributesAttributes focus in normal mode
h5v.keymaps.mchartMultichart navigation/view bindings

Each scope table accepts:

FieldTypeNotes
clear_defaultsbooleanRemove the shipped bindings for that scope before applying overrides
unbindstring arrayRemove specific shipped bindings by key
bindtable arrayAdd built-in actions or command bindings

Each bind entry accepts:

FieldTypeNotes
keystringKey spec such as ctrl+h, PageDown, ?, or ctrl+alt+r
actionstringBuilt-in action id for that scope
commandstringCommand text executed through the normal command parser
commandsstring arrayCommand list executed like a startup script
scriptstringStartup-script text executed on keypress
luafunctionLua callback receiving ctx.command, ctx.commands, and ctx.script helpers
descriptionstringOptional help text stored with the binding definition

An entry must set exactly one of action, command, commands, script, or lua.

Helper functions:

FunctionNotes
bind(mode, key, action[, description])Append a built-in action binding using h5v.modes.* and h5v.actions.* constants
bind_command(mode, key, command[, description])Append a command-backed binding
bind_commands(mode, key, commands[, description])Append a startup-script-style command list
bind_script(mode, key, script[, description])Append one script string using startup-script parsing
bind_lua(mode, key, callback[, description])Append a Lua callback
unbind(mode, key)Append one key to the scope unbind list

Common mode constants: h5v.modes.Global, h5v.modes.Normal, h5v.modes.Window, h5v.modes.Tree, h5v.modes.Content, h5v.modes.Heatmap, h5v.modes.Attributes, h5v.modes.Multichart.

Example:

bind(h5v.modes.Global, "ctrl+h", h5v.actions.ShowHelp)
unbind(h5v.modes.Heatmap, "v")
bind(h5v.modes.Heatmap, "ctrl+z", h5v.actions.HeatmapZoomIn)
bind_command(h5v.modes.Heatmap, "ctrl+alt+r", "heatmap range use \"Clip 1-99%\"")
bind_commands(h5v.modes.Global, "ctrl+k", { "down 2", "up 1" })
bind_lua(h5v.modes.Global, "ctrl+l", function(ctx) ctx.command("help reload") end)