vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit 2bd689317834361ee701f29fe04ced16059a4c72
parent 87886a7c5c442807c31546d4b83524c0b4bd1540
Author: Josh Wainwright <josh.wainwright@ldra.com>
Date:   Thu, 21 Apr 2016 12:04:43 +0100

Add tests for vis:command_register()

Diffstat:
Alua/basic_command_register.in | 0
Alua/basic_command_register.lua | 27+++++++++++++++++++++++++++
Alua/basic_command_register.ref | 55+++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/lua/basic_command_register.in b/lua/basic_command_register.in diff --git a/lua/basic_command_register.lua 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 @@ -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] +