From 16d8a560bf2d455388c6bafaab80802af948cd1b Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sun, 19 Feb 2017 16:59:46 -0500 Subject: [PATCH] Don't highlight if syntax is off --- cmd/micro/buffer.go | 4 +++- cmd/micro/cellview.go | 23 ++++++++++++----------- cmd/micro/view2.go | 6 ++++-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/cmd/micro/buffer.go b/cmd/micro/buffer.go index 83e1787a..4d31f3a0 100644 --- a/cmd/micro/buffer.go +++ b/cmd/micro/buffer.go @@ -189,7 +189,9 @@ func (b *Buffer) UpdateRules() { if b.highlighter == nil || b.Settings["filetype"].(string) != b.syntaxDef.FileType { b.Settings["filetype"] = b.syntaxDef.FileType b.highlighter = highlight.NewHighlighter(b.syntaxDef) - b.highlighter.Highlight(b, 0) + if b.Settings["syntax"].(bool) { + b.highlighter.Highlight(b, 0) + } } } diff --git a/cmd/micro/cellview.go b/cmd/micro/cellview.go index 9c3dcf87..32a34446 100644 --- a/cmd/micro/cellview.go +++ b/cmd/micro/cellview.go @@ -1,6 +1,8 @@ package main import ( + "time" + "github.com/mattn/go-runewidth" "github.com/zyedidia/tcell" ) @@ -49,18 +51,17 @@ func (c *CellView) Draw(buf *Buffer, top, height, left, width int) { indentchar := []rune(buf.Settings["indentchar"].(string))[0] start := buf.Cursor.Y - // startTime := time.Now() - if start > 0 && buf.lines[start-1].rehighlight { - buf.highlighter.ReHighlightLine(buf, start-1) - buf.lines[start-1].rehighlight = false - } + if buf.Settings["syntax"].(bool) { + startTime := time.Now() + if start > 0 && buf.lines[start-1].rehighlight { + buf.highlighter.ReHighlightLine(buf, start-1) + buf.lines[start-1].rehighlight = false + } - buf.highlighter.ReHighlight(buf, start) - // elapsed := time.Since(startTime) - // for i, m := range matches { - // buf.matches[start+i] = m - // } - // messenger.Message("Rehighlighted ", len(matches), " lines in ", elapsed) + buf.highlighter.ReHighlight(buf, start) + elapsed := time.Since(startTime) + messenger.Message("Rehighlighted in ", elapsed) + } c.lines = make([][]*Char, 0) diff --git a/cmd/micro/view2.go b/cmd/micro/view2.go index ab7b5d45..a0e2fbc2 100644 --- a/cmd/micro/view2.go +++ b/cmd/micro/view2.go @@ -171,7 +171,8 @@ func (v *View) DisplayView() { screen.ShowCursor(xOffset+char.visualLoc.X, yOffset+char.visualLoc.Y) } - if v.Buf.Settings["cursorline"].(bool) && tabs[curTab].CurView == v.Num && !v.Cursor.HasSelection() && v.Cursor.Y == realLineN { + if v.Buf.Settings["cursorline"].(bool) && tabs[curTab].CurView == v.Num && + !v.Cursor.HasSelection() && v.Cursor.Y == realLineN { style := GetColor("cursor-line") fg, _, _ := style.Decompose() lineStyle = lineStyle.Background(fg) @@ -203,7 +204,8 @@ func (v *View) DisplayView() { lastX = xOffset } - if v.Buf.Settings["cursorline"].(bool) && tabs[curTab].CurView == v.Num && !v.Cursor.HasSelection() && v.Cursor.Y == realLineN { + if v.Buf.Settings["cursorline"].(bool) && tabs[curTab].CurView == v.Num && + !v.Cursor.HasSelection() && v.Cursor.Y == realLineN { for i := lastX; i < xOffset+v.Width; i++ { style := GetColor("cursor-line") fg, _, _ := style.Decompose()