Skip to content

Sourcekit-LSP stops working after a cancel of completion #1890

Closed
@angelozerr

Description

@angelozerr

Swift version

Last

Platform

Windows 11

Editor

LSP4IJ (Free LSP support for IJ)

Description

Hi,

I contact you because I'm trying to consume Sourcekit-LSP with LSP4IJ a free LSP support for IntelliJ.

If you want to test it, please read https://github.com/redhat-developer/lsp4ij/blob/main/docs/user-defined-ls/sourcekit-lsp.md after installing LSP4IJ

All features are working pretty well (hover, highlight, semantic tokens, call hierarchy, etc) except completion. Completion is working pretty well if you type characters in the editor slowly, but as soon as you are typing quickly in the editor, the Sourcekit-LSP breaks all LSP features (no highlight, no hover, no completion, etc).

Please note that all language servers that I have tested like Go, Rust, etc are working pretty well. First I though it was a problem with didChange, but I send the same didChange notification than vscode.

After spending a lot of time to discover the usecase which causes the problem, I have noticed that this problem occurs when completion is cancelled.

As soon as I am typing quickly in the editor, it send cancelRequest for completion and after that the Sourcekit-LSP is down (it gives me some response but with cancel and not only for completion, for highlight, hover etc).

It have the impression that I have the similar problem than Emacs-LSP emacs-lsp/lsp-mode#3028 but I find it is very strange to kill the Sourcekit-LSP when LSP client cancels the completion.

I have the impression that I don't send the proper triggerChars for completion after completion is cancelled. Perhaps I need to set triggerChars to 3 when completion is canceled but I have no problem with other LSP language servers?

I wanted just to share my problem.

Any help are welcome! Thanks!

Steps to Reproduce

No response

Logging

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions