From c2c6cb5b6ac16f4e496c41de00516d463c24cf84 Mon Sep 17 00:00:00 2001 From: James Shubin Date: Fri, 6 Jun 2025 02:38:11 -0400 Subject: [PATCH] lang: interfaces: Subtle fixes in textarea Turns out we need a lot more tests to make this work easier. --- lang/interfaces/textarea.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lang/interfaces/textarea.go b/lang/interfaces/textarea.go index 9f0a83a6..209b9137 100644 --- a/lang/interfaces/textarea.go +++ b/lang/interfaces/textarea.go @@ -168,12 +168,13 @@ func (obj *Textarea) HighlightText() string { result.WriteString(indent) result.WriteString(strings.Repeat(" ", obj.startColumn-offset)) // TODO: add on the width of the second element as well - result.WriteString(strings.Repeat("^", obj.endColumn-obj.startColumn+1)) + result.WriteString(strings.Repeat("^", obj.endColumn-obj.startColumn)) result.WriteString("\n") return result.String() } + // XXX: the below code might be buggy, write some tests and check it... line := lines[obj.startLine] + "\n" text := strings.TrimLeft(line, " \t") indent := strings.TrimSuffix(line, text) @@ -191,7 +192,7 @@ func (obj *Textarea) HighlightText() string { result.WriteString(line) result.WriteString(indent) - result.WriteString(strings.Repeat(" ", obj.startColumn-offset)) + result.WriteString(strings.Repeat(" ", obj.endColumn-offset-1)) // -1 because it's the space before the caret result.WriteString("^ ... to here\n") return result.String()