Output
Information maybe output in a number of ways and logged in the terminal instance with the help of term.write() or term.writeln().
Raw Data
Raw data may include strings and numbers.
Here is a simple hello world example:
term.write('Hello World!');Hello World!▊
With an optional callback function,
term.write('Hello World!', () => console.log('Done!'));
// Done!Escape characters
Below is a list of available and ready to use escape characters;
\n- New lineWhen the
\ncharacter is encountered in the data to output, it moves the cursor to the next line. The data, after every instance of the\ncharacter, is rendereed on a new line.Example:
jsterm.write(`Hello World!\n$ `);Result:My First TerminalHello World! $ ▊The same can be achieved using term.writeln() which writes the data passed on the current line, followed by a new line character.
jsterm.writeln(`Hello World!`); term.write('$ ');\t- TabThe tab character defaults to four (4) space characters.
Example:
jsterm.writeln(`Hello World!\tYou're Welcome.`);Result:My First TerminalHello World! You're welcome. ▊
HTML Strings
You might want to output some HTML string, here is how you can do it;
term.writeln(`<b>Bold Text</b> - <i>Italics</i>`);Bold Text - Italics
▊
Attributes
To output valid HTML tags with attributes, there must be a single space separation between the attributes in every opening tag.
For example: The following won't work as expected
term.writeln('<b class="text-blue">Bold Blue Text</b>');
term.writeln('<b style="color: dodgerblue ">Bold Blue Text</b>');Here is how it should be done
term.writeln('<b class="text-blue">Bold Blue Text</b>');
term.writeln('<b class="text-blue">Bold Blue Text</b>');
term.writeln('<b style="color: dodgerblue ">Bold Blue Text</b>');
term.writeln('<b style="color: dodgerblue">Bold Blue Text</b>'); However, multiple spaces are okay in between the opening and closing tags.
For example:
term.writeln('<b style="color: dodgerblue">Bold Blue Text</b>');Clear Screen
To clear the entire terminal, you can do it programmatically using term.clear().
term.clear();Clear Last Output
To remove the output for the previous write operation, term.clearLast() does the job.
INFO
This is like the undo method but for only one output operation.
Example:
term.writeln('Welcome to Space!');
term.writeln('Loading...');
term.clearLast();Welcome to Space!
▊
It is useful in several cases for example when implementing a loader.
Example: 5s loader
Styles
css.spinner:after { animation: changeContent 0.8s linear infinite; content: "⠋"; } @keyframes changeContent { 10% { content: "⠙"; } 20% { content: "⠹"; } 30% { content: "⠸"; } 40% { content: "⠼"; } 50% { content: "⠴"; } 60% { content: "⠦"; } 70% { content: "⠧"; } 80% { content: "⠇"; } 90% { content: "⠏"; } }Script
jsterm.write('<span class="spinner"></span> Loading...'); setTimeout(() => term.clearLast(), 5000);
Next Step
Work with terminal events that help you trigger actions on the go.