diff options
| author | Robert Günzler <r@gnzler.io> | 2022-09-21 18:54:41 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2022-09-21 18:54:41 +0200 |
| commit | 206569cf8685dee53b9713b1f3e774145565a393 (patch) | |
| tree | 8ddd2dbc457648568d623f84bd2bbfdd8da6c947 /.vim/lua | |
| parent | e768acca8a8cea044badaa502706430a390cbef8 (diff) | |
vim: add aerial support
Diffstat (limited to '.vim/lua')
| -rw-r--r-- | .vim/lua/lsp.lua | 4 | ||||
| -rw-r--r-- | .vim/lua/plugins.lua | 17 |
2 files changed, 18 insertions, 3 deletions
diff --git a/.vim/lua/lsp.lua b/.vim/lua/lsp.lua index 86b85a3..5c5b8ef 100644 --- a/.vim/lua/lsp.lua +++ b/.vim/lua/lsp.lua @@ -1,6 +1,5 @@ local lsp = require('lspconfig') local lspstatus = require('lsp-status') -local navic = require('nvim-navic') local my_attach = function(client, bufnr) if vim.opt.diff:get() then @@ -29,7 +28,8 @@ local my_attach = function(client, bufnr) lspstatus.on_attach(client) if client.supports_method('textDocument/symbols') then - navic.attach(client, bufnr) + require('nvim-navic').attach(client, bufnr) + require('aerial').on_attach(client, bufnr) end if client.supports_method('textDocument/definition') then diff --git a/.vim/lua/plugins.lua b/.vim/lua/plugins.lua index c8fffb5..549aabb 100644 --- a/.vim/lua/plugins.lua +++ b/.vim/lua/plugins.lua @@ -345,6 +345,7 @@ require('packer').startup({function() use {'neovim/nvim-lspconfig', -- {{{ require = { 'nvim-lua/lsp-status.nvim', + 'stevearc/aerial.nvim', }, config = function() require('lsp').setup() @@ -361,12 +362,26 @@ require('packer').startup({function() lspstatus.register_progress() end} -- }}} + use {'stevearc/aerial.nvim', -- {{{ + config = function() + local aerial = require('aerial') + aerial.setup({ + icons = require('lsp').symbols, + close_automatic_events = {'switch_buffer'}, + open_automatic = function(bufnr) + return vim.api.nvim_buf_line_count(bufnr) > 80 + and aerial.num_symbols(bufnr) > 4 + and not aerial.was_closed() + end, + }) + end} --- }}} + use {'SmiteshP/nvim-navic', -- {{{ requires = {'neovim/nvim-lspconfig'}, config = function() local navic = require('nvim-navic') navic.setup { - icons = package.loaded.lsp.symbols + icons = require('lsp').symbols, } end} -- }}} |