about summary refs log tree commit diff
path: root/src/utils.rs
diff options
context:
space:
mode:
authorMarcus Klaas <mail@marcusklaas.nl>2015-08-14 14:09:19 +0200
committerMarcus Klaas <mail@marcusklaas.nl>2015-08-16 22:53:06 +0200
commit41bca58100260323e54ff83e5bc74dd920beabcd (patch)
treef3aa2bd2357772460166aebde44155454aaab3a4 /src/utils.rs
parent78b38c84c620a3019473463a5ff9120941604ec2 (diff)
Format paths
Diffstat (limited to 'src/utils.rs')
-rw-r--r--src/utils.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/utils.rs b/src/utils.rs
index 3ff30da9784..59f85b3ad27 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -15,6 +15,16 @@ use comment::FindUncommented;
 
 use SKIP_ANNOTATION;
 
+// Computes the length of a string's last line, minus offset.
+#[inline]
+pub fn extra_offset(text: &str, offset: usize) -> usize {
+    match text.rfind('\n') {
+        // 1 for newline character
+        Some(idx) => text.len() - idx - 1 - offset,
+        None => text.len()
+    }
+}
+
 #[inline]
 pub fn span_after(original: Span, needle: &str, codemap: &CodeMap) -> BytePos {
     let snippet = codemap.span_to_snippet(original).unwrap();