Metals: LanguageClient-neovim integration

Created on 11 Dec 2017  ยท  5Comments  ยท  Source: scalameta/metals

Hi! I'm trying to use autozimu/LanguageClient-neovim with metaserver, but can't find a way to start my client-metaserver... Is there some command for language server?
For example:
let g:LanguageClient_serverCommands = { \ 'rust': ['rustup', 'run', 'nightly', 'rls'], \ 'javascript': ['javascript-typescript-stdio'], \ }

Most helpful comment

Here's how the vscode client currently starts the server https://github.com/scalameta/language-server/blob/87452e193986b784d7e0bad1fc2387997fa42e92/vscode-extension/src/extension.ts#L35-L55 First you'll have to publishLocal from source following instructions in https://github.com/scalameta/language-server/blob/master/BETA.md

I'm not aware of anyone trying out the server on vim, I'm curious to know how it goes!

All 5 comments

Here's how the vscode client currently starts the server https://github.com/scalameta/language-server/blob/87452e193986b784d7e0bad1fc2387997fa42e92/vscode-extension/src/extension.ts#L35-L55 First you'll have to publishLocal from source following instructions in https://github.com/scalameta/language-server/blob/master/BETA.md

I'm not aware of anyone trying out the server on vim, I'm curious to know how it goes!

everything ok, but:

Exception in thread "main" java.lang.NoClassDefFoundError: com/typesafe/scalalogging/Logger
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at coursier.cli.qR.a(Unknown Source)
    at coursier.cli.qQ.j(Unknown Source)
    at coursier.cli.qW.a(Unknown Source)
    at e.h.a.c(Unknown Source)
    at b.b.c_(Unknown Source)
    at e.b.d.E.g(Unknown Source)
    at e.b.e.aW.g(Unknown Source)
    at e.b.f.b.aa.a(Unknown Source)
    at coursier.cli.qQ.b(Unknown Source)
    at coursier.cli.Q.b(Unknown Source)
    at b.J.c_(Unknown Source)
    at e.F.h(Unknown Source)
    at b.F.a(Unknown Source)
    at coursier.cli.Coursier.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at coursier.Bootstrap.main(Bootstrap.java:428)
Caused by: java.lang.ClassNotFoundException: com.typesafe.scalalogging.Logger
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 24 more

Read https://github.com/typesafehub/scala-logging/issues/69
and try

./coursier resolve -t org.scalameta:metaserver_2.12:0.1-SNAPSHOT | grep slf4j
  Result:
   โ”‚  โ”‚  โ””โ”€ org.slf4j:slf4j-api:1.7.25
   โ”‚  โ”‚  โ””โ”€ org.slf4j:slf4j-api:1.7.2 -> 1.7.25
      โ”‚  โ”‚  โ””โ”€ org.slf4j:slf4j-api:1.7.25
      โ”‚  โ”‚  โ””โ”€ org.slf4j:slf4j-api:1.7.2 -> 1.7.25

and here like everything is all right.

I forgot we publish to bintray on merge https://bintray.com/scalameta/maven/metaserver so the publishLocal step is not necessary

$ coursier bootstrap org.scalameta:metaserver_2.12:87452e19 -r bintray:scalameta/maven -r bintray:dhpcs/maven -J -Dvscode.workspace=$(pwd) -M scala.meta.languageserver.Main -o scalameta_lsp -f --standalone
$ ./scalameta_lsp

Note the workspace path is a system property, I opened #112 to make that easier to configure.

Thanks. It works! Some features from roadmap not working, but this is another problem, may be with LanguageClient-neovim.

Sweet! It's still an evolving project so expect things to break and change regularly for at least until the first milestone is out https://github.com/scalameta/language-server/milestone/1 Early feedback is very welcome ๐Ÿ‘

Was this page helpful?
0 / 5 - 0 ratings

Related issues

FereX98 picture FereX98  ยท  4Comments

romanowski picture romanowski  ยท  4Comments

tanishiking picture tanishiking  ยท  4Comments

ckipp01 picture ckipp01  ยท  3Comments

sideeffffect picture sideeffffect  ยท  4Comments