feat: event-driven parity, Windows shell detection, dirty build timestamps, and gatekeeper integration
This commit is contained in:
1 parent
64857f9d5e
commit
f4dcf3acbf
33 files changed
+3501
-143
No files matched your search
@@ -348,4 +348,48 @@ function M.send_to_terminal(command)
|
||||
end
|
||||
end
|
||||
|
||||
-- ============================================================================
|
||||
-- Antigravity Statusline Integration (Push-driven / Zero-polling)
|
||||
-- ============================================================================
|
||||
local statusline_cache = {
|
||||
text = ""
|
||||
}
|
||||
|
||||
function M.update_statusline(active_task, active_gate)
|
||||
local parts = {}
|
||||
|
||||
if active_task and active_task ~= vim.NIL and active_task ~= "" then
|
||||
local title = tostring(active_task)
|
||||
if #title > 24 then
|
||||
title = title:sub(1, 22) .. ".."
|
||||
end
|
||||
table.insert(parts, "📋 " .. title)
|
||||
end
|
||||
|
||||
if active_gate and active_gate ~= vim.NIL and active_gate ~= "" then
|
||||
local status = tostring(active_gate):lower()
|
||||
if status == "authorized" then
|
||||
table.insert(parts, "🟢 PUSH:OK")
|
||||
elseif status == "blocked" then
|
||||
table.insert(parts, "🔴 PUSH:BLOCKED")
|
||||
else
|
||||
table.insert(parts, "🟡 PUSH:WAIT")
|
||||
end
|
||||
end
|
||||
|
||||
if #parts > 0 then
|
||||
statusline_cache.text = " [AGY: " .. table.concat(parts, " | ") .. "] "
|
||||
else
|
||||
statusline_cache.text = ""
|
||||
end
|
||||
|
||||
vim.schedule(function()
|
||||
pcall(vim.cmd, "redrawstatus")
|
||||
end)
|
||||
end
|
||||
|
||||
function M.statusline()
|
||||
return statusline_cache.text
|
||||
end
|
||||
|
||||
return M
|
||||
Reference in new issue
Block a user