@dash4/plugin-terminal
TypeScript icon, indicating that this package has built-in type declarations

0.9.3 • Public • Published

Dash4 Plugin Terminal

Emulates a terminal instance in the `Dash4` interface. Allowes you to autostart / stop / start commands.

NPM version License Commitizen friendly Prettier


Dash4 Plugin Terminal screencast

Table of Contents

Installation

npm i -D @dash4/plugin-terminal

Usage

dash4.config.js

const { PluginTerminal } = require('@dash4/plugin-terminal');

async function getConfig() {
  return {
    tabs: [
      {
        title: 'Root',
        rows: [
          [
            new PluginTerminal({
              cmd: 'node ./bin/chalk.js',
              dark: true,
              autostart: true,
            }),
          ],
        ],
      },
    ],
  };
}

module.exports = getConfig;

options:

// command which should be executed
cmd: string;
// current working directory of the child process.
cwd?: string;
// define a custom title for the window
title?: string;
// define a custom subtitle for the window
subtitle?: string;
// define commands (keycodes) which are allowed to enter
allowedCommands?: Array<{
  // keycode could be "a" or 13 (enter)
  keyCode: number | string;
  // translated keyCode for terminal
  // for example if keyCode = 13 the terminalOutput is "\r"
  terminalOutput?: string;
  // title will be displayed in button
  title: string;
  // allows you to modifie (validate) the entered input before execution
  input?: (value: string) => string;
}>;
// enable/disable dark mode
dark?: boolean;
// if true the given command will be executed on start
autostart?: boolean;
// grid with per breakpoint
// [12,6,3] means 100% width on small viewports, 50% on medium viewports and 33.3% on large viewports
width?: number[];
// define fixed height
height?: number;

License

The @dash4/plugin-terminal is MIT licensed

Readme

Keywords

none

Package Sidebar

Install

npm i @dash4/plugin-terminal

Weekly Downloads

58

Version

0.9.3

License

MIT

Unpacked Size

47.6 kB

Total Files

14

Last publish

Collaborators

  • smollweide