aboutsummaryrefslogtreecommitdiff
path: root/lua/basic_command_register.lua
diff options
context:
space:
mode:
authorJosh Wainwright <josh.wainwright@ldra.com>2016-04-21 12:04:43 +0100
committerMarc André Tanner <mat@brain-dump.org>2016-04-26 09:28:30 +0200
commite3b465dd8dc70ef7f9de45d9bc06ef47cb251848 (patch)
tree4576bfe5d928a2cb72871b495bc9bb7dbfaee3a5 /lua/basic_command_register.lua
parentd3200215f783b131ebd07aa76c6adc0516f548db (diff)
downloadvis-e3b465dd8dc70ef7f9de45d9bc06ef47cb251848.tar.gz
vis-e3b465dd8dc70ef7f9de45d9bc06ef47cb251848.tar.xz
Add tests for vis:command_register()
Diffstat (limited to 'lua/basic_command_register.lua')
-rw-r--r--lua/basic_command_register.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/lua/basic_command_register.lua b/lua/basic_command_register.lua
new file mode 100644
index 0000000..62afb8b
--- /dev/null
+++ b/lua/basic_command_register.lua
@@ -0,0 +1,27 @@
+local win = vis.win
+vis:command_register("foo", function(argv, force, win, cursor, range)
+ append(win, '$', 'args: ' .. #argv)
+ for i,arg in ipairs(argv) do
+ append(win, '$', '\t' .. i .. ' ' .. arg)
+ end
+ append(win, '$', 'bang: ' .. (force and "yes" or "no"))
+ append(win, '$', 'name: ' .. win.file.name)
+ append(win, '$', 'pos: ' .. cursor.pos)
+ append(win, '$', 'range: ' .. (range ~= nil and
+ ('['..range.start..', '..range.finish..']')
+ or "invalid range"))
+ append(win, '$', '')
+ return true;
+end)
+
+vis:command('foo')
+vis:command('foo!')
+-- TODO Providing a range does not work
+vis:command('2,4foo!')
+vis:command('%foo')
+vis:command('foo one')
+vis:command('foo one two')
+-- TODO Is there a limit on number of arguments?
+vis:command('foo one two three four five six seven eight nine ten')
+
+vis:command('w! basic_command_register.out')