{"_id":"argp","_rev":"233-6d6e5a2737d894caaf9d6b9c233893e9","name":"argp","description":"Command-line option parser","dist-tags":{"latest":"1.0.4"},"versions":{"0.0.0":{"name":"argp","version":"0.0.0","description":"Command line options parser","keywords":["cli","options","parser"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.0","dist":{"shasum":"eb7477a2436af52ccfe52a77563f00f70b3b1be3","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.0.tgz","integrity":"sha512-OBb1epEQmmsmtg5R0v6dCLWWFSgM0oeKUAfS51E4aYs72RVzuc0HM6T10StYnsgl9HdMauKVP2B2bAm3TN/d5g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCyzIjsKfB5jczztkfO1EwECs/ry1DFyOZ14hHdW3bmWwIhAKAZsp8Y6FOMf96c/I3u+4h3gXWZsKiqy689ab5Z0g1m"}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.1":{"name":"argp","version":"0.0.1","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argp"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.1","dist":{"shasum":"f62bb1d1a6c1c94d7cbcc8e28294fd55733667be","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.1.tgz","integrity":"sha512-bFuGJ+CS+zxG0jACEvBIgU71DTKyibtxNQSR68z6DpTL7nLbwyutKuiEkNVxvMzP7giUG2g1PUBNIBW1j/211A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBeON60aSfYiqF40QUfsf+A/47C60F5COypDxb1mNCSeAiBqvi0gcVserxinltMUvRIoIi+bQY/GaTp699w7eeJvMw=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.2":{"name":"argp","version":"0.0.2","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argp"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.2","dist":{"shasum":"9962edd7a71d69c6c87a33088f06bff9a87082cc","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.2.tgz","integrity":"sha512-qC4F3DMyApC6q/q63Gbin4Hz5p6qIFy+a/BfYRlZZzevPZcxHHzPTs7Xy8ddDEya1ilq001jtAFVMejPXK96VQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2rrLzxRIvw5cXw9qbU6xBu3GP5cc9O9xIuLqJntlQBQIgW4GqCvl8/hhJRjSGIVfrW3lK5InX3E2vLTwz75onuv8="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.6":{"name":"argp","version":"0.0.6","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argp","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.6","dist":{"shasum":"9df2024393cb8106091afe5100d1e55451d2ce95","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.6.tgz","integrity":"sha512-lN3xPv1mpwbfHBOo32RgLVycWeVS730U8gRttzceSSIOeMeNF5mBLhSM2N4cwUlMiVIAOFRqG6gvshdPLOgknA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuJjcqQVAazUtM7vm+jlzuol0ty9vaVWJBLDNkqM45TwIgVFvqpKxAp/B2yv0F5GTZ4YkQecBfDtvnGmuy7v7UbGY="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.7":{"name":"argp","version":"0.0.7","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.7","dist":{"shasum":"5b0f1daeac20415b55192869242483831718f067","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.7.tgz","integrity":"sha512-PlGr0ELmI5Y1cVsQzMWkY0JrHJQ6WY4mp0lr0RMnoHdjbuA4FEB5/mMvuV3d4/ndxusoX1S2CWw3e444spt7zg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFsyrPXTUa1ACUmeIpfVs8bLZkVBIhRIpjyf5YeHtxiMAiEA1HceirzUXAjjkOKakQcsYfVUHqakoRvhtqTBXVEbDwY="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.8":{"name":"argp","version":"0.0.8","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.8","dist":{"shasum":"a73362fa7891a1e164e16ae98de4278b4896d238","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.8.tgz","integrity":"sha512-SOpgKcbbo0MZE8lwCHDRzU8xFmbYgfgtu2IJcvjj2mzUl05318iwVI8Gh/SbzoccmkeKPxyzqdQYtSJXOmVeXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIER9q9kFGhy5CIhHBL8EPGte/QEJuvaIhmff2HisInCxAiAOfl4NpA/0YBlgOGsIK4D7NAtrZd5c3mLA3grqcWCsMQ=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.9":{"name":"argp","version":"0.0.9","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.9","dist":{"shasum":"368f7e8cc84358515f752ba2bd5985b5872a717a","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.9.tgz","integrity":"sha512-OxmM3AtRXqfj53rKeHx78YDhOoF0AQacOMUnlNNk5SWPxyWeQUSCjDND5x9Q7WmRfzmRURQ6kKmWsnTg4afMyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGagyXV3P9R4EmjuYtNCXajuIfBhy4jkc4T34E75qpWNAiEAnVorf2iRGwPinY9PC3AxGPerNHSTwhUW5o1Rq2TKJIw="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.10":{"name":"argp","version":"0.0.10","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.10","dist":{"shasum":"7bd685f2ecafa861dbf693b193bda0f9813d3458","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.10.tgz","integrity":"sha512-t1+cC2giMNt2nu5rpCZfQIX8jCeuDb6Z8ICjGiLWC/xueq8YcGnyR1CwlPW00RrCawaurllMEQVWC11hcx+rtA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE4ik5W96amhSjCY3t42JK7lTxw/Y3Y7dU8NuEVQoHNSAiAs99VZfjTpciQdQvg7DknwOIZQ+du2SVQt1Xgpo4/0Fg=="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.11":{"name":"argp","version":"0.0.11","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.11","dist":{"shasum":"821e55b75cbe6e000562c7cd82ef57d346e8b873","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.11.tgz","integrity":"sha512-3hO8h8rfls3zR8HP8W+TtAu1Er0dM9XtqOwnjHjWSvGIaCzt6ajjrY73ywJSZEOfG0ClQuGsEUiqAFSphiJrSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/TzUZgLyNrLgEjVrFF6JLdmln0GWKTWqAoihlzrhiqAIhAOVTvuyvYTk4VbPD6ir2131JsCS3wQHSx3MDUyLyjDjz"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.12":{"name":"argp","version":"0.0.12","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.12","dist":{"shasum":"aa8510fb66da901acb987720a897ebf82a3e2b35","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.12.tgz","integrity":"sha512-eJuvpX87BL9IP/OAboonmM/VMRkso/b8q+KJ3NqOV3okIGxfjj+IEVxSvczwlXfZ4i8V8nQ0BmMskbyQ/lQxwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVnHD0EaPj+nj9xTPBLepzN1N3VU7vWMj4uhVuucftOgIhALkKTF6Y3r+9mhFid4JXbrzR/m3TMkg46F9Ped7uRhtw"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.13":{"name":"argp","version":"0.0.13","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.13","dist":{"shasum":"ac2a2b40a2ed10752016f37ba006fc8900946aac","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.13.tgz","integrity":"sha512-corVSS/lg/PyqY01NqyuRFIZe/rlCepprV2QbxQLFv84E3D6Jca/ncBCU/RIeAako0e/3FkMH/v7kdE6833a8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKslhEI7vEB00lxds0zvIPoQ7aSDpHah4Vrs8w5I9jMAiBdGNnSMbrSpLQmz1XKaQnhBxPQJMV2OeDBRqFzfal1ew=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.14":{"name":"argp","version":"0.0.14","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.14","dist":{"shasum":"da13deb2293b26c6923e9d0ecef78775c7b3d68a","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.14.tgz","integrity":"sha512-XlkV00WiAT4QVaZnPtWYliD/lgpjkFLuHNskYnaf5uyhExNH+P0pE5Pq/Nmw3vMFrCMw5/fToyYUGL2cFCqDwQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCy92WAj2FkQvf03djIJ+A0PtqJ8To8gXBPIbj9et7ZawIgVTzZONhKpmze5BKfHw12r9SlRMV5Xl++Vfz4wzMlAqY="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.15":{"name":"argp","version":"0.0.15","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.15","dist":{"shasum":"0be8be15c885640b5693c37faccdd79c125b24ff","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.15.tgz","integrity":"sha512-/+iA+C/53WAt0lrJ++K6erbor6ycoGGqmcr9OH2VZjlXTHZ2Dr3zlza8URdf119FJ/3Yqxf1e98EEbg7jL1P1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICFMiYtYY5///1EY8gB/O80qoOjHIJhxNoCtXs6CNF3nAiBJ/18ACq7vxlYAZrTfXMY10C990QMVMKhqKR54MRpM2g=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.0.16":{"name":"argp","version":"0.0.16","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.0.16","dist":{"shasum":"c00c06316b0df2055447ae00f3bdc82001e2f34f","tarball":"https://registry.npmjs.org/argp/-/argp-0.0.16.tgz","integrity":"sha512-noPNhOHpLQZoVL8YViBGPJCTkOZjY6PdO4fFU1M5wUy7OoLqdmlWyWt78G6u2vNCNk5fxPHY1ZxxHvkeT6OWfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSSLXXFf6fPsb3GIPBsBQhJLqzMOUKQedNJjAZDT9HKwIhANMjlomnJRZ56V+c9F2GaiMbsF/FjDiqh5NYcnthsDpY"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.1.0":{"name":"argp","version":"0.1.0","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.1.0","dist":{"shasum":"162183b0ea1d618ed003962ceafa17409c2c8b27","tarball":"https://registry.npmjs.org/argp/-/argp-0.1.0.tgz","integrity":"sha512-fizntxfT69DliQt90A8NskFPbx40eUKRaUjUliwmz3hiD3bgXVJaN2AmwaNRdZR/S3QLsXTpQshnpM1m0ioD2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBi6Vo/n7QLWxLeHCiK3UBXvvt+g64B7nsZ/WMrp05SNAiEAq2JuzUpdnHSjUhW0P89RV2OYshF2AeNGqmF0Sk2Ks2s="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.1.1":{"name":"argp","version":"0.1.1","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.1.1","dist":{"shasum":"6628db49e0cbc8e9048090ad90f0a151c5c3547e","tarball":"https://registry.npmjs.org/argp/-/argp-0.1.1.tgz","integrity":"sha512-NSpmdVowgfioiXfDGcIkXOWbP/i2pvfg8eHQnG2cQsP1TWJJFqv4sbcAuU6/kAEbHwaYW1WH9bp4kBAJv/ck7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/9z24kGtBmzxERW7V9uF+Y05Ju5rO+H3dKDVndN1DRQIgHGvvffMzXtKUiBdFktM5HkQwVJsieDOILdKbDNEFUAk="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.1.2":{"name":"argp","version":"0.1.2","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.1.2","dist":{"shasum":"003a06b5eaa621b1c5097d71222e421a99e861c5","tarball":"https://registry.npmjs.org/argp/-/argp-0.1.2.tgz","integrity":"sha512-tuPmjDiF5x2KhhCdyftqqRwwTSkzewrMxVXhekUYNE+AcyP3yHspgRolO61udmEU0SAMOToNWcgbdBFPpaigZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJFPE1C1D12ihvA3QLob5Mr/9DW2csxlb4D4/taZ7yDwIgZGTPOxqhpNPiCgbt2UN33vY9PmBrCek2pmAKie5Dujw="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.1.3":{"name":"argp","version":"0.1.3","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"_id":"argp@0.1.3","dist":{"shasum":"b6666101b3c7d8745fac77cd8d52a9a80f45f367","tarball":"https://registry.npmjs.org/argp/-/argp-0.1.3.tgz","integrity":"sha512-NYkNywam2nZvxxKcp9fpeZqTTsD3wPladODMxecjOw+UmkKpxqLSXrDDxSpGEnTRb6IAiCQ/JbDy88xV7evUyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAt5xTIJXo0xR1LCH6Ba1qAc9VDxQvSVdq8ncKw2erh7AiEA6VObchDXyEuoX4UnmQOo2sV0XDYQAGGNhX3Yc5WxoH8="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.2.0":{"name":"argp","version":"0.2.0","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"scripts":{"test":"node test/index"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"homepage":"https://github.com/gagle/node-argp","_id":"argp@0.2.0","dist":{"shasum":"0783dfd32f0d1d2d8ff9183ed1b97cb632dbd800","tarball":"https://registry.npmjs.org/argp/-/argp-0.2.0.tgz","integrity":"sha512-hFQRV9HH6SwNMrAQbknV0HW53RtriAvBriPeO11YpVOrmsYUhoQQ1oPGjwu24F1+OdRjwsxFZQ60YKun+lRhPA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCN4gXKeI022L+eYi2pIr0QI/a71Ziu5D3HfyH+PbPH7AIgY68YaH9UmGJyOtOfKPgfr3c5xh7yIyuMgs6xCk7VlhM="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.2.1":{"name":"argp","version":"0.2.1","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"scripts":{"test":"node test/index"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"homepage":"https://github.com/gagle/node-argp","_id":"argp@0.2.1","dist":{"shasum":"5c7161193749d229ea6ff2e6ec8162ea8c47a35c","tarball":"https://registry.npmjs.org/argp/-/argp-0.2.1.tgz","integrity":"sha512-tR8OTu1w/dYCpLuXXay7Knj8Wjgb9WJtnhTBQB0/VpDaWXoKjKZQpc6RCUJfXL5fEw0yvQ/8v5qZfURdtvoclg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqnANOnrm/oHMs9+Eu7RTx20fxZ/G6pQwLpX8G01QDOAIgQZRePa7tF5wGsBx5hoqcE2UCeTFSxqM2hKAgqVtFpTg="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"0.2.2":{"name":"argp","version":"0.2.2","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"scripts":{"test":"node test/index"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"homepage":"https://github.com/gagle/node-argp","_id":"argp@0.2.2","dist":{"shasum":"f4d2e8d124429e087860420ee49a7246ecb622a2","tarball":"https://registry.npmjs.org/argp/-/argp-0.2.2.tgz","integrity":"sha512-LzMQJC/NIvmlSFI5QmI0j8bp+XriZvvLxAd03nwAOlr+lhPhg+xHAcZiEdXB8twIssY6LsqhYjpjmolP/dlfTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiZlWXqRgLXEr4cIV7b89qBCAnoIjDctCXiEQYtlcN7QIgAV7UegN/3sKVINCutz2OrIAawsnXBFTLU8/x4F9rzcA="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"1.0.0":{"name":"argp","version":"1.0.0","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"scripts":{"test":"node test/index"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"homepage":"https://github.com/gagle/node-argp","_id":"argp@1.0.0","dist":{"shasum":"588c318c6c0f7badd5a89ed5a0cdd379201dda47","tarball":"https://registry.npmjs.org/argp/-/argp-1.0.0.tgz","integrity":"sha512-3j4gbhACJRhFW2JFTnNSXvneN1dLw50x1psUEKF5lZRSLEgBJtSTT4wGscBJ++stKRbS4OYaxG16dxLWf0ZqQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDl5etEBwsQv7f3Xj2ve7KrOpna1mk1Qn7Y2hKKRPPE3AiEAgVzTV4wOnKVNneAPIE7LZtYYuII7xbtpTGFQmQ6IWiA="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"directories":{}},"1.0.1":{"name":"argp","version":"1.0.1","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"scripts":{"test":"node test/index"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"homepage":"https://github.com/gagle/node-argp","_id":"argp@1.0.1","dist":{"shasum":"19b2e088aa6057039800f549c27d2b01d1c32e6a","tarball":"https://registry.npmjs.org/argp/-/argp-1.0.1.tgz","integrity":"sha512-PG6Sjcgz8vKBeSs1O1z2KKcKba/U0vanuFTXNbx07XIlo7W0AOCA9Ui48wQ7DV69KVEgE5vnlMjN80cFSbDbDA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBNeDaweBmVDRPoqsqwrZao08a/N/wIRmKe+Bh81+qxHAiEApGdKNo85aoaNjwvWbv2C5nla2WdDaCRD0UKyTpLiR8c="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}]},"1.0.3":{"name":"argp","version":"1.0.3","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"scripts":{"test":"node test/index"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"homepage":"https://github.com/gagle/node-argp","_id":"argp@1.0.3","dist":{"shasum":"5f4bef339522e2fdafb425a59dd8f63000e054c9","tarball":"https://registry.npmjs.org/argp/-/argp-1.0.3.tgz","integrity":"sha512-2zvhKkxVZPhjS3YpFtFQm/lZ0+DXRp42uIdbfxRunDO8RpDf9Wq7WTkPub/XuAZv4rqItmEOeS77Ky2adKDPDw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLgEoFP8lzMkZ61X1SEt9rx7QeRKeneg6VDjTM/IfbeQIhALGkoIucf3YXVL3Eh9iJniRso9NbyJ5vcnXb/7HVTFfO"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}]},"1.0.4":{"name":"argp","version":"1.0.4","description":"Command-line option parser","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"engines":{"node":">=0.10"},"scripts":{"test":"node test/index"},"license":"MIT","main":"lib","bugs":{"url":"https://github.com/gagle/node-argp/issues"},"homepage":"https://github.com/gagle/node-argp","_id":"argp@1.0.4","dist":{"shasum":"b31c73075ad6d6ccb1d8c86acd69ff300305b194","tarball":"https://registry.npmjs.org/argp/-/argp-1.0.4.tgz","integrity":"sha512-dBwgZOneFCvOmuPsde14fGvdgv8eEGlFPSbHlcPb+6i0491pbnbnlp9SVxF745hlK9akq9MGtNFLO0gl6HFxLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCB6Cu4AcoMDankdZ78wXVYnOMDc789J9uajJQ4P8SpcQIgBaxzvKMNAttPVP7e7/o7AZPfegSrywbxQl2vCXCiYA8="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"},"maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}]}},"readme":"argp\r\n====\r\n\r\n#### Command-line option parser ####\r\n\r\n[![NPM version](https://badge.fury.io/js/argp.png)](http://badge.fury.io/js/argp \"Fury Version Badge\")\r\n[![Build Status](https://secure.travis-ci.org/gagle/node-argp.png)](http://travis-ci.org/gagle/node-argp \"Travis CI Badge\")\r\n\r\n[![NPM installation](https://nodei.co/npm/argp.png?mini=true)](https://nodei.co/npm/argp \"NodeICO Badge\")\r\n\r\nInspired by the extremly well-known [argp C library](http://www.gnu.org/software/libc/manual/html_node/Argp.html), this module parses GNU-style command-line options. Help, usage and version messages are automatically generated and line-wrapped at 80 columns. The module checks for errors, can be easily adapted to your needs thanks to its evented system and it also works when Node.js is in debug mode. The module is uncached and each property is deleted once all the input parameters have been parsed, so there's no memory footprint.\r\n\r\nThis module it's made for you if you want:\r\n\r\n- Robust solution that reads GNU-style options.\r\n- Command configuration.\r\n- Basic error checking.\r\n- Nice help messages without caring about indentation, multilines, etc.\r\n- Zero memory footprint.\r\n\r\nA common configuration looks like this:\r\n\r\n```javascript\r\n//If you're not going to use multiple parser instances or you don't need to\r\n//reuse a parser, don't cache the module, this will guarantee a zero memory\r\n//footprint\r\nvar argv = require (\"argp\").createParser ({ once: true })\r\n    .description (\"Sample app.\")\r\n    .email (\"a@b.c\")\r\n    .body ()\r\n        //The object and argument definitions and the text of the --help message\r\n        //are configured at the same time\r\n        .text (\" Arguments:\")\r\n        .argument (\"arg\", { description: \"Sample argument\" })\r\n        .text (\"\\n Options:\")\r\n        .option ({ short: \"o\", long: \"opt\", description: \"Sample option\" })\r\n        .help ()\r\n        .version (\"v1.2.3\")\r\n    .argv ();\r\n\r\nconsole.log (argv);\r\n\r\n/*\r\n$ node script.js\r\n\r\n{\r\n  opt: false,\r\n  help: false,\r\n  version: false,\r\n  arg: false\r\n}\r\n\r\n$ node script.js --help\r\n\r\nUsage: script [options] [arguments]\r\n\r\nSample app.\r\n\r\n Arguments:\r\n  arg                         Sample argument\r\n\r\n Options:\r\n  -o, --opt                   Sample option\r\n  -h, --help                  Display this help message and exit\r\n  -v, --version               Output version information and exit\r\n\r\nReport bugs to <a@b.c>.\r\n*/\r\n```\r\n\r\nIf you have a `package.json` file you can take from it the description, email and version using the `readPackage()` function. Take into account that this function calls a synchronous `fs` operation. Doesn't really matter because this module is one of the first things you're going to execute in your program.\r\n\r\n```javascript\r\nvar argv = require (\"argp\")\r\n    //If no path is provided, it tries to read the \"./package.json\" file\r\n    .readPackage (\"path/to/package.json\")\r\n    .body ()\r\n        .text (\" Arguments:\")\r\n        .argument (\"arg\", { description: \"Sample argument\" })\r\n        .text (\"\\n Options:\")\r\n        .option ({ short: \"o\", long: \"opt\", description: \"Sample option\" })\r\n        .help ()\r\n    .argv ();\r\n```\r\n\r\n#### Documentation ####\r\n\r\n- [What's new in v1?](#new)\r\n- [Quick examples with no configuration](#quick)\r\n- [Configuring options](#options)\r\n- [Configuring arguments](#arguments)\r\n- [Configuring commands](#commands)\r\n- [Real examples](#examples)\r\n\r\n#### Functions ####\r\n\r\n- [_module_.createParser([options]) : Argp](#createparser)\r\n\r\n#### Objects ####\r\n\r\n- [Argp](#argp_object)\r\n\r\n---\r\n\r\n<a name=\"new\"></a>\r\n__What's new in v1?__\r\n\r\nTwo things will break your code:\r\n\r\n- Parser instances are introduced. To create one you need to call to [createParser()](#createparser).\r\n  In most cases you only need to append `.createParser ({ once: true })`, for example:\r\n\r\n  ```javascript\r\n  var argv = require (\"argp\").createParser ({ once: true })\r\n      ...\r\n      argv ();\r\n  ```\r\n  \r\n  The `once` option will uncache the module when [argv()](#argp_argv) is called.\r\n\r\n- The second argument from the [end](#event_end) event is removed.\r\n  \r\n  Before:\r\n\r\n  ```javascript\r\n  .on (\"end\", function (argv, fns){\r\n    /*\r\n    fns.printHelp ();\r\n    fns.printUsage ();\r\n    fns.printVersion ();\r\n    fns.fail ();\r\n    */\r\n  })\r\n  ```\r\n  \r\n  After:\r\n\r\n  ```javascript\r\n  .on (\"end\", function (argv){\r\n    /*\r\n    this.printHelp ();\r\n    this.printUsage ();\r\n    this.printVersion ();\r\n    this.fail ();\r\n    */\r\n  })\r\n  ```\r\n\r\n---\r\n\r\n<a name=\"quick\"></a>\r\n__Quick examples with no configuration__\r\n\r\nIf an option has not been defined the type of the value is converted automatically from a string to a number, boolean, null or undefined.\r\n\r\nBy default the parser doesn't allow undefined arguments and options because you typically want to have an absolute control over the calls to your program in order to avoid unexpected behaviours. Allowing undefined arguments and options is as simple as this:\r\n\r\n```javascript\r\nvar argv = require (\"argp\").createParser ({ once: true })\r\n    .allowUndefinedArguments ()\r\n    .allowUndefinedOptions ()\r\n    .argv ();\r\n```\r\n\r\n```bash\r\n$ node script.js -a -b -c\r\n{ a: true, b: true, c: true }\r\n\r\n$ node script.js a b c\r\n{ a: true, b: true, c: true }\r\n\r\n$ node script.js -abc null\r\n{ a: true, b: true, c: null }\r\n\r\n$ node script.js --a --b 1 --d=e\r\n{ a: true, b: 1, d: \"e\" }\r\n\r\n$ node script.js --no-a b\r\n{ a: false, b: true }\r\n\r\n$ node script.js --a -- -b --c d\r\n{ a: true, \"-b\": true, \"--c\": true, d: true }\r\n```\r\n\r\n---\r\n\r\n<a name=\"options\"></a>\r\n__Configuring options__\r\n\r\nExample: [options.js](https://github.com/gagle/node-argp/blob/master/examples/options.js).\r\n\r\nConsiderations:\r\n\r\n1. By default the options are flags. If the option requires a value, the `metavar` property must be defined. This property is a string and can be seen when the --help and --usage messages are printed.\r\n\r\n  ```bash\r\n  $ node script.js --help\r\n  ...\r\n    o, --opt=STR               Sample option\r\n  ...\r\n  ```\r\n  \r\n  Where `STR` is the `metavar` property.\r\n\r\n2. By default, the value of the options is a string. Configure the `type` property if the value is a number, boolean (rarely used, use a flag instead) or array (comma-separated values and multiple assignments).\r\n3. Each option has an id which is used to store the value in the final object. This id is the long name. If the long name has not been defined then the id is the short name.\r\n\r\n  ```javascript\r\n  .option ({ short: \"a\", long: \"aa\" })\r\n  //{ aa: false }\r\n  .option ({ long: \"aa\" })\r\n  //{ aa: false }\r\n  .option ({ short: \"a\" })\r\n  //{ a: false }\r\n  ```\r\n4. Mandatory options (aka `required`) are not implemented because options are _optional_. Use a [command](#commands) if you need mandatory parameters.\r\n\r\nCommon properties between flags and options with a value:\r\n\r\n- __description__ - _String_  \r\n  The description.\r\n- __hidden__ - _Boolean_  \r\n  If true, the option is not displayed in the --help and --usage messages. Default is false.\r\n- __long__ - _String_  \r\n  The long name. Cannot contain white spaces.\r\n- __short__ - _String_  \r\n  The short name. It must be an alphanumeric character.\r\n\r\nFlags:\r\n\r\n- __negate__ - _Boolean_  \r\n  If true, the flag is negated. The default value is true and it becomes false when the short name or the negated long name (eg. --no-flag) is present.\r\n\r\n  ```javascript\r\n  .option ({ short: \"a\", long: \"aaa\" })\r\n  .option ({ short: \"b\", long: \"bbb\", negate: true })\r\n  ```\r\n  ```bash\r\n  $ node script.js\r\n  { aaa: false, bbb: true }\r\n  \r\n  $ node script.js -a -b\r\n  { aaa: true, bbb: false }\r\n  \r\n  $ node script.js --aaa --bbb\r\n  { aaa: true, bbb: true }\r\n  \r\n  $ node script.js --no-aaa --no-bbb\r\n  { aaa: false, bbb: false }\r\n  ```\r\n\r\nOptions with a value:\r\n\r\n- __aliases__ - _Array_  \r\n  An alias it's a long-name option that points to another option.\r\n\r\n  ```javascript\r\n  .body ()\r\n      .option ({ long: \"name\", aliases: [\"foo\", \"bar\"] })\r\n      .help ()\r\n      .usage ()\r\n  ```\r\n  ```bash\r\n  $ node script.js --foo\r\n  { name: true }\r\n  \r\n  $ node script.js --usage\r\n  Usage: script [--name|--foo|--bar] [-h|--help] [--usage]\r\n  \r\n  $ node script.js --help\r\n  Usage: script [options]\r\n  \r\n        --name, --foo, --bar\r\n    -h, --help                  Display this help message and exit\r\n        --usage                 Display a short usage message and exit\r\n  ```\r\n  \r\n  The `options()` function returns an object with all the configured options:\r\n  \r\n  ```javascript\r\n  {\r\n    name: { ... },\r\n    foo: { ... },\r\n    bar: { ... },\r\n    help: { ... },\r\n    usage: { ... }\r\n  }\r\n  ```\r\n  Where `name`, `foo` and `bar` point to the same object:\r\n  \r\n  ```javascript\r\n  .on (\"start\", function (){\r\n    var options = this.options ();\r\n    assert.ok (options.name === options.foo && options.name === options.bar);\r\n  })\r\n  ```\r\n- __choices__ - _Array_  \r\n  The input value must be one of these choices. If the option is `optional`, the `choices` property is ignored.\r\n\r\n  ```javascript\r\n  .option ({ long: \"opt\", metavar: \"NUM\", type: Number, choices: [1, 2, 3] })\r\n  ```\r\n  ```bash\r\n  $ node script.js --opt=1\r\n  { opt: 1 }\r\n  \r\n  $ node script.js --opt=7 # Error!\r\n  ```\r\n  \r\n  When `default` and `choices` are defined in the same option the default value doesn't need to match any choice:\r\n  \r\n  ```javascript\r\n  .option ({ long: \"opt\", metavar: \"STR\", default: \"d\", choices: [\"a\", \"b\", \"c\"] })\r\n  ```\r\n  ```bash\r\n  $ node script.js\r\n  { opt: \"d\" }\r\n  ```\r\n- __default__ - _Object_  \r\n  The default value.\r\n\r\n  ```javascript\r\n  .option ({ long: \"name\", metavar: \"STR\", default: \"bar\", optional: true })\r\n  ```\r\n  ```bash\r\n  $ node script.js\r\n  { name: \"bar\" }\r\n  \r\n  $ node script.js --name\r\n  { name: \"bar\" }\r\n  \r\n  $ node script.js --name foo\r\n  { name: \"foo\" }\r\n  ```\r\n- __metavar__ - _String_  \r\n  Must be defined if the option requires a value. If `metavar` is not defined, the option is a flag. The string is used when the --help and --usage messages are printed.\r\n\r\n  ```javascript\r\n  .option ({ long: \"name\", metavar: \"STR\" })\r\n  ```\r\n  ```bash\r\n  $ node script.js --help\r\n  ...\r\n       --name=STR\r\n  ...\r\n  ```\r\n- __optional__ - _Boolean_  \r\n  If true, the value is optional. Default is false. If the option doesn't receive any value the default value is set and it depends on the `default` and `type` properties.\r\n\r\n  Types and default values:\r\n  - String: `null`\r\n  - Number: `0`\r\n  - Array: `[]`\r\n  - Boolean: `false`\r\n\r\n  ```javascript\r\n  .option ({ long: \"name1\", metavar: \"STR\", optional: true })\r\n  .option ({ long: \"name2\", metavar: \"STR\", optional: true, type: String })\r\n  .option ({ long: \"name3\", metavar: \"NUM\", optional: true, type: Number })\r\n  .option ({ long: \"name4\", metavar: \"ARR\", optional: true, type: Array })\r\n  //Boolean type is rarely used, use a flag instead\r\n  .option ({ long: \"name5\", metavar: \"BOOL\", optional: true, type: Boolean })\r\n  ```\r\n  ```bash\r\n  $ node script.js --name1 --name2 --name3 --name4 --name5\r\n  { name1: null, name2: null, name3: 0, name4: [], name5: false }\r\n  ```\r\n  ```bash\r\n  $ node script.js --name1 foo --name2 bar --name3 12 --name4 -12.34,foo,true --name4 false --name5 true\r\n  { name1: \"foo\", ame2: \"bar\", name3: 12, name4: [-12.34, \"foo\", true, false], name5: true }\r\n  ```\r\n- __reviver__ - _Function_  \r\n  The function is executed when the option is parsed. It is similar to the reviver parameter of the `JSON.parse()` function. This is the right place where you can validate the input data and `fail()` if it's not valid. For example, if the option requires a number you can validate the range here.\r\n\r\n  ```javascript\r\n  .option ({ long: \"name\", metavar: \"STR\", reviver: function (value){\r\n    return value + \"bar\";\r\n  }})\r\n  ```\r\n  ```bash\r\n  $ node script.js --name foo\r\n  { name: \"foobar\" }\r\n  ```\r\n  ```javascript\r\n  .option ({ long: \"opt\", metavar: \"NUM\", type: Number,\r\n      reviver: function (value){\r\n    //The \"value\" parameter is already a number\r\n    if (value < 1 || value > 3){\r\n      this.fail (\"Option 'opt': Invalid range.\");\r\n    }\r\n    return value;\r\n  }})\r\n  ```\r\n- __type__ - _String | Number | Boolean | Array_  \r\n  The type of the value. Default is String.\r\n\r\n  If the type is an Array, comma-separated values are automatically stored in an array and each element is converted to the type it represents. Multiple assignments are also supported.\r\n\r\n  ```javascript\r\n  .option ({ long: \"name\", metavar: \"ARR\", type: Array })\r\n  ```\r\n  ```bash\r\n  $ node script.js --name 1,true,foo\r\n  { name: [1, true, \"foo\"] }\r\n  \r\n  $ node script.js --name 1 --name true --name foo\r\n  { name: [1, true, \"foo\"] }\r\n  \r\n  $ node script.js --name 1,2 --name true,false --name foo,bar\r\n  { name: [1, 2, true, false, \"foo\", \"bar\"] }\r\n  ```\r\n\r\n---\r\n\r\n<a name=\"arguments\"></a>\r\n__Configuring arguments__\r\n\r\nExample: [arguments.js](https://github.com/gagle/node-argp/blob/master/examples/arguments.js).\r\n\r\nAn argument is an individual name like `login`, `reset`, `build`, etc. They are basically flags.\r\n\r\nProperties:\r\n\r\n- __description__ - _String_  \r\n  The description.\r\n- __hidden__ - _Boolean_  \r\n  If true, the option is not displayed in the --help and --usage messages. Default is false.\r\n\r\nNote: `synopsis` and `trailing` properties can be also configured but they have meaning only with [commands](#commands).\r\n\r\n```javascript\r\n.argument (\"arg1\")\r\n.argument (\"arg2\", { description: \"foo\" })\r\n.argument (\"arg3\", { description: \"bar\", hidden: true })\r\n```\r\n```bash\r\n$ node script.js arg1\r\n{ arg1: true, arg2: false, arg3: false }\r\n\r\n$ node script.js --help\r\n...\r\n  arg1                        foo\r\n  arg2                        bar\r\n...\r\n```\r\n\r\nNote that an argument is just a flag but it can be present without any prefixed hyphen. It is a flag with more weight, it is used to denote important actions.\r\n\r\nAs you can see, the arguments are also stored in a hash like regular options, undefined arguments inclusive. For example:\r\n\r\n```javascript\r\nvar argv = require (\"argp\").createParser ({ once: true })\r\n    .allowUndefinedArguments ()\r\n    .allowUndefinedOptions ()\r\n    .argv ();\r\n    \r\nconsole.log (argv);\r\n```\r\n\r\n```bash\r\n$ node script.js a b c\r\n{ a: true, b: true, c: true }\r\n```\r\n\r\nThis feature is different from other cli parsers that store the arguments in an array. If you need to read undefined arguments and save them in an array you can use the events. For more details: [to-upper-case.js](https://github.com/gagle/node-argp/blob/master/examples/to-upper-case.js)\r\n\r\n---\r\n\r\n<a name=\"commands\"></a>\r\n__Configuring commands__\r\n\r\nA command is an argument followed by other arguments and options. NPM is an example:\r\n\r\n```\r\nnpm config set <key> [<value>]\r\nnpm install [<package>...] -g\r\n```\r\n\r\n`config` is a command and `set` an argument with 2 trailing arguments: minimum 1, maximum 2.  \r\n`install` is a command with infinite trailing arguments: minimum 0, maximum Infinity. `-g` is an option which only applies to the `install` command.\r\n\r\nIf you have a very few commands you can configure them in the same file ([commands.js](https://github.com/gagle/node-argp/blob/master/examples/commands.js) example), but you typically want to modularize them, one command per file. Then you should check the [npm.js](https://github.com/gagle/node-argp/blob/master/examples/npm/npm.js) example.\r\n\r\nThe commands are configured exactly the same way as the `Argp` instance with only one difference: `argument()` accepts 2 new properties:\r\n\r\n- __synopsis__ - _String_  \r\n  The string replaces the argument name in the --help and --usage messages.\r\n\r\n  ```javascript\r\n  .argument (\"set\", { description: \"Sample argument\" });\r\n  /*\r\n  ...\r\n      set                         Sample argument\r\n  ...\r\n  */\r\n  \r\n  .argument (\"set\", { synopsis: \"set <key> [<value>]\", description: \"Sample argument\" });\r\n  /*\r\n  ...\r\n      set <key> [<value>]         Sample argument\r\n  ...\r\n  */\r\n  ```\r\n- __trailing__ - _Object_  \r\n  Configures how many trailing arguments must follow this argument.\r\n\r\n  There are 3 properties: `eq`, `min` and `max`. `eq` cannot be used with `min` or `max`. If `min` and `max` are used, by default `min` is 0 and `max` is Infinity. A `trailing` object without any of these 3 properties defaults to `min` 0 and `max` Infinity.\r\n  \r\n  Some examples:\r\n  \r\n  - 2 trailing arguments required: `cmd arg <x> <x>`.\r\n  \r\n      ```javascript\r\n      .argument (\"arg\", { trailing: { eq: 2 } })\r\n      ```\r\n  - 1 required, 1 optional: `cmd arg <x> [<x>]`.\r\n  \r\n      ```javascript\r\n      .argument (\"arg\", { trailing: { min 1, max: 2 } })\r\n      ```\r\n  - 1 optional: `cmd arg [<x>]`.\r\n  \r\n      ```javascript\r\n      .argument (\"arg\", { trailing: { max: 1 } })\r\n      ```\r\n  - 1 required, infinite optional: `cmd arg <x> [<x>...]`.\r\n  \r\n      ```javascript\r\n      .argument (\"arg\", { trailing: { min: 1 } })\r\n      ```\r\n  - Infinite: `cmd arg [<x>...]`.\r\n  \r\n      ```javascript\r\n      .argument (\"arg\", { trailing: {} })\r\n      //Same as trailing: { min: 0, max: Infinity }\r\n      ```\r\n  - No trailing arguments: `cmd arg`.\r\n  \r\n      ```javascript\r\n      .argument (\"arg\")\r\n      ```\r\n  - Multiple arguments with trailing in the same line. Argument `arg1` with 1 required, and argument `arg2` with infinite trailing arguments: `cmd arg1 <x> arg2 [<y>...]`. Note that writing `cmd arg1 <x> arg2 [<y>...]` is not the same as `cmd arg2 [<y>...] arg1 <x>`. In the latter case, `arg1 <x>` will be eaten by the trailing arguments of `arg2`.\r\n  \r\n      ```javascript\r\n       .argument (\"arg1\", { trailing: { eq: 1 } })\r\n       .argument (\"arg2\", { trailing: {} })\r\n      ```\r\n\r\n---\r\n\r\n<a name=\"examples\"></a>\r\n__Real examples__\r\n\r\n- [brainfuck](https://github.com/gagle/node-brainfuck/blob/master/bin/brainfuck.js): Interpreter for the Brainfuck esoteric language.\r\n- [ntftp](https://github.com/gagle/node-ntftp/blob/master/bin/ntftp.js): Streaming TFTP client and server.\r\n\r\n---\r\n\r\n<a name=\"createparser\"></a>\r\n___module_.createParser([options]) : Argp__\r\n\r\nReturns a new [Argp](#argp_object) instance.\r\n\r\nOptions:\r\n\r\n- __once__ - _Boolean_  \r\n  Set it to true if you want to uncache the whole module when [argv()](#argp_argv) finishes. This will guarantee a zero memory footprint. Default is false.\r\n\r\n---\r\n\r\n<a name=\"argp_object\"></a>\r\n__Argp__\r\n\r\nThe module returns an instance of `Argp`. It inherits from an EventEmitter.\r\n\r\nThe parser follows the GNU-style rules: `-a`, `-abc`, `--a`, `--no-a`, `--a=b`, `--`, etc. Long-option abbreviation is also supported.\r\n\r\nIf you don't want to configure anything simply require the module, allow undefined arguments and options and call to `argv()`.\r\n\r\n```javascript\r\nvar argv = require (\"argp\").createParser ({ once: true })\r\n    .allowUndefinedArguments ()\r\n    .allowUndefinedOptions ()\r\n    .argv ();\r\n```\r\n\r\nNote: If no configuration is provided you cannot join a short name with its value in the same token, eg: `-Dvalue`, all the characters following a hyhen are interpreted as individual flags.\r\n\r\n__Events__\r\n\r\nWith the event system you can fully adapt this module to yours needs. Examples: [to-upper-case.js](https://github.com/gagle/node-argp/blob/master/examples/to-upper-case.js), [mkdir.js](https://github.com/gagle/node-argp/blob/master/examples/mkdir.js).\r\n\r\n- [argument](#event_argument)\r\n- [end](#event_end)\r\n- [error](#event_error)\r\n- [option](#event_option)\r\n- [start](#event_start)\r\n\r\n__Methods__\r\n\r\n- [Argp#allowUndefinedArguments() : Argp](#argp_allowundefinedarguments)\r\n- [Argp#allowUndefinedOptions() : Argp](#argp_allowundefinedoptions)\r\n- [Argp#arguments() : Object](#argp_arguments)\r\n- [Argp#argv([input]) : Object](#argp_argv)\r\n- [Argp#body() : Body](#argp_body)\r\n- [Argp#columns(columns) : Argp](#argp_columns)\r\n- [Argp#command(name[, configuration]) : Command](#argp_command)\r\n- [Argp#commands() : Argp](#argp_commands)\r\n- [Argp#description(str) : Argp](#argp_description)\r\n- [Argp#email(str) : Argp](#argp_email)\r\n- [Argp#exitStatus(code) : Argp](#argp_exitstatus)\r\n- [Argp#fail(str[, code]) : undefined](#argp_fail)\r\n- [Argp#main() : Argp](#argp_main)\r\n- [Argp#options([filter]) : Object](#argp_options)\r\n- [Argp#printHelp([code]) : undefined](#argp_printhelp)\r\n- [Argp#printUsage([code]) : undefined](#argp_printusage)\r\n- [Argp#printVersion([code]) : undefined](#argp_printversion)\r\n- [Argp#readPackage([path]) : Argp](#argp_readpackage)\r\n- [Argp#sort() : Argp](#argp_sort)\r\n- [Argp#usages(usages) : Argp](#argp_usage)\r\n\r\n__Objects__\r\n\r\n- [Body](#body)\r\n\r\n---\r\n\r\n<a name=\"event_argument\"></a>\r\n__argument__\r\n\r\nEmitted when an argument is found.\r\n\r\nParameters:\r\n\r\n- __argv__ - _Object_  \r\n  The final object.\r\n- __argument__ - _String_  \r\n  The name of the argument.\r\n- __ignore__ - _Function_  \r\n  When the function is called the parser ignores the argument, hence it isn't stored in the final object.\r\n\r\n<a name=\"event_end\"></a>\r\n__end__\r\n\r\nEmitted when all the options and arguments have been parsed.\r\n\r\nParameters:\r\n\r\n- __argv__ - _Object_  \r\n  The final object.\r\n\r\n<a name=\"event_error\"></a>\r\n__error__\r\n\r\nEmitted when an error occurs. If you don't listen for `error` events, the message will be printed to stderr and the process will exit. If you attach an error handler and an error occurs, [argv()](#argp_argv) returns null.\r\n\r\nYou typically want to listen for `error` events when you need to do something with the error and then quit the process, or simply because you want to continue executing the process (maybe because you are executing a shell prompt) and display the error in the console.\r\n\r\n```javascript\r\n.on (\"error\", function (error){\r\n  doSomethingWith (error);\r\n  //This will end the process\r\n  this.fail (error);\r\n})\r\n```\r\n\r\nFor example, the [ntftp](https://github.com/gagle/node-ntftp/blob/master/bin/ntftp.js) module uses two parsers. One is the main parser. If something is not correct, it prints the error to stderr and finishes. The second parser is used when the program is executing a shell prompt. It is being reused and the errors are simply printed to console.\r\n\r\n<a name=\"event_option\"></a>\r\n__option__\r\n\r\nEmitted when an option is found.\r\n\r\nParameters:\r\n\r\n- __argv__ - _Object_  \r\n  The final object.\r\n- __option__ - _String_  \r\n  The name of the option.\r\n- __value__ - _String_  \r\n  The value of the option after calling the reviver, if any.\r\n- __long__ - _Boolean_  \r\n  True if the option is a long name, otherwise false.\r\n- __ignore__ - _Function_  \r\n  When the function is called the parser ignores the argument, hence it isn't stored in the final object.\r\n\r\n<a name=\"event_start\"></a>\r\n__start__\r\n\r\nEmitted just before the parser begins to read the cli parameters.\r\n\r\nParameters:\r\n\r\n- __argv__ - _Object_  \r\n  The final object. The default values are already set.\r\n\r\n---\r\n\r\n<a name=\"argp_allowundefinedarguments\"></a>\r\n__Argp#allowUndefinedArguments() : Argp__\r\n\r\nAllows undefined arguments.\r\n\r\n<a name=\"argp_allowundefinedOptions\"></a>\r\n__Argp#allowUndefinedOptions() : Argp__\r\n\r\nAllows undefined options.\r\n\r\n<a name=\"argp_arguments\"></a>\r\n__Argp#arguments() : Object__\r\n\r\nReturns the configured arguments. Look at the [internal-data.js](https://github.com/gagle/node-argp/blob/master/examples/internal-data.js) example for further details.\r\n\r\n<a name=\"argp_argv\"></a>\r\n__Argp#argv([input]) : Object | null__\r\n\r\nParses the `process.argv` array or the given input array.\r\n\r\nIf you don't need to reuse the parser and want a zero memory footprint, you shouldn't cache the module and the parser instance. Remember to also set `once` to true.\r\n\r\n```javascript\r\nvar argv = require (\"argp\").createParser ({ once: true })\r\n    ...\r\n    argv ();\r\n```\r\n\r\nIf you need to reuse a parser, you probably want to listen for [error](#event_error) events. If an error occurs, [argv()](#arg_argv) returns null.\r\n\r\n```javascript\r\nvar argp = require (\"argp\");\r\n\r\n//Configuration\r\nvar parser = argp.createParser ()\r\n    .on (\"error\", ...)\r\n    ...;\r\n\r\nvar argv;\r\nargv = parser.argv ([\"-a\", \"--b\", ...]);\r\nargv = parser.argv ([\"c\", \"d\", ...]);\r\n```\r\n\r\nIf you pass an input array, then the functions [printHelp()](#argp_printhelp), [printUsage()](#argp_printusage) and [printVersion()](#argp_printversion) will print the message but won't terminate the process.\r\n\r\n<a name=\"argp_body\"></a>\r\n__Argp#body() : Argp__\r\n\r\nReturns a `Body` instance.\r\n\r\n<a name=\"argp_columns\"></a>\r\n__Argp#columns(columns) : Argp__\r\n\r\nSets the maximum line length. By default lines are wrapped at 80 columns.\r\n\r\n<a name=\"argp_command\"></a>\r\n__Argp#command(name[, configuration]) : Command__\r\n\r\nConfigures a command. A command it's like a new fresh cli program. It behaves exactly like an `Argp`. See [Configuring commands](#commands).\r\n\r\n<a name=\"argp_commands\"></a>\r\n__Argp#commands() : Object__\r\n\r\nReturns the configured commands.\r\n\r\nLook at the [internal-data.js](https://github.com/gagle/node-argp/blob/master/examples/internal-data.js) example for further details.\r\n\r\n<a name=\"argp_description\"></a>\r\n__Argp#description(str) : Argp__\r\n\r\nSets a description. The description is printed at the start of the --help message, after the \"Usage\" lines.\r\n\r\n<a name=\"argp_email\"></a>\r\n__Argp#email(str) : Argp__\r\n\r\nSets a contact email. The email is printed at the end of the --help message.\r\n\r\n<a name=\"argp_exitstatus\"></a>\r\n__Argp#exitStatus(code) : Argp__\r\n\r\nSets the exit code that will be used is some methods. Default is 1.\r\n\r\n<a name=\"argp_fail\"></a>\r\n__Argp#fail(str[, code]) : undefined__\r\n\r\nPrints a message to the stderr and exits with the given code number or if not given, uses the code configured with [exitStatus()](#argp_exitstatus) or if not configured, exits with code 1.\r\n\r\n<a name=\"argp_main\"></a>\r\n__Argp#main() : Argp__\r\n\r\nReturns de main `Argp` instance. It's a no-op function, just for a better visual organization when configuring commands.\r\n\r\nLook at the [npm.js](https://github.com/gagle/node-argp/blob/master/examples/npm/npm.js) example for further details.\r\n\r\n<a name=\"argp_options\"></a>\r\n__Argp#options([filter]) : Object__\r\n\r\nReturns the configured options. `filter` is an object which can be used to return the options that have a short name or a long name.\r\n\r\n```javascript\r\n.options ()\r\n.options ({ short: true })\r\n.options ({ long: true })\r\n```\r\n\r\nLook at the [internal-data.js](https://github.com/gagle/node-argp/blob/master/examples/internal-data.js) example for further details.\r\n\r\n<a name=\"argp_printhelp\"></a>\r\n__Argp#printHelp([code]) : undefined__\r\n\r\nPrints the help message and exits with the given code number or if not given, uses the code configured with [exitStatus()](#argp_exitstatus) or if not configured, exits with code 0.\r\n\r\nIf [argv()](#argp_argv) is called with an input array, the process doesn't exit.\r\n\r\n<a name=\"argp_printusage\"></a>\r\n__Argp#printUsage([code]) : undefined__\r\n\r\nPrints the usage message and exits with the given code number or if not given, uses the code configured with [exitStatus()](#argp_exitstatus) or if not configured, exits with code 0.\r\n\r\nIf [argv()](#argp_argv) is called with an input array, the process doesn't exit.\r\n\r\n<a name=\"argp_printversion\"></a>\r\n__Argp#printVersion([code]) : undefined__\r\n\r\nPrints the version message (if it was configured) and exits with the given code number or if not given, uses the code configured with [exitStatus()](#argp_exitstatus) or if not configured, exits with code 0.\r\n\r\nIf [argv()](#argp_argv) is called with an input array, the process doesn't exit.\r\n\r\n<a name=\"argp_readpackage\"></a>\r\n__Argp#readPackage([path][, options]) : Argp__\r\n\r\nReads a `package.json` file and configures the parser with the description, email and version. If no path is provided it tries to read the `./package.json` path. The description, email and version labels can be ignored individually with the `options` parameter. For example, if you only want to ignore the email and read the description and version:\r\n\r\n```javascript\r\n.readPackage (\"path/to/package.json\", { email: false })\r\n```\r\n\r\nOptions are: `description`, `version`, `email`. By default they are true. Set them to false to ignore them.\r\n\r\n<a name=\"argp_usages\"></a>\r\n__Argp#usages(usages) : Argp__\r\n\r\nChanges the \"Usage\" line from the --help and --usage messages. `usages` is an array of strings.\r\n\r\nLook at the [custom-usages.js](https://github.com/gagle/node-argp/blob/master/examples/custom-usages.js) example for further details.\r\n\r\n<a name=\"argp_sort\"></a>\r\n__Argp#sort() : Argp__\r\n\r\nIf `sort()` is enabled, the options are parsed before the arguments, if not, the options and arguments are parsed in the same order they come.\r\n\r\n---\r\n\r\n<a name=\"body\"></a>\r\n__Body__\r\n\r\nThe `Body` instance is returned by calling [Argp#body()](#argp_body). All the following functions (except `argv()`, `command()` and `main()`) print a message in the same order they are configured, this allows you to fully customize the --help message very easily.\r\n\r\nLook at [fully-descriptive-help.js](https://github.com/gagle/node-argp/blob/master/examples/fully-descriptive-help.js) for further details.\r\n\r\n__Methods__\r\n\r\n- [Body#argument(name[, configuration]) : Body](#body_argument)\r\n- [Body#argv([input]) : Object](#body_argv)\r\n- [Body#columns(column1, column2) : Body](#body_columns)\r\n- [Body#command(name[, configuration]) : Command](#body_command)\r\n- [Body#help([options]) : Body](#body_help)\r\n- [Body#main() : Argp](#body_main)\r\n- [Body#option(o) : Body](#body_option)\r\n- [Body#text(str[, prefix]) : Body](#body_text)\r\n- [Body#usage() : Body](#body_usage)\r\n- [Body#version(str[, options]) : Body](#body_version)\r\n\r\n<a name=\"body_argument\"></a>\r\n__Body#argument(name[, configuration]) : Body__\r\n\r\nDefines an argument. See [Configuring arguments](#arguments).\r\n\r\n<a name=\"body_argv\"></a>\r\n__Body#argv([input]) : Object__\r\n\r\nSame as [Argp#argv()](#argp_argv).\r\n\r\n<a name=\"body_columns\"></a>\r\n__Body#columns(column1, column2) : Body__\r\n\r\nPrints a line with 2 columns. The first column shouldn't contain line breaks (`\\n`). This functionality is used to print the options and arguments.\r\n\r\n<a name=\"body_command\"></a>\r\n__Body#command(name[, configuration]) : Command__\r\n\r\nSame as [Argp#command()](#argp_command).\r\n\r\n<a name=\"body_help\"></a>\r\n__Body#help([options]) : Body__\r\n\r\nEnables the `-h, --help` option. The short option can be disabled using the `options` parameter.\r\n\r\n```javascript\r\n.help ({ short: false })\r\n```\r\n```bash\r\n$ node script.js --help\r\n...\r\n      --help                  Display this help message and exit\r\n...\r\n```\r\n\r\n<a name=\"body_main\"></a>\r\n__Body#main() : Argp__\r\n\r\nSame as [Argp#main()](#argp_main).\r\n\r\n<a name=\"body_option\"></a>\r\n__Body#option(o) : Body__\r\n\r\nDefines an option. See [Configuring options](#options).\r\n\r\n<a name=\"body_text\"></a>\r\n__Body#text(str[, prefix]) : Body__\r\n\r\nPrints a text message. By default it's line-wrapped at 80 columns and supports multilines (line breaks, `\\n`). The `prefix` is a string that is printed before each line. It's mainly used to indent the text with some spaces.\r\n\r\n<a name=\"body_usage\"></a>\r\n__Body#usage() : Body__\r\n\r\nEnables the `--usage` option.\r\n\r\n<a name=\"body_version\"></a>\r\n__Body#version(str[, options]) : Body__\r\n\r\nEnables the `-v, --version` option. `str` is the text to print when the option is called. The short option can be disabled using the `options` parameter.\r\n\r\n```javascript\r\n.version (\"v1.2.3\", { short: false })\r\n```\r\n```bash\r\n$ node script.js --help\r\n...\r\n      --version               Output version information and exit\r\n...\r\n```","maintainers":[{"name":"gagle","email":"gabriel_llamas_llopis@yahoo.es"}],"time":{"modified":"2022-06-13T03:26:21.694Z","created":"2013-09-04T11:54:22.769Z","0.0.0":"2013-09-04T11:54:27.655Z","0.0.1":"2013-09-13T15:53:11.346Z","0.0.2":"2013-09-14T11:20:36.678Z","0.0.6":"2013-09-16T17:36:37.264Z","0.0.7":"2013-09-18T15:48:28.240Z","0.0.8":"2013-09-19T20:44:49.236Z","0.0.9":"2013-09-20T20:14:52.036Z","0.0.10":"2013-09-23T13:15:53.138Z","0.0.11":"2013-09-25T21:47:13.682Z","0.0.12":"2013-09-26T15:49:06.884Z","0.0.13":"2013-09-26T20:02:22.792Z","0.0.14":"2013-09-26T22:03:47.757Z","0.0.15":"2013-09-27T19:27:36.067Z","0.0.16":"2013-09-28T17:18:31.904Z","0.1.0":"2013-09-29T15:13:42.234Z","0.1.1":"2013-10-02T19:35:59.271Z","0.1.2":"2013-10-24T20:48:10.531Z","0.1.3":"2013-11-07T13:04:13.790Z","0.2.0":"2013-11-25T16:07:26.366Z","0.2.1":"2013-11-30T20:31:26.381Z","0.2.2":"2013-12-02T15:37:04.451Z","1.0.0":"2013-12-16T22:12:56.306Z","1.0.1":"2014-01-01T09:46:02.198Z","1.0.2":"2014-02-17T17:32:47.990Z","1.0.3":"2014-02-19T15:11:49.239Z","1.0.4":"2014-03-31T15:23:32.625Z"},"author":{"name":"Gabriel Llamas","email":"gagle@outlook.com"},"repository":{"type":"git","url":"git://github.com/gagle/node-argp.git"},"readmeFilename":"README.md","homepage":"https://github.com/gagle/node-argp","keywords":["cli","options","parser","commands","arguments","getopt","argparse"],"bugs":{"url":"https://github.com/gagle/node-argp/issues"},"license":"MIT","users":{"lvpeng101":true,"elevenlui":true,"batz":true,"aredridel":true}}