From 5bc521dcd5a8013fadeb2a9456155be39799360d Mon Sep 17 00:00:00 2001 From: Xander Swan Date: Wed, 3 Dec 2025 10:00:41 -0500 Subject: Neovim updates --- .config/nvim/.luarc.json | 5 +++++ .config/nvim/colors/mine.vim | 6 +++--- .config/nvim/lua/opt.lua | 2 -- .config/nvim/lua/plugin/init.lua | 1 + .config/nvim/lua/plugin/lsp.lua | 39 ++++++++++++++++++++------------------ .config/nvim/lua/plugin/packer.lua | 29 +++++++++++++++++----------- .config/nvim/lua/plugin/setup.lua | 21 ++++++-------------- 7 files changed, 54 insertions(+), 49 deletions(-) create mode 100644 .config/nvim/.luarc.json (limited to '.config/nvim') diff --git a/.config/nvim/.luarc.json b/.config/nvim/.luarc.json new file mode 100644 index 0000000..1e1765c --- /dev/null +++ b/.config/nvim/.luarc.json @@ -0,0 +1,5 @@ +{ + "diagnostics.globals": [ + "vim" + ] +} \ No newline at end of file diff --git a/.config/nvim/colors/mine.vim b/.config/nvim/colors/mine.vim index d66ae06..3aa142d 100644 --- a/.config/nvim/colors/mine.vim +++ b/.config/nvim/colors/mine.vim @@ -32,12 +32,12 @@ hi Number guifg=#55bb55 guibg=NONE gui=NONE hi String guifg=#ff99ff guibg=NONE gui=italic hi Boolean guifg=#99ff99 guibg=NONE gui=italic -hi Identifier guifg=#ffdd80 guibg=NONE gui=NONE +hi Identifier guifg=#ffcc80 guibg=NONE gui=NONE hi Function guifg=#99ffff guibg=NONE gui=italic hi Statement guifg=#ff7099 guibg=NONE gui=NONE hi Label guifg=#ff7099 guibg=NONE gui=italic -hi Operator guifg=#ffffff guibg=NONE gui=NONE +hi Operator guifg=#c5c8c6 guibg=NONE gui=NONE hi PreProc guifg=#ff9977 guibg=NONE gui=NONE @@ -45,7 +45,7 @@ hi Type guifg=#9999ff guibg=NONE gui=italic hi StorageClass guifg=#99ffff guibg=NONE gui=italic hi Structure guifg=#99ffff guibg=NONE gui=italic -hi Special guifg=#ff9977 guibg=NONE gui=italic +hi Special guifg=#ff9977 guibg=NONE gui=NONE hi SpecialChar guifg=#ffffff guibg=NONE gui=bold,italic hi Error guifg=#ff4444 guibg=NONE gui=bold,undercurl diff --git a/.config/nvim/lua/opt.lua b/.config/nvim/lua/opt.lua index ebb99e2..d062a61 100644 --- a/.config/nvim/lua/opt.lua +++ b/.config/nvim/lua/opt.lua @@ -1,5 +1,3 @@ -vim.cmd("colorscheme mine") - vim.o.termguicolors = true vim.o.relativenumber = true vim.o.number = true diff --git a/.config/nvim/lua/plugin/init.lua b/.config/nvim/lua/plugin/init.lua index 8dc2b6f..4e60f98 100644 --- a/.config/nvim/lua/plugin/init.lua +++ b/.config/nvim/lua/plugin/init.lua @@ -1,2 +1,3 @@ require("plugin.packer") require("plugin.setup") +require("plugin.lsp") diff --git a/.config/nvim/lua/plugin/lsp.lua b/.config/nvim/lua/plugin/lsp.lua index 6563a6f..51e116e 100644 --- a/.config/nvim/lua/plugin/lsp.lua +++ b/.config/nvim/lua/plugin/lsp.lua @@ -3,26 +3,29 @@ local lspconfig = require("lspconfig") lsp.preset("recommended") -lsp.ensure_installed { - "lua_ls", - "clangd", - "cmake", +lspconfig.lua_ls.setup {} +lspconfig.clangd.setup {} + +require('mason').setup {} +require('mason-lspconfig').setup { + ensure_installed = { + "lua_ls", + "clangd", + }, + handlers = { + lsp.default_setup, + }, } -local cmp = require("cmp") -local cmp_select = { behavior = cmp.SelectBehavior.Select } -local cmp_mappings = lsp.defaults.cmp_mappings { - [""] = cmp.mapping.select_next_item(cmp_select), - [""] = cmp.mapping.select_prev_item(cmp_select), - [""] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping.confirm({ select = true }), -} - -lsp.setup_nvim_cmp { - mapping = cmp_mappings -} - -lsp.set_preferences { +local cmp = require('cmp') +cmp.setup { + mapping = cmp.mapping.preset.insert({ + -- `Enter` key to confirm completion + [''] = cmp.mapping.confirm({select = false}), + -- `Tab` key to navigate + [''] = cmp.mapping.select_prev_item({behavior = 'select'}), + [''] = cmp.mapping.select_next_item({behavior = 'select'}), + }) } lsp.on_attach(function(_, buffer) diff --git a/.config/nvim/lua/plugin/packer.lua b/.config/nvim/lua/plugin/packer.lua index a2ac451..a78e85a 100644 --- a/.config/nvim/lua/plugin/packer.lua +++ b/.config/nvim/lua/plugin/packer.lua @@ -1,27 +1,27 @@ return require("packer").startup(function(use) - use { "wbthomason/packer.nvim" } + use {"wbthomason/packer.nvim"} use { "nvim-telescope/telescope.nvim", requires = { - { "nvim-lua/plenary.nvim" } + { "nvim-lua/plenary.nvim"} }, } - use { "Yggdroot/indentLine" } - use { "windwp/nvim-autopairs" } - use { "airblade/vim-gitgutter" } + use {"Yggdroot/indentLine"} + use {"windwp/nvim-autopairs"} + use {"airblade/vim-gitgutter"} use { "folke/trouble.nvim", requires = { - { "nvim-tree/nvim-web-devicons" }, + { "nvim-tree/nvim-web-devicons"}, } } - use { "tpope/vim-fugitive" } - use { "numToStr/Comment.nvim" } - use { "HiPhish/nvim-ts-rainbow2" } + use {"tpope/vim-fugitive"} + use {"numToStr/Comment.nvim"} + use {"HiPhish/nvim-ts-rainbow2"} use { "VonHeikemen/lsp-zero.nvim", @@ -45,15 +45,22 @@ return require("packer").startup(function(use) } } - use { "tikhomirov/vim-glsl" } + use {"tikhomirov/vim-glsl"} - use { "michaeljsmith/vim-indent-object" } + use {"michaeljsmith/vim-indent-object"} use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" } + use { + "loctvl842/monokai-pro.nvim", + config = function() + vim.cmd("colorscheme monokai-pro-spectrum") + end + } + use { "danymat/neogen", requires = "nvim-treesitter/nvim-treesitter" diff --git a/.config/nvim/lua/plugin/setup.lua b/.config/nvim/lua/plugin/setup.lua index 4cce77b..4e0bf01 100644 --- a/.config/nvim/lua/plugin/setup.lua +++ b/.config/nvim/lua/plugin/setup.lua @@ -17,35 +17,26 @@ local neogen = require("neogen") neogen.setup { snippet_engine = "luasnip", - languages = { - cs = { - template = { - annotation_convention = "xmldoc", - }, - }, - }, } -local opts = { +vim.keymap.set("n", "df", "Neogen", { silent = true, -} - -vim.keymap.set("n", "df", "Neogen", opts) +}) require("nvim-treesitter.configs").setup { - ensure_installed = { "c", "rust", "lua", "vimdoc" }, - sync_install = false, + ensure_installed = { "c", "cpp", "lua", "vimdoc" }, + sync_install = true, highlight = { enable = true, additional_vim_regex_highlighting = true, }, - indent = { enable = false }, + indent = { enable = true }, rainbow = { enable = true, } } -do +do local builtin = require("telescope.builtin") vim.keymap.set("n", "ff", builtin.find_files, {}) vim.keymap.set("n", "fg", builtin.git_files, {}) -- cgit v1.3-2-g0d8e