fix: synchronous file creation

allows cursor to be set when finishing
fixes #806
This commit is contained in:
kiyan
2022-02-05 13:01:37 +01:00
parent 9880c22ace
commit 192b2266f7
2 changed files with 14 additions and 13 deletions

View File

@@ -24,16 +24,13 @@ local function create_file(file)
return
end
end
uv.fs_open(file, "w", 420, vim.schedule_wrap(function(err, fd)
if err then
local ok, fd = pcall(uv.fs_open, file, "w", 420)
if not ok then
a.nvim_err_writeln('Couldn\'t create file '..file)
else
return
end
uv.fs_close(fd)
events._dispatch_file_created(file)
lib.refresh_tree()
focus_file(file)
end
end))
end
local function get_num_entries(iter)
@@ -98,8 +95,9 @@ function M.fn(node)
a.nvim_out_write(ans..' was properly created\n')
end
events._dispatch_folder_created(ans)
lib.refresh_tree()
lib.refresh_tree(function()
focus_file(ans)
end)
end
return M

View File

@@ -150,7 +150,7 @@ local function refresh_nodes(node, projects)
end
local event_running = false
function M.refresh_tree()
function M.refresh_tree(callback)
if event_running or not M.Tree.cwd or vim.v.exiting ~= vim.NIL then
return
end
@@ -160,6 +160,9 @@ function M.refresh_tree()
refresh_nodes(M.Tree, projects)
if view.win_open() then
M.redraw()
if callback then
callback()
end
end
diagnostics.update()
event_running = false