From 7e7c0adfff3aad756321bd52f6b2f3682dfc9f15 Mon Sep 17 00:00:00 2001 From: FaultyBranches Date: Tue, 1 Sep 2026 09:29:47 -0500 Subject: [PATCH] feat: Adding nvim-lspconfig and Mason back in for now to get the config working well for production work. --- lsp_check.sh | 16 +++++++------- nvim/after/lsp/gdscript.lua | 4 +--- nvim/after/lsp/jinja_lsp.lua | 8 +------ nvim/lua/plugins/language_support.lua | 30 +++++++++++++++++++++++++-- 4 files changed, 39 insertions(+), 19 deletions(-) diff --git a/lsp_check.sh b/lsp_check.sh index 608463b..d8431b2 100755 --- a/lsp_check.sh +++ b/lsp_check.sh @@ -5,24 +5,26 @@ RED='\033[0;31m' CLEAR='\033[0m' declare -A lsp_arr=( - ["pylsp"]="Install the pylsp provider: python-language-server or pylsp" - ["pylint"]="Install the pylint provider: pylint" - ["rust-analyzer"]="Install the rust-analyzer provider" - ["yaml-language-server"]="Install the yamlls provider: yaml-language-server (via npm globally or system package)" + ["pylsp"]="pylsp provider: python-language-server or pylsp" + ["pylint"]="pylint provider: pylint" + ["rust-analyzer"]="rust-analyzer provider" + ["yaml-language-server"]="yamlls provider: yaml-language-server (via npm globally or system package)" + ["ansible-language-server"]="ansiblels provider: " + ["jinja-lsp"]="jinja-lsp provider: cargo install jinja-lsp" ) echo '----- Checking for LSP servers...' for lsp in "${!lsp_arr[@]}"; do echo - echo "Checking for $lsp..." which $lsp >/dev/null 2>&1 if [[ $? -eq 1 ]]; then - echo -e "${RED} ${lsp_arr[$lsp]} ${CLEAR}" + echo "Checking for $lsp..." + echo -e "${RED} Install the ${lsp_arr[$lsp]} ${CLEAR}" else - echo -e "${GREEN} Found $lsp ${CLEAR}" + echo -e "Checking for $lsp...${GREEN} Found${CLEAR}" fi done echo diff --git a/nvim/after/lsp/gdscript.lua b/nvim/after/lsp/gdscript.lua index a4fc426..c2b6cfa 100644 --- a/nvim/after/lsp/gdscript.lua +++ b/nvim/after/lsp/gdscript.lua @@ -2,8 +2,6 @@ return { cmd = vim.lsp.rpc.connect('127.0.0.1', 6005), - filetypes = { - 'gd', 'gdscript', 'gdscript3' - }, + filetypes = { 'gdscript' }, root_markers = { 'project.godot', '.git' }, } diff --git a/nvim/after/lsp/jinja_lsp.lua b/nvim/after/lsp/jinja_lsp.lua index 896b9d1..bde1f72 100644 --- a/nvim/after/lsp/jinja_lsp.lua +++ b/nvim/after/lsp/jinja_lsp.lua @@ -1,9 +1,3 @@ --- Jinja LSP setup tuned to include Tera templates --- TODO: Not currently working correctly for Tera templates - return { - name = 'jinja_lsp', - cmd = { 'jinja-lsp' }, - filetypes = { 'jinja', 'tera' }, - root_markers = { '.git' }, + filetypes = { 'tera', 'jinja2' }, } diff --git a/nvim/lua/plugins/language_support.lua b/nvim/lua/plugins/language_support.lua index a88d947..ac09cd3 100644 --- a/nvim/lua/plugins/language_support.lua +++ b/nvim/lua/plugins/language_support.lua @@ -49,9 +49,35 @@ vim.api.nvim_create_autocmd('LspAttach', { }) vim.pack.add({ - 'https://github.com/neovim/nvim-lspconfig' + 'https://github.com/neovim/nvim-lspconfig', + 'https://github.com/mason-org/mason-lspconfig.nvim', + 'https://github.com/mason-org/mason.nvim', }) +require('mason').setup() +require('mason-lspconfig').setup { + automatic_enable = true, + ensure_installed = { + -- 'ansible-lint', + 'ansiblels', + 'arduino_language_server', + 'bashls', + -- 'cfn-lint', + 'clangd', + 'html', + -- 'htmlhint', + 'intelephense', + 'jinja_lsp', + 'lua_ls', + 'marksman', + 'pylsp', + 'r_language_server', + 'rust_analyzer', + -- 'shellcheck', + 'yamlls', + } +} + local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = true @@ -66,7 +92,7 @@ local enabled_lsps = { 'arduino_language_server', 'clangd', 'bashls', - 'gdscript', + 'gdscript', -- Local only config 'html', 'intelephense', 'jinja_lsp',