mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 05:40:05 +08:00
56 lines
1.2 KiB
Lua
56 lines
1.2 KiB
Lua
|
|
function Job.accumulate_results(results)
|
|
return function(err, data)
|
|
if data == nil then
|
|
if results[#results] == '' then
|
|
table.remove(results, #results)
|
|
end
|
|
|
|
return
|
|
end
|
|
|
|
if results[1] == nil then
|
|
results[1] = ''
|
|
end
|
|
|
|
-- Get rid of pesky \r
|
|
data = data:gsub("\r", "")
|
|
|
|
local line, start, found_newline
|
|
while true do
|
|
start = string.find(data, "\n") or #data
|
|
found_newline = string.find(data, "\n")
|
|
|
|
line = string.sub(data, 1, start)
|
|
data = string.sub(data, start + 1, -1)
|
|
|
|
line = line:gsub("\r", "")
|
|
line = line:gsub("\n", "")
|
|
|
|
results[#results] = (results[#results] or '') .. line
|
|
|
|
if found_newline then
|
|
table.insert(results, '')
|
|
else
|
|
break
|
|
end
|
|
end
|
|
|
|
-- if found_newline and results[#results] == '' then
|
|
-- table.remove(results, #results)
|
|
-- end
|
|
|
|
-- if string.find(data, "\n") then
|
|
-- for _, line in ipairs(vim.fn.split(data, "\n")) do
|
|
-- line = line:gsub("\n", "")
|
|
-- line = line:gsub("\r", "")
|
|
|
|
-- table.insert(results, line)
|
|
-- end
|
|
-- else
|
|
-- results[#results] = results[#results] .. data
|
|
-- end
|
|
end
|
|
end
|
|
|