From 7acb14c3bc9ae10181ef03e86f704ff4e5a06051 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sat, 28 Dec 2019 23:48:14 +0900 Subject: Add elixir-ls --- installer/install-elixir-ls.cmd | 22 ++++++++++++++++++++++ installer/install-elixir-ls.sh | 24 ++++++++++++++++++++++++ settings.json | 8 ++++++++ settings/elixir-ls.vim | 14 ++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 installer/install-elixir-ls.cmd create mode 100644 installer/install-elixir-ls.sh create mode 100644 settings/elixir-ls.vim diff --git a/installer/install-elixir-ls.cmd b/installer/install-elixir-ls.cmd new file mode 100644 index 0000000..a92a9cf --- /dev/null +++ b/installer/install-elixir-ls.cmd @@ -0,0 +1,22 @@ +@echo off + +setlocal + +cd /d %~dp0 + +set installer_dir=%cd% +set server_dir=..\servers\elixir-ls +if exist %server_dir% rd /Q /S "%server_dir%" +md "%server_dir%" +cd /d "%server_dir%" + +curl -L -o elixir-ls.zip "https://github.com/JakeBecker/elixir-ls/releases/download/v0.2.25/elixir-ls.zip" +call %installer_dir%\run_unzip elixir-ls.zip +del elixir-ls.zip + +echo @echo off ^ + +call language_server.bat ^ + +> elixir-ls.cmd + diff --git a/installer/install-elixir-ls.sh b/installer/install-elixir-ls.sh new file mode 100644 index 0000000..b1497b6 --- /dev/null +++ b/installer/install-elixir-ls.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -e + +cd $(dirname $0) + +server_dir="../servers/elixir-ls" +[ -d $server_dir ] && rm -rf $server_dir +mkdir $server_dir && cd $server_dir + +version="v0.2.25" +url="https://github.com/JakeBecker/elixir-ls/releases/download/$version/elixir-ls.zip" +curl -LO "$url" +unzip elixir-ls.zip +rm elixir-ls.zip + +cat < elixir-ls +#!/bin/sh + +DIR=\$(cd \$(dirname \$0); pwd) +\$DIR/language_server.sh \$* +EOF + +chmod +x elixir-ls diff --git a/settings.json b/settings.json index 6ccdd8b..1c01e72 100644 --- a/settings.json +++ b/settings.json @@ -57,6 +57,14 @@ ] } ], + "elixir": [ + { + "command": "elixir-ls", + "requires": [ + "elixir" + ] + } + ], "elm": [ { "command": "elm-language-server", diff --git a/settings/elixir-ls.vim b/settings/elixir-ls.vim new file mode 100644 index 0000000..6695e0c --- /dev/null +++ b/settings/elixir-ls.vim @@ -0,0 +1,14 @@ +augroup vimlsp_settings_elixir_ls + au! + LspRegisterServer { + \ 'name': 'elixir-ls', + \ 'cmd': {server_info->lsp_settings#get('elixir-ls', 'cmd', [lsp_settings#exec_path('elixir-ls')])}, + \ 'root_uri':{server_info->lsp_settings#get('elixir-ls', 'root_uri', lsp_settings#root_uri(['.git/']))}, + \ 'initialization_options': lsp_settings#get('elixir-ls', 'initialization_options', v:null), + \ 'whitelist': lsp_settings#get('elixir-ls', 'whitelist', ['elixir']), + \ 'blacklist': lsp_settings#get('elixir-ls', 'blacklist', []), + \ 'config': lsp_settings#get('elixir-ls', 'config', {}), + \ 'workspace_config': lsp_settings#get('elixir-ls', 'workspace_config', {}), + \ } +augroup END + -- cgit v1.2.3-54-g00ecf