|  | @@ -5,30 +5,41 @@ local M = {}
 | 
	
		
			
				|  |  |  M.setup = function()
 | 
	
		
			
				|  |  |    local tsserver_args = {}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  local prettier = {
 | 
	
		
			
				|  |  | -    formatCommand = "prettier --stdin-filepath ${INPUT}",
 | 
	
		
			
				|  |  | -    formatStdin = true,
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  if vim.fn.glob "node_modules/.bin/prettier" ~= "" then
 | 
	
		
			
				|  |  | -    prettier = {
 | 
	
		
			
				|  |  | -      formatCommand = "./node_modules/.bin/prettier --stdin-filepath ${INPUT}",
 | 
	
		
			
				|  |  | +  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 = { "html", "css", "yaml", "vue", "javascript", "javascriptreact", "typescript", "typescriptreact" },
 | 
	
		
			
				|  |  | +    filetypes = {
 | 
	
		
			
				|  |  | +      "vue",
 | 
	
		
			
				|  |  | +      "javascript",
 | 
	
		
			
				|  |  | +      "javascriptreact",
 | 
	
		
			
				|  |  | +      "typescript",
 | 
	
		
			
				|  |  | +      "typescriptreact",
 | 
	
		
			
				|  |  | +      "javascript.jsx",
 | 
	
		
			
				|  |  | +      "typescript.tsx",
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      settings = {
 | 
	
		
			
				|  |  |        rootMarkers = { ".git/", "package.json" },
 | 
	
		
			
				|  |  |        languages = {
 | 
	
		
			
				|  |  | -        html = { prettier },
 | 
	
		
			
				|  |  | -        css = { prettier },
 | 
	
		
			
				|  |  | -        json = { prettier },
 | 
	
		
			
				|  |  | -        yaml = { prettier },
 | 
	
		
			
				|  |  | +        vue = tsserver_args,
 | 
	
		
			
				|  |  | +        javascript = tsserver_args,
 | 
	
		
			
				|  |  | +        javascriptreact = tsserver_args,
 | 
	
		
			
				|  |  | +        ["javascript.jsx"] = tsserver_args,
 | 
	
		
			
				|  |  | +        typescript = tsserver_args,
 | 
	
		
			
				|  |  | +        ["typescript.tsx"] = tsserver_args,
 | 
	
		
			
				|  |  | +        typescriptreact = tsserver_args,
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |    }
 |