diff options
author | Chris <[email protected]> | 2021-03-18 23:47:03 -0400 |
---|---|---|
committer | Chris <[email protected]> | 2021-03-18 23:47:03 -0400 |
commit | 7eea23bb6c2449675a11f762838a8656d5de0f62 (patch) | |
tree | 0050dbc21797aa592cd93d306cbc644a04a8ed2a /lua/lsp/efm-general-ls.lua | |
parent | b3f2348d97bdc85304e65f3f6cb8e272f4b674fb (diff) |
prettier and eslint configured
Diffstat (limited to 'lua/lsp/efm-general-ls.lua')
-rw-r--r-- | lua/lsp/efm-general-ls.lua | 78 |
1 files changed, 32 insertions, 46 deletions
diff --git a/lua/lsp/efm-general-ls.lua b/lua/lsp/efm-general-ls.lua index 53327415..d771d898 100644 --- a/lua/lsp/efm-general-ls.lua +++ b/lua/lsp/efm-general-ls.lua @@ -1,25 +1,40 @@ -- Example configuations here: https://github.com/mattn/efm-langserver +-- python +local flake8 = { + LintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -", + lintStdin = true, + lintFormats = {"%f:%l:%c: %m"} +} +local isort = {formatCommand = "isort --quiet -", formatStdin = true} +local yapf = {formatCommand = "yapf --quiet", formatStdin = true} +-- lua +local luaFormat = { + formatCommand = "lua-format -i --no-keep-simple-function-one-line --column-limit=120", + formatStdin = true +} +-- JavaScript/React/TypeScript +local prettier = {formatCommand = "./node_modules/.bin/prettier --stdin-filepath ${INPUT}", formatStdin = true} + +local eslint = { + lintCommand = "./node_modules/.bin/eslint -f unix --stdin --stdin-filename ${INPUT}", + lintIgnoreExitCode = true, + lintStdin = true, + lintFormats = {"%f:%l:%c: %m"}, + formatCommand = "./node_modules/.bin/eslint --fix-to-stdout --stdin --stdin-filename=${INPUT}", + formatStdin = true +} + require"lspconfig".efm.setup { - init_options = {documentFormatting = true}, - filetypes = {"lua", "python"}, + -- init_options = {initializationOptions}, + init_options = {documentFormatting = true, codeAction = false}, + filetypes = {"lua", "python", "javascriptreact", "javascript"}, settings = { rootMarkers = {".git/"}, languages = { - lua = { - { - formatCommand = "lua-format -i --no-keep-simple-function-one-line --column-limit=100", - formatStdin = true - } - }, - python = { - { - LintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -", - lintStdin = true, - lintFormats = {"%f:%l:%c: %m"}, - formatCommand = "yapf --quiet", - formatStdin = true - } - } + lua = {luaFormat}, + python = {isort, yapf}, + javascriptreact = {prettier, eslint}, + javascript = {prettier, eslint} } } } @@ -28,32 +43,3 @@ require"lspconfig".efm.setup { -- TODO also shellcheck and shell formatting -- Also find way to toggle format on save -- maybe this will help: https://superuser.com/questions/439078/how-to-disable-autocmd-or-augroup-in-vim --- { --- lintCommand = "eslint_d -f unix --stdin --stdin-filename ${INPUT}", --- lintIgnoreExitCode = true, --- lintStdin = true, --- lintFormats = {"%f:%l:%c: %m"}, --- } - - --- local eslint = { --- lintCommand = './node_modules/.bin/eslint -f compact --stdin', --- lintStdin = true, --- lintFormats = {'%f: line %l, col %c, %trror - %m', '%f: line %l, col %c, %tarning - %m'}, --- lintIgnoreExitCode = true, --- formatCommand = './node_modules/.bin/prettier-eslint --stdin --single-quote --print-width 120', --- formatStdin = true, --- } --- --- nvim_lsp.efm.setup({ --- init_options = { documentFormatting = true }, --- root_dir = nvim_lsp.util.root_pattern('.git/'), --- filetypes = {'javascript', 'javascriptreact'}, --- settings = { --- rootMarkers = {'.git/'}, --- languages = { --- javascript = {eslint}, --- javascriptreact = {eslint}, --- } --- } --- }) |