aboutsummaryrefslogtreecommitdiff
path: root/configs/nvim/config-root/lua/crupest/utils/nvim.lua
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-09-07 03:09:26 +0800
committercrupest <crupest@outlook.com>2024-09-07 03:09:26 +0800
commit4b64e3d37ece2d7251347b3df8551e98363f845f (patch)
tree003c295cfd5b2615e566a07db76478aad427b906 /configs/nvim/config-root/lua/crupest/utils/nvim.lua
parentfaeef2cd919939ad9a3a276f2c603d7be9acb9ba (diff)
downloadcrupest-4b64e3d37ece2d7251347b3df8551e98363f845f.tar.gz
crupest-4b64e3d37ece2d7251347b3df8551e98363f845f.tar.bz2
crupest-4b64e3d37ece2d7251347b3df8551e98363f845f.zip
config(nvim): create new file structure.
Diffstat (limited to 'configs/nvim/config-root/lua/crupest/utils/nvim.lua')
-rw-r--r--configs/nvim/config-root/lua/crupest/utils/nvim.lua44
1 files changed, 44 insertions, 0 deletions
diff --git a/configs/nvim/config-root/lua/crupest/utils/nvim.lua b/configs/nvim/config-root/lua/crupest/utils/nvim.lua
new file mode 100644
index 0000000..ac732fd
--- /dev/null
+++ b/configs/nvim/config-root/lua/crupest/utils/nvim.lua
@@ -0,0 +1,44 @@
+local function list_listed_bufs()
+ local bufs = vim.api.nvim_list_bufs()
+ local result = {}
+ for _, v in ipairs(bufs) do
+ if vim.fn.buflisted(v) ~= 0 then
+ table.insert(result, v)
+ end
+ end
+ return result
+end
+
+-- list the windows that are currently editing the given buffer
+local function list_wins_editing_buf(buf)
+ local wins = vim.api.nvim_list_wins()
+ local result = {}
+ for _, win in ipairs(wins) do
+ if vim.api.nvim_win_get_buf(win) == buf then
+ table.insert(result, win)
+ end
+ end
+ return result
+end
+
+local function buf_is_normal(buf)
+ return vim.fn.bufexists(buf) ~= 0 and vim.fn.buflisted(buf) ~= 0
+end
+
+
+local function close_float()
+ local wins = vim.api.nvim_list_wins()
+ for _, v in ipairs(wins) do
+ if vim.api.nvim_win_get_config(v).relative ~= '' then
+ vim.api.nvim_win_close(v, false)
+ end
+ end
+end
+
+return {
+ list_listed_bufs = list_listed_bufs,
+ buf_is_normal = buf_is_normal,
+ list_wins_editing_buf = list_wins_editing_buf,
+ close_float = close_float,
+}
+