add conform with yamlfmt
All checks were successful
Build neovim image / build-neovim-amd64 (push) Successful in 8m52s
Build neovim image / build-neovim-arm64 (push) Successful in 10m44s
Build neovim image / update-images-manifest (push) Successful in 18s

This commit is contained in:
Maciej Lebiest 2024-12-17 16:10:37 +01:00 committed by Maciej Lebiest
parent e35fea1f4e
commit 4653116fac
4 changed files with 107 additions and 66 deletions

View file

@ -43,7 +43,8 @@ ENV MASON_PKGS=" \
yaml-language-server \ yaml-language-server \
markdownlint \ markdownlint \
ansible-language-server \ ansible-language-server \
ansible-lint" ansible-lint \
yamlfmt"
ENV MASON_PKGS_NO_ARM="lemminx helm-ls lua-language-server" ENV MASON_PKGS_NO_ARM="lemminx helm-ls lua-language-server"

View file

@ -33,6 +33,17 @@ require("lazy").setup({
opts = {}, opts = {},
priority = 200 priority = 200
}, },
{
"stevearc/conform.nvim",
--event = { "BufWritePre" },
cmd = { "ConformInfo" },
-- triggering is in lspconfig conf since it is the same key
opts = require("plugins.conform").opts,
init = function()
-- If you want the formatexpr, here is the place to set it
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
end,
},
-- mason-lspconfig might need disabling on first run -- mason-lspconfig might need disabling on first run
{ {
'williamboman/mason-lspconfig.nvim', 'williamboman/mason-lspconfig.nvim',

26
lua/plugins/conform.lua Normal file
View file

@ -0,0 +1,26 @@
return {
-- This will provide type hinting with LuaLS
---@module "conform"
---@type conform.setupOpts
opts = {
-- Define your formatters
formatters_by_ft = {
yaml = { "yamlfmt" },
--lua = { "stylua" },
--python = { "isort", "black" },
--javascript = { "prettierd", "prettier", stop_after_first = true },
},
-- Set default options
default_format_opts = {
lsp_format = "fallback",
},
-- Set up format-on-save
--format_on_save = { timeout_ms = 500 },
-- Customize formatters
formatters = {
shfmt = {
prepend_args = { "-i", "2" },
},
},
}
}

View file

@ -32,7 +32,10 @@ return {
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts) vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts)
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts) vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
vim.keymap.set('n', '<leader>f', function() vim.lsp.buf.format { async = true } end, bufopts) vim.keymap.set('n', '<leader>f', function()
vim.lsp.buf.format { async = true }
require("conform").format({ async = true })
end, bufopts)
end end
local capabilities = require('cmp_nvim_lsp').default_capabilities() local capabilities = require('cmp_nvim_lsp').default_capabilities()
@ -42,71 +45,71 @@ return {
-- attaching all lsp servers, order matters (for example in autocompletion) -- attaching all lsp servers, order matters (for example in autocompletion)
----------------- -----------------
--require 'lspconfig'.pylsp.setup { --require 'lspconfig'.pylsp.setup {
--on_attach = on_attach, --on_attach = on_attach,
--capabilities = capabilities --capabilities = capabilities
--, settings = { --, settings = {
--pylsp = { --pylsp = {
--plugins = { --plugins = {
--rope_autoimport = { enabled = true, memory = true }, --rope_autoimport = { enabled = true, memory = true },
--rope_completion = { enabled = false, eager = false }, --rope_completion = { enabled = false, eager = false },
--rope = { --rope = {
--ropeFolder = nil --ropeFolder = nil
--}, --},
--jedi_completion = { --jedi_completion = {
--enabled = false, --enabled = false,
--include_params = true, --include_params = true,
--include_class_objects = true, --include_class_objects = true,
--include_function_objects = true, --include_function_objects = true,
--fuzzy = true, --fuzzy = true,
--eager = true, --eager = true,
--}, --},
--jedi_definition = { --jedi_definition = {
--enabled = false, --enabled = false,
--}, --},
--mccabe = { --mccabe = {
--enabled = false --enabled = false
--}, --},
--jedi_hover = { enabled = false }, --jedi_hover = { enabled = false },
--jedi_references = { enabled = false }, --jedi_references = { enabled = false },
--jedi_signature_help = { enabled = false }, --jedi_signature_help = { enabled = false },
--jedi_symbols = { enabled = false }, --jedi_symbols = { enabled = false },
--ruff = { enabled = false }, --ruff = { enabled = false },
--flake8 = { --flake8 = {
--enabled = false -- ruff_lsp --enabled = false -- ruff_lsp
--}, --},
--pylint = { --pylint = {
--enabled = true, --enabled = true,
--args = { --args = {
---- disable missing module docstring info ---- disable missing module docstring info
---- and temporarilt false cannot import errors ---- and temporarilt false cannot import errors
---- too few public methods ---- too few public methods
---- missing functon or method doc ---- missing functon or method doc
--'--disable=C0114,E0401,R0903,C0116' --'--disable=C0114,E0401,R0903,C0116'
--} --}
--}, --},
--yapf = { --yapf = {
--enabled = false --enabled = false
--}, --},
--autopep8 = { --autopep8 = {
--enabled = false --enabled = false
--}, --},
--pyflakes = { enabled = false }, -- ruff_lsp --pyflakes = { enabled = false }, -- ruff_lsp
--pycodestyle = { enabled = false }, -- ruff_lsp --pycodestyle = { enabled = false }, -- ruff_lsp
--pydocstyle = { --pydocstyle = {
--enabled = false, --enabled = false,
--ignore = { --ignore = {
--'D100', -- disable missing module docstring info --'D100', -- disable missing module docstring info
--'D101', -- disable missing public class doc --'D101', -- disable missing public class doc
--'D102', -- disable missing class method doc --'D102', -- disable missing class method doc
--'D103', -- disable missing function doc --'D103', -- disable missing function doc
--'D203', -- disable one line before class docstring required --'D203', -- disable one line before class docstring required
--'D213', -- disable multiline docstring summary --'D213', -- disable multiline docstring summary
---- should start at the second line ---- should start at the second line
--} --}
--}, --},
--} --}
--} --}
--} --}
--} --}
require 'lspconfig'.ruff.setup { require 'lspconfig'.ruff.setup {