Skip to content

Commit 86e61d1

Browse files
committed
imp: removes extra newline from help output
1 parent 65b1de6 commit 86e61d1

File tree

2 files changed

+23
-19
lines changed

2 files changed

+23
-19
lines changed

src/app/help.rs

+23-18
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ impl<'a> Help<'a> {
115115
/// Writes the parser help to the wrapped stream.
116116
pub fn write_help(&mut self, parser: &Parser) -> ClapResult<()> {
117117
if let Some(h) = parser.meta.help_str {
118-
try!(writeln!(self.writer, "{}", h).map_err(Error::from));
118+
try!(write!(self.writer, "{}", h).map_err(Error::from));
119119
} else if let Some(ref tmpl) = parser.meta.template {
120120
try!(self.write_templated_help(&parser, tmpl));
121121
} else {
@@ -143,7 +143,13 @@ impl<'a> Help<'a> {
143143
arg_v.push(arg)
144144
}
145145
}
146+
let mut first = true;
146147
for arg in arg_v {
148+
if !first {
149+
try!(self.writer.write(b"\n"));
150+
} else {
151+
first = false;
152+
};
147153
try!(self.write_arg(arg.as_base(), longest));
148154
}
149155
Ok(())
@@ -166,8 +172,14 @@ impl<'a> Help<'a> {
166172
btm.insert(arg.name(), arg);
167173
}
168174
}
175+
let mut first = true;
169176
for (_, btm) in ord_m.into_iter() {
170177
for (_, arg) in btm.into_iter() {
178+
if !first {
179+
try!(self.writer.write(b"\n"));
180+
} else {
181+
first = false;
182+
};
171183
try!(self.write_arg(arg.as_base(), longest));
172184
}
173185
}
@@ -184,7 +196,6 @@ impl<'a> Help<'a> {
184196
try!(self.long(arg, longest));
185197
try!(self.val(arg, longest));
186198
try!(self.help(arg, longest));
187-
try!(self.writer.write(b"\n"));
188199
Ok(())
189200
}
190201

@@ -458,45 +469,33 @@ impl<'a> Help<'a> {
458469

459470
let unified_help = parser.is_set(AppSettings::UnifiedHelpMessage);
460471

461-
let mut first = true;
462-
463472
if unified_help && (flags || opts) {
464473
let opts_flags = parser.iter_flags()
465474
.map(as_arg_trait)
466475
.chain(parser.iter_opts().map(as_arg_trait));
467476
try!(color!(self, "OPTIONS:\n", Warning));
468477
try!(self.write_args(opts_flags));
469-
first = false;
470478
} else {
471479
if flags {
472480
try!(color!(self, "FLAGS:\n", Warning));
473481
try!(self.write_args(parser.iter_flags()
474482
.map(as_arg_trait)));
475-
first = false;
476483
}
477484
if opts {
478-
if !first {
479-
try!(self.writer.write(b"\n"));
480-
}
485+
try!(self.writer.write(b"\n\n"));
481486
try!(color!(self, "OPTIONS:\n", Warning));
482487
try!(self.write_args(parser.iter_opts().map(as_arg_trait)));
483-
first = false;
484488
}
485489
}
486490

487491
if pos {
488-
if !first {
489-
try!(self.writer.write(b"\n"));
490-
}
492+
try!(self.writer.write(b"\n\n"));
491493
try!(color!(self, "ARGS:\n", Warning));
492494
try!(self.write_args_unsorted(parser.iter_positionals().map(as_arg_trait)));
493-
first = false;
494495
}
495496

496497
if subcmds {
497-
if !first {
498-
try!(self.writer.write(b"\n"));
499-
}
498+
try!(self.writer.write(b"\n\n"));
500499
try!(color!(self, "SUBCOMMANDS:\n", Warning));
501500
try!(self.write_subcommands(&parser));
502501
}
@@ -515,8 +514,14 @@ impl<'a> Help<'a> {
515514
longest = cmp::max(longest, sc.p.meta.name.len());
516515
}
517516

517+
let mut first = true;
518518
for (_, btm) in ord_m.into_iter() {
519519
for (_, sc) in btm.into_iter() {
520+
if !first {
521+
try!(self.writer.write(b"\n"));
522+
} else {
523+
first = false;
524+
}
520525
try!(self.write_arg(sc, longest));
521526
}
522527
}
@@ -575,7 +580,7 @@ impl<'a> Help<'a> {
575580
}
576581

577582
if let Some(h) = parser.meta.more_help {
578-
try!(write!(self.writer, "{}\n", h));
583+
try!(write!(self.writer, "{}", h));
579584
}
580585

581586
self.writer.flush().map_err(Error::from)

src/app/parser.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1570,7 +1570,6 @@ impl<'a, 'b> Parser<'a, 'b>
15701570
self.write_help(&mut buf_w)
15711571
}
15721572

1573-
#[cfg_attr(feature = "lints", allow(for_kv_map))]
15741573
pub fn write_help<W: Write>(&self, w: &mut W) -> ClapResult<()> {
15751574
Help::write_parser_help(w, &self)
15761575
}

0 commit comments

Comments
 (0)