diff --git a/lua/plugin/lspconfig.lua b/lua/plugin/lspconfig.lua index 9f6eb4c..ab7b2d9 100644 --- a/lua/plugin/lspconfig.lua +++ b/lua/plugin/lspconfig.lua @@ -21,7 +21,6 @@ return { local bufopts = { noremap = true, silent = true, buffer = bufnr } vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - vim.keymap.set('n', 'k', vim.lsp.buf.hover, bufopts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) -- vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) vim.keymap.set('n', 'gK', vim.lsp.buf.signature_help, bufopts) @@ -32,8 +31,6 @@ return { print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end, bufopts) vim.keymap.set('n', 'gt', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'cw', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) vim.keymap.set('n', 'cf', function() vim.lsp.buf.format { async = true } end, bufopts) vim.keymap.set('v', 'cf', function() vim.lsp.buf.format { async = true } end, bufopts) end @@ -70,6 +67,73 @@ return { end, }, + { + 'nvimdev/lspsaga.nvim', + event = 'LspAttach', + config = function() + require('lspsaga').setup({ + symbol_in_winbar = { + enable = false, + show_file = false + }, + finder = { + keys = { + toggle_or_open = "", + quit = {'', 'q'} + } + }, + outline = { + win_position = 'left', + win_width = 45, + }, + lightbulb = { + enable = false + }, + ui = { + code_action = '󰌶 ' + }, + rename = { + in_select = false, + keys = { + quit = {'', 'q'}, + select = '' + } + }, + hover_doc = { + open_cmd = '!firefox' + }, + code_action = { + keys = { + quit = {'', 'q'} + } + }, + definition = { + keys = { + quit = {'', 'q'}, + }, + } + }) + + vim.keymap.set('n', '', "Lspsaga term_toggle", opts) + vim.keymap.set('t', '', "Lspsaga term_toggle", opts) + vim.keymap.set('n', 'cw', 'Lspsaga rename mode=n', opts) + vim.keymap.set('n', 'so', 'Lspsaga outline', opts) + vim.keymap.set('n', 'sf', 'Lspsaga finder', opts) + vim.keymap.set('n', 'sci', 'Lspsaga incoming_calls', opts) + vim.keymap.set('n', 'sco', 'Lspsaga outgoing_calls', opts) + vim.keymap.set('n', 'k', 'Lspsaga hover_doc', bufopts) + vim.keymap.set('n', 'K', 'Lspsaga hover_doc', bufopts) + vim.keymap.set('n', 'ca', 'Lspsaga code_action', bufopts) + vim.keymap.set('n', 'sd', 'Lspsaga peek_definition', bufopts) + vim.keymap.set('n', 'st', 'Lspsaga peek_type_definition', bufopts) + + end, + depedencies = { + 'nvim-treesitter/nvim-treesitter', + 'nvim-tree/nvim-web-devicons' + }, + }, + { "williamboman/mason.nvim", lazy = true, diff --git a/lua/plugin/lualine.lua b/lua/plugin/lualine.lua index ba98349..b84ba4d 100644 --- a/lua/plugin/lualine.lua +++ b/lua/plugin/lualine.lua @@ -5,10 +5,14 @@ return { vim.api.nvim_set_option("showmode", false) local custom_gruvbox = require 'lualine.themes.gruvbox-material' custom_gruvbox.normal.a.bg = '#89b482' - custom_gruvbox.normal.c.bg = '#141617' + custom_gruvbox.normal.c.bg = '' custom_gruvbox.insert.a.bg = '#d8a657' custom_gruvbox.visual.a.bg = '#a9b665' custom_gruvbox.replace.a.bg = '#ea6962' + + local function lspsaga() + return require('lspsaga.symbol.winbar').get_bar() + end require('lualine').setup { options = { theme = custom_gruvbox, @@ -29,15 +33,18 @@ return { icon = '', color = { fg = '#d8a657', bg = '#141617', gui = 'bold' }, padding = 1, - } + }, + { + 'filename', + color = { gui = 'italic', fg = '#d3869b', bg = '#1d2021' }, + padding = 1, + path = 1, + }, }, lualine_c = { - { - 'filename', - color = { gui = 'italic', fg = '#d3869b', bg = '#1d2021' }, - padding = 1, - path = 1, - } + { + lspsaga + } }, lualine_x = { { @@ -95,14 +102,14 @@ return { 'branch', icon = '', padding = 1, - } + }, + { + 'filename', + padding = 1, + path = 1, + } }, lualine_c = { - { - 'filename', - padding = 1, - path = 1, - } }, lualine_x = { { diff --git a/lua/plugin/none-ls.lua b/lua/plugin/none-ls.lua index 22443ff..ff9f440 100644 --- a/lua/plugin/none-ls.lua +++ b/lua/plugin/none-ls.lua @@ -32,8 +32,9 @@ return { vim.keymap.set('n', 'k', vim.lsp.buf.hover, bufopts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) vim.keymap.set('n', 'gt', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'cw', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) + vim.keymap.set('n', 'cw', "Lspsaga rename mode=n", bufopts) + -- vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) + vim.keymap.set('n', 'ca', 'Lspsaga code_action', bufopts) -- vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) vim.keymap.set('n', 'cf', function() vim.lsp.buf.format { async = true } end, bufopts) vim.keymap.set('v', 'cf', function() vim.lsp.buf.format { async = true } end, bufopts)