From 20ed47e21e966a5b857ef9970ae6171b3a504ce1 Mon Sep 17 00:00:00 2001 From: christianchiarulli Date: Thu, 1 Jul 2021 23:42:26 -0400 Subject: lsp in ftplugin austonautomoy --- ftplugin/zsh.lua | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ftplugin/zsh.lua (limited to 'ftplugin/zsh.lua') diff --git a/ftplugin/zsh.lua b/ftplugin/zsh.lua new file mode 100644 index 00000000..7e99ebd3 --- /dev/null +++ b/ftplugin/zsh.lua @@ -0,0 +1,40 @@ +-- 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" } +} + +-- 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" } +} + +-- 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.formatter == 'shfmt' then table.insert(sh_arguments, shfmt) end + +if O.lang.sh.linter == 'shellcheck' then table.insert(sh_arguments, shellcheck) end + +require"lspconfig".efm.setup { + -- init_options = {initializationOptions}, + cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"}, + init_options = {documentFormatting = true, codeAction = false}, + filetypes = {"zsh"}, + settings = { + rootMarkers = {".git/"}, + languages = { + sh = sh_arguments, + } + } +} -- cgit v1.2.3