LSP icon indicating copy to clipboard operation
LSP copied to clipboard

Add support for inline completions (WIP)

Open jwortmann opened this issue 1 year ago • 2 comments

Experimental / work in progress

Implementation details are open for discussion and it would be nice to gather some opinions how inline completions should work.

  • For now in this PR they are only requested when you manually trigger autocomplete. And then they are immediately hidden when you either type something or move the caret. It would be nice to show the inline completions while typing, but I think the phantom behavior is too buggy for that (https://github.com/sublimehq/sublime_text/issues/5536). Another problem is that the regular completions popup often hides a big part of the inline completion phantom. But that is independent of whether it would be on typing or on manual trigger.
  • The server can return multiple inline completion items, but currently only the first one is shown and the other ones are ignored. Maybe there should be some way to switch between items, like in the signature help popup.
  • Maybe add a setting to configure the display mode; full or only single line (see https://github.com/sublimelsp/LSP/issues/2520#issuecomment-2439625978)?
  • We can't provide SelectedCompletionInfo because it is not available from ST.

It can be tested with Tabby; for setup see #2520 or the docs description which is added in this PR. Tabby requires a compatible GPU.

For this PR I hijacked the Alt + Enter key binding which is currently used for "insert completion with opposite insert mode", because there aren't really any good key bindings left (everything with Ctrl or Shift is already taken in the ST default key bindings). This was mostly for testing and is up for discussion I guess.

I haven't really looked at the implementations in e.g. LSP-copilot yet. Perhaps there are some improvements that we can adopt.

jwortmann avatar Nov 11 '24 10:11 jwortmann

Deploy Preview for sublime-lsp ready!

Name Link
Latest commit ef73daa6ab7ffe733b6b3b9971fedec7bc2f68ab
Latest deploy log https://app.netlify.com/sites/sublime-lsp/deploys/673b47b128ea620008f2598e
Deploy Preview https://deploy-preview-2552--sublime-lsp.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

netlify[bot] avatar Nov 11 '24 10:11 netlify[bot]

We can't provide SelectedCompletionInfo because it is not available from ST.

This is true.

predragnikolic avatar Nov 15 '24 15:11 predragnikolic