8000 refs #29: 'show -t' to print code template. · ant04444/leetcode-cli@be01a16 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit be01a16

Browse files
committed
refs skygragon#29: 'show -t' to print code template.
Signed-off-by: Eric Wang <skygragon@gmail.com>
1 parent 7f8bdea commit be01a16

File tree

1 file changed

+46
-22
lines changed

1 file changed

+46
-22
lines changed

lib/commands/show.js

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,18 @@ var cmd = {
3131
type: 'boolean',
3232
default: false,
3333
describe: 'Provide extra problem details in generated file'
34+
},
35+
desc: {
36+
alias: 'd',
37+
type: 'boolean',
38+
default: true,
39+
describe: 'Show problem description'
40+
},
41+
template: {
42+
alias: 't',
43+
type: 'boolean',
44+
default: false,
45+
describe: 'Show code template'
3446
}
3547
}
3648
};
@@ -39,14 +51,14 @@ cmd.handler = function(argv) {
3951
core.getProblem(argv.keyword, function(e, problem) {
4052
if (e) return log.fail(e);
4153

42-
var msg = '';
54+
var template = _.find(problem.templates, function(x) {
55+
return x.value === argv.lang;
56+
});
57+
if (!template && (argv.template || argv.gen))
58+
return log.fail('Unknown language "' + argv.lang + '"');
59+
60+
var fileinfo = '';
4361
if (argv.gen) {
44-
var template = _.find(problem.templates, function(x) {
45-
return x.value === argv.lang;
46-
});
47-
if (!template)
48-
return log.fail('Failed to generate source file, ' +
49-
'unknown language "' + argv.lang + '"');
5062
problem.code = template.defaultCode;
5163

5264
// try to use a new filename to avoid overwrite by mistake
@@ -60,24 +72,36 @@ cmd.handler = function(argv) {
6072
}
6173

6274
core.exportProblem(problem, filename, !argv.extra);
63-
msg = sprintf('(File: %s)', chalk.yellow.underline(filename));
75+
fileinfo = sprintf('(File: %s)', chalk.yellow.underline(filename));
76+
}
77+
78+
if (argv.desc) {
79+
log.info(sprintf('[%d] %s %s\t%s\n',
80+
problem.id,
81+
problem.name,
82+
(problem.starred ? chalk.yellow('★') : ' '),
83+
fileinfo));
84+
log.info(sprintf('%s\n', chalk.underline(problem.link)));
85+
log.info(sprintf('* %s (%.2f%%)', problem.level, problem.percent));
86+
log.info(sprintf('* Total Accepted: %d', problem.totalAC));
87+
log.info(sprintf('* Total Submissions: %d', problem.totalSubmit));
88+
if (problem.testable && problem.testcase) {
89+
log.info(sprintf('* Testcase Example: %s',
90+
chalk.yellow(util.inspect(problem.testcase))));
91+
}
92+
log.info();
93+
log.info(problem.desc);
94+
95+
if (argv.template) {
96+
log.info();
97+
log.info('Template:');
98+
log.info();
99+
}
64100
}
65101

66-
log.info(sprintf('[%d] %s %s\t%s\n',
67-
problem.id,
68-
problem.name,
69-
(problem.starred ? chalk.yellow('★') : ' '),
70-
msg));
71-
log.info(sprintf('%s\n', chalk.underline(problem.link)));
72-
log.info(sprintf('* %s (%.2f%%)', problem.level, problem.percent));
73-
log.info(sprintf('* Total Accepted: %d', problem.totalAC));
74-
log.info(sprintf('* Total Submissions: %d', problem.totalSubmit));
75-
if (problem.testable && problem.testcase) {
76-
log.info(sprintf('* Testcase Example: %s',
77-
chalk.yellow(util.inspect(problem.testcase))));
102+
if (argv.template) {
103+
log.info(chalk.yellow(template.defaultCode));
78104
}
79-
log.info();
80-
log.info(problem.desc);
81105
});
82106
};
83107

0 commit comments

Comments
 (0)
0