From 841825b747b0449c0b4177a03743243f02c7b6eb Mon Sep 17 00:00:00 2001 From: hedy Date: Thu, 2 Nov 2023 17:31:37 +0800 Subject: [PATCH] Document border option and publicize has_code_win --- README.md | 9 ++++++++- lua/symbols-outline.lua | 4 ++-- lua/symbols-outline/config.lua | 4 ++-- lua/symbols-outline/preview.lua | 2 ++ 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 071b122..c7388c6 100644 --- a/README.md +++ b/README.md @@ -292,6 +292,11 @@ local opts = { -- If you disable this you can still open hover_symbol using your keymap -- below. open_hover_on_preview = true, + -- Border option for floating preview window. + -- Options include: single/double/rounded/solid/shadow or an array of border + -- characters. + -- See :help nvim_open_win() and search for "border" option. + border = 'single', -- Behaviour changed in this fork: -- Auto close the outline window if goto_location is triggered and not for -- focus_location @@ -325,7 +330,9 @@ local opts = { keymaps = { show_help = '?', close = {"", "q"}, - -- Jump to symbol under cursor + -- Jump to symbol under cursor. + -- It can auto close the outline window when triggered, see + -- 'auto_close' option above. goto_location = "", -- Jump to symbol under cursor but keep focus on outline window focus_location = "o", diff --git a/lua/symbols-outline.lua b/lua/symbols-outline.lua index f4205a0..ca23d6a 100644 --- a/lua/symbols-outline.lua +++ b/lua/symbols-outline.lua @@ -375,13 +375,13 @@ function M.focus_outline() end function M.focus_code() - if M.state.code_win then + if require('symbols-outline.preview').has_code_win() then vim.fn.win_gotoid(M.state.code_win) end end function M.focus_toggle() - if M.view:is_open() and M.state.code_win then + if M.view:is_open() and require('symbols-outline.preview').has_code_win() then local winid = vim.fn.win_getid() if winid == M.state.code_win then vim.fn.win_gotoid(M.view.winnr) diff --git a/lua/symbols-outline/config.lua b/lua/symbols-outline/config.lua index 438e9e8..029b4d9 100644 --- a/lua/symbols-outline/config.lua +++ b/lua/symbols-outline/config.lua @@ -3,12 +3,12 @@ local vim = vim local M = {} M.defaults = { + position = 'right', + width = 25, highlight_hovered_item = true, show_guides = true, - position = 'right', border = 'single', relative_width = true, - width = 25, auto_close = false, auto_preview = false, open_hover_on_preview = true, diff --git a/lua/symbols-outline/preview.lua b/lua/symbols-outline/preview.lua index 1715d61..0a3e725 100644 --- a/lua/symbols-outline/preview.lua +++ b/lua/symbols-outline/preview.lua @@ -24,6 +24,8 @@ local function has_code_win() return isBufValid end +M.has_code_win = has_code_win + local function get_offset() local outline_winnr = so.view.winnr local width = 53