summaryrefslogtreecommitdiff
path: root/lua/99/window
diff options
context:
space:
mode:
authortheprimeagain <the.primeagen@gmail.com>2026-02-08 18:26:48 -0700
committertheprimeagain <the.primeagen@gmail.com>2026-02-08 18:26:48 -0700
commit16053ff8789288e5cb74852d5fe6514a13659c76 (patch)
treefe8b3074908f589d3a6f71926b71a002d77bf548 /lua/99/window
parent76acc1d15d8a2161d43b60ee8c5d49c1a5885c60 (diff)
downloada4-16053ff8789288e5cb74852d5fe6514a13659c76.tar.xz
a4-16053ff8789288e5cb74852d5fe6514a13659c76.zip
showing inflight requests
Diffstat (limited to 'lua/99/window')
-rw-r--r--lua/99/window/init.lua26
1 files changed, 23 insertions, 3 deletions
diff --git a/lua/99/window/init.lua b/lua/99/window/init.lua
index 6451ede..65f375c 100644
--- a/lua/99/window/init.lua
+++ b/lua/99/window/init.lua
@@ -7,6 +7,7 @@ local M = {
}
local nsid = vim.api.nvim_create_namespace("99.window.error")
local nvim_win_is_valid = vim.api.nvim_win_is_valid
+local nvim_buf_is_valid = vim.api.nvim_buf_is_valid
--- @class _99.window.Config
--- @field width number
@@ -51,7 +52,7 @@ local function create_window_top_config()
end
--- @return _99.window.Config
-local function create_window_top_left_config()
+local function create_window_top_right_config()
local width, _ = get_ui_dimensions()
return {
width = math.floor(width / 3),
@@ -179,14 +180,20 @@ local function window_close(window)
if nvim_win_is_valid(window.win_id) then
vim.api.nvim_win_close(window.win_id, true)
end
- if vim.api.nvim_buf_is_valid(window.buf_id) then
+ if nvim_buf_is_valid(window.buf_id) then
vim.api.nvim_buf_delete(window.buf_id, { force = true })
end
end
+--- @param window _99.window.Window
+--- @return boolean
+function M.valid(window)
+ return nvim_win_is_valid(window.win_id) and nvim_buf_is_valid(window.buf_id)
+end
+
--- @param text string
function M.display_cancellation_message(text)
- local config = create_window_top_left_config()
+ local config = create_window_top_right_config()
local window = create_floating_window(config, {
title = " 99 Cancelled ",
border = "rounded",
@@ -421,8 +428,21 @@ function M.clear_active_popups()
M.active_windows = {}
end
+--- @return _99.window.Window
function M.status_window()
M.clear_active_popups()
+ local config = create_window_top_right_config()
+ local window = create_floating_window(config, {
+ title = " 99 - Status ",
+ border = "rounded",
+ zindex = 100,
+ })
+ return window
+end
+
+--- @return boolean
+function M.has_active_windows()
+ return #M.active_windows > 0
end
return M