diff --git a/configs/nvim/init.vim b/configs/nvim/init.vim index 95150cd..4ea49bf 100644 --- a/configs/nvim/init.vim +++ b/configs/nvim/init.vim @@ -18,6 +18,108 @@ set relativenumber call plug#begin() Plug 'catppuccin/nvim', { 'as': 'catppuccin' } +Plug 'neovim/nvim-lspconfig' +Plug 'simrat39/rust-tools.nvim' +Plug 'nvim-lua/plenary.nvim' +Plug 'saecki/crates.nvim', { 'tag': 'v0.3.0' } +Plug 'neovim/nvim-lspconfig' +Plug 'hrsh7th/cmp-nvim-lsp' +Plug 'hrsh7th/cmp-buffer' +Plug 'hrsh7th/cmp-path' +Plug 'hrsh7th/cmp-cmdline' +Plug 'hrsh7th/nvim-cmp' +Plug 'saadparwaiz1/cmp_luasnip' +Plug 'L3MON4D3/LuaSnip' +Plug 'ahmedkhalf/project.nvim' +Plug 'lewis6991/gitsigns.nvim' +Plug 'nvim-neo-tree/neo-tree.nvim' +Plug 'nvim-lua/plenary.nvim' +Plug 'MunifTanjim/nui.nvim' +Plug 'nvim-tree/nvim-web-devicons' call plug#end() +colorscheme catppuccin-macchiato +lua require('crates').setup() +lua require('gitsigns').setup() -colorscheme catppuccin-macchiato \ No newline at end of file +set completeopt=menu,menuone,noselect + +lua << EOF + require("project_nvim").setup { + patterns = { ".git", "Makefile", "*.sln", "build/env.sh" } + } +EOF + +lua <'] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + { name = "crates" }, + }, { + { name = 'buffer' }, + }) + }) + + cmp.setup.filetype('gitcommit', { + sources = cmp.config.sources({ + { name = 'cmp_git' }, + }, { + { name = 'buffer' }, + }) + }) + + cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' } + } + }) + + cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' } + }, { + { name = 'cmdline' } + }) + }) + + local capabilities = require('cmp_nvim_lsp').default_capabilities() + require('lspconfig')['luasnip'].setup { + capabilities = capabilities + } +EOF + +lua <", rt.hover_actions.hover_actions, { buffer = bufnr }) + -- Code action groups + vim.keymap.set("n", "a", rt.code_action_group.code_action_group, { buffer = bufnr }) + end, + }, +}) +EOF