local uv = vim.loop
local readall = function(path, callback)
uv.fs_open(path, "r", 384, function(open_err, fd)
assert(open_err == nil, open_err)
uv.fs_stat(path, function(stat_err, stat)
assert(stat_err == nil, stat_err)
uv.fs_read(fd, stat.size, 0, function(read_err, data)
assert(read_err == nil, read_err)
assert(#data == stat.size)
uv.fs_close(fd, function(close_err, success)
assert(close_err == nil, close_err)
assert(success)
callback(data)
end)
end)
end)
end)
end
readall("/tmp/seq30", function(data)
for _, line in ipairs(vim.split(data, "\n")) do
print(line)
end
end)
贴出来给大家瞅瞅啊。
其实就一个 io.lines(path)
,写完上面这篇代码我不由得犹豫,我就写个小插件,有必要强上异步吗?
还只是个这么简单的需求。
( vim.loop 是 neovim 提供的 libuv/luv 访问入口)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.