WIP
This commit is contained in:
parent
ccc158103c
commit
72ac7e3dff
@ -3,10 +3,11 @@
|
||||
--
|
||||
|
||||
local Cursor = {}
|
||||
Cursor.mt = {__index = Cursor}
|
||||
|
||||
function Cursor.new(row, col)
|
||||
local cursor = {row = row, col = col}
|
||||
return setmetatable(cursor, {__index = Cursor})
|
||||
return setmetatable(cursor, Cursor.mt)
|
||||
end
|
||||
|
||||
function Cursor:is_valid()
|
||||
@ -30,15 +31,20 @@ function Cursor:set_current()
|
||||
vim.fn.secursorcharpos({self.row, self.col})
|
||||
end
|
||||
|
||||
function Cursor.mt.__eq(self, other)
|
||||
return self.row == other.row and self.col == other.col
|
||||
end
|
||||
|
||||
--
|
||||
-- BracePair
|
||||
--
|
||||
|
||||
local BracePair = {}
|
||||
BracePair.mt = {__index = BracePair}
|
||||
|
||||
function BracePair.new(open, close)
|
||||
local pair = {open = open, close = close}
|
||||
return setmetatable(pair, {__index = BracePair})
|
||||
return setmetatable(pair, BracePair.mt)
|
||||
end
|
||||
|
||||
function BracePair.from_brace(brace)
|
||||
@ -103,10 +109,11 @@ end
|
||||
--
|
||||
|
||||
local BraceStack = {}
|
||||
BraceStack.mt = {__index = BraceStack}
|
||||
|
||||
function BraceStack.new()
|
||||
local stack = {stack = {}}
|
||||
return setmetatable(stack, {__index = BraceStack})
|
||||
return setmetatable(stack, BraceStack.mt)
|
||||
end
|
||||
|
||||
function BraceStack:update(brace)
|
||||
@ -142,6 +149,7 @@ end
|
||||
--
|
||||
|
||||
local BraceRange = {}
|
||||
BraceRange.mt = {__index = BraceRange}
|
||||
|
||||
function BraceRange.new(start, stop, pair)
|
||||
local range = {
|
||||
@ -150,7 +158,7 @@ function BraceRange.new(start, stop, pair)
|
||||
pair = pair,
|
||||
}
|
||||
|
||||
return setmetatable(range, {__index = BraceRange})
|
||||
return setmetatable(range, BraceRange.mt)
|
||||
end
|
||||
|
||||
function BraceRange.find_closest(pair)
|
||||
@ -158,7 +166,7 @@ function BraceRange.find_closest(pair)
|
||||
if stop then
|
||||
local start = pair:find_closest(true)
|
||||
if start then
|
||||
return BraceRange.new(start, stop, pair, {})
|
||||
return BraceRange.new(start, stop, pair)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -210,6 +218,7 @@ end
|
||||
--
|
||||
|
||||
local Param = {}
|
||||
Param.mt = {__index = Param}
|
||||
|
||||
function Param.new(text, pair)
|
||||
local param = {
|
||||
@ -217,7 +226,7 @@ function Param.new(text, pair)
|
||||
pair = pair,
|
||||
}
|
||||
|
||||
return setmetatable(param, {__index = Param})
|
||||
return setmetatable(param, Param.mt)
|
||||
end
|
||||
|
||||
function Param:append(char)
|
||||
@ -233,6 +242,7 @@ end
|
||||
--
|
||||
|
||||
local ParamList = {}
|
||||
ParamList.mt = {__index = ParamList}
|
||||
|
||||
function ParamList.new()
|
||||
local params = {
|
||||
@ -240,7 +250,7 @@ function ParamList.new()
|
||||
parsed = {},
|
||||
}
|
||||
|
||||
return setmetatable(params, {__index = ParamList})
|
||||
return setmetatable(params, ParamList.mt)
|
||||
end
|
||||
|
||||
function ParamList:flush()
|
||||
@ -296,6 +306,7 @@ end
|
||||
--
|
||||
|
||||
local WrapContext = {}
|
||||
WrapContext.mt = {__index = WrapContext}
|
||||
|
||||
function WrapContext.new(opt)
|
||||
local wrap_context = {
|
||||
@ -307,7 +318,7 @@ function WrapContext.new(opt)
|
||||
params = nil,
|
||||
}
|
||||
|
||||
return setmetatable(wrap_context, {__index = WrapContext})
|
||||
return setmetatable(wrap_context, WrapContext.mt)
|
||||
end
|
||||
|
||||
function WrapContext:parse()
|
||||
|
Loading…
Reference in New Issue
Block a user