diff --git a/lua/symbols-outline.lua b/lua/symbols-outline.lua index 7a01170..25a139f 100644 --- a/lua/symbols-outline.lua +++ b/lua/symbols-outline.lua @@ -134,41 +134,32 @@ function M._highlight_current_item(winnr) end local function setup_keymaps(bufnr) - ---maps the table of keys to the action - ---@param keys table - ---@param action string - local function nmap(keys, action) - if type(keys) == 'string' then keys = {keys} end - - for _, value in ipairs(keys) do - vim.api.nvim_buf_set_keymap(bufnr, "n", value, action, - {silent = true, noremap = true}) - end + local map = function (...) + utils.nmap(bufnr, ...) end - -- goto_location of symbol and focus that window - nmap(config.options.keymaps.goto_location, + map(config.options.keymaps.goto_location, ":lua require('symbols-outline')._goto_location(true)") -- goto_location of symbol but stay in outline - nmap(config.options.keymaps.focus_location, + map(config.options.keymaps.focus_location, ":lua require('symbols-outline')._goto_location(false)") -- hover symbol - nmap(config.options.keymaps.hover_symbol, + map(config.options.keymaps.hover_symbol, ":lua require('symbols-outline.hover').show_hover()") -- preview symbol - nmap(config.options.keymaps.toggle_preview, + map(config.options.keymaps.toggle_preview, ":lua require('symbols-outline.preview').toggle()") -- rename symbol - nmap(config.options.keymaps.rename_symbol, + map(config.options.keymaps.rename_symbol, ":lua require('symbols-outline.rename').rename()") -- code actions - nmap(config.options.keymaps.code_actions, + map(config.options.keymaps.code_actions, ":lua require('symbols-outline.code_action').show_code_actions()") -- show help - nmap(config.options.keymaps.show_help, + map(config.options.keymaps.show_help, ":lua require('symbols-outline.config').show_help()") -- close outline - nmap(config.options.keymaps.close, ":bw!") + map(config.options.keymaps.close, ":bw!") end ---------------------------- diff --git a/lua/symbols-outline/utils/init.lua b/lua/symbols-outline/utils/init.lua index 4e17147..7917979 100644 --- a/lua/symbols-outline/utils/init.lua +++ b/lua/symbols-outline/utils/init.lua @@ -1,5 +1,17 @@ local M = {} +---maps the table|string of keys to the action +---@param keys table|string +---@param action string +function M.nmap(bufnr, keys, action) + if type(keys) == 'string' then keys = {keys} end + + for _, value in ipairs(keys) do + vim.api.nvim_buf_set_keymap(bufnr, "n", value, action, + {silent = true, noremap = true}) + end +end + --- @param f function --- @param delay number --- @return function