diff options
-rwxr-xr-x | installer/install-reason-language-server.sh | 29 | ||||
-rw-r--r-- | settings.json | 6 | ||||
-rw-r--r-- | settings/reason-language-server.vim | 13 |
3 files changed, 48 insertions, 0 deletions
diff --git a/installer/install-reason-language-server.sh b/installer/install-reason-language-server.sh new file mode 100755 index 0000000..78df09c --- /dev/null +++ b/installer/install-reason-language-server.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -e + +cd $(dirname $0) + +server_dir="../servers/reason-language-server" +[ -d $server_dir ] && rm -rf $server_dir +mkdir $server_dir && cd $server_dir + +os=$(uname -s | tr "[:upper:]" "[:lower:]") + +case $os in +linux) ;; +darwin) + os="macos" + ;; +*) + printf "%s doesn't supported by bash installer" "$os" + exit 1 + ;; +esac + +version="1.7.4" +url="https://github.com/jaredly/reason-language-server/releases/download/$version/rls-$os.zip" +curl -LO "$url" +unzip "rls-$os.zip" + +ln -s "./rls-$os/reason-language-server" . diff --git a/settings.json b/settings.json index 97b34ea..0265c0d 100644 --- a/settings.json +++ b/settings.json @@ -151,6 +151,12 @@ ] } ], + "reason": [ + { + "command": "reason-language-server", + "requires": [] + } + ], "ruby": [ { "command": "solargraph", diff --git a/settings/reason-language-server.vim b/settings/reason-language-server.vim new file mode 100644 index 0000000..9c4a5e1 --- /dev/null +++ b/settings/reason-language-server.vim @@ -0,0 +1,13 @@ +augroup vimlsp_settings_reason_language_server + au! + LspRegisterServer { + \ 'name': 'reason-language-server', + \ 'cmd': {server_info->lsp_settings#get('reason-language-server', 'cmd', [lsp_settings#exec_path('reason-language-server')])}, + \ 'root_uri':{server_info->lsp_settings#get('reason-language-server', 'root_uri', lsp_settings#root_uri(['.git/', 'pacakge.json']))}, + \ 'initialization_options': lsp_settings#get('reason-language-server', 'initialization_options', {}), + \ 'whitelist': lsp_settings#get('reason-language-server', 'whitelist', ['reason']), + \ 'blacklist': lsp_settings#get('reason-language-server', 'blacklist', []), + \ 'config': lsp_settings#get('reason-language-server', 'config', {}), + \ 'workspace_config': lsp_settings#get('reason-language-server', 'workspace_config', {}), + \ } +augroup END |