|
| 1 | +const program = require('commander'); |
| 2 | +const colors = require('colors'); |
| 3 | +const moment = require('moment'); |
| 4 | +const Table = require('cli-table'); |
| 5 | + |
| 6 | + |
| 7 | +const Config = require('./include/file-config'); |
| 8 | +const Cli = require('./include/cli'); |
| 9 | +const Tasks = require('./include/tasks'); |
| 10 | + |
| 11 | +program |
| 12 | + .arguments('[project]') |
| 13 | + .option('--verbose', 'show verbose output') |
| 14 | + .option('-c, --closed', 'show closed issues (instead of opened only)') |
| 15 | + .option('--my', 'show only issues assigned to me') |
| 16 | + .parse(process.argv); |
| 17 | + |
| 18 | +Cli.verbose = program.verbose; |
| 19 | + |
| 20 | +let config = new Config(process.cwd()), |
| 21 | + tasks = new Tasks(config), |
| 22 | + type = program.type ? program.type : 'issue', |
| 23 | + project = program.args[0]; |
| 24 | + |
| 25 | +tasks.list(project, program.closed ? 'closed' : 'opened', program.my) |
| 26 | + .then(issues => { |
| 27 | + let table = new Table({ |
| 28 | + style : {compact : true, 'padding-left' : 1} |
| 29 | + }); |
| 30 | + if (issues.length == 0) { |
| 31 | + console.log("No issues found."); |
| 32 | + } |
| 33 | + issues.forEach(issue => { |
| 34 | + table.push([issue.iid.toString().magenta, issue.title.green + "\n" + issue.data.web_url.gray, issue.state]) |
| 35 | + }) |
| 36 | + console.log(table.toString()); |
| 37 | + }) |
| 38 | + .catch(error => Cli.error(error)); |
| 39 | + |
0 commit comments