input-terminal
    Preparing search index...

    Allows you to turn any HTMLInputElement into a terminal interface. Define custom commands that can be executed by users, track command history, autocomplete commands, and more.

    import { Terminal, Command } from "input-terminal";
    const input = document.getElementById("terminal") as HTMLInputElement;
    const terminal = new Terminal(input, { prompt: ">> " });
    terminal.bin.add(new Command("echo", (args, options, terminal) => {
    console.log(args);
    return {};
    }));
    terminal.init();

    Hierarchy

    • EventTarget
      • Terminal
    Index

    Constructors

    • Parameters

      • input: HTMLInputElement

        input element to turn into a terminal

      • options: object = {}

        terminal configuration

      • commandHistory: ExitObject[] = []

        history of commands that have been executed

      • commandList: Command[] = []

        list of commands that can be executed by the user

      Returns Terminal

    Properties

    input: HTMLInputElement

    The input element that the terminal is attached to.

    output: undefined | HTMLElement = undefined

    The element that the terminal should output text to.

    history: TermHistory

    The history of commands that have been executed.

    bin: TermBin

    The commands that can be executed by the user.

    options: TermOptions

    The options for the terminal.

    Accessors

    Methods

    • Initializes the terminal. Attaches input listeners and updates the input.

      Returns void

    • Updates the terminal's user input value.

      Parameters

      • OptionaluserInput: string

        the value to update the input with; clears the input if no value is provided

      Returns void

    • Gets the terminal's user input.

      Returns string

      The string in the input, not including the preprompt and prompt

    • Gets the command predictions based on the user's input.

      Parameters

      • Optionaltext: string

        The text to get predictions for; if no text is provided, all commands are returned

      Returns string[]

      The predictions for the terminal's user input

    • Converts the user's input into an array for command execution.

      Parameters

      • input: string

        The string to convert into an array

      Returns string[]

      The array created from the input

    • Get the last exit object of the terminal.

      Returns undefined | ExitObject

      The last exit object of the terminal; if no exit objects are found, returns undefined

    • Executes a command based on the user's input.

      Parameters

      • input: string

        The command to execute

      Returns ExitObject

      The ExitObject returned by the execution

    • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

      The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

      When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

      When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

      When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

      If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

      The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

      MDN Reference

      Parameters

      • type: string
      • callback: null | EventListenerOrEventListenerObject
      • Optionaloptions: boolean | AddEventListenerOptions

      Returns void

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      MDN Reference

      Parameters

      • event: Event

      Returns boolean

    • Removes the event listener in target's event listener list with the same type, callback, and options.

      MDN Reference

      Parameters

      • type: string
      • callback: null | EventListenerOrEventListenerObject
      • Optionaloptions: boolean | EventListenerOptions

      Returns void