diff options
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -115,9 +115,8 @@ local function match_at(str, pattern, pos) if t then return t[1] - 1, t[#t] - 1 end end -local function escaping_context(win, range, data) - if not win.syntax then return {} end - local rules = vis.lexers.load(win.syntax)._RULES +local function escaping_context(lexer, range, data) + local rules = lexer._RULES local p for _, name in ipairs({vis.lexers.COMMENT, vis.lexers.STRING}) do if rules[name] then @@ -144,11 +143,13 @@ local function escaping_context(win, range, data) end local function get_range(key, win, pos, file_data, count) + if not win.syntax then return end local d = get_pair(key, win) if not d then return end + local lexer = vis.lexers.load(win.syntax) repeat local sel_range = selection_range(win, pos) - local c = escaping_context(win, sel_range, file_data) + local c = escaping_context(lexer, sel_range, file_data) local range = c.range or {1, #file_data} local correction = range[1] - 1 pos = pos - correction |