add ansible lsp configuration

This commit is contained in:
SALVI Jérémie
2024-07-19 10:08:28 +02:00
parent 6ecfa47e4c
commit 5764e98ae6
4 changed files with 60 additions and 2 deletions

View File

@@ -13,6 +13,7 @@ require("config/which-key")
require("config/nvim-cmp") require("config/nvim-cmp")
require("config/mason") require("config/mason")
require("config/lsp/lsp-signs") require("config/lsp/lsp-signs")
require("config/lsp/ansible")
require("config/lsp/bash") require("config/lsp/bash")
require("config/lsp/lua") require("config/lsp/lua")
require("config/lsp/web") require("config/lsp/web")

View File

@@ -0,0 +1,57 @@
local ok, mason_lspconfig, mason_tool_installer, lspconfig, conform, lint = pcall(function()
return require("mason-lspconfig"),
require("mason-tool-installer"),
require("lspconfig"),
require("conform"),
require("lint")
end)
if not ok then
return
end
mason_lspconfig.setup({
ensure_installed = { "ansiblels" },
})
lspconfig.ansiblels.setup({
capabilities = require("config/lsp/lsp-capabilities"),
on_attach = require("config/lsp/lsp-attach"),
})
mason_tool_installer.setup({
ensure_installed = { "ansible-lint" },
})
conform.setup({
formatters_by_ft = {
yml = { "ansible-lint" },
},
format_on_save = {
async = false,
timeout_ms = 500,
lsp_fallback = true,
},
})
vim.keymap.set({ "n", "v" }, "<leader>lf", function()
conform.format({
async = false,
timeout_ms = 500,
lsp_fallback = true,
})
end, { desc = "Format" })
lint.linters_by_ft = {
yml = { "ansible-lint" },
}
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
callback = function()
lint.try_lint()
end,
})
vim.keymap.set("n", "<leader>ll", function()
lint.try_lint()
end, { desc = "Lint" })

View File

@@ -43,7 +43,7 @@ vim.keymap.set({ "n", "v" }, "<leader>lf", function()
end, { desc = "Format" }) end, { desc = "Format" })
lint.linters_by_ft = { lint.linters_by_ft = {
lua = { "shellcheck" }, sh = { "shellcheck" },
} }
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {

View File

@@ -49,7 +49,7 @@ vim.keymap.set({ "n", "v" }, "<leader>lf", function()
end, { desc = "Format" }) end, { desc = "Format" })
lint.linters_by_ft = { lint.linters_by_ft = {
phpcs = { "phpcs" }, php = { "phpcs" },
} }
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {