Don't highlight if syntax is off

This commit is contained in:
Zachary Yedidia
2017-02-19 16:59:46 -05:00
parent 32325f99ad
commit 16d8a560bf
3 changed files with 19 additions and 14 deletions

View File

@@ -189,7 +189,9 @@ func (b *Buffer) UpdateRules() {
if b.highlighter == nil || b.Settings["filetype"].(string) != b.syntaxDef.FileType { if b.highlighter == nil || b.Settings["filetype"].(string) != b.syntaxDef.FileType {
b.Settings["filetype"] = b.syntaxDef.FileType b.Settings["filetype"] = b.syntaxDef.FileType
b.highlighter = highlight.NewHighlighter(b.syntaxDef) b.highlighter = highlight.NewHighlighter(b.syntaxDef)
b.highlighter.Highlight(b, 0) if b.Settings["syntax"].(bool) {
b.highlighter.Highlight(b, 0)
}
} }
} }

View File

@@ -1,6 +1,8 @@
package main package main
import ( import (
"time"
"github.com/mattn/go-runewidth" "github.com/mattn/go-runewidth"
"github.com/zyedidia/tcell" "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] indentchar := []rune(buf.Settings["indentchar"].(string))[0]
start := buf.Cursor.Y start := buf.Cursor.Y
// startTime := time.Now() if buf.Settings["syntax"].(bool) {
if start > 0 && buf.lines[start-1].rehighlight { startTime := time.Now()
buf.highlighter.ReHighlightLine(buf, start-1) if start > 0 && buf.lines[start-1].rehighlight {
buf.lines[start-1].rehighlight = false buf.highlighter.ReHighlightLine(buf, start-1)
} buf.lines[start-1].rehighlight = false
}
buf.highlighter.ReHighlight(buf, start) buf.highlighter.ReHighlight(buf, start)
// elapsed := time.Since(startTime) elapsed := time.Since(startTime)
// for i, m := range matches { messenger.Message("Rehighlighted in ", elapsed)
// buf.matches[start+i] = m }
// }
// messenger.Message("Rehighlighted ", len(matches), " lines in ", elapsed)
c.lines = make([][]*Char, 0) c.lines = make([][]*Char, 0)

View File

@@ -171,7 +171,8 @@ func (v *View) DisplayView() {
screen.ShowCursor(xOffset+char.visualLoc.X, yOffset+char.visualLoc.Y) 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") style := GetColor("cursor-line")
fg, _, _ := style.Decompose() fg, _, _ := style.Decompose()
lineStyle = lineStyle.Background(fg) lineStyle = lineStyle.Background(fg)
@@ -203,7 +204,8 @@ func (v *View) DisplayView() {
lastX = xOffset 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++ { for i := lastX; i < xOffset+v.Width; i++ {
style := GetColor("cursor-line") style := GetColor("cursor-line")
fg, _, _ := style.Decompose() fg, _, _ := style.Decompose()