Giter Club home page Giter Club logo

commander-help's Introduction

Commander Help

Styled Help for Commander.js

Install

npm i commander-help

Usage

const { program } = require('commander');
const commanderHelp = require('commander-help');

program
    .name('cli-name')
    .description('CLI to some JavaScript string utilities')
    .argument('<username>', 'user to login')
    .argument('[password...]', 'password for user, if required', 'empty')
    .option('-t, --title <honorific>', 'title to use before name')
    .option('-d, --debug', 'display some debugging')
    .version('0.8.0', '-v, --version');

program.command('split')
    .description('Split a string into substrings')
    .argument('<string>', 'string to split')
    .alias('s')
    .option('--first', 'display just the first substring', '#')
    .option('-s, --separator <char>', 'separator character', ',')
    .action(() => {});

program
    .command('clone <source> [dest]')
    .description('clone a repository into a newly created directory')
    .alias('c')
    .action((source, destination) => {
        console.log('clone command called');
    });

program
    .command('start <service>', 'start named service')
    .command('stop [service...]', 'stop named service, or all if no name supplied');

// hide default help
program.helpInformation = function() {
    return '';
};
// custom help
program.on('--help', function() {
    console.log('Usage and help');
    commanderHelp(program);
});

program.parse();

Usage and help
┌──────────────────────────────────┬───────────────────────────────────────────────────┬───────┐
 Commands/Options                  Description                                        Alias 
├──────────────────────────────────┼───────────────────────────────────────────────────┼───────┤
  cli-name                        CLI to some JavaScript string utilities                  
    -t, --title <honorific>      title to use before name                                 
    -d, --debug                  display some debugging                                   
    -v, --version                output the version number                                
    -h, --help                   display help for command                                 
  cli-name <username>             user to login                                            
  cli-name [password...]          password for user, if required (default: empty)          
├──────────────────────────────────┼───────────────────────────────────────────────────┼───────┤
  cli-name split <string>         Split a string into substrings                     s     
    --first                      display just the first substring (default: #)            
    -s, --separator <char>       separator character (default: ,)                         
├──────────────────────────────────┼───────────────────────────────────────────────────┼───────┤
  cli-name clone <source> [dest]  clone a repository into a newly created directory  c     
├──────────────────────────────────┼───────────────────────────────────────────────────┼───────┤
  cli-name start <service>        start named service                                      
├──────────────────────────────────┼───────────────────────────────────────────────────┼───────┤
  cli-name stop [service...]      stop named service, or all if no name supplied           
└──────────────────────────────────┴───────────────────────────────────────────────────┴───────┘

see test/test.js

CHANGELOG

  • 1.0.1

    • fixed variadic args
  • 1.0.0

commander-help's People

Contributors

cenfun avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.