summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2021-11-26 23:41:25 -0500
committerGitHub <noreply@github.com>2021-11-26 23:41:25 -0500
commit7d2ac303573a444ec3e98657bd0bd6d11f562b21 (patch)
tree8cf21a963ba3d8caf1178cdeb3480fb0d7c9455c
parenta122013f075101378809d9b52c53729ba91601c5 (diff)
802 fix color moved side by side panic (#803)
Append newline character when preparing raw line Fixes #802
-rw-r--r--etc/examples/72-color-moved-4.diff8
-rw-r--r--etc/examples/802-color-moved.diff12
-rw-r--r--src/paint.rs8
3 files changed, 26 insertions, 2 deletions
diff --git a/etc/examples/72-color-moved-4.diff b/etc/examples/72-color-moved-4.diff
new file mode 100644
index 00000000..9aa6fc6e
--- /dev/null
+++ b/etc/examples/72-color-moved-4.diff
@@ -0,0 +1,8 @@
+diff --git a/file.py b/file.py
+index f2f1f5e..9735c3a 100644
+--- a/file.py
++++ b/file.py
+@@ -1,2 +1,2 @@
+-class X: pass # • unicode
+ class Y: pass # • unicode
++class X: pass # • unicode
diff --git a/etc/examples/802-color-moved.diff b/etc/examples/802-color-moved.diff
new file mode 100644
index 00000000..40cf9c32
--- /dev/null
+++ b/etc/examples/802-color-moved.diff
@@ -0,0 +1,12 @@
+commit 57e5082
+Author: Caleb Maclennan <caleb@alerque.com>
+Date: Sat Nov 27 01:08:54 2021 +0300
+
+ Move verses to correct week file
+
+diff --git a/foo.md b/foo.md
+index ba489f0..0ad8245 100644
+--- a/foo.md
++++ b/foo.md
+@@ -20,3 +20,99 @@ foo bar
++As I swore in my wrath, 'They shall not enter my rest.'"
diff --git a/src/paint.rs b/src/paint.rs
index f188306d..cfd453fe 100644
--- a/src/paint.rs
+++ b/src/paint.rs
@@ -135,9 +135,13 @@ impl<'p> Painter<'p> {
}
}
- // Remove initial -/+ character, and expand tabs as spaces, retaining ANSI sequences.
+ // Remove initial -/+ character, expand tabs as spaces, retaining ANSI sequences. Terminate with
+ // newline character.
pub fn prepare_raw_line(&self, raw_line: &str) -> String {
- ansi::ansi_preserving_slice(&self.expand_tabs(raw_line.graphemes(true)), 1)
+ format!(
+ "{}\n",
+ ansi::ansi_preserving_slice(&self.expand_tabs(raw_line.graphemes(true)), 1),
+ )
}
/// Expand tabs as spaces.