summaryrefslogtreecommitdiff
path: root/lua/lsp/efm-general-ls.lua
blob: 53327415bfcf72e68c0332a795c137662b753130 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
-- Example configuations here: https://github.com/mattn/efm-langserver
require"lspconfig".efm.setup {
    init_options = {documentFormatting = true},
    filetypes = {"lua", "python"},
    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
                }
            }
        }
    }
}

-- TODO turn these eslint and prettier examples into something good
-- 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},
--       }
--     }
-- })