mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-21 11:05:08 +02:00
62 lines
1.3 KiB
Lua
62 lines
1.3 KiB
Lua
local M = {}
|
|
|
|
M.config = function()
|
|
O.lang.sh = {
|
|
-- @usage can be 'shellcheck'
|
|
linter = "",
|
|
-- @usage can be 'shfmt'
|
|
diagnostics = {
|
|
virtual_text = { spacing = 0, prefix = "" },
|
|
signs = true,
|
|
underline = true,
|
|
},
|
|
formatter = {
|
|
exe = "shfmt",
|
|
args = { "-w" },
|
|
stdin = false,
|
|
},
|
|
linters = { "shellcheck" },
|
|
}
|
|
end
|
|
|
|
M.format = function()
|
|
O.formatters.filetype["sh"] = {
|
|
function()
|
|
return {
|
|
exe = O.lang.sh.formatter.exe,
|
|
args = O.lang.sh.formatter.args,
|
|
stdin = O.lang.sh.formatter.stdin,
|
|
tempfile_prefix = ".formatter",
|
|
}
|
|
end,
|
|
}
|
|
|
|
require("formatter.config").set_defaults {
|
|
logging = false,
|
|
filetype = O.formatters.filetype,
|
|
}
|
|
end
|
|
|
|
M.lint = function()
|
|
require("lint").linters_by_ft = {
|
|
sh = O.lang.sh.linters,
|
|
}
|
|
end
|
|
|
|
M.lsp = function()
|
|
if not require("lv-utils").check_lsp_client_active "bashls" then
|
|
-- npm i -g bash-language-server
|
|
require("lspconfig").bashls.setup {
|
|
cmd = { DATA_PATH .. "/lspinstall/bash/node_modules/.bin/bash-language-server", "start" },
|
|
on_attach = require("lsp").common_on_attach,
|
|
filetypes = { "sh", "zsh" },
|
|
}
|
|
end
|
|
end
|
|
|
|
M.dap = function()
|
|
-- TODO: implement dap
|
|
return "No DAP configured!"
|
|
end
|
|
|
|
return M
|