From a9bd3263f74bb219ecc451b7c145f229aabd139a Mon Sep 17 00:00:00 2001 From: Xander Swan Date: Wed, 3 Dec 2025 10:00:41 -0500 Subject: poggers --- .config/nvim/.luarc.json | 5 ++++ .config/nvim/init.lua | 59 ++------------------------------------- .config/nvim/lua/autocomplete.lua | 34 ++++++++++++++++++++++ .config/nvim/lua/lsp.lua | 20 +++++++++++-- .config/nvim/lua/plugins.lua | 8 ++++++ .config/nvim/lua/remapping.lua | 25 +++++++++++++++++ .config/nvim/lua/set.lua | 26 +++++++++++++++++ 7 files changed, 119 insertions(+), 58 deletions(-) create mode 100644 .config/nvim/.luarc.json create mode 100644 .config/nvim/lua/autocomplete.lua create mode 100644 .config/nvim/lua/remapping.lua create mode 100644 .config/nvim/lua/set.lua (limited to '.config/nvim') diff --git a/.config/nvim/.luarc.json b/.config/nvim/.luarc.json new file mode 100644 index 0000000..f979d50 --- /dev/null +++ b/.config/nvim/.luarc.json @@ -0,0 +1,5 @@ +{ + "diagnostics.globals": [ + "vim" + ] +} diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 2702afb..8fb9f57 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,62 +1,9 @@ - local packer_path = vim.fn.stdpath('config') .. '/site' vim.o.packpath = vim.o.packpath .. ',' .. packer_path require("plugins") require("plugin_conf") +require("autocomplete") require("lsp") - --- OPTIONS -local opt = vim.opt - -opt.number = true -opt.relativenumber = false -opt.cursorline = true -opt.scrolloff = 4 -opt.signcolumn = "yes" - -opt.encoding = 'utf8' -opt.fileencoding = 'utf8' -opt.syntax = "ON" -opt.termguicolors = true -vim.api.nvim_command('colorscheme monokai-pro-spectrum') - -opt.ignorecase = true -opt.smartcase = true -opt.incsearch = true - -opt.expandtab = true -opt.shiftwidth = 2 -opt.softtabstop = 2 -opt.tabstop = 2 - -opt.splitright = true -opt.splitbelow = true - --- KEYS - -local map = vim.api.nvim_set_keymap - -local key = '' -map('i', 'jk', '', {}) -map('n', key .. 'n', [[:NvimTreeToggle]], {}) -map('n', key .. 'f', [[:Telescope find_files]], {}) -map('n', key .. 'g', [[:Git]], {}) -map('n', key .. 'to', [[:TermOpen]], {}) -map('n', key .. 'c', [[:noh]], {}) - --- change pane -map('n', '', 'h', {}) -map('n', '', 'j', {}) -map('n', '', 'k', {}) -map('n', '', 'l', {}) - -map('o', 'as', 'a"', {}) -map('o', 'is', 'i"', {}) -map('o', 'it', 'i[', {}) -map('o', 'at', 'a[', {}) - -map('t', '', '', {}) -map('t', 'jk', '', {}) - - +require("set") +require("remapping") 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 = { + [''] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), + [''] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), + [''] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), + [''] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `` mapping. + [''] = cmp.mapping({ + i = cmp.mapping.abort(), + c = cmp.mapping.close(), + }), + [''] = 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', '', {}) +vim.keymap.set('n', 'n', [[:NvimTreeToggle]], {}) +vim.keymap.set('n', 'f', [[:Telescope find_files]], {}) +vim.keymap.set('n', 'g', [[:Git]], {}) +vim.keymap.set('n', 'to', [[:TermOpen]], {}) +vim.keymap.set('n', 'c', [[:noh]], {}) + +vim.keymap.set('n', '', 'h', {}) +vim.keymap.set('n', '', 'j', {}) +vim.keymap.set('n', '', 'k', {}) +vim.keymap.set('n', '', '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', '', '', {}) +vim.keymap.set('t', 'jk', '', {}) + + 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" + + -- cgit v1.3-2-g0d8e