aboutsummaryrefslogtreecommitdiff
path: root/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
parentd3200215f783b131ebd07aa76c6adc0516f548db (diff)
downloadvis-e3b465dd8dc70ef7f9de45d9bc06ef47cb251848.tar.gz
vis-e3b465dd8dc70ef7f9de45d9bc06ef47cb251848.tar.xz
Add tests for vis:command_register()
Diffstat (limited to 'lua')
-rw-r--r--lua/basic_command_register.in0
-rw-r--r--lua/basic_command_register.lua27
-rw-r--r--lua/basic_command_register.ref55
3 files changed, 82 insertions, 0 deletions
diff --git a/lua/basic_command_register.in b/lua/basic_command_register.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lua/basic_command_register.in
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')
diff --git a/lua/basic_command_register.ref b/lua/basic_command_register.ref
new file mode 100644
index 0000000..e61b26c
--- /dev/null
+++ b/lua/basic_command_register.ref
@@ -0,0 +1,55 @@
+args: 0
+bang: no
+name: basic_command_register.in
+pos: 49
+range: [0, 0]
+
+args: 0
+bang: yes
+name: basic_command_register.in
+pos: 122
+range: [0, 72]
+
+args: 0
+bang: yes
+name: basic_command_register.in
+pos: 197
+range: [8, 57]
+
+args: 0
+bang: no
+name: basic_command_register.in
+pos: 271
+range: [0, 222]
+
+args: 1
+ 1 one
+bang: no
+name: basic_command_register.in
+pos: 353
+range: [0, 297]
+
+args: 2
+ 1 one
+ 2 two
+bang: no
+name: basic_command_register.in
+pos: 437
+range: [0, 374]
+
+args: 10
+ 1 one
+ 2 two
+ 3 three
+ 4 four
+ 5 five
+ 6 six
+ 7 seven
+ 8 eight
+ 9 nine
+ 10 ten
+bang: no
+name: basic_command_register.in
+pos: 563
+range: [0, 468]
+