diff options
Diffstat (limited to 'nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua')
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua b/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua index 4b2d3de..c5ff794 100644 --- a/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua +++ b/nvim/.config/nvim/lua/tobyvin/plugins/nvim-navic.lua @@ -1,27 +1,32 @@ -local status_ok, nvim_navic = pcall(require, "nvim-navic") -if not status_ok then - vim.notify("Failed to load module 'nvim-navic'", vim.log.levels.ERROR) - return -end +local M = { + "SmiteshP/nvim-navic", + dependencies = { "onsails/lspkind-nvim" }, +} -local icons = require("lspkind").symbol_map -for i, _ in pairs(icons) do - icons[i] = icons[i] .. " " -end +function M.config() + local nvim_navic = require("nvim-navic") + + local icons = require("lspkind").symbol_map + for i, _ in pairs(icons) do + icons[i] = icons[i] .. " " + end -nvim_navic.setup({ - icons = icons, -}) + nvim_navic.setup({ + icons = icons, + }) -vim.api.nvim_create_autocmd("LspAttach", { - group = vim.api.nvim_create_augroup("tobyvin_nvim-navic", { clear = true }), - desc = "setup nvim-navic", - callback = function(args) - local bufnr = args.buf - local client = vim.lsp.get_client_by_id(args.data.client_id) + vim.api.nvim_create_autocmd("LspAttach", { + group = vim.api.nvim_create_augroup("tobyvin_nvim-navic", { clear = true }), + desc = "setup nvim-navic", + callback = function(args) + local bufnr = args.buf + local client = vim.lsp.get_client_by_id(args.data.client_id) + + if client.name ~= "cssls" and client.server_capabilities.documentSymbolProvider then + require("nvim-navic").attach(client, bufnr) + end + end, + }) +end - if client.name ~= "cssls" and client.server_capabilities.documentSymbolProvider then - require("nvim-navic").attach(client, bufnr) - end - end, -}) +return M |