{"dist":{"shasum":"60f845cec7c9b135318e7d8caa4dd66b1381e37d","tarball":"https://registry.npmjs.org/term-list/-/term-list-0.2.0.tgz","integrity":"sha512-BcqR1yYEpUrbG1PPcSrs7ig3g9h/WxtY6d5iIAjDl3WIPjrfnwCAGbVkJ9hHp50aywDaqAlcavuYeHV7YVODoA==","signatures":[{"sig":"MEUCIDdOaCileh+UwvyJ3Ugs1iTd46Ue+1GAnpaEFHnMoNyNAiEAwE98jqCjMPWtHPkMqZL/io2ka+yz0BDjQtGu0uD7G+g=","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"},"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.2.0","version":"0.2.0"}