tj / Node Term List
Interactive terminal list for nodejs
Stars: ✭ 127
Programming Languages
javascript
184084 projects - #8 most used programming language
term-list
Renders an interactive list to the terminal that users can navigate using the arrow keys. Developers can bind to "keypress" events to support removal or opening of items etc.
Installation
$ npm install term-list
Example
A fully interactive list demonstrating removal via backspace, and opening of the websites via the return key.
var List = require('term-list');
var exec = require('child_process').exec;
var list = new List({ marker: '\033[36m› \033[0m', markerLength: 2 });
list.add('http://google.com', 'Google');
list.add('http://yahoo.com', 'Yahoo');
list.add('http://cloudup.com', 'Cloudup');
list.add('http://github.com', 'Github');
list.start();
list.on('keypress', function(key, item){
switch (key.name) {
case 'return':
exec('open ' + item);
list.stop();
console.log('opening %s', item);
break;
case 'backspace':
list.remove(list.selected);
break;
}
});
list.on('empty', function(){
list.stop();
});
API
- List()
- List.add()
- List.remove()
- List.at()
- List.select()
- List.draw()
- List.up()
- List.down()
- List.stop()
- List.start()
List()
Initialize a new List
with opts
:
-
marker
optional marker string defaulting to '› ' -
markerLength
optional marker length, otherwise marker.length is used
List.add(id:String, label:String)
Add item id
with label
.
List.remove(id:String)
Remove item id
.
List.at(i:Number)
Return item at i
.
List.select(id:String)
Select item id
.
List.draw()
Re-draw the list.
List.up()
Select the previous item if any.
List.down()
Select the next item if any.
List.stop()
Reset state and stop the list.
List.start()
Start the list.
License
MIT
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].