home: vim: lsp: rely on 'bashls' formatting
All checks were successful
ci/woodpecker/push/check Pipeline was successful
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I finally figured out why I was getting the wrong indentation, turns out it was an issue in `lsp-format.nvim`. With that fixed/worked around, I can now rely completely on `bash-language-server` for formatting. I'll also rely on `shfmt` automatically detecting the type of file, as (Neo)Vim cannot be made to reliably set `ft=bash` for Bash scripts and `ft=sh` for POSIX shell. Finally, I removed spaces after redirections, I've now come around to liking the default (no spaces) better.
This commit is contained in:
parent
92e5fbe7df
commit
322fbc970b
|
@ -74,6 +74,16 @@ if utils.is_executable("bash-language-server") then
|
||||||
filetypes = { "bash", "sh", "zsh" },
|
filetypes = { "bash", "sh", "zsh" },
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
on_attach = lsp.on_attach,
|
on_attach = lsp.on_attach,
|
||||||
|
settings = {
|
||||||
|
bashIde = {
|
||||||
|
shfmt = {
|
||||||
|
-- Simplify the code
|
||||||
|
simplifyCode = true,
|
||||||
|
-- Indent switch cases
|
||||||
|
caseIndent = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -46,29 +46,3 @@ null_ls.register({
|
||||||
condition = utils.is_executable_condition("isort"),
|
condition = utils.is_executable_condition("isort"),
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Shell (non-POSIX)
|
|
||||||
null_ls.register({
|
|
||||||
null_ls.builtins.formatting.shfmt.with({
|
|
||||||
-- Indent with 4 spaces, simplify the code, indent switch cases,
|
|
||||||
-- add space after redirection, use bash dialect
|
|
||||||
extra_args = { "-i", "4", "-s", "-ci", "-sr", "-ln", "bash" },
|
|
||||||
-- Restrict to bash and zsh
|
|
||||||
filetypes = { "bash", "zsh" },
|
|
||||||
-- Only used if available
|
|
||||||
condition = utils.is_executable_condition("shfmt"),
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Shell (POSIX)
|
|
||||||
null_ls.register({
|
|
||||||
null_ls.builtins.formatting.shfmt.with({
|
|
||||||
-- Indent with 4 spaces, simplify the code, indent switch cases,
|
|
||||||
-- add space after redirection, use POSIX
|
|
||||||
extra_args = { "-i", "4", "-s", "-ci", "-sr", "-ln", "posix" },
|
|
||||||
-- Restrict to POSIX sh
|
|
||||||
filetypes = { "sh" },
|
|
||||||
-- Only used if available
|
|
||||||
condition = utils.is_executable_condition("shfmt"),
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
Loading…
Reference in a new issue