mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 09:20:06 +08:00
57 lines
1.5 KiB
Lua
Vendored
57 lines
1.5 KiB
Lua
Vendored
---@tag telescope.actions.state
|
|
---@config { ["module"] = "telescope.actions.state", ["name"] = "ACTIONS_STATE" }
|
|
|
|
---@brief [[
|
|
--- Functions to be used to determine the current state of telescope.
|
|
---
|
|
--- Generally used from within other |telescope.actions|
|
|
---@brief ]]
|
|
|
|
local global_state = require "telescope.state"
|
|
local conf = require("telescope.config").values
|
|
|
|
local action_state = {}
|
|
|
|
--- Get the current entry
|
|
function action_state.get_selected_entry()
|
|
return global_state.get_global_key "selected_entry"
|
|
end
|
|
|
|
--- Gets the current line
|
|
function action_state.get_current_line()
|
|
return global_state.get_global_key "current_line" or ""
|
|
end
|
|
|
|
--- Gets the current picker
|
|
---@param prompt_bufnr number: The prompt bufnr
|
|
function action_state.get_current_picker(prompt_bufnr)
|
|
return global_state.get_status(prompt_bufnr).picker
|
|
end
|
|
|
|
local select_to_edit_map = {
|
|
default = "edit",
|
|
horizontal = "new",
|
|
vertical = "vnew",
|
|
tab = "tabedit",
|
|
}
|
|
function action_state.select_key_to_edit_key(type)
|
|
return select_to_edit_map[type]
|
|
end
|
|
|
|
function action_state.get_current_history()
|
|
local history = global_state.get_global_key "history"
|
|
if not history then
|
|
if conf.history == false or type(conf.history) ~= "table" then
|
|
history = require("telescope.actions.history").get_simple_history()
|
|
global_state.set_global_key("history", history)
|
|
else
|
|
history = conf.history.handler()
|
|
global_state.set_global_key("history", history)
|
|
end
|
|
end
|
|
|
|
return history
|
|
end
|
|
|
|
return action_state
|