neovim: add OpenUnsavedBuffers command
This commit is contained in:
@@ -13,3 +13,7 @@ end, {})
|
||||
vim.api.nvim_create_user_command("ClearMessages", function()
|
||||
require("notify").dismiss()
|
||||
end, {})
|
||||
|
||||
vim.api.nvim_create_user_command("OpenUnsavedBuffers", function()
|
||||
require("daniil.utils").open_unsaved_buffers()
|
||||
end, {})
|
||||
|
||||
@@ -86,4 +86,27 @@ function M.lsp_format(bufnr)
|
||||
})
|
||||
end
|
||||
|
||||
function M.open_unsaved_buffers()
|
||||
local buffers = vim.api.nvim_list_bufs()
|
||||
local unsaved_buffers = {}
|
||||
|
||||
local og_bufnr = vim.api.nvim_get_current_buf()
|
||||
|
||||
for _, bufnr in ipairs(buffers) do
|
||||
local is_saved = vim.api.nvim_buf_get_option(bufnr, "modified")
|
||||
|
||||
if is_saved and bufnr ~= og_bufnr then
|
||||
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||
|
||||
table.insert(unsaved_buffers, bufnr)
|
||||
|
||||
vim.cmd("tabnew " .. bufname)
|
||||
end
|
||||
end
|
||||
|
||||
if #unsaved_buffers > 0 then
|
||||
vim.notify("Opened " .. #unsaved_buffers .. " unsaved buffers")
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
Reference in New Issue
Block a user