{"_id":"term-list","_rev":"15-8a2cbab44a651345c842828ae65bbf7e","name":"term-list","description":"interactive terminal lists","dist-tags":{"latest":"0.2.1"},"versions":{"0.0.1":{"name":"term-list","description":"interactive terminal lists","keywords":["ansi","term","terminal","list","ui","interactive"],"version":"0.0.1","license":"MIT","dependencies":{"term-canvas":"0.0.5","keypress":"~0.2.1"},"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","readmeFilename":"Readme.md","_id":"term-list@0.0.1","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":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL3miDLO0o53xZZf+3hZVJHcas5fNeFc/fqUnnEOqztgIhAIIBoVN0/nw/CbEo27XlrG6rO+m6ZZzaUdj6l9F8pL4Q"}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}]},"0.1.0":{"name":"term-list","description":"interactive terminal lists","keywords":["ansi","term","terminal","list","ui","interactive"],"version":"0.1.0","license":"MIT","dependencies":{"term-canvas":"0.0.5","keypress":"~0.2.1"},"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\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.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","readmeFilename":"Readme.md","_id":"term-list@0.1.0","dist":{"shasum":"699c4f288a5447a4f81b31b80846f957617e8d74","tarball":"https://registry.npmjs.org/term-list/-/term-list-0.1.0.tgz","integrity":"sha512-eC/BRxhZQ5VoU4PcPemGAdq3Jqm07OVjLnPNVQ4YWFKN2yEf8N5eiu9uVB+k3W4rZ9PBNzJfI1m1K4aoLzCDEA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQrY4K8M5UMEUlkhrfA4nxtCT70DqwtjZVnXXAI5pATwIgULnYp4uEeqqVJuYM68++eTRZrbKbRsvvlVTn4BYAdz0="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}]},"0.2.0":{"name":"term-list","description":"interactive terminal lists","keywords":["ansi","term","terminal","list","ui","interactive"],"version":"0.2.0","license":"MIT","dependencies":{"term-canvas":"0.0.5","keypress":"~0.2.1"},"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","readmeFilename":"Readme.md","_id":"term-list@0.2.0","dist":{"shasum":"60f845cec7c9b135318e7d8caa4dd66b1381e37d","tarball":"https://registry.npmjs.org/term-list/-/term-list-0.2.0.tgz","integrity":"sha512-BcqR1yYEpUrbG1PPcSrs7ig3g9h/WxtY6d5iIAjDl3WIPjrfnwCAGbVkJ9hHp50aywDaqAlcavuYeHV7YVODoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdOaCileh+UwvyJ3Ugs1iTd46Ue+1GAnpaEFHnMoNyNAiEAwE98jqCjMPWtHPkMqZL/io2ka+yz0BDjQtGu0uD7G+g="}]},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}]},"0.2.1":{"name":"term-list","version":"0.2.1","description":"interactive terminal lists","keywords":["ansi","term","terminal","list","ui","interactive"],"license":"MIT","dependencies":{"term-canvas":"0.0.5","keypress":"~0.2.1"},"repository":{"type":"git","url":"https://github.com/visionmedia/node-term-list.git"},"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","readmeFilename":"Readme.md","bugs":{"url":"https://github.com/visionmedia/node-term-list/issues"},"homepage":"https://github.com/visionmedia/node-term-list","_id":"term-list@0.2.1","dist":{"shasum":"ab168486769f40e46bdba8f22df2829ceaf3d9e3","tarball":"https://registry.npmjs.org/term-list/-/term-list-0.2.1.tgz","integrity":"sha512-dFdxDtJSX700rEinBc5oAccwYtm7YhMOexowfll2PB4e3hq27a/f7o6Z+ewKe/axCIoJIiIXdbAyy6d0XAY+nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwUcOBoVWhtuTmezLr3YX5W2vd0+aaJeFfZj51XPMMGQIgEVRpQ03BKn9nctk3BKvok+sPdjJ4nE04nD8Q79WBD3g="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"tjholowaychuk","email":"tj@vision-media.ca"},"maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}]}},"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","maintainers":[{"name":"tjholowaychuk","email":"tj@vision-media.ca"}],"time":{"modified":"2022-06-27T04:49:00.350Z","created":"2013-07-18T15:57:06.933Z","0.0.1":"2013-07-18T15:57:08.401Z","0.1.0":"2013-07-18T19:15:56.921Z","0.2.0":"2013-07-19T17:02:50.159Z","0.2.1":"2013-11-21T20:54:07.105Z"},"repository":{"type":"git","url":"https://github.com/visionmedia/node-term-list.git"},"users":{"fanchangyong":true,"elgs":true,"stanzhai":true,"brainpoint":true}}