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)
This commit is contained in:
Mitsuo Heijo
2019-12-18 00:23:54 +09:00
parent 37a8e4c682
commit 449c318e11
8 changed files with 122 additions and 1 deletions

View File

@@ -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 .

View File

@@ -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 .

13
installer/install-pyls.sh Executable file
View File

@@ -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 .

View File

@@ -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

View File

@@ -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"
]
}
]
}

View File

@@ -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

View File

@@ -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

View File

@@ -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