latest lsp config with mason and autocomplete

This commit is contained in:
2025-12-15 15:49:30 -08:00
parent 798d6bb69c
commit acd842c2aa
5 changed files with 59 additions and 29 deletions

View File

@@ -30,30 +30,8 @@ vim.cmd("noswapfile")
vim.cmd("set autoread")
vim.cmd("set complete-=i")
vim.cmd("set lazyredraw")
vim.cmd("au FileType python set fileformat=unix encoding=utf-8")
vim.cmd("au FileType markdown,tex set spell spelllang=en_us")
-- ------------------------------------------------------------------------
-- Autoreload buffers when files change externally
-- ------------------------------------------------------------------------
-- Ensure the option is enabled (already set above, but kept for clarity)
vim.cmd("set autoread")
-- Create a dedicated augroup to avoid duplicate autocommands if this file
-- is sourced multiple times (e.g., when using :source ~/.config/nvim/init.lua).
vim.api.nvim_create_augroup("AutoReload", { clear = true })
-- Run `checktime` for the following events:
-- * CursorHold, CursorHoldI idle cursor, typical for autocheck
-- * FocusGained when you return to Neovim from another app
-- * BufEnter when you jump to a buffer that may already be stale
vim.api.nvim_create_autocmd(
{ "CursorHold", "CursorHoldI", "FocusGained", "BufEnter" },
{
group = "AutoReload",
pattern = "*",
command = "silent! checktime",
}
)

View File

@@ -1,6 +1,10 @@
{
"black-metal-theme-neovim": { "branch": "main", "commit": "6d0207871387077f40d5396ab1ae90520e688d36" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "3b3571b4dadbcb464804466e9872e7246c316af7" },
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
"mini.completion": { "branch": "main", "commit": "7c5edfc0e479dd4edd898cc9ddd1920d8c1ce420" },
"mini.nvim": { "branch": "main", "commit": "6bd3a01aaf7d248aea1b78aacdd5d44bffa002c1" },
"nvim-lspconfig": { "branch": "master", "commit": "07f4e93de92e8d4ea7ab99602e3a8c9ac0fb778a" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },

View File

@@ -31,5 +31,5 @@ require("lazy").setup({
-- colorscheme that will be used when installing plugins.
-- install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
-- checker = { enabled = true },
})

View File

@@ -0,0 +1,54 @@
return {
"mason-org/mason-lspconfig.nvim",
dependencies = {
{"mason-org/mason.nvim"},
{'neovim/nvim-lspconfig'},
{'nvim-mini/mini.nvim'},
{'nvim-mini/mini.completion'},
},
config = function()
require("mason").setup()
require("mason-lspconfig").setup {}
-- NOTE: this is meant to be backwards compatible with Neovim v0.9
---
-- Autocompletion
---
require('mini.snippets').setup()
require('mini.completion').setup()
---
-- Language server configuration
---
-- These keymaps are the defaults in Neovim v0.10
if vim.fn.has('nvim-0.11') == 0 then
-- NOTE: vim.diagnostic.goto_* methods are deprecated in v0.11
-- that's why we put these under a conditional block
vim.keymap.set('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
vim.keymap.set('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')
vim.keymap.set('n', '<C-w>d', '<cmd>lua vim.diagnostic.open_float()<cr>')
vim.keymap.set('n', '<C-w><C-d>', '<cmd>lua vim.diagnostic.open_float()<cr>')
end
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(event)
local bufmap = function(mode, rhs, lhs)
vim.keymap.set(mode, rhs, lhs, {buffer = event.buf})
end
-- These keymaps are the defaults in Neovim v0.11
bufmap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
bufmap('n', 'grr', '<cmd>lua vim.lsp.buf.references()<cr>')
bufmap('n', 'gri', '<cmd>lua vim.lsp.buf.implementation()<cr>')
bufmap('n', 'grn', '<cmd>lua vim.lsp.buf.rename()<cr>')
bufmap('n', 'gra', '<cmd>lua vim.lsp.buf.code_action()<cr>')
bufmap('n', 'gO', '<cmd>lua vim.lsp.buf.document_symbol()<cr>')
bufmap({'i', 's'}, '<C-s>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
end,
})
end
}

View File

@@ -1,6 +0,0 @@
-- plugins/telescope.lua:
return {
'neovim/nvim-lspconfig',
config = function()
end
}