summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author(´⌣`ʃƪ) <pt2121@users.noreply.github.com>2019-10-06 08:46:46 -0700
committerMatan Kushner <hello@matchai.me>2019-10-07 00:46:46 +0900
commit77c25b60c2413bbf894d97e6be6a1b7909bf1984 (patch)
tree8e6fa99ae0fbb0cec9fe454edb5797b32315fd8c
parentab5dae3d054afef97b0137f11da588bb378f671d (diff)
fix: Don't print the first module prefix after a line-break (#473)
-rw-r--r--src/module.rs5
-rw-r--r--src/print.rs18
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) {