diff options
Diffstat (limited to '.config/nvim/lua')
| -rw-r--r-- | .config/nvim/lua/autocomplete.lua | 34 | ||||
| -rw-r--r-- | .config/nvim/lua/lsp.lua | 20 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins.lua | 8 | ||||
| -rw-r--r-- | .config/nvim/lua/remapping.lua | 25 | ||||
| -rw-r--r-- | .config/nvim/lua/set.lua | 26 |
5 files changed, 111 insertions, 2 deletions
diff --git a/.config/nvim/lua/autocomplete.lua b/.config/nvim/lua/autocomplete.lua new file mode 100644 index 0000000..c45333c --- /dev/null +++ b/.config/nvim/lua/autocomplete.lua @@ -0,0 +1,34 @@ +local cmp = require("cmp") + +cmp.setup({ + snippet = { + -- REQUIRED - you must specify a snippet engine + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. + -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + -- require('snippy').expand_snippet(args.body) -- For `snippy` users. + -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. + end, + }, + mapping = { + ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), + ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), + ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), + ['<C-y>'] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping. + ['<C-e>'] = cmp.mapping({ + i = cmp.mapping.abort(), + c = cmp.mapping.close(), + }), + ['<tab>'] = 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 = 'vsnip' }, -- For vsnip users. + -- { name = 'luasnip' }, -- For luasnip users. + -- { name = 'ultisnips' }, -- For ultisnips users. + -- { name = 'snippy' }, -- For snippy users. + }, { + { name = 'buffer' }, + }) +}) + diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua index 3fa5f48..3a4b605 100644 --- a/.config/nvim/lua/lsp.lua +++ b/.config/nvim/lua/lsp.lua @@ -1,5 +1,10 @@ local lsp = require('lspconfig') -lsp.lua_ls.setup { + +local capabilities = require("cmp_nvim_lsp").default_capabilities( + vim.lsp.protocol.make_client_capabilities()) + +lsp.lua_ls.setup({ + capabilities=capabilities, Lua = { runtime = { version = "LuaJIT", @@ -8,6 +13,17 @@ lsp.lua_ls.setup { enable = false, } } +}) + + +lsp.clangd.setup { + capabilities=capabilities, } -lsp.clangd.setup {} +lsp.rust_analyzer.setup({ + capabilities=capabilities, + settings = { + ['rust-analyzer'] = {}, + }, +}) + diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index eef6e01..350fd61 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -28,5 +28,13 @@ return require('packer').startup(function(use) requires = { 'kyazdani42/nvim-web-devicons', opt = true } } use { 'numToStr/Comment.nvim' } + + use { 'hrsh7th/cmp-nvim-lsp' } + use { 'hrsh7th/cmp-buffer' } + use { 'hrsh7th/cmp-path' } + use { 'hrsh7th/cmp-cmdline' } + use { 'hrsh7th/nvim-cmp' } + use { 'hrsh7th/vim-vsnip' } + use { 'loctvl842/monokai-pro.nvim' } end) diff --git a/.config/nvim/lua/remapping.lua b/.config/nvim/lua/remapping.lua new file mode 100644 index 0000000..79aaa81 --- /dev/null +++ b/.config/nvim/lua/remapping.lua @@ -0,0 +1,25 @@ +vim.g.mapleader = " " + +vim.keymap.set('i', 'jk', '<escape>', {}) +vim.keymap.set('n', '<leader>n', [[:NvimTreeToggle<cr>]], {}) +vim.keymap.set('n', '<leader>f', [[:Telescope find_files<cr>]], {}) +vim.keymap.set('n', '<leader>g', [[:Git<cr>]], {}) +vim.keymap.set('n', '<leader>to', [[:TermOpen<cr><cr>]], {}) +vim.keymap.set('n', '<leader>c', [[:noh<cr>]], {}) + +vim.keymap.set('n', '<C-h>', '<C-w>h', {}) +vim.keymap.set('n', '<C-j>', '<C-w>j', {}) +vim.keymap.set('n', '<C-k>', '<C-w>k', {}) +vim.keymap.set('n', '<C-l>', '<C-w>l', {}) + +vim.keymap.set('o', 'as', 'a"', {}) +vim.keymap.set('o', 'is', 'i"', {}) +vim.keymap.set('o', 'it', 'i[', {}) +vim.keymap.set('o', 'at', 'a[', {}) +vim.keymap.set('o', 'ic', 'i<', {}) +vim.keymap.set('o', 'ac', 'a<', {}) + +vim.keymap.set('t', '<escape>', '<C-\\><C-n>', {}) +vim.keymap.set('t', 'jk', '<C-\\><C-n>', {}) + + diff --git a/.config/nvim/lua/set.lua b/.config/nvim/lua/set.lua new file mode 100644 index 0000000..816ddb3 --- /dev/null +++ b/.config/nvim/lua/set.lua @@ -0,0 +1,26 @@ +vim.opt.number = true +vim.opt.relativenumber = false +vim.opt.cursorline = true +vim.opt.scrolloff = 4 +vim.opt.signcolumn = "yes" + +vim.opt.encoding = 'utf8' +vim.opt.fileencoding = 'utf8' +vim.opt.syntax = "ON" +vim.opt.termguicolors = true +vim.api.nvim_command('colorscheme monokai-pro-spectrum') + +vim.opt.ignorecase = true +vim.opt.smartcase = true +vim.opt.incsearch = true + +vim.opt.expandtab = true +vim.opt.shiftwidth = 2 +vim.opt.softtabstop = 2 +vim.opt.tabstop = 2 + +vim.opt.splitright = true +vim.opt.splitbelow = true +vim.opt.cc = "80" + + |
