LSP: completion list dismissed when typing '.' after prefix #373

Closed
opened 2026-03-25 18:07:43 +00:00 by navicore-bot · 0 comments
navicore-bot commented 2026-03-25 18:07:43 +00:00 (Migrated from github.com)

Bug

When typing a prefix like i in the editor, the LSP correctly shows a completion list of matching words (e.g., int.add, int.sub, etc.). However, when the user then types . to narrow the filter (e.g., i. or int.), the completion list disappears instead of filtering further.

The . character is a valid part of word names in Seq (e.g., int.add, list.map, map.get), so the completion list should remain open and continue filtering as the user types through the dot.

Expected behavior

Typing int. should keep the completion list open and filter to words starting with int. (e.g., int.add, int.sub, int.mul, etc.).

Actual behavior

The completion list closes when . is typed.

Likely cause

The completion_provider in crates/lsp/src/main.rs defines trigger_characters as [" ", "\n", ":"] but does not include ".". When the editor receives a . character that isn't a trigger character, it may dismiss the active completion session rather than treating it as a filter continuation. Adding "." to trigger_characters may resolve this, though the completion handler would also need to correctly handle re-triggering mid-word at a . boundary.

Environment

Reported using Neovim with the seq-lsp (patch-seq.nvim plugin).

## Bug When typing a prefix like `i` in the editor, the LSP correctly shows a completion list of matching words (e.g., `int.add`, `int.sub`, etc.). However, when the user then types `.` to narrow the filter (e.g., `i.` or `int.`), the completion list disappears instead of filtering further. The `.` character is a valid part of word names in Seq (e.g., `int.add`, `list.map`, `map.get`), so the completion list should remain open and continue filtering as the user types through the dot. ## Expected behavior Typing `int.` should keep the completion list open and filter to words starting with `int.` (e.g., `int.add`, `int.sub`, `int.mul`, etc.). ## Actual behavior The completion list closes when `.` is typed. ## Likely cause The `completion_provider` in `crates/lsp/src/main.rs` defines `trigger_characters` as `[" ", "\n", ":"]` but does not include `"."`. When the editor receives a `.` character that isn't a trigger character, it may dismiss the active completion session rather than treating it as a filter continuation. Adding `"."` to `trigger_characters` may resolve this, though the completion handler would also need to correctly handle re-triggering mid-word at a `.` boundary. ## Environment Reported using Neovim with the seq-lsp (`patch-seq.nvim` plugin).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
navicore/patch-seq#373
No description provided.