In many languages . is specially treated, so e.g. after typing a foo. a user expects a completion for methods available from foo.

That works with company as well, however after foo. triggered a completion, typing an additional letter (expecting for the list to get reduced), makes completion disappear completely. And it won't appear again till I type letters ≥ company-minimum-prefix-length.

Any way to prevent that from happening? Besides reducing company-minimum-prefix-length to 1, that is.

Steps to reproduce

  1. Create /tmp/.emacs as follows:

    (use-package company)
    (use-package lsp)
  2. Start emacs as emacs -Q -l /tmp/.emacs test.py

  3. Execute M-x lsp

  4. Type "".

    A completion should appear

  5. Type c to reduce completions to ones starting with that letter


Completions get reduced to ones starting with c, i.e. capitalize(), casefold(), etc.


The completions popup disappears.

  • So, I found the problem to be specific to lsp, because eglot works fine in this case.
    – Hi-Angel
    Commented Apr 8 at 7:57
  • 1
    Based on the findings, created a report to lsp.
    – Hi-Angel
    Commented Apr 8 at 8:21

1 Answer 1


It was an lsp-mode bug, fixed in the latest code by this merged pull request.

Commit e379ae5 "lsp-completion-at-point: looking back a few more chars for trigger-char"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.