diff --git a/.config/nvim/lua/core/theme.lua b/.config/nvim/lua/core/theme.lua index 4b81f67..49ac420 100644 --- a/.config/nvim/lua/core/theme.lua +++ b/.config/nvim/lua/core/theme.lua @@ -1,4 +1,5 @@ vim.g.gruvbox_material_better_performance = 1 -vim.g.gruvbox_material_background = 'medium' +vim.g.gruvbox_material_background = 'hard' +vim.g.gruvbox_material_foreground = 'original' vim.opt.background = 'dark' vim.cmd('colorscheme gruvbox-material') diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua index e826827..25cf33b 100644 --- a/.config/nvim/lua/plugins/conform.lua +++ b/.config/nvim/lua/plugins/conform.lua @@ -3,6 +3,7 @@ require("conform").setup({ python = { "black" }, javascript = { "prettierd" }, markdown = { "mdformat" }, + go = { "gofmt" }, json = {"jq"} } }) diff --git a/.config/nvim/lua/plugins/lazy.lua b/.config/nvim/lua/plugins/lazy.lua index 9143213..8b1079c 100644 --- a/.config/nvim/lua/plugins/lazy.lua +++ b/.config/nvim/lua/plugins/lazy.lua @@ -147,7 +147,7 @@ lazy.setup({ { "rcarriga/nvim-dap-ui", event = "VeryLazy", - dependencies = {"mfussenegger/nvim-dap","nvim-neotest/nvim-nio"}, + dependencies = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" }, config = function() local dap = require("dap") local dapui = require("dapui") @@ -196,6 +196,61 @@ lazy.setup({ require("plugins.lspconfig") end, }, + { + "folke/trouble.nvim", + branch = "dev", + keys = { + { + "xx", + "Trouble diagnostics toggle", + desc = "Diagnostics (Trouble)", + }, + { + "xX", + "Trouble diagnostics toggle filter.buf=0", + desc = "Buffer Diagnostics (Trouble)", + }, + { + "cs", + "Trouble symbols toggle focus=false", + desc = "Symbols (Trouble)", + }, + { + "cl", + "Trouble lsp toggle focus=false win.position=right", + desc = "LSP Definitions / references / ... (Trouble)", + }, + { + "xL", + "Trouble loclist toggle", + desc = "Location List (Trouble)", + }, + { + "xQ", + "Trouble qflist toggle", + desc = "Quickfix List (Trouble)", + }, + }, + opts = { + modes = { + mydiags = { + mode = "diagnostics", -- inherit from diagnostics mode + filter = { + any = { + buf = 0, -- current buffer + { + severity = vim.diagnostic.severity.ERROR, -- errors only + -- limit to files in the current project + function(item) + return item.filename:find(vim.loop.cwd(), 1, true) + end, + }, + }, + }, + } + } + } + }, { "stevearc/conform.nvim", @@ -204,6 +259,19 @@ lazy.setup({ end, }, + { + 'dense-analysis/ale', + config = function() + vim.g.ale_linters_explicit = 1 + vim.g.ale_echo_msg_error_str = 'E' + vim.g.ale_echo_msg_warning_str = 'W' + vim.g.ale_echo_msg_format = '[%linter%] %s [%severity%]' + --vim.g.ale_linters = { + -- go = { 'golangci-lint' }, + --} + end + }, + { "lervag/vimtex", config = function() @@ -211,13 +279,13 @@ lazy.setup({ end, }, - 'tpope/vim-commentary', + --'tpope/vim-commentary', - -- { - -- "mrcjkb/rustaceanvim", - -- version = "^4", -- Recommended - -- ft = { "rust" }, - -- }, + -- { + -- "mrcjkb/rustaceanvim", + -- version = "^4", -- Recommended + -- ft = { "rust" }, + -- }, "barreiroleo/ltex-extra.nvim", @@ -255,10 +323,15 @@ lazy.setup({ --Discord Rich Presence "andweeb/presence.nvim", - + --Vim be good 'ThePrimeagen/vim-be-good', --JQ - 'jrop/jq.nvim' + 'jrop/jq.nvim', + + { + 'BooleanCube/keylab.nvim', + opts = {} + } }) diff --git a/.config/nvim/lua/plugins/lspconfig.lua b/.config/nvim/lua/plugins/lspconfig.lua index d22cce9..615ab54 100644 --- a/.config/nvim/lua/plugins/lspconfig.lua +++ b/.config/nvim/lua/plugins/lspconfig.lua @@ -18,6 +18,9 @@ vim.api.nvim_create_autocmd("LspAttach", { local client = vim.lsp.get_client_by_id(ev.data.client_id) client.server_capabilities.semanticTokensProvider = nil + --Enable inlay hints + --vim.lsp.inlay_hint.enable(ev.buf,true) + -- Mappings. -- See `:help vim.lsp.*` for documentation on any of the below functions local bufopts = { noremap = true, silent = true, buffer = ev.buf } @@ -35,6 +38,7 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "ge", function() vim.diagnostic.goto_next() end, bufopts) vim.keymap.set("n", "gE", function() vim.diagnostic.goto_prev() end, bufopts) vim.keymap.set("n", "fo", function() conform.format({ lsp_fallback = true }) end, bufopts) + vim.keymap.set("n", "n", "!toke check") end, }) @@ -50,6 +54,26 @@ mason_lspconfig.setup_handlers({ capabilities = capabilities, }) end, + ["gopls"] = function () + lspconfig["gopls"].setup({ + capabilities = capabilities, + settings = { + gopls = { + ["ui.completion.usePlaceholders"] = true, + ["ui.diagnostic.staticcheck"] = true, + ["ui.inlayhint.hints"] = { + assignVariablesTypes = true, + compositeLiteralFields = true, + compositeLiteralTypes = true, + constantValues = true, + functionTypeParameters = true, + parameterNames = true, + rangeVariableTypes = true + }, + } + } + }) + end, ["lua_ls"] = function() lspconfig["lua_ls"].setup({ capabilities = capabilities, @@ -61,6 +85,7 @@ mason_lspconfig.setup_handlers({ diagnostics = { globals = { 'vim' }, }, + hint = { enable = true } }, }, }) diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index da876dd..ec50706 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -2,8 +2,8 @@ require('lualine').setup { options = { icons_enabled = true, theme = 'auto', - component_separators = { left = '', right = ''}, - section_separators = { left = '', right = ''}, + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, disabled_filetypes = { statusline = {}, winbar = {}, @@ -18,11 +18,11 @@ require('lualine').setup { } }, sections = { - lualine_a = {'mode'}, - lualine_b = {'branch', 'diff', 'diagnostics'}, - lualine_c = {'filename'}, - lualine_x = {'lsp', 'fileformat', 'filetype'}, - lualine_y = {'progress'}, + lualine_a = {}, + lualine_b = {}, + lualine_c = {}, + lualine_x = {'filetype'}, + lualine_y = {}, lualine_z = {'location'} }, inactive_sections = { diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/plugins/none-ls.lua index 39296df..6a9d3b6 100644 --- a/.config/nvim/lua/plugins/none-ls.lua +++ b/.config/nvim/lua/plugins/none-ls.lua @@ -8,6 +8,7 @@ null_ls.setup({ null_ls.builtins.formatting.prettierd.with({ filetypes = { "html", "json", "css", "js", "yaml", "markdown" }, }), + null_ls.builtins.diagnostics.golangci_lint, }, on_attach = function(client,bufnr) if client.supports_method("textDocument/formatting") then