Tabs

A :tabs node is a standard tab system with customizable nibs (these are also sometimes called "leaves").

{
    :type :tabs
    :active-fg nil # color, optional
    :active-bg nil # color, optional
    :inactive-fg nil # color, optional
    :inactive-bg nil # color, optional
    :bg nil # color, optional
    :bottom false # boolean, optional
    :tabs @[] # list of tabs
}

# tabs look like this:
{
    :active false # boolean, optional
    :name "" # string
    :node {} # a node
}

:active-fg, :active-bg, :inactive-fg, and :inactive-bg

These are all colors and are used to style the tab's title if the tab's :name property does not contain ANSI escape sequences, such as those generated by style/render et al.

:bg

This is the background color for the tab bar.

:bottom

If true, the tab bar will be on the bottom of the node instead of the top.

The :tabs property

There are some important constraints on the :tabs property:

  • You must provide at least one tab.
  • There must be exactly one tab with :active set to true.
  • All provided tabs must have :name fields with non-zero visual width.

Actions

Dynamic

All dynamic properties are invoked with the same arguments:

  1. The current value of :node of the active tab of this :tabs node.