Commit graph

41 commits

Author SHA1 Message Date
84a45810a6
fix(lsp): fallback to sorting completions by label for LSPs that don't return unique sortText 2026-03-25 12:30:44 +01:00
Igor Támara
3a16d7fe50 Add indentation according to depth in symbol palette 2026-03-13 13:32:25 -05:00
fa58e09a18
feat: add info box mode support to completion_dropdown 2026-02-05 16:49:34 +01:00
ee6095ecee
fix: do not cancel completion if the view size changes
Only if the view position changes.
2026-02-04 18:30:02 +01:00
e26d86eca3
fix: cancel completion on update in automatic completion mode
If completion is automatically triggered (the default), then it also makes
sense to automatically cancel completions in situations where a completion
update would be required and we are *not* expected to automatically
re-trigger.
2026-02-04 16:43:43 +01:00
75fa4408fa
fix: guess completion insertion range by back scanning for trigger chars or word breaks
closes #484
2026-02-03 19:37:51 +01:00
59de78723e
refactor: import Selection directly into completion_dropdown 2026-02-03 19:26:41 +01:00
d5166e2f68
fix: override cursor focus rendering during dropdown completion 2026-02-03 16:54:00 +01:00
5cf52171f2
fix: use word-at-cursor for inserting completion if LSP does not provide a range
This is not perfect in every situation, but seems to be enough to use basic
completion with LSPs that do not send full insert/replace range
information.

closes #475, #484
2026-02-03 16:15:42 +01:00
d298e1ed4c
fix: don't cancel completions in update_completion
This is not needed anymore.
2026-02-03 15:17:24 +01:00
2296930f4d
fix: re-trigger completion if we run out of suggestion matches 2026-02-03 15:15:58 +01:00
a3ea183ba1
fix: completion dropdown must dupe completion data
Because it might be erased by the next completion response.

closes #477
2026-02-01 20:14:16 +01:00
99e3e6aeae
fix: update_completion should also update completion query text
Also, resize dropdown based on new completion suggestions.
2026-02-01 17:57:32 +01:00
97745a992a
fix: refresh inital completion cursor position on re-triggers 2026-02-01 17:56:47 +01:00
e45f2ced71
fix: do not constantly re-trigger completion when already completing 2026-02-01 17:56:07 +01:00
485f06f576
refactor: split up completion_dropdown.handle_event function 2026-02-01 17:02:13 +01:00
f65082bea9
fix: make sure completion replacment always reaches at least to the cursor
Seems like sometimes LSPs may lag and not include the last entered char in
the selection.
2026-01-30 14:48:02 +01:00
7a3b8e3fce
fix: remove completion de-duplication
Now that requests cannot overlap any duplicates are actually from the LSP.
Deduplication was not working correctly for some LSPs so we just remove it
now.
2026-01-30 14:37:13 +01:00
8c8388c0c2
refactor: simplify completion selection functions 2026-01-30 14:20:06 +01:00
96137de780
refactor: update completions only if query has changed 2026-01-30 13:59:34 +01:00
a21db7b220
refactor: cancel completion if lsp returns no suggestions 2026-01-30 13:58:00 +01:00
29ac7849c7
refactor: move get_replacement_selection to completion_dropdown 2026-01-30 13:55:23 +01:00
d4eb0d046c
refactor: fix completion updates 2026-01-30 13:22:47 +01:00
518af3ab45
refactor: major re-work of completion to edit via buffer instead of query
This means completion no longer changes the buffer in anyway until a
completion menu entry is actually selected. This simplifies (or eliminates)
many edge cases and greatly improves multi-cursor support.
2026-01-30 11:20:48 +01:00
94aa462a8d
refactor: allow updating of completions 2026-01-29 20:59:49 +01:00
721370d1ba
fix: completion de-duplication should not require LSP to send sort text
fixes #472
2026-01-28 21:38:59 +01:00
42eb56493c
fix: better support multicursor completion
closes #467
2026-01-27 22:21:49 +01:00
3402a54a2e
fix: don't remove secondary cursors when cancelling dropdown completion 2026-01-26 21:41:29 +01:00
68b3fe1624
fix: deduplicate completion results
Some LSPs may return duplicate results for some queries, so we no
force de-duplication when loading the completion palettes.

closes #469
2026-01-26 12:36:11 +01:00
d0abaaee2a
refactor: move completion replacement logic to editor 2026-01-21 17:35:09 +01:00
4273ab790c
feat: cancel inline completion with backspace
closes #447
2026-01-12 19:33:37 +01:00
93bfc70171
refactor: merge loops in completion_dropdown.load_entries 2026-01-12 18:19:04 +01:00
3886427582
fix: unicode symbol rendering in symbol palette 2025-12-27 21:45:45 +01:00
f875dba810
refactor: limit maximum size of detail and description in completion dropdown 2025-12-24 00:40:58 +01:00
b5d137666f
refactor: run triggers only on primary cursel 2025-12-24 00:10:56 +01:00
911fc3160a
refactor: add support for backspace during completion 2025-12-23 23:53:14 +01:00
b2996cddbd
refactor: also run triggers during completion 2025-12-23 22:53:12 +01:00
7d2e6a3b45
refactor: don't indirectly call cancel on completion dropdown select 2025-12-23 22:07:40 +01:00
35d823d0b8
refactor: also cancel completion dropdown if view changes 2025-12-23 21:57:39 +01:00
8c9146a1c5
fix: replace full completion item correctly in completion_dropdown 2025-12-18 22:30:48 +01:00
3a61bb2ae9
feat: implement inline completion mode with a dropdown overlay 2025-12-18 20:34:28 +01:00