From 0774b6e6933ce3093e2ecda1619c876bc4b85696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Wed, 17 Feb 2016 23:00:25 +0100 Subject: vis-lua: add helper functions to implement motions/text objects in lua --- visrc.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/visrc.lua b/visrc.lua index 469a127..98f4ee9 100644 --- a/visrc.lua +++ b/visrc.lua @@ -2,6 +2,33 @@ vis.lexers = require('lexer') vis.events = {} +vis.motion_new = function(vis, key, motion) + local id = vis:motion_register(motion) + if id < 0 then + return false + end + local binding = function() + vis:motion(id) + end + vis:map(vis.MODE_NORMAL, key, binding) + vis:map(vis.MODE_VISUAL, key, binding) + vis:map(vis.MODE_OPERATOR_PENDING, key, binding) + return true +end + +vis.textobject_new = function(vis, key, textobject) + local id = vis:textobject_register(textobject) + if id < 0 then + return false + end + local binding = function() + vis:textobject(id) + end + vis:map(vis.MODE_VISUAL, key, binding) + vis:map(vis.MODE_OPERATOR_PENDING, key, binding) + return true +end + vis.events.win_open = function(win) local files = { -- cgit v1.2.3