aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2020-02-18 22:54:16 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2020-02-18 22:54:16 +0900
commiteb856bd1c52cc19fd9ed7f922cf6f7f0f93f5e1c (patch)
tree55429b91eeab35b82d55942380c154895ffba8b2
parent40fa3b6cbb9c20786cba8b998e03326724ad8253 (diff)
downloadvim-lsp-settings-eb856bd1c52cc19fd9ed7f922cf6f7f0f93f5e1c.tar.gz
vim-lsp-settings-eb856bd1c52cc19fd9ed7f922cf6f7f0f93f5e1c.tar.bz2
vim-lsp-settings-eb856bd1c52cc19fd9ed7f922cf6f7f0f93f5e1c.zip
Add eslint-language-server
-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