diff options
Diffstat (limited to 'neovim/.config/nvim/lua/plugins')
-rw-r--r-- | neovim/.config/nvim/lua/plugins/autopairs.lua | 0 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/cmp.lua | 2 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/gitsigns.lua | 10 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/lsp.lua | 43 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/lualine.lua | 2 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/pairs.lua | 1 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/rust-tools.lua | 4 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/telescope.lua | 12 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/todocomments.lua | 66 | ||||
-rw-r--r-- | neovim/.config/nvim/lua/plugins/treesitter.lua | 1 |
10 files changed, 112 insertions, 29 deletions
diff --git a/neovim/.config/nvim/lua/plugins/autopairs.lua b/neovim/.config/nvim/lua/plugins/autopairs.lua new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/autopairs.lua diff --git a/neovim/.config/nvim/lua/plugins/cmp.lua b/neovim/.config/nvim/lua/plugins/cmp.lua index 18d8fe6..09a0381 100644 --- a/neovim/.config/nvim/lua/plugins/cmp.lua +++ b/neovim/.config/nvim/lua/plugins/cmp.lua @@ -1,5 +1,5 @@ -- https://github.com/hrsh7th/nvim-cmp#basic-configuration -local cmp = require('cmp') +local cmp = require("cmp") cmp.setup({ snippet = { diff --git a/neovim/.config/nvim/lua/plugins/gitsigns.lua b/neovim/.config/nvim/lua/plugins/gitsigns.lua index 61f6238..5663e64 100644 --- a/neovim/.config/nvim/lua/plugins/gitsigns.lua +++ b/neovim/.config/nvim/lua/plugins/gitsigns.lua @@ -2,10 +2,12 @@ local map = vim.keymap.set require("gitsigns").setup({ signs = { - add = { text = "+" }, - delete = { text = "-" }, - change = { text = "~" }, - changedelete = { text = "⋍" }, + add = { hl = 'GitSignsAdd' , text = '│', numhl='GitSignsAddNr' , linehl='GitSignsAddLn' }, + untracked = { hl = 'GitSignsAdd' , text = '│', numhl='GitSignsAddNr' , linehl='GitSignsAddLn' }, + change = { hl = 'GitSignsChange', text = '│', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn' }, + changedelete = { hl = 'GitSignsChange', text = '│', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn' }, + delete = { hl = 'GitSignsDelete', text = '▁', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn' }, + topdelete = { hl = 'GitSignsDelete', text = '▔', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn' }, }, on_attach = function(buf) local gs = package.loaded.gitsigns diff --git a/neovim/.config/nvim/lua/plugins/lsp.lua b/neovim/.config/nvim/lua/plugins/lsp.lua index db73c10..703fa7c 100644 --- a/neovim/.config/nvim/lua/plugins/lsp.lua +++ b/neovim/.config/nvim/lua/plugins/lsp.lua @@ -1,4 +1,26 @@ -require("lspconfig") +local lspconf = require("lspconfig") + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities.textDocument.completion.completionItem.snippetSupport = true + +lspconf.html.setup { + capabilities = capabilities, +} + +lspconf.cssls.setup({ + capabilities = capabilities, +}) + +lspconf.emmet_ls.setup({}) +lspconf.tsserver.setup({ + capabilities = capabilities, + on_attach = function() end, +}) + +lspconf.eslint.setup({ + capabilities = capabilities, + on_attach = function() end, +}) local sign = function(opts) vim.fn.sign_define(opts.name, { @@ -8,10 +30,10 @@ local sign = function(opts) }) end -sign({name = 'DiagnosticSignError', text = ''}) -sign({name = 'DiagnosticSignWarn', text = ''}) -sign({name = 'DiagnosticSignHint', text = ''}) -sign({name = 'DiagnosticSignInfo', text = ''}) +sign({name = 'DiagnosticSignError', text = ''}) +sign({name = 'DiagnosticSignWarn', text = ''}) +sign({name = 'DiagnosticSignInfo', text = ''}) +sign({name = 'DiagnosticSignHint', text = ''}) vim.diagnostic.config({ signs = true, @@ -31,7 +53,10 @@ require("keybinds") map("n", "<F2>", "<cmd>lua vim.lsp.buf.rename()<cr>") map("n", "<C-h>", "<cmd>lua vim.diagnostic.open_float()<cr>") ---[[ +map("n", "<leader>dn", "<cmd>lua vim.diagnostic.goto_next()<cr>") +map("n", "<leader>dp", "<cmd>lua vim.diagnostic.goto_prev()<cr>") + +--[[ nnoremap <silent> <c-]> <cmd>lua vim.lsp.buf.definition()<CR> nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR> nnoremap <silent> gD <cmd>lua vim.lsp.buf.implementation()<CR> @@ -69,11 +94,5 @@ bufmap('x', '<F4>', '<cmd>lua vim.lsp.buf.range_code_action()<cr>') -- Show diagnostics in a floating window bufmap('n', 'gl', '<cmd>lua vim.diagnostic.open_float()<cr>') - --- Move to the previous diagnostic -bufmap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>') - --- Move to the next diagnostic -bufmap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>') ]] diff --git a/neovim/.config/nvim/lua/plugins/lualine.lua b/neovim/.config/nvim/lua/plugins/lualine.lua index 353e691..46ad4f0 100644 --- a/neovim/.config/nvim/lua/plugins/lualine.lua +++ b/neovim/.config/nvim/lua/plugins/lualine.lua @@ -3,7 +3,7 @@ require("lualine").setup({ theme = "catppuccin", component_separators = { left = "»", right = "«" }, section_separators = "", - icons_enabled = true, + icons_enabled = false, globalstatus = true, }, sections = { diff --git a/neovim/.config/nvim/lua/plugins/pairs.lua b/neovim/.config/nvim/lua/plugins/pairs.lua index ed0e692..cdaa868 100644 --- a/neovim/.config/nvim/lua/plugins/pairs.lua +++ b/neovim/.config/nvim/lua/plugins/pairs.lua @@ -1,2 +1,3 @@ require("nvim-autopairs").setup() require("cmp").event:on("confirm_done", require("nvim-autopairs.completion.cmp").on_confirm_done()) + diff --git a/neovim/.config/nvim/lua/plugins/rust-tools.lua b/neovim/.config/nvim/lua/plugins/rust-tools.lua index c8442aa..68e882c 100644 --- a/neovim/.config/nvim/lua/plugins/rust-tools.lua +++ b/neovim/.config/nvim/lua/plugins/rust-tools.lua @@ -1,3 +1,7 @@ +local on_attach = function() + vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') +end + require("rust-tools").setup({ tools = { autoSetHints = true, diff --git a/neovim/.config/nvim/lua/plugins/telescope.lua b/neovim/.config/nvim/lua/plugins/telescope.lua index 01dcb2f..6d3be34 100644 --- a/neovim/.config/nvim/lua/plugins/telescope.lua +++ b/neovim/.config/nvim/lua/plugins/telescope.lua @@ -1,18 +1,9 @@ local actions = require("telescope.actions") local finders = require("telescope.builtin") -local action_mt = require "telescope.actions.mt" -local action_state = require "telescope.actions.state" --- global for later inspection -custom_actions = action_mt.transform_mod({ - print_entry = function() - print(vim.inspect(action_state.get_selected_entry())) - end, -}) - require("telescope").setup({ defaults = { - prompt_prefix = " ", + prompt_prefix = "> ", initial_mode = "insert", sorting_strategy = "ascending", layout_config = { @@ -20,7 +11,6 @@ require("telescope").setup({ }, mappings = { i = { - ["<C-M>"] = custom_actions['print_entry'], ["<ESC>"] = actions.close, ["<C-j>"] = actions.move_selection_next, ["<C-k>"] = actions.move_selection_previous, diff --git a/neovim/.config/nvim/lua/plugins/todocomments.lua b/neovim/.config/nvim/lua/plugins/todocomments.lua new file mode 100644 index 0000000..a0c75a3 --- /dev/null +++ b/neovim/.config/nvim/lua/plugins/todocomments.lua @@ -0,0 +1,66 @@ +local todocomments = require("todo-comments") + +todocomments.setup({ + signs = true, -- show icons in the signs column + sign_priority = 8, -- sign priority + -- keywords recognized as todo comments + keywords = { + FIX = { + icon = " ", -- icon used for the sign, and in search results + color = "error", -- can be a hex color, or a named color (see below) + alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords + signs = false, -- configure signs for some keywords individually + }, + TODO = { icon = " ", color = "info", signs = false }, + HACK = { icon = " ", color = "warning", signs = false }, + WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" }, signs = false }, + PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" }, signs = false }, + NOTE = { icon = " ", color = "hint", alt = { "INFO" }, signs = false }, + TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED" }, signs = false }, + }, + gui_style = { + fg = "NONE", -- The gui style to use for the fg highlight group. + bg = "BOLD", -- The gui style to use for the bg highlight group. + }, + merge_keywords = true, -- when true, custom keywords will be merged with the defaults + -- highlighting of the line containing the todo comment + -- * before: highlights before the keyword (typically comment characters) + -- * keyword: highlights of the keyword + -- * after: highlights after the keyword (todo text) + highlight = { + multiline = true, -- enable multine todo comments + multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword + multiline_context = 10, -- extra lines that will be re-evaluated when changing a line + before = "", -- "fg" or "bg" or empty + keyword = "wide", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg) + after = "fg", -- "fg" or "bg" or empty + pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlightng (vim regex) + comments_only = true, -- uses treesitter to match keywords in comments only + max_line_len = 400, -- ignore lines longer than this + exclude = {}, -- list of file types to exclude highlighting + }, + -- list of named colors where we try to extract the guifg from the + -- list of highlight groups or use the hex color if hl not found as a fallback + colors = { + error = { "DiagnosticError", "ErrorMsg", "#DC2626" }, + warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" }, + info = { "DiagnosticInfo", "#2563EB" }, + hint = { "DiagnosticHint", "#10B981" }, + default = { "Identifier", "#7C3AED" }, + test = { "Identifier", "#FF00FF" } + }, + search = { + command = "rg", + args = { + "--color=never", + "--no-heading", + "--with-filename", + "--line-number", + "--column", + }, + -- regex that will be used to match keywords. + -- don't replace the (KEYWORDS) placeholder + pattern = [[\b(KEYWORDS):]], -- ripgrep regex + -- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives + }, +}) diff --git a/neovim/.config/nvim/lua/plugins/treesitter.lua b/neovim/.config/nvim/lua/plugins/treesitter.lua index e3d8fbb..f05cca9 100644 --- a/neovim/.config/nvim/lua/plugins/treesitter.lua +++ b/neovim/.config/nvim/lua/plugins/treesitter.lua @@ -8,6 +8,7 @@ require("nvim-treesitter.configs").setup({ auto_install = true, ensure_installed = { "c", + "cpp", "lua", "rust", "go", |