aboutsummaryrefslogtreecommitdiff
path: root/lua/vis-std.lua
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2017-03-19 12:29:13 +0100
committerMarc André Tanner <mat@brain-dump.org>2017-03-19 14:58:07 +0100
commitf295bba61f97ff0d3d43fcc156b78856f715ffad (patch)
tree74c8ab9561d7dd026595525dad58a8ec38b0c5d6 /lua/vis-std.lua
parent0102293b417d2adc5c4eeff78a9d31f61c9dd6ff (diff)
downloadvis-f295bba61f97ff0d3d43fcc156b78856f715ffad.tar.gz
vis-f295bba61f97ff0d3d43fcc156b78856f715ffad.tar.xz
Move :set horizon option implementaiton to lua
Diffstat (limited to 'lua/vis-std.lua')
-rw-r--r--lua/vis-std.lua9
1 files changed, 8 insertions, 1 deletions
diff --git a/lua/vis-std.lua b/lua/vis-std.lua
index 86f8f46..f7dc4f5 100644
--- a/lua/vis-std.lua
+++ b/lua/vis-std.lua
@@ -31,7 +31,13 @@ vis:option_register("syntax", "string", function(name)
return true
end, "Syntax highlighting lexer to use")
-vis.events.subscribe(vis.events.WIN_HIGHLIGHT, function(win, horizon_max)
+vis:option_register("horizon", "number", function(horizon)
+ if not vis.win then return false end
+ vis.win.horizon = horizon
+ return true
+end, "Number of bytes to consider for syntax highlighting")
+
+vis.events.subscribe(vis.events.WIN_HIGHLIGHT, function(win)
if win.syntax == nil or vis.lexers == nil then return end
local lexer = vis.lexers.load(win.syntax)
if lexer == nil then return end
@@ -39,6 +45,7 @@ vis.events.subscribe(vis.events.WIN_HIGHLIGHT, function(win, horizon_max)
-- TODO: improve heuristic for initial style
local viewport = win.viewport
if not viewport then return end
+ local horizon_max = win.horizon or 32768
local horizon = viewport.start < horizon_max and viewport.start or horizon_max
local view_start = viewport.start
local lex_start = viewport.start - horizon