Terminal TAST
Inline
The Inline object is the most versatile and intricate TAST element. It has type 'Inline' and the children property that accepts any valid TAST. The Inline object allows a wide variety of actions. Some of these actions are toggling visibility, adding labels, executing actions, and more. Each Inline object receives an id that allows a direct programmatically interaction and manipulation (see terminal inlines).
Name |
Type |
Description |
---|---|---|
type | 'Inline' | Defines the type of the object. |
children | array | TAST of nodes affected by the Inline. |
id | string | Unique identifier of this Inline entity in all the application. If absent, it is auto-generated. |
action | object | Redux action object to launch in the current inline. |
actions | object | Events with their respective actions to dispatch for each event. Supported Events |
style | object | css styles property names for the current inline. |
inlineType | string | Type of this inline to inherit predefined styles and actions. |
themeType | string | Visual type of the inline that will set the CSS from the current terminal theme. |
tooltip | string | Tooltip to show in the inline. |
isTabStop | boolean | If included and its value is true, the Inline will be identified as a tabStop. |
isVisible | boolean | If included and its value is false, it allows to create a toggable element. |
ref | string | Label to locate from the current Inline another different Inline which is inside the same scope. |
scope | string |
Unique identifier of the scope of the Inline. It is automatically generated, so it can be omitted. |
Inline is a container
The Inline is a container. It can surround any part of TAST, including newlines or other Inlines. Unless it uses any other property, it is invisible inside the terminal.

tast.json
[
{
"type": "Inline",
"children": [
"Hello\nWorld",
{
"type": "Inline",
"children": ["!"]
}
]
}
]
package.json
{
"name": "example",
"version": "1.0.0",
"orion": {
"dispatchersHelper": {
"actionCreators": {
"consumes": {
"@orion/terminals": [
"createTerminal",
"spliceTerminalTAST"
]
}
}
}
}
}
Tooltips
Set the property tooltip to add a tooltip to an inline element. Mouse over the number 42 to see the tooltip.

tast.json
[
"It is ",
{
"type": "Inline",
"tooltip": "The Answer to the Ultimate Question of Life, The Universe, and Everything.",
"children": ["[42]"]
},
"."
]
package.json
{
"name": "example",
"version": "1.0.0",
"orion": {
"dispatchersHelper": {
"actionCreators": {
"consumes": {
"@orion/terminals": [
"createTerminal",
"spliceTerminalTAST"
]
}
}
}
}
}
Tabstops
Set the property isTabStop to true to convert any inline into a tabstop.

tast.json
[
"> This is a natural tabstopĀ·\n ",
{
"type": "Inline",
"isTabStop": true,
"children": ["[this is an inline tabstop]"]
}
]
package.json
{
"name": "example",
"version": "1.0.0",
"orion": {
"dispatchersHelper": {
"actionCreators": {
"consumes": {
"@orion/terminals": [
"createTerminal",
"spliceTerminalTAST"
]
}
}
}
}
}
More
Follow the next sections to know how to use inlines to change the style, handle actions, or reference things inside the TAST.