Add ansible filetype so that LSP works correctly
This commit is contained in:
16
init.lua
16
init.lua
@@ -643,6 +643,9 @@ require('lazy').setup({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
ansiblels = {
|
||||||
|
filetypes = { 'yaml.ansible', 'ansible' },
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Ensure the servers and tools above are installed
|
-- Ensure the servers and tools above are installed
|
||||||
@@ -653,12 +656,13 @@ require('lazy').setup({
|
|||||||
-- You can press `g?` for help in this menu.
|
-- You can press `g?` for help in this menu.
|
||||||
require('mason').setup()
|
require('mason').setup()
|
||||||
|
|
||||||
-- You can add other tools here that you want Mason to install
|
-- You can add other tools here that you want Mason to install
|
||||||
-- for you, so that they are available from within Neovim.
|
-- for you, so that they are available from within Neovim.
|
||||||
local ensure_installed = vim.tbl_keys(servers or {})
|
local ensure_installed = vim.tbl_keys(servers or {})
|
||||||
vim.list_extend(ensure_installed, {
|
vim.list_extend(ensure_installed, {
|
||||||
'stylua', -- Used to format Lua code
|
'stylua', -- Used to format Lua code
|
||||||
})
|
'ansible-language-server', -- Ansible LSP for YAML Ansible files
|
||||||
|
})
|
||||||
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
|
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
|
||||||
|
|
||||||
require('mason-lspconfig').setup {
|
require('mason-lspconfig').setup {
|
||||||
|
|||||||
21
lua/custom/plugins/ansible.lua
Normal file
21
lua/custom/plugins/ansible.lua
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
-- Ansible configuration for detecting .yml files in roles and playbooks directories
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
optional = true,
|
||||||
|
-- This table sets up file type detection for Ansible files
|
||||||
|
init = function()
|
||||||
|
-- Set up autocommand to detect Ansible files and set their filetype
|
||||||
|
local ansible_augroup = vim.api.nvim_create_augroup('ansible-detection', { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
|
||||||
|
group = ansible_augroup,
|
||||||
|
pattern = { '*/roles/**/*.yml', '*/roles/**/*.yaml', '*/playbooks/**/*.yml', '*/playbooks/**/*.yaml', '*/hosts/**/*.yml', '*/hosts/**/*.yaml' },
|
||||||
|
callback = function()
|
||||||
|
vim.bo.filetype = 'yaml.ansible'
|
||||||
|
end,
|
||||||
|
desc = 'Set filetype to yaml.ansible for Ansible files',
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -2,4 +2,6 @@
|
|||||||
-- I promise not to create any merge conflicts in this directory :)
|
-- I promise not to create any merge conflicts in this directory :)
|
||||||
--
|
--
|
||||||
-- See the kickstart.nvim README for more information
|
-- See the kickstart.nvim README for more information
|
||||||
return {}
|
return {
|
||||||
|
require 'custom.plugins.ansible',
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user