From ccfae228b92191445f289c2f3f74967735a357b1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 23 Mar 2023 13:48:44 +0530 Subject: [PATCH] Avoid panics while rendering --- tools/cmd/diff/render.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/cmd/diff/render.go b/tools/cmd/diff/render.go index a6c92d955..c1e6adb29 100644 --- a/tools/cmd/diff/render.go +++ b/tools/cmd/diff/render.go @@ -149,7 +149,13 @@ type LogicalLines struct { func (self *LogicalLines) At(i int) *LogicalLine { return self.lines[i] } func (self *LogicalLines) ScreenLineAt(pos ScrollPos) string { - return self.lines[pos.logical_line].screen_lines[pos.screen_line] + if pos.logical_line < len(self.lines) && pos.logical_line >= 0 { + line := self.lines[pos.logical_line] + if pos.screen_line < len(line.screen_lines) && pos.screen_line >= 0 { + return self.lines[pos.logical_line].screen_lines[pos.screen_line] + } + } + return "" } func (self *LogicalLines) Len() int { return len(self.lines) }