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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions