mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-21 11:05:08 +02:00
74 lines
1.8 KiB
Lua
74 lines
1.8 KiB
Lua
|
local M = {}
|
||
|
|
||
|
M.config = function()
|
||
|
-- TODO: implement config for language
|
||
|
return "No config available!"
|
||
|
end
|
||
|
|
||
|
M.format = function()
|
||
|
O.formatters.filetype["sh"] = {
|
||
|
function()
|
||
|
return {
|
||
|
exe = O.lang.sh.formatter.exe,
|
||
|
args = O.lang.sh.formatter.args,
|
||
|
stdin = not (O.lang.sh.formatter.stdin ~= nil),
|
||
|
}
|
||
|
end,
|
||
|
}
|
||
|
|
||
|
require("formatter.config").set_defaults {
|
||
|
logging = false,
|
||
|
filetype = O.formatters.filetype,
|
||
|
}
|
||
|
end
|
||
|
|
||
|
M.lint = function()
|
||
|
-- sh
|
||
|
local sh_arguments = {}
|
||
|
|
||
|
local shfmt = { formatCommand = "shfmt -ci -s -bn", formatStdin = true }
|
||
|
|
||
|
local shellcheck = {
|
||
|
LintCommand = "shellcheck -f gcc -x",
|
||
|
lintFormats = { "%f:%l:%c: %trror: %m", "%f:%l:%c: %tarning: %m", "%f:%l:%c: %tote: %m" },
|
||
|
}
|
||
|
|
||
|
if O.lang.sh.linter == "shellcheck" then
|
||
|
table.insert(sh_arguments, shellcheck)
|
||
|
end
|
||
|
|
||
|
if not require("lv-utils").check_lsp_client_active "efm" then
|
||
|
require("lspconfig").efm.setup {
|
||
|
-- init_options = {initializationOptions},
|
||
|
cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" },
|
||
|
init_options = { documentFormatting = true, codeAction = false },
|
||
|
root_dir = require("lspconfig").util.root_pattern ".git/",
|
||
|
filetypes = { "sh" },
|
||
|
settings = {
|
||
|
rootMarkers = { ".git/" },
|
||
|
languages = {
|
||
|
sh = sh_arguments,
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
end
|
||
|
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
|