mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 09:40:06 +08:00
40 lines
881 B
Lua
40 lines
881 B
Lua
|
local state = {}
|
||
|
|
||
|
TelescopeGlobalState = TelescopeGlobalState or {}
|
||
|
TelescopeGlobalState.global = TelescopeGlobalState.global or {}
|
||
|
|
||
|
--- Set the status for a particular prompt bufnr
|
||
|
function state.set_status(prompt_bufnr, status)
|
||
|
TelescopeGlobalState[prompt_bufnr] = status
|
||
|
end
|
||
|
|
||
|
function state.set_global_key(key, value)
|
||
|
TelescopeGlobalState.global[key] = value
|
||
|
end
|
||
|
|
||
|
function state.get_global_key(key)
|
||
|
return TelescopeGlobalState.global[key]
|
||
|
end
|
||
|
|
||
|
function state.get_status(prompt_bufnr)
|
||
|
return TelescopeGlobalState[prompt_bufnr] or {}
|
||
|
end
|
||
|
|
||
|
function state.clear_status(prompt_bufnr)
|
||
|
state.set_status(prompt_bufnr, nil)
|
||
|
end
|
||
|
|
||
|
function state.get_existing_prompt_bufnrs()
|
||
|
local prompt_bufnrs = {}
|
||
|
|
||
|
for key, _ in pairs(TelescopeGlobalState) do
|
||
|
if type(key) == "number" then
|
||
|
table.insert(prompt_bufnrs, key)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return prompt_bufnrs
|
||
|
end
|
||
|
|
||
|
return state
|