aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitsuo Heijo <mitsuo.heijo@gmail.com>2019-12-18 00:23:54 +0900
committerMitsuo Heijo <mitsuo.heijo@gmail.com>2019-12-18 00:23:54 +0900
commit449c318e119d7b890922c14bec93aa752d5016fd (patch)
tree5852a981d6aba9e2ccd4eaa65a192686b16e5cec
parent37a8e4c6820e63781bde2e75662d750f014c65b7 (diff)
downloadvim-lsp-settings-449c318e119d7b890922c14bec93aa752d5016fd.tar.gz
vim-lsp-settings-449c318e119d7b890922c14bec93aa752d5016fd.tar.bz2
vim-lsp-settings-449c318e119d7b890922c14bec93aa752d5016fd.zip
Add some language servers and fix pyls installer.
Added servers - terraform-lsp - dockerfile-language-server-nodejs - bash-language-server Fix pyls installer Using venv (drop python2 support)
-rwxr-xr-xinstaller/install-bash-language-server.sh15
-rwxr-xr-xinstaller/install-docker-langserver.sh15
-rwxr-xr-xinstaller/install-pyls.sh13
-rwxr-xr-xinstaller/install-terraform-lsp.sh23
-rw-r--r--settings.json24
-rw-r--r--settings/bash-language-server.vim11
-rw-r--r--settings/docker-langserver.vim11
-rw-r--r--settings/terraform-lsp.vim11
8 files changed, 122 insertions, 1 deletions
diff --git a/installer/install-bash-language-server.sh b/installer/install-bash-language-server.sh
new file mode 100755
index 0000000..44f6efd
--- /dev/null
+++ b/installer/install-bash-language-server.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+set -e
+
+server_dir="../servers/bash-language-server"
+
+cd $(dirname $0)
+[ -d $server_dir ] && rm -rf $server_dir
+mkdir $server_dir && cd $server_dir
+
+npm init -y
+sed -i -e 's/\"name\":.*$/\"name\": \"\",/' package.json
+npm install bash-language-server
+
+ln -s ./node_modules/.bin/bash-language-server .
diff --git a/installer/install-docker-langserver.sh b/installer/install-docker-langserver.sh
new file mode 100755
index 0000000..59e0b7e
--- /dev/null
+++ b/installer/install-docker-langserver.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+set -e
+
+server_dir="../servers/docker-langserver"
+
+cd $(dirname $0)
+[ -d $server_dir ] && rm -rf $server_dir
+mkdir $server_dir && cd $server_dir
+
+npm init -y
+sed -i -e 's/\"name\":.*$/\"name\": \"\",/' package.json
+npm install dockerfile-language-server-nodejs
+
+ln -s ./node_modules/.bin/docker-langserver .
diff --git a/installer/install-pyls.sh b/installer/install-pyls.sh
new file mode 100755
index 0000000..4b280fd
--- /dev/null
+++ b/installer/install-pyls.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -e
+
+server_dir="../servers/pyls"
+
+cd $(dirname $0)
+[ -d $server_dir ] && rm -rf $server_dir
+mkdir $server_dir && cd $server_dir
+
+python3 -m venv ./venv
+./venv/bin/pip3 install python-language-server
+ln -s ./venv/bin/pyls .
diff --git a/installer/install-terraform-lsp.sh b/installer/install-terraform-lsp.sh
new file mode 100755
index 0000000..8d248ce
--- /dev/null
+++ b/installer/install-terraform-lsp.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+os=$(uname -s | tr "[:upper:]" "[:lower:]")
+version="0.0.9"
+server_dir="../servers/terraform-lsp"
+
+cd $(dirname $0)
+[ -d $server_dir ] && rm -rf $server_dir
+mkdir $server_dir && cd $server_dir
+
+case $os in
+darwin | linux)
+ url="https://github.com/juliosueiras/terraform-lsp/releases/download/v${version}/terraform-lsp_${version}_${os}_amd64.tar.gz"
+ curl -L "$url" | tar zx
+ ;;
+*)
+ printf "%s doesn't supported" "$os"
+ exit 1
+ ;;
+
+esac
diff --git a/settings.json b/settings.json
index 2083172..623e122 100644
--- a/settings.json
+++ b/settings.json
@@ -43,7 +43,7 @@
{
"command": "pyls",
"requires": [
- "pip"
+ "python3"
]
}
],
@@ -134,5 +134,27 @@
"npm"
]
}
+ ],
+ "terraform": [
+ {
+ "command": "terraform-lsp",
+ "requires": []
+ }
+ ],
+ "dockerfile": [
+ {
+ "command": "docker-langserver",
+ "requires": [
+ "npm"
+ ]
+ }
+ ],
+ "sh": [
+ {
+ "command": "bash-language-server",
+ "requires": [
+ "npm"
+ ]
+ }
]
}
diff --git a/settings/bash-language-server.vim b/settings/bash-language-server.vim
new file mode 100644
index 0000000..198a898
--- /dev/null
+++ b/settings/bash-language-server.vim
@@ -0,0 +1,11 @@
+augroup vimlsp_settings_bash_language_server
+ au!
+ autocmd User lsp_setup call lsp#register_server({
+ \ 'name': 'bash-language-server',
+ \ 'cmd': {server_info->lsp_settings#get('bash-language-server', 'cmd', [lsp_settings#exec_path('bash-language-server'), 'start'])},
+ \ 'whitelist': lsp_settings#get('bash-language-server', 'whitelist', ['sh']),
+ \ 'blacklist': lsp_settings#get('bash-language-server', 'blacklist', []),
+ \ 'config': lsp_settings#get('bash-language-server', 'config', {}),
+ \ 'workspace_config': lsp_settings#get('bash-language-server', 'workspace_config', {}),
+ \ })
+augroup END
diff --git a/settings/docker-langserver.vim b/settings/docker-langserver.vim
new file mode 100644
index 0000000..abc7786
--- /dev/null
+++ b/settings/docker-langserver.vim
@@ -0,0 +1,11 @@
+augroup vimlsp_settings_dockerfile_language_server_nodejs
+ au!
+ autocmd User lsp_setup call lsp#register_server({
+ \ 'name': 'dockerfile-language-server-nodejs',
+ \ 'cmd': {server_info->lsp_settings#get('docker-langserver', 'cmd', [lsp_settings#exec_path('docker-langserver'), '--stdio'])},
+ \ 'whitelist': lsp_settings#get('docker-langserver', 'whitelist', ['dockerfile']),
+ \ 'blacklist': lsp_settings#get('docker-langserver', 'blacklist', []),
+ \ 'config': lsp_settings#get('docker-langserver', 'config', {}),
+ \ 'workspace_config': lsp_settings#get('docker-langserver', 'workspace_config', {}),
+ \ })
+augroup END
diff --git a/settings/terraform-lsp.vim b/settings/terraform-lsp.vim
new file mode 100644
index 0000000..ce39461
--- /dev/null
+++ b/settings/terraform-lsp.vim
@@ -0,0 +1,11 @@
+augroup vimlsp_settings_terraform_lsp
+ au!
+ autocmd User lsp_setup call lsp#register_server({
+ \ 'name': 'terraform-lsp',
+ \ 'cmd': {server_info->lsp_settings#get('terraform-lsp', 'cmd', [lsp_settings#exec_path('terraform-lsp')])},
+ \ 'whitelist': lsp_settings#get('terraform-lsp', 'whitelist', ['terraform']),
+ \ 'blacklist': lsp_settings#get('terraform-lsp', 'blacklist', []),
+ \ 'config': lsp_settings#get('terraform-lsp', 'config', {}),
+ \ 'workspace_config': lsp_settings#get('terraform-lsp', 'workspace_config', {}),
+ \ })
+augroup END