aboutsummaryrefslogtreecommitdiff
path: root/configs/nvim/lua/crupest/nvim.lua
diff options
context:
space:
mode:
Diffstat (limited to 'configs/nvim/lua/crupest/nvim.lua')
-rw-r--r--configs/nvim/lua/crupest/nvim.lua114
1 files changed, 0 insertions, 114 deletions
diff --git a/configs/nvim/lua/crupest/nvim.lua b/configs/nvim/lua/crupest/nvim.lua
index 44c9b5f..1c252fd 100644
--- a/configs/nvim/lua/crupest/nvim.lua
+++ b/configs/nvim/lua/crupest/nvim.lua
@@ -1,5 +1,3 @@
-local fs = require("crupest.system.fs")
-
local function list_listed_bufs()
local bufs = vim.api.nvim_list_bufs()
local result = {}
@@ -105,123 +103,11 @@ local function close_float()
end
end
-local function full_path(name)
- return vim.fn.fnamemodify(name, ":p:gs?\\?/?")
-end
-
-local function coerce_path_for_dir(old, new)
- if fs.isdir(new) then
- return new .. "/" .. vim.fn.fnamemodify(old, ":t")
- end
- return new
-end
-
-local function do_mv_file(old, new, overwrite)
- new = coerce_path_for_dir(old, new)
-
- if full_path(old) == full_path(new) then
- vim.notify("Paths are identical. Do nothing.", vim.log.levels.WARN)
- return false
- end
-
- if not fs.isfile(old) then
- vim.notify("Not exists or not a file. Can't move.", vim.log.levels.ERROR)
- return false
- end
-
- if not overwrite and fs.exist(new) then
- vim.notify("Target path exists.", vim.log.levels.ERROR)
- return false
- end
-
- fs.move(old, new)
- vim.notify("File moved.")
-
- return new
-end
-
-local function mv_file(old, new, overwrite)
- new = do_mv_file(old, new, overwrite)
- if not new then return end
-
- local bufs = list_listed_bufs()
- for _, b in ipairs(bufs) do
- if full_path(vim.api.nvim_buf_get_name(b)) == full_path(old) then
- vim.api.nvim_buf_set_name(b, new)
- end
- end
-end
-
-local function mv_buf_file(buf, new, overwrite)
- if not buf_is_normal(buf) then
- vim.notify("Buf is not a normal buffer, can't move it.", vim.log.levels.ERROR)
- return
- end
-
- local name = vim.api.nvim_buf_get_name(buf)
-
- new = do_mv_file(name, new, overwrite)
- if not new then return end
-
- vim.api.nvim_buf_set_name(buf, new)
-end
-
-local function mv_dir(old_dir, new_dir, overwrite)
- new_dir = coerce_path_for_dir(old_dir, new_dir)
-
- if full_path(old_dir) == full_path(new_dir) then
- vim.notify("Paths are identical. Do nothing.", vim.log.levels.WARN)
- return
- end
-
- if not fs.isdir(old_dir) then
- vim.notify("Not exist or not a dir. Can't move.", vim.log.levels.ERROR)
- end
-
- if not overwrite and fs.exist(new_dir) then
- vim.notify("Target path exists.", vim.log.levels.ERROR)
- return
- end
-
- if fs.isdir(old_dir) then
- fs.move(old_dir, new_dir)
- vim.notify("Dir moved.")
- end
-
- local bufs = list_listed_bufs()
-
- for _, buf in ipairs(bufs) do
- local name = vim.api.nvim_buf_get_name(buf)
- local full_name = full_path(name)
- local old_dir_full = full_path(old_dir)
- if string.find(full_name, old_dir_full, 1, true) == 1 then
- local new_name = new_dir .. string.sub(full_name, #old_dir_full + 1)
- vim.api.nvim_buf_set_name(buf, new_name)
- end
- end
-end
-
-local function rename_file(old, new, overwrite)
- local dir = vim.fn.fnamemodify(old, ":h")
- mv_file(old, dir .. "/" .. new, overwrite)
-end
-
-local function rename_buf_file(buf, new_name, overwrite)
- local old_path = vim.api.nvim_buf_get_name(buf)
- local dir = vim.fn.fnamemodify(old_path, ":h")
- mv_buf_file(buf, dir .. "/" .. new_name, overwrite)
-end
-
return {
list_listed_bufs = list_listed_bufs,
get_previous_buffer = get_previous_buffer,
list_wins_editing_buf = list_wins_editing_buf,
win_close_buf = win_close_buf,
close_float = close_float,
- mv_file = mv_file,
- mv_buf_file = mv_buf_file,
- mv_dir = mv_dir,
- rename_file = rename_file,
- rename_buf_file = rename_buf_file
}