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 \
markdownlint \
ansible-language-server \
ansible-lint"
ansible-lint \
yamlfmt"
ENV MASON_PKGS_NO_ARM="lemminx helm-ls lua-language-server"

View file

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