diff --git a/Dockerfile b/Dockerfile index edf2bcc..106de39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -131,8 +131,6 @@ ENV XDG_DATA_HOME ${HOME}/.local/share ENV XDG_CACHE_HOME ${HOME}/.cache ENV STARSHIP_CONFIG ${XDG_CONFIG_HOME}/starship/config.toml ENV PATH ${LOCAL_BIN_HOME}:$PATH -# NOTE (jpd): to install elixirls we have to set the shell to something known -ENV SHELL /usr/bin/bash # command line utilities RUN curl https://rtx.pub/install.sh | sh \ @@ -194,13 +192,17 @@ RUN mkdir -p ${HOME}/.local/src \ # && make test \ && make install -# fetch elixir-ls compatible with elixir 1.11.x +# fetch elixir-ls compatible with elixir 1.11.x and 1.12.x # to setup this project run the following commands: # mix do local.rebar --force, local.hex --force # mix do deps.get, deps.compile # MIX_ENV=prod mix compile # MIX_ENV=prod mix elixir_ls.release -RUN git clone https://github.com/elixir-lsp/elixir-ls.git ${LOCAL_SRC_HOME}/elixir-ls \ - && cd ${LOCAL_SRC_HOME}/elixir-ls \ +RUN git clone https://github.com/elixir-lsp/elixir-ls.git ${LOCAL_SRC_HOME}/elixir-ls/v0.12.0 \ + && cd ${LOCAL_SRC_HOME}/elixir-ls/v0.12.0 \ && git checkout tags/v0.12.0 \ + && cp .release-tool-versions .tool-versions \ + && git clone https://github.com/elixir-lsp/elixir-ls.git ${LOCAL_SRC_HOME}/elixir-ls/v0.14.6 \ + && cd ${LOCAL_SRC_HOME}/elixir-ls/v0.14.6 \ + && git checkout tags/v0.14.6 \ && cp .release-tool-versions .tool-versions diff --git a/patch/kickstart.nvim/updates.patch b/patch/kickstart.nvim/updates.patch index 2831eda..9d6a373 100644 --- a/patch/kickstart.nvim/updates.patch +++ b/patch/kickstart.nvim/updates.patch @@ -1,5 +1,5 @@ diff --git a/init.lua b/init.lua -index 3a98da0..e8e41b4 100644 +index 3a98da0..e8c5b7d 100644 --- a/init.lua +++ b/init.lua @@ -229,7 +229,7 @@ require('lazy').setup({ @@ -111,7 +111,7 @@ index 3a98da0..e8e41b4 100644 } -- Setup neovim lua configuration -@@ -542,12 +578,20 @@ mason_lspconfig.setup { +@@ -542,12 +578,23 @@ mason_lspconfig.setup { mason_lspconfig.setup_handlers { function(server_name) @@ -124,9 +124,12 @@ index 3a98da0..e8e41b4 100644 } + if server_name == 'elixirls' then + local version = vim.fn.system('rtx current elixir') or '' -+ local match_version = string.match(version, '^1.11') -+ if match_version ~= nil then -+ opts = vim.tbl_extend('keep', opts, { cmd = { vim.fn.expand('$LOCAL_SRC_HOME') .. '/elixir-ls/release/language_server.sh' } }) ++ local match_version_111 = string.match(version, '^1.11') ++ local match_version_112 = string.match(version, '^1.12') ++ if match_version_111 ~= nil then ++ opts = vim.tbl_extend('keep', opts, { cmd = { vim.fn.expand('$LOCAL_SRC_HOME') .. '/elixir-ls/v0.12.0/release/language_server.sh' } }) ++ elseif match_version_112 ~= nil then ++ opts = vim.tbl_extend('keep', opts, { cmd = { vim.fn.expand('$LOCAL_SRC_HOME') .. '/elixir-ls/v0.14.6/release/language_server.sh' } }) + end + end + require('lspconfig')[server_name].setup(opts)