From d092aa78db9740ecc35093549a7dff1efe2a0b44 Mon Sep 17 00:00:00 2001 From: Felix Angell Date: Sun, 29 Apr 2018 18:03:22 +0100 Subject: [PATCH] fix line count gutter width --- gui/buffer.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gui/buffer.go b/gui/buffer.go index ddfc225..1bf9937 100644 --- a/gui/buffer.go +++ b/gui/buffer.go @@ -1041,15 +1041,18 @@ func (b *Buffer) renderAt(ctx *strife.Renderer, rx int, ry int) { if b.cfg.Editor.Show_Line_Numbers { gutterPadPx := 10 - numLinesWidth := len(string(numLines)) + 1 - gutterWidth := last_w*numLinesWidth + (gutterPadPx * 2) + + // how many chars we need + numLinesCharWidth := len(string(numLines)) + 2 + + gutterWidth := last_w*numLinesCharWidth + (gutterPadPx * 2) // render the line numbers ctx.SetColor(strife.HexRGB(b.buffOpts.lineNumBackground)) ctx.Rect(rx, (ry + (y_col * last_h)), gutterWidth, b.h, strife.Fill) ctx.SetColor(strife.HexRGB(b.buffOpts.lineNumForeground)) - ctx.String(fmt.Sprintf("%*d", numLinesWidth, start+lineNum), rx+gutterPadPx, (ry + (y_col * last_h))) + ctx.String(fmt.Sprintf("%*d", numLinesCharWidth, start+lineNum), rx+gutterPadPx, (ry + (y_col * last_h))) b.ex = gutterWidth }