mirror of
https://github.com/mattn/vim-lsp-settings.git
synced 2025-12-12 20:35:54 +01:00
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:
15
installer/install-bash-language-server.sh
Executable file
15
installer/install-bash-language-server.sh
Executable 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 .
|
||||
15
installer/install-docker-langserver.sh
Executable file
15
installer/install-docker-langserver.sh
Executable 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
13
installer/install-pyls.sh
Executable 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 .
|
||||
23
installer/install-terraform-lsp.sh
Executable file
23
installer/install-terraform-lsp.sh
Executable 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
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
11
settings/bash-language-server.vim
Normal file
11
settings/bash-language-server.vim
Normal 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
|
||||
11
settings/docker-langserver.vim
Normal file
11
settings/docker-langserver.vim
Normal 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
|
||||
11
settings/terraform-lsp.vim
Normal file
11
settings/terraform-lsp.vim
Normal 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
|
||||
Reference in New Issue
Block a user