1. #!/usr/bin/env node
  2. const program = require('commander');
  3. const colors = require('colors');
  4. const pkg = require('./package.json');
  5. function range(val, d) {
  6. return val.split('..').map(Number);
  7. }
  8.  
  9. function list(val) {
  10. return val.split(',');
  11. }
  12.  
  13. function collect(val, memo) {
  14. memo.push(val);
  15. return memo;
  16. }
  17.  
  18. function increaseVerbosity(v, total) {
  19. return total + 1;
  20. }
  21. program
  22. .version(pkg.version, '-v, --version')
  23. .option('-u, --username <firstname>', 'add username')
  24. .option('-p, --password [num]', 'add password')
  25. .option('--no-sauce', 'Remove sauce')
  26.  
  27. // .option('-i, --integer <n>', 'An integer argument', parseInt)
  28. .option('-f, --float <n>', 'A float argument', parseFloat)
  29. .option('-r, --range [a..b]', 'A range', range, 12)
  30. .option('-l, --list <items>', 'A list', list)
  31. .option('-o, --optional [value]', 'An optional value')
  32. .option('-c, --collect [value]', 'A repeatable value', collect, [])
  33. .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0)
  34.  
  35. program
  36. .command('create <project> [rest...]')
  37. .alias('init')
  38. .description('ssy cli description')
  39. .option('-i, --information [info]', 'add information')
  40. .action((projectName, cmd, options)=>{
  41. console.log("ssy",projectName, cmd, options.information)
  42. })
  43.  
  44. if (!process.argv.slice(2).length) {
  45. program.outputHelp(make_red);
  46. }
  47.  
  48. function make_red(txt) {
  49. return colors.red(txt); //display the help text in red on the console
  50. }
  51. // must be before .parse() since
  52. // node's emit() is immediate
  53. program.on('--help', function(){
  54. console.log('')
  55. console.log('Examples:');
  56. console.log(' $ ssy --help');
  57. console.log(' $ ssy -h');
  58. });
  59. program.parse(process.argv);
  60. // console.log(program);

一、commander的更多相关文章

  1. 如何修改Total Commander配件文件的位置

    今天测试了一下Total Commander最新版的安装文件,测试完成后,并删除.结果导致原先一直在使用的绿色版的Total Comander配件文件变成了测试的配件文件,导致许多配置都丢失了,因此不 ...

  2. 【荐1】Total Commander 7.57 个人使用设置 及 常用快捷键 备忘

    Total Commander 7.57a  下载地址:http://www.baidu.com/s?wd=total commander 7.57 破解版 软件整体预览图:(注意,下面的版本我用的是 ...

  3. 【荐2】Total Commander 7.57 配置选项 个性化设置备份,,,开启时如何自动最大化???(二)

    最近安装了下新版的“Total Commander 7.56”,发现它的默认设置是如此的不好用,现把对其个性化设置备份如下(符合大部分用户的操作习惯): 默认打开Total Commander 7.5 ...

  4. Mac Pro 资源管理器 Double Commander“个性化设置” 备份

    操作系统自带的资源管理器,总是有些别扭的地方,在 Windows 系统下,我一般用 Total Commander(破解版)来作为替代品.现在换为 Mac 系统,自带的 Finer 也不怎么好用,连最 ...

  5. Total Commander 8.52 Beta 1

    Total Commander 8.52 Beta 1http://www.ghisler.com/852_b1.php 10.08.15 Release Total Commander 8.52 b ...

  6. TC(Total Commander)文件管理神器

    TC文件管理神器 Total Commander是一个会显著提高文件操作效率的工具,而文件操作是应用计算机最基本的功夫,也是伴随一生的操作.因此花一点时间学习,而会受益一世. Total Comman ...

  7. Total Commander 常用快捷键(并附快捷键大全)

    Total Commander 常用快捷键 喜欢用Total Commander的人,都会记住它的一些快捷键,这会给你的操作带来很大的方便,以下是经常会用到的快捷键,大家可以记住一些自己用得最多的操作 ...

  8. node生成自定义命令(yargs/commander)

    第一部分可以生成一个自定义命令,例如常见的”express”,yargs和commander则可以在生成的自定义命令上做扩展,yargs将命令扩展成类似express --l xx的形式;而comma ...

  9. Ubuntu下类似于Total Commander的两个工具

    Total Commander for linux Is there a Linux version? Unfortunately not. Because of problems with port ...

  10. total commander相关设置

    一. 中文语言包 在官方网站上提供有简体中文语言包,下面的说明以此为准.下载的语言包放至Total Commander安装目录下的Language子目录中.从菜单“Configuration”→“Op ...

随机推荐

  1. 机器学习中如何处理不平衡数据(imbalanced data)?

    推荐一篇英文的博客: 8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset 1.不平衡数据集带来的影响 一个不 ...

  2. centos修改主机名的正确方法

    1 centos6下修改hostname [root@centos6 ~]$ hostname # 查看当前的hostnmae centos6.magedu.com [root@centos6 ~]$ ...

  3. RDIFramework.NET V3.3 Web框架主界面新增横向菜单功能

    功能描述 响应重多客户的要求与心声,RDIFramework.NET框架Web版本主界面新增横向菜单功能.横向菜单更加直观,用户可操作与展示的空间更多,符合实际应用要求. 一.效果展示 最终界面效果: ...

  4. Docker进阶之五:容器管理

    容器管理 一.创建容器常用选项 docker container --help 指令 描述 资源限制指令 -i, --interactive 交互式 -m,--memory 容器可以使用的最大内存量 ...

  5. JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP、IOC)

    接上篇<JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署>,通过一个简单的JSP WEB网站了解了JAVA WEB相关的知识,比如:Ser ...

  6. 【憩园】C#并发编程之异步编程(二)

    写在前面 前面一篇文章介绍了异步编程的基本内容,同时也简要说明了async和await的一些用法.本篇文章将对async和await这两个关键字进行深入探讨,研究其中的运行机制,实现编码效率与运行效率 ...

  7. js中let和var的区别 不懂得加QQ 2270312758

    js中使用let定义变量的时候,是需要使用严格模式的,我看到网上有的博客说:如果在不使用严格模式的情况下,使用let会报错,但是在实验的过程中,我直接定义了let变量而且也没有使用严格模式,并没有报任 ...

  8. C#的Lock

    有时候在编写线程并发的时候需要考虑异步和同步的问题.有些资源只能是一个线程访问,其他的线程在这个线程没有释放资源前不能访问.类似于操作系统中临界资源的访问.C#Lock包裹的代码块具有原子操作的特性( ...

  9. powdesingner 更新数据库表结构

    1.连接数据库 2更新数据库表结构

  10. 了解spring

    一.spring简介 Spring是一个JavaEE轻量级的一站式的开发框架(spring的可插拔特性,企业用于整合其他框架)轻量级:使用最少的代码启动程序,根据所需选择功能选择模块使用一站式:提供了 ...