Terminal Mode
This section is about the mode functionality of the Terminal.
Mode is composed with two types:
-
insert: When typing, it inserts the character/s at the cursor's position, forcing all characters past it one position further.
-
overwrite: When typing, overwrites any text that is present in the current location.

Buttons for:
-
toggleTerminalsMode
-
replaceTerminalsMode with insert
-
replaceTerminalsMode with overwrite
index.js
import Example from './Example.gast';
export default class PluginExample {
constructor({ diHelper }) {
this._diHelper = diHelper;
}
onInit() {
this._diHelper.invoke(this._createTerminal);
this._diHelper.invoke(this._putComponents);
}
_createTerminal = ({ dispatchersHelper }) => {
dispatchersHelper.dispatch('createTerminal', {
terminal: { id: 'terminal1' },
});
};
_putComponents = ({ gastHelper }) => {
gastHelper.putGASTComponent('Example', Example);
};
}
Example.gast
<div style="{lineHeight: 1.1}">
<button onClick="() => dispatch('toggleTerminalsMode')">toggleTerminalsMode</button>
<br />
<button onClick="() => dispatch('replaceTerminalsMode', { mode: 'insert' })">
replaceTerminalsMode with insert
</button>
<br />
<button onClick="() => dispatch('replaceTerminalsMode', { mode: 'overwrite' })">
replaceTerminalsMode with overwrite
</button>
<Terminal terminalId="'terminal1'" />
<div>The current mode is: {select('getTerminalsMode')}.</div>
</div>
package.json
{
"name": "plugin-test",
"version": "1.0.0",
"orion": {
"dispatchersHelper": {
"actionCreators": {
"consumes": {
"@orion/terminals": [
"createTerminal",
"toggleTerminalsMode",
"replaceTerminalsMode"
]
}
}
},
"selectorsHelper": {
"selectorFactories": {
"consumes": {
"@orion/terminals": [
"getTerminalsMode"
]
}
}
}
}
}
getTerminalsMode
Returns the current typing mode of the terminals.
Usage
getTerminalsMode(state: Object): String;
-
state Object
Required. The global state of the application.
Returns
-
String
Returns 'insert' or 'overwrite'.
Example
const state = storeHelper.getState();
const getTerminalsMode = selectorsHelper.make('getTerminalsMode');
const mode = getTerminalsMode(state);
replaceTerminalsMode
Replaces the typing mode of the terminals by the provided one.
Usage
dispatchersHelper.dispatch('replaceTerminalsMode', { mode: String });
-
mode 'insert'|'overwrite'
Required. The desired mode to replace.
Example
dispatchersHelper.dispatch('replaceTerminalsMode', { mode: 'insert' });
dispatchersHelper.dispatch('replaceTerminalsMode', { mode: 'overwrite' });
toggleTerminalsMode
Switches the current terminals mode between insert and overwrite.
If the current mode is insert and toggleTerminalsMode actions is dispatched, the current mode will be replaced with overwrite.
Usage
dispatchersHelper.dispatch('toggleTerminalsMode');
Example
dispatchersHelper.dispatch('toggleTerminalsMode');