Needlessly Postulating Minds
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

terminal-menu-2

0.0.0 • Public • Published

terminal-menu-2

Fix the problem of displaying Chinese-like characters in the original terminal-menu package.

npm i terminal-menu-2 --save

Example:

function slice(str, len) {
  return str.slice(0, len - (str.match(/[^\u0000-\u00ff]/g) || '').length);
}
 
for (var i = 0; i < items.length; i++) {
  menu.add(slice(items[i].title, 80));
}

screen shot

terminal-menu

retro ansi terminal menus for serious 80s technicolor business

terminal menu

example

var menu = require('../')({ width: 29, x: 4, y: 2 });
menu.reset();
menu.write('SERIOUS BUSINESS TERMINAL\n');
menu.write('-------------------------\n');
 
menu.add('ADD TRANSACTION INVOICE');
menu.add('BUSINESS INTELLIGENCE');
menu.add('ACCOUNTS PAYABLE');
menu.add('LEDGER BOOKINGS');
menu.add('INDICATOR CHART METRICS');
menu.add('BACKUP DATA TO FLOPPY DISK');
menu.add('RESTORE FROM FLOPPY DISK');
menu.add('EXIT');
 
menu.on('select', function (label) {
    menu.close();
    console.log('SELECTED: ' + label);
});
menu.createStream().pipe(process.stdout);

methods

var createMenu = require('terminal-menu')

var menu = createMenu(opts)

Create a menu with opts:

  • opts.width - menu width in columns
  • opts.x - top-left corner x offset, default: 1
  • opts.y - top-left corner y offset, default: 1
  • opts.fg - foreground color, default: 'white'
  • opts.bg - background color, default: 'blue'
  • opts.padding.left - left padding in columns
  • opts.padding.right - right padding in columns
  • opts.padding.top - top padding in rows
  • opts.padding.bottom - bottom padding in rows

The menu can be driven around with the arrow keys and j/k, vi-style. To quit out of the menu, hit ^C or q.

menu.add(label)

Create a new selectable menu item with the string label.

menu.write(msg)

Write a message to the menu.

menu.createStream()

Return the stream to be piped to a terminal.

menu.reset()

Reset the terminal, clearing all contents.

menu.close()

Unregister all listeners and put the terminal back to its original state.

install

With npm do:

npm install terminal-menu

license

MIT

install

npm i terminal-menu-2

Downloadsweekly downloads

4

version

0.0.0

license

MIT

repository

githubgithub

last publish

collaborators

  • avatar