| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | -- Example configuations here: https://github.com/mattn/efm-langserver-- You can look for project scope Prettier and Eslint with e.g. vim.fn.glob("node_modules/.bin/prettier") etc. If it is not found revert to global Prettier where needed.local M = {}M.setup = function()  local tsserver_args = {}  if O.lang.tsserver.linter == "eslint" or O.lang.tsserver.linter == "eslint_d" then    local eslint = {      lintCommand = O.lang.tsserver.linter .. " -f unix --stdin --stdin-filename   {INPUT}",      lintStdin = true,      lintFormats = { "%f:%l:%c: %m" },      lintIgnoreExitCode = true,      formatCommand = O.lang.tsserver.linter .. " --fix-to-stdout --stdin  --stdin-filename=${INPUT}",      formatStdin = true,    }    table.insert(tsserver_args, eslint)  end  require("lspconfig").efm.setup {    -- init_options = {initializationOptions},    cmd = { DATA_PATH .. "/lspinstall/efm/efm-langserver" },    init_options = { documentFormatting = true, codeAction = false },    filetypes = {      "vue",      "javascript",      "javascriptreact",      "typescript",      "typescriptreact",      "javascript.jsx",      "typescript.tsx",    },    settings = {      rootMarkers = { ".git/", "package.json" },      languages = {        vue = tsserver_args,        javascript = tsserver_args,        javascriptreact = tsserver_args,        ["javascript.jsx"] = tsserver_args,        typescript = tsserver_args,        ["typescript.tsx"] = tsserver_args,        typescriptreact = tsserver_args,      },    },  }endreturn M
 |