Compare commits
No commits in common. "5de6deae99c705148aa1537bb6839ae3d316a0c8" and "9d241775a9eb49a3fece4b4333b11dbc5fd804ba" have entirely different histories.
5de6deae99
...
9d241775a9
@ -234,9 +234,6 @@ function Param.new(pair, opt)
|
||||
text = '',
|
||||
literals = {},
|
||||
offset = nil,
|
||||
start = nil,
|
||||
stop = nil,
|
||||
terminator = nil,
|
||||
}
|
||||
|
||||
return setmetatable(param, Param)
|
||||
@ -251,19 +248,6 @@ function Param:append(char, cursor)
|
||||
if cursor == Cursor.get_current() then
|
||||
self.offset = #self.text
|
||||
end
|
||||
|
||||
if not self.start then
|
||||
self.start = cursor
|
||||
end
|
||||
|
||||
self.stop = cursor
|
||||
end
|
||||
|
||||
function Param:terminate(cursor)
|
||||
self.terminator = cursor
|
||||
if self.terminator == Cursor.get_current() then
|
||||
self.offset = #self.text
|
||||
end
|
||||
end
|
||||
|
||||
function Param:is_active()
|
||||
@ -296,7 +280,7 @@ function Param:trim()
|
||||
self:slice(1, #self.text - #self.text:match('%s*$'))
|
||||
self:slice(1 + #self.text:match('^%s*'), #self.text)
|
||||
|
||||
if self.text:match('^' .. self.opt.line_prefix) then
|
||||
if #self.opt.line_prefix > 0 and self.text:match('^' .. self.opt.line_prefix) then
|
||||
self:slice(1 + #self.opt.line_prefix, #self.text)
|
||||
end
|
||||
|
||||
@ -306,7 +290,7 @@ function Param:trim()
|
||||
local offset = self.offset
|
||||
|
||||
for i = 1, #self.text do
|
||||
local char = self.text:sub(i, i)
|
||||
local char = self.text:sub(i, i)
|
||||
local literal = self.literals[i]
|
||||
|
||||
if literal or not char:match('%s') or not text:match('%s$') then
|
||||
@ -342,16 +326,11 @@ function ParamList.new(range, opt)
|
||||
return setmetatable(params, ParamList)
|
||||
end
|
||||
|
||||
function ParamList:flush(cursor)
|
||||
function ParamList:flush()
|
||||
if self.current then
|
||||
if cursor then
|
||||
self.current:terminate(cursor)
|
||||
end
|
||||
|
||||
if self.current:trim() then
|
||||
table.insert(self.parsed, self.current)
|
||||
end
|
||||
|
||||
self.current = nil
|
||||
end
|
||||
end
|
||||
@ -360,7 +339,7 @@ function ParamList:update(char, brace_stack, cursor)
|
||||
if not cursor:is_literal() then
|
||||
brace_stack:update(char)
|
||||
if brace_stack:empty() and char == ',' then
|
||||
self:flush(cursor)
|
||||
self:flush()
|
||||
return
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user