Skip to content

SourceKit-lsp does not trigger C/C++ completion suggestions on "." or "->" #27

@HealsCodes

Description

@HealsCodes

Problem is examined on:

  • Nova: 13.3 Build 730158
  • Icarus: 3.0
  • sourcekit-lsp: using the version bundled with XCode
  • macOS: Sequoia 15.7.2 (24G325)
  • XCode: 26.1.1 (17B100)

The title pretty much sums it up - I'm using icarus and the sourcekit-lsp and while editing files in a C++ project I do not get a completion popup if I use . or -> to access methods / members of an object.

Once I start typing any extra letters after the . or -> I do receive a completion popup filtered based on the letter(s) I already typed. This is very cumbersome and I also don't want to have to explicitly toggle completions via the menu shortcut.

If I go to the settings and instead specify /usr/bin/clangd as my LSP I'm limited to C/C++ but I receive a completion popup immediately after typing . or ->.

Looking at the suggestions it also seems as if sourcekit-lsp is always one character behind the contents of my buffer (which might explain why a single . or -> wouldn't trigger anything - the dot isn't in the LSP yet and the dash from -> isn't any reason to trigger completions yet).

See this screenshot as an example of the one-letter-behind phenomenon:

sourcekit-lsp completions for '->fon' showing completions for '->fo' instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions