{"bugs":{"url":"https://github.com/visionmedia/node-term-list/issues"},"dist":{"shasum":"ab168486769f40e46bdba8f22df2829ceaf3d9e3","tarball":"https://registry.npmjs.org/term-list/-/term-list-0.2.1.tgz","integrity":"sha512-dFdxDtJSX700rEinBc5oAccwYtm7YhMOexowfll2PB4e3hq27a/f7o6Z+ewKe/axCIoJIiIXdbAyy6d0XAY+nw==","signatures":[{"sig":"MEUCIQCwUcOBoVWhtuTmezLr3YX5W2vd0+aaJeFfZj51XPMMGQIgEVRpQ03BKn9nctk3BKvok+sPdjJ4nE04nD8Q79WBD3g=","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  ![interactive terminal list](https://dsz91cxz97a03.cloudfront.net/YNqOchbrMD-150x150.png)\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\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.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.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"},"homepage":"https://github.com/visionmedia/node-term-list","keywords":["ansi","term","terminal","list","ui","interactive"],"repository":{"url":"https://github.com/visionmedia/node-term-list.git","type":"git"},"_npmVersion":"1.3.14","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.2.1","version":"0.2.1"}