add conform with yamlfmt
This commit is contained in:
parent
e35fea1f4e
commit
4653116fac
4 changed files with 107 additions and 66 deletions
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
26
lua/plugins/conform.lua
Normal 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" },
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
|
@ -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()
|
||||
|
|
Loading…
Reference in a new issue