Skip to content

[Multiplatform + Neovim + VSCode] Performance, unresolved references, errors #376

@avently

Description

@avently

Hello, thank you for the work on this server. Trying to make it work with Neovim. I'm using Intellij IDEA maaaany years and the project I testing now works in IDEA beautifully. So I suppose I need to somehow setup the server if I want to use it with Neovim.
I filling this issue with multiple problems because I think that all issues related to one thing that I'm missing. If it's not the case, tell me to create multiple small issues or to read docs:)

Prerequests:

Issues I have:

Overload resolution ambiguity

kmp

It's a main problem. The main thing for KMPP is not working properly. While Goto reference works perfectly within MY common/native/Android code. The server able to find reference to a function from different source set.

Unresolved references

Third-party libraries don't work. While all of them work in Intellj IDEA.

unresolved

Low performance

After reopening vim (closing vim and reopening it again) on the same file I worked before it takes 4-8 minutes to see first error highlighting. All this time CPU almost on max. Memory usage increases from 1G to 4-5GB easily (numbers without including Gradle memory usage). Almost all CPU usage from the server, not Gradle.

When the server started (for the moment when I see highlighted errors), I try to edit something. So I just removing a piece of code to make the server showing an error. Error is not highlighted even after a couple of minutes. In IDEA it takes 2-3 seconds on a long file.

Screenshot after 3 minutes of loading the project:
cpu-usage

Video about not highlighted error in a code after making an error:

kotlin-2022-07-29_23.39.32.mp4

Project structure:

.
├── android
│   ├── build.gradle
│   └── src
│       ├── main
│       └── test
├── build.gradle
├── common
│   ├── build.gradle
│   └── src
│       ├── androidMain
│       ├── commonMain
│       ├── desktopMain
│       └── jvmMain
├── core
│   ├── build.gradle
│   ├── gradle
│   │   └── wrapper
│   ├── gradle.properties
│   ├── gradlew
│   ├── gradlew.bat
│   └── src
│       ├── commonMain
│       ├── commonTest
│       ├── jvmMain
│       └── nativeMain
├── desktop
│   ├── build.gradle.kts
│   └── src
│       └── jvmMain
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle

settings.gradle

rootProject.name = 'MyProject'
include ':core'
include ':common'
include ':android'
include ':desktop'

What am I doing wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions