{"dist":{"shasum":"818ebaa835444f1614638535b071a5bafd403328","tarball":"https://registry.npmjs.org/term-list/-/term-list-0.0.1.tgz","integrity":"sha512-2EyFYY3vS71Dpn/IUGKgj6DeEZFj+YMN9exmhnkA2Rh7g2/pJaW0UjBdiV+OB4cWJABsl2verG/xihEIMYBl5g==","signatures":[{"sig":"MEYCIQCL3miDLO0o53xZZf+3hZVJHcas5fNeFc/fqUnnEOqztgIhAIIBoVN0/nw/CbEo27XlrG6rO+m6ZZzaUdj6l9F8pL4Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"name":"term-list","_from":".","readme":"\n# term-list\n\n  Renders an interactive list to the terminal that users\n  can navigate using the arrow keys. Developers can bind\n  to \"keypress\" events to support removal or opening of items etc.\n\n## Installation\n\n```\n$ npm install term-list\n```\n\n## Example\n\n  A fully interactive list demonstrating removal via backspace,\n  and opening of the websites via the return key.\n\n```js\nvar List = require('term-list');\nvar exec = require('child_process').exec;\n\nvar list = new List({ marker: '\\033[36m› \\033[0m', markerLength: 2 });\nlist.add('http://google.com', 'Google');\nlist.add('http://yahoo.com', 'Yahoo');\nlist.add('http://cloudup.com', 'Cloudup');\nlist.add('http://github.com', 'Github');\nlist.start();\n\nsetTimeout(function(){\n  list.add('http://cuteoverload.com', 'Cute Overload');\n  list.draw();\n}, 2000);\n\nsetTimeout(function(){\n  list.add('http://uglyoverload.com', 'Ugly Overload');\n  list.draw();\n}, 4000);\n\nlist.on('keypress', function(key, item){\n  switch (key.name) {\n    case 'return':\n      exec('open ' + item);\n      list.stop();\n      console.log('opening %s', item);\n      break;\n    case 'backspace':\n      list.remove(list.selected);\n      break;\n  }\n});\n\nlist.on('empty', function(){\n  list.stop();\n});\n```\n\n### API\n\n  - [List()](#list)\n  - [List.prototype.__proto__](#listprototype__proto__)\n  - [List.add()](#listaddidstringlabelstring)\n  - [List.remove()](#listremoveidstring)\n  - [List.at()](#listatinumber)\n  - [List.select()](#listselectidstring)\n  - [List.draw()](#listdraw)\n  - [List.up()](#listup)\n  - [List.down()](#listdown)\n  - [List.stop()](#liststop)\n  - [List.start()](#liststart)\n\n### List()\n\n  Initialize a new `List` with `opts`:\n  \n  - `marker` optional marker string defaulting to '› '\n  - `markerLength` optional marker length, otherwise marker.length is used\n\n### List.prototype.__proto__\n\n  Inherit from `Emitter.prototype`.\n\n### List.add(id:String, label:String)\n\n  Add item `id` with `label`.\n\n### List.remove(id:String)\n\n  Remove item `id`.\n\n### List.at(i:Number)\n\n  Return item at `i`.\n\n### List.select(id:String)\n\n  Select item `id`.\n\n### List.draw()\n\n  Re-draw the list.\n\n### List.up()\n\n  Select the previous item if any.\n\n### List.down()\n\n  Select the next item if any.\n\n### List.stop()\n\n  Reset state and stop the list.\n\n### List.start()\n\n  Start the list.\n\n## License\n\n  MIT\n","license":"MIT","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"keywords":["ansi","term","terminal","list","ui","interactive"],"_npmVersion":"1.2.30","description":"interactive terminal lists","maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"dependencies":{"keypress":"~0.2.1","term-canvas":"0.0.5"},"readmeFilename":"Readme.md","_id":"term-list@0.0.1","version":"0.0.1"}