From 0559843c7bf243a2ccc2fd65aee93f5e0f1d65d3 Mon Sep 17 00:00:00 2001 From: Oliver Leete Date: Sat, 24 Apr 2021 14:42:22 +0100 Subject: [PATCH] Added seperate commands for openening and closing the outline window --- README.md | 2 ++ lua/symbols-outline.lua | 17 +++++++++++++++++ lua/symbols-outline/debug.lua | 4 ++++ 3 files changed, 23 insertions(+) diff --git a/README.md b/README.md index 77a4a89..aee45cf 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ require('symbols-outline').setup(opts) ## Commands ```vim SymbolsOutline +SymbolsOutlineOpen +SymbolsOutlineClose ``` ## Keymaps ```vim diff --git a/lua/symbols-outline.lua b/lua/symbols-outline.lua index e9862d4..84ab2c7 100644 --- a/lua/symbols-outline.lua +++ b/lua/symbols-outline.lua @@ -10,6 +10,10 @@ local M = {} local function setup_commands() vim.cmd("command! " .. "SymbolsOutline " .. ":lua require'symbols-outline'.toggle_outline()") + vim.cmd("command! " .. "SymbolsOutlineOpen " .. + ":lua require'symbols-outline'.open_outline()") + vim.cmd("command! " .. "SymbolsOutlineClose " .. + ":lua require'symbols-outline'.close_outline()") end local function setup_autocmd() @@ -190,6 +194,19 @@ function M.toggle_outline() end end +function M.open_outline() + if M.state.outline_buf == nil then + vim.lsp.buf_request(0, "textDocument/documentSymbol", getParams(), + handler) + end +end + +function M.close_outline() + if M.state.outline_buf ~= nil then + vim.api.nvim_win_close(M.state.outline_win, true) + end +end + function M.setup(opts) config.setup(opts) setup_commands() diff --git a/lua/symbols-outline/debug.lua b/lua/symbols-outline/debug.lua index ac20798..8bd9b8a 100644 --- a/lua/symbols-outline/debug.lua +++ b/lua/symbols-outline/debug.lua @@ -13,6 +13,10 @@ end function D.setup_commands() vim.cmd("command! " .. "DSymbolsOutline " .. ":lua require'symbols-outline'.R('symbols-outline').toggle_outline()") + vim.cmd("command! " .. "DSymbolsOutlineOpen " .. + ":lua require'symbols-outline'.R('symbols-outline').open_outline()") + vim.cmd("command! " .. "DSymbolsOutlineClose " .. + ":lua require'symbols-outline'.R('symbols-outline').close_outline()") end return D