aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--installer/install-eslint-language-server.cmd13
-rwxr-xr-xinstaller/install-eslint-language-server.sh15
-rw-r--r--settings/eslint-language-server.vim32
3 files changed, 60 insertions, 0 deletions
diff --git a/installer/install-eslint-language-server.cmd b/installer/install-eslint-language-server.cmd
new file mode 100644
index 0000000..846638d
--- /dev/null
+++ b/installer/install-eslint-language-server.cmd
@@ -0,0 +1,13 @@
+@echo off
+
+git clone "https://github.com/microsoft/vscode-eslint" .
+git checkout release/1.9.1
+call npm install
+call npm run compile:server
+
+echo @echo off ^
+
+node %%~dp0\server\out\eslintServer.js --stdio %%* ^
+
+> eslint-language-server.cmd
+
diff --git a/installer/install-eslint-language-server.sh b/installer/install-eslint-language-server.sh
new file mode 100755
index 0000000..05beeb3
--- /dev/null
+++ b/installer/install-eslint-language-server.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+git clone "https://github.com/microsoft/vscode-eslint" .
+git checkout release/1.9.1
+npm install
+npm run compile:server
+
+cat <<EOF >eslint-language-server
+#!/usr/bin/env bash
+
+DIR=\$(cd \$(dirname \$0); pwd)
+node \$DIR/server/out/eslintServer.js --stdio \$*
+EOF
+
+chmod +x eslint-language-server
diff --git a/settings/eslint-language-server.vim b/settings/eslint-language-server.vim
new file mode 100644
index 0000000..eed9082
--- /dev/null
+++ b/settings/eslint-language-server.vim
@@ -0,0 +1,32 @@
+augroup vimlsp_settings_eslint_language_server
+ au!
+ LspRegisterServer {
+ \ 'name': 'eslint-language-server',
+ \ 'cmd': {server_info->lsp_settings#get('eslint-language-server', 'cmd', [lsp_settings#exec_path('eslint-language-server'), '--stdio'])},
+ \ 'root_uri':{server_info->lsp_settings#get('eslint-language-server', 'root_uri', lsp_settings#root_uri(['package.json', 'tsconfig.json']))},
+ \ 'initialization_options': lsp_settings#get('eslint-language-server', 'initialization_options', {'diagnostics': 'true'}),
+ \ 'whitelist': lsp_settings#get('eslint-language-server', 'whitelist', ['javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'typescript.tsx']),
+ \ 'blacklist': lsp_settings#get('eslint-language-server', 'blacklist', []),
+ \ 'config': lsp_settings#get('eslint-language-server', 'config', lsp_settings#server_config('eslint-language-server')),
+ \ 'workspace_config': {
+ \ 'validate': v:true,
+ \ 'packageManager': 'npm',
+ \ 'autoFix': v:true,
+ \ 'autoFixOnSave': v:true,
+ \ 'options': {},
+ \ 'run': 'onType',
+ \ 'nodePath': v:null,
+ \ 'quiet': v:false,
+ \ 'workspaceFolder': v:null,
+ \ 'codeAction': {
+ \ 'disableRuleComment': {
+ \ 'enable': v:true,
+ \ 'location': 'separateLine'
+ \ },
+ \ 'showDocumentation': {
+ \ 'enable': v:true
+ \ }
+ \ }
+ \ },
+ \ }
+augroup END