huggingface / llm-ls

LSP server leveraging LLMs for code completion (and more?)
Apache License 2.0
553 stars 43 forks source link

Completions not displaying in some cases #63

Open Wats0ns opened 6 months ago

Wats0ns commented 6 months ago

Hello, i'm having completions that do not display, and I've managed to track this to the should_complete function. Here's what happens:

def test():
  if {cursor_position}

In this case, tree.root_node().descendant_for_point_range and tree.root_node() are equal, and a CompletionType::MultiLine is returned. However, if I try to complete this:

for a in range(5):
  {cursor_position}
  if a == 2:
    break

Then the tree.root_node().descendant_for_point_range evaluates to for_node, and CompletionType:SingLine is returned. Because most of my completions start with a \n, nothing is displayed (due to the way SingleLine completions are handled)

I'm having trouble understanding the logic behind the should_complete function, is there some documentation I could find on the expected output ? Thanks a lot !

MathieuBsqt commented 2 months ago

Having the same problem. Did you manage to fix the issue or find some documentation?