Merge branch 'master' of https://github.com/ram02z/symbols-outline.nvim into ram02z-master
This commit is contained in:
@@ -22,9 +22,7 @@ local function setup_global_autocmd()
|
||||
vim.cmd(
|
||||
"au InsertLeave,WinEnter,BufEnter,BufWinEnter,TabEnter,BufWritePost * :lua require('symbols-outline')._refresh()")
|
||||
vim.cmd "au BufLeave * lua require'symbols-outline'._prevent_buffer_override()"
|
||||
if config.options.auto_preview then
|
||||
vim.cmd "au WinEnter * lua require'symbols-outline.preview'.close_if_not_in_outline()"
|
||||
end
|
||||
vim.cmd("au WinEnter * lua require'symbols-outline.preview'.close()")
|
||||
if config.options.highlight_hovered_item then
|
||||
vim.cmd(
|
||||
"autocmd CursorHold * :lua require('symbols-outline')._highlight_current_item()")
|
||||
@@ -34,8 +32,12 @@ end
|
||||
local function setup_buffer_autocmd()
|
||||
if config.options.auto_preview then
|
||||
vim.cmd(
|
||||
"au CursorHold <buffer> lua require'symbols-outline.preview'.show()")
|
||||
"au CursorHold <buffer> lua require'symbols-outline.preview'.show(true)")
|
||||
else
|
||||
vim.cmd(
|
||||
"au CursorMoved <buffer> lua require'symbols-outline.preview'.close()")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local function getParams()
|
||||
@@ -216,7 +218,7 @@ local function setup_keymaps(bufnr)
|
||||
":lua require('symbols-outline.hover').show_hover()<Cr>")
|
||||
-- preview symbol
|
||||
nmap(config.options.keymaps.preview_symbol,
|
||||
":lua require('symbols-outline.preview').show()<Cr>")
|
||||
":lua require('symbols-outline.preview').toggle()<Cr>")
|
||||
-- rename symbol
|
||||
nmap(config.options.keymaps.rename_symbol,
|
||||
":lua require('symbols-outline.rename').rename()<Cr>")
|
||||
|
||||
@@ -135,18 +135,6 @@ local function setup_hover_buf()
|
||||
update_hover()
|
||||
end
|
||||
|
||||
function M.close_if_not_in_outline()
|
||||
if not is_current_win_outline() and has_code_win() then
|
||||
if state.preview_win ~= nil and
|
||||
vim.api.nvim_win_is_valid(state.preview_win) then
|
||||
vim.api.nvim_win_close(state.preview_win, true)
|
||||
end
|
||||
if state.hover_win ~= nil and vim.api.nvim_win_is_valid(state.hover_win) then
|
||||
vim.api.nvim_win_close(state.hover_win, true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function show_preview()
|
||||
if state.preview_win == nil and state.preview_buf == nil then
|
||||
state.preview_buf = vim.api.nvim_create_buf(false, true)
|
||||
@@ -198,12 +186,38 @@ local function show_hover()
|
||||
end
|
||||
end
|
||||
|
||||
function M.show()
|
||||
if not is_current_win_outline() or #vim.api.nvim_list_wins() < 2 then
|
||||
function M.show(force)
|
||||
if not is_current_win_outline() or
|
||||
#vim.api.nvim_list_wins() < 2 then
|
||||
return
|
||||
end
|
||||
|
||||
if force ~= true and state.preview_win ~= nil then
|
||||
return 1
|
||||
end
|
||||
|
||||
show_preview()
|
||||
show_hover()
|
||||
end
|
||||
|
||||
function M.close()
|
||||
if has_code_win() then
|
||||
if state.preview_win ~= nil and
|
||||
vim.api.nvim_win_is_valid(state.preview_win) then
|
||||
vim.api.nvim_win_close(state.preview_win, true)
|
||||
end
|
||||
if state.hover_win ~= nil and
|
||||
vim.api.nvim_win_is_valid(state.hover_win) then
|
||||
vim.api.nvim_win_close(state.hover_win, true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function M.toggle()
|
||||
code = M.show()
|
||||
if code == 1 then
|
||||
M.close()
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
Reference in New Issue
Block a user