fun2src
Neovim: nvim-lsp + elixir
Hi all,
Anyone using nvim-lsp + Neovim 0.5.0?
How did you configure it for Elixir?
https://neovim.io/doc/user/lsp.html
The following LSP configs are included:
als
bashls
…
rust-analyzer …
Elixir??
https://github.com/neovim/nvim-lsp → Configurations
Issue(closed): Elixir Language Server · Issue #58 · neovim/nvim-lspconfig · GitHub
Marked As Solved
mortepau
Hey!
I just wanted to mention that nvim-lsp just merged an elixir-ls configuration into master.
So if anybody come here wondering about how to do that, it should be available now. 
Also Liked
tomkonidas
Yes, I use native LSP with elixir-ls
I have this in my lspconfig for elixir.
-- Elixir
require'lspconfig'.elixirls.setup{
cmd = { vim.loop.os_homedir().."/path/to/elixir-ls/language_server.sh" };
}
I also have these setup:
" LSP
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>
nnoremap <silent> [g <cmd>lua vim.lsp.diagnostic.goto_prev()<CR>
nnoremap <silent> ]g <cmd>lua vim.lsp.diagnostic.goto_next()<CR>
command! -nargs=0 Format :lua vim.lsp.buf.formatting()
I am using completion-nvim for my popup menu but have also been playing around with compe
" Use <Tab> and <S-Tab> to navigate through popup menu
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
" Manually trigger completion
imap <silent> <C-Space> <Plug>(completion_trigger)
" Set completeopt to have a better completion experience
set completeopt=menuone,noinsert,noselect
" Avoid showing message extra message when using completion
set shortmess+=c
let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy']
adw632
I love the LazyVim setup vs anything else I’ve used and the keymaps are documented and easy to discover with which-key provided out of the box.
I use the nightly build of nvim because it’s proven to be more stable in practice, where with O/S provided nvim package and even stable I would still get nvim crashes.
I didn’t like the LazyVim default use of the ‘s’ keymap for search as I have too many decades of using s to delete the character under the cursor and enter insert mode.
But its is trivial to configure due to clean approach and documentation.
lucaong
mhanberg
I have tried it.
I am not sure if NeoVim has implemented enough of the protocol yet. I wasn’t able to get GoToDefinition or FindReferences to work.
Completions with omnifunc seemed to work, but I didn’t try to get it set up with an actual completions plugin (to have it show completions as I type).
Hover documentation was nice, and is presented with a neovim floating window.
Neovim fam! 






