diff options
author | (´⌣`ʃƪ) <pt2121@users.noreply.github.com> | 2019-10-06 08:46:46 -0700 |
---|---|---|
committer | Matan Kushner <hello@matchai.me> | 2019-10-07 00:46:46 +0900 |
commit | 77c25b60c2413bbf894d97e6be6a1b7909bf1984 (patch) | |
tree | 8e6fa99ae0fbb0cec9fe454edb5797b32315fd8c | |
parent | ab5dae3d054afef97b0137f11da588bb378f671d (diff) |
fix: Don't print the first module prefix after a line-break (#473)
-rw-r--r-- | src/module.rs | 5 | ||||
-rw-r--r-- | src/print.rs | 18 |
2 files changed, 16 insertions, 7 deletions
diff --git a/src/module.rs b/src/module.rs index 846c09ef5..58ff8f0ac 100644 --- a/src/module.rs +++ b/src/module.rs @@ -127,6 +127,11 @@ impl<'a> Module<'a> { } } + /// Get module's name + pub fn get_name(&self) -> &String { + &self._name + } + /// Whether a module has non-empty segments pub fn is_empty(&self) -> bool { self.segments.iter().all(|segment| segment.is_empty()) diff --git a/src/print.rs b/src/print.rs index 891890ee0..5089dfa8b 100644 --- a/src/print.rs +++ b/src/print.rs @@ -41,16 +41,20 @@ pub fn prompt(args: ArgMatches) { .flatten() .collect::<Vec<Module>>(); // Remove segments set to `None` + let mut print_without_prefix = true; let mut printable = modules.iter(); - // Print the first module without its prefix - if let Some(first_module) = printable.next() { - let module_without_prefix = first_module.to_string_without_prefix(); - write!(handle, "{}", module_without_prefix).unwrap() - } + for module in printable { + // Skip printing the prefix of a module after the line_break + if print_without_prefix { + let module_without_prefix = module.to_string_without_prefix(); + write!(handle, "{}", module_without_prefix).unwrap() + } else { + write!(handle, "{}", module).unwrap(); + } - // Print all remaining modules - printable.for_each(|module| write!(handle, "{}", module).unwrap()); + print_without_prefix = module.get_name() == "line_break" + } } pub fn module(module_name: &str, args: ArgMatches) { |