summaryrefslogtreecommitdiff
path: root/vis/visrc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'vis/visrc.lua')
-rw-r--r--vis/visrc.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/vis/visrc.lua b/vis/visrc.lua
new file mode 100644
index 0000000..909aa00
--- /dev/null
+++ b/vis/visrc.lua
@@ -0,0 +1,17 @@
+vis.events = {}
+vis.events.win_open = function(win)
+ -- test.in file passed to vis
+ local name = win.file.name
+ if name then
+ -- use the corresponding test.lua file
+ name = string.gsub(name, '%.in$', '')
+ local file = assert(io.popen(string.format("cpp -P '%s.keys'", name), 'r'))
+ local keys = file:read('*all')
+ keys = string.gsub(keys, '<Space>', ' ')
+ keys = string.gsub(keys, '\n', '')
+ file:close()
+ vis:feedkeys(keys..'<Escape>')
+ vis:command(string.format("w! '%s.out'", name))
+ end
+ vis:command('q!')
+end