How to properly install scala metals lsp in spacemacs - scala

The title says it all, I want to install scala metals LSP in spacemacs, I did try the official metals/spacemacs tutorials without success:
https://scalameta.org/metals/docs/editors/emacs.html
https://develop.spacemacs.org/layers/+lang/scala/README.html
Did anyone manage to get scala-metals to work in spacemacs?

Related

Autocomplete in Neovim for Scala

I am using Neovim v0.7.2 and I am looking for a way to have autocomplete for my Neovim. Since it's suggested that we should use Metals for Scala in Neovim. After installing it, I could use its features but it seems does not support autocomplete as Intellij IDEA does. Any suggestions/recommendations for me or do I miss any part when configuring Metals with Neovim? Thank you!
SOLVED: I found the problem and post the answer below. In short, follow the example in https://github.com/scalameta/nvim-metals/discussions/39
I miss the installation of nvim-cmp. The example in https://github.com/scalameta/nvim-metals/discussions/39 works perfectly.

Spacemacs Deletes Packages After Installation. How do i midigate this

I am using spacemacs and I am attempting to install packages with M-x "package install $package-name". The particular package I am trying to install is SLY, A newer implementation of The SLIME REPL for Common Lisp. When I Install the package when I start up spacemacs it works fine. However when exiting spacemacs it somehow gets deleted. After googling this issue I found this page https://develop.spacemacs.org/doc/FAQ.html. I followed the instructions and changed my .spacemacs config. I added the line dotspacemacs-install-packages 'used-but-keep-unused. What am I doing wrong.
You should add your personal packages to dotspacemacs-additional-packages

arch linux emacs minibuffer autocompletion

I recently installed Arch, and the version of emacs that it has comes with an aggressive auto-completion feature that doesn't let me create a new file. It is also very annoying. How do I get rid of it?
I have Archlinux too, but it didn't come with emacs. I think that you have installed this module: http://www.emacswiki.org/emacs/AutoComplete
Check it, and if this is the case, uninstall the addition.

Scala with VScode

I started to use vscode for python development. And I really like it, does anyone know how to extend VScode so I can write scala in it as well ?
At the bare minimum I need to get syntax highlighting working.
Scala works well in VS Code 2019.
There's official syntax highlighting, and a Language Server called Metals (which replaces Ensime which is mentioned in other answers).
There is one here:
https://github.com/IliyaTryapitsin/vscode-scala
You can add it by reading the readme there which is:
Run VSCode
code --enableExtensionGallery
Press F1 then input:
for scala installation
ext install scala
for sbt installation
ext install sbt
for snippets installation
ext install scalasnippets
If your NOT using Intellij or Eclipse and want to stick to VSCode, then I highly recommend Ensime & Ensime plugin below:
https://marketplace.visualstudio.com/items?itemName=dragos.scala-lsp
Also check out, www.ensime.org
It's a bit more involved to setup ensime env but still worth it.
Discussion of two is below here:
https://www.reddit.com/r/scala/comments/5eu9if/intellij_vs_ensime/
However, Intellij has improved a lot. So, the beauty contest is a matter of judgement call.
I have been switch back & forth between many variations (Emacs, Intellij, neovim, VSCode). It's a complicated language. So, I need all the help I can get!
If you dig into the applications path it looks to me to be extensible in .js, take a look at the javascript and typescript folders for example(though I haven't tried it yet)
Visual Studio Code does not have a language extensible story yet, but it could be coming soon.
https://code.visualstudio.com/Docs/languages#_common-questions
scala has official vs code scala extension

Emacs - let-alist unavailable

When I tried to install flycheck package on emacs24, it show error that let-alist1.0.1 unavailable. But I heard that let-alist is built-in package of emacs25, I wonder is there any work-around for emacs24?
let-alist is available from ELPA. Use
M-x list-packages
to pull up a list of available packages, then search for let-atlist (C-M-s as usual). Then install it. See also here.
Alternatively, you can download it from here and install it manually. ELPA is easier, though.