UNPKG

projectman

Version:

Hate opening folders? Select and open your projects in your favourite editor straight from your command line without 'CD'ing into the deeply nested folders.

74 lines (60 loc) 1.79 kB
#!/usr/bin/env node const program = require('commander'); const { suggestCommands } = require('../lib/helper'); const actions = require('../lib/actions'); program.version(require('../package.json').version); // Commands program .command('open [projectName]') .alias('o') .description('Open one of your saved projects') .action(actions.openProject); program .command('create [projectName]') .alias('c') .description('Create project') .action(actions.createProject); program .command('add [projectDirectory]') .alias('save') .option('-u, --url [link]', 'Add a link to a repository to projects') .description('Save current directory as a project') .action(actions.addProject); program .command('remove [projectName]') .description('Remove the project') .action(actions.removeProject); program .command('seteditor [commandToOpen]') .description('Set text editor to use') .option( '-f|--for-project [projectName]', 'set different editor for specific project' ) .action(actions.setEditor); program .command('rmeditor [projectName]') .description('Remove text editor to use') .option('-a|--all', 'remove editors from all projects') .action(actions.rmEditor); program .command('edit') .description('Edit settings.json') .action(actions.editConfigurations); program .command('getpath [projectName]') .alias('gp') .description('Get project path') .action(actions.getProjectPath); program.arguments('<command>').action((command) => { console.log(`Command ${command} not found\n`); program.outputHelp(); suggestCommands(command); }); program.usage('<command>'); if (process.argv.length <= 2) { // If no command mentioned then output help actions.openProject(); } // Parse arguments program.parse(process.argv);