Skip to content

Commit

Permalink
new keybind
Browse files Browse the repository at this point in the history
  • Loading branch information
jinzhongjia committed Jan 6, 2024
1 parent b890e1d commit db0f001
Showing 1 changed file with 28 additions and 21 deletions.
49 changes: 28 additions & 21 deletions lua/LspUI/pos_abstract.lua
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ local main_namespace = api.nvim_create_namespace("LspUI_main")

local seconday_namespace = api.nvim_create_namespace("LspUI_seconday")

local buffer_history = {}
-- key is keylhs, value is the map info
local buffer_keymap_history = {}

-- function for push tagstack
local push_tagstack = nil
Expand Down Expand Up @@ -167,20 +168,29 @@ local secondary_clear_hl = function()
end
end

--- @param buffer_id integer?
local main_view_clear_keybind = function(buffer_id)
for _, lhs in pairs(config.options.pos_keybind.main) do
pcall(
vim.api.nvim_buf_del_keymap,
buffer_id or M.main_view_buffer(),
"n",
lhs
)
local main_view_clear_keybind = function(map_infos)
for _, value in pairs(map_infos) do
fn.mapset("n", 0, value)
end
end

-- keybind for main view
local main_view_keybind = function()
local back_map =
fn.maparg(config.options.pos_keybind.main.back, "n", false, true)

local hide_map = fn.maparg(
config.options.pos_keybind.main.hide_secondary,
"n",
false,
true
)

buffer_keymap_history[M.main_view_buffer()] = {
back_map,
hide_map,
}

-- back keybind
api.nvim_buf_set_keymap(
M.main_view_buffer(),
Expand All @@ -195,6 +205,7 @@ local main_view_keybind = function()
end,
}
)

-- hide secondary view
api.nvim_buf_set_keymap(
M.main_view_buffer(),
Expand Down Expand Up @@ -230,10 +241,10 @@ local main_view_autocmd = function()
main_clear_hl()
lib_windows.close_window(M.secondary_view_window())
pcall(api.nvim_del_autocmd, secondary_cmd.CursorMoved)
for _, value in pairs(buffer_history) do
for _, value in pairs(buffer_keymap_history) do
main_view_clear_keybind(value)
end
buffer_history = {}
buffer_keymap_history = {}
end
end,
})
Expand Down Expand Up @@ -391,10 +402,10 @@ local secondary_view_autocmd = function()
if not M.secondary_view_hide() then
main_clear_hl()
lib_windows.close_window(M.main_view_window())
for _, value in pairs(buffer_history) do
for _, value in pairs(buffer_keymap_history) do
main_view_clear_keybind(value)
end
buffer_history = {}
buffer_keymap_history = {}
end
end,
desc = lib_util.command_desc(" secondary view winclose"),
Expand Down Expand Up @@ -936,7 +947,6 @@ local action_enter_main = function()
win = M.main_view_window(),
})
main_view_keybind()
table.insert(buffer_history, M.main_view_buffer())
end
end

Expand Down Expand Up @@ -979,12 +989,9 @@ local action_back_secondary = function()
api.nvim_set_option_value("winhighlight", "Normal:Normal", {
win = M.secondary_view_window(),
})
main_view_clear_keybind()
for key, value in pairs(buffer_history) do
if value == M.main_view_buffer() then
buffer_history[key] = nil
end
end
local map_infos = buffer_keymap_history[M.main_view_buffer()]
main_view_clear_keybind(map_infos)
buffer_keymap_history[M.main_view_buffer()] = nil
end
end

Expand Down

0 comments on commit db0f001

Please sign in to comment.