summaryrefslogtreecommitdiff
path: root/lua/lsp/efm-general-ls.lua
diff options
context:
space:
mode:
authorChris <[email protected]>2021-03-18 23:47:03 -0400
committerChris <[email protected]>2021-03-18 23:47:03 -0400
commit7eea23bb6c2449675a11f762838a8656d5de0f62 (patch)
tree0050dbc21797aa592cd93d306cbc644a04a8ed2a /lua/lsp/efm-general-ls.lua
parentb3f2348d97bdc85304e65f3f6cb8e272f4b674fb (diff)
prettier and eslint configured
Diffstat (limited to 'lua/lsp/efm-general-ls.lua')
-rw-r--r--lua/lsp/efm-general-ls.lua78
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},
--- }
--- }
--- })