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 {
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)
}
}
}

View File

@@ -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)

View File

@@ -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()