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
38e681f7bf
fix: apply completion de-duplication fix to completion_palette too
2026-01-29 16:01:20 +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
8cfab31104
refactor: add tracing for update_hover, clear_hover_focus and refresh_hover
2026-01-15 17:53:12 +01:00
c3cf5ea02f
refactor: add source location tracing for need_render calls
2026-01-15 17:51:38 +01:00
ea2b2f7b19
feat: navigate_split_vertical on shift+enter in buffer palette
2026-01-14 17:47:46 +01:00
4273ab790c
feat: cancel inline completion with backspace
...
closes #447
2026-01-12 19:33:37 +01:00
7dab15da20
refactor: merge loops in completion_palette.load_entries
2026-01-12 19:16:01 +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
1308a14138
fix: crash on cancelling the change theme palette
...
This commit also cleans up the handling of the previous theme variable.
2025-12-26 16:50:38 +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
4f39bbbd41
refactor: add support for delete word during completion
2025-12-24 00:03:05 +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
a5d7e76897
refactor: remove modal background from dropdown
2025-12-23 22:03:56 +01:00
35d823d0b8
refactor: also cancel completion dropdown if view changes
2025-12-23 21:57:39 +01:00
d55b5b695b
refactor: avoid crash if dropdown has no space to be displayed
2025-12-23 21:45:38 +01:00
c4301c40d9
refactor: add dropdown_keybinds configuration option
2025-12-23 21:45:06 +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
342e7d98c8
refactor: add dropdown overlay type
2025-12-18 20:33:51 +01:00
bf47c00265
refactor: add palette placement mode primary_cursor
2025-12-18 15:25:22 +01:00
8866e27da7
refactor: allow palettes to override widget style
2025-12-18 15:23:59 +01:00
528d57fdf7
fix: palette padding on top_right placement
2025-12-13 18:47:11 +01:00
660449c1c0
refactor: use *std.Io.Writer instead of anytype
2025-12-12 14:25:10 +01:00
99b721febf
fix: don't index into utf-8 based on egc width
2025-12-12 14:25:10 +01:00
Igor Támara
99a4fb0936
fix: change len for egc_chunk_width
2025-12-12 14:25:10 +01:00
308f46c8a2
refactor: move LSP types to new module
2025-12-12 13:41:16 +01:00
c87884f924
refactor: remove some obsolete overlay commands
2025-12-10 15:23:22 +01:00
4cb0f7df02
feat: activated selected entry on tab in the completion palette
...
closes #423
2025-12-10 12:39:23 +01:00
8152de3df9
refactor: prefer completion insertText over newText or label
2025-12-09 19:17:30 +01:00
c71ddb2900
refactor: add newText and insertText to info panel in debug builds
2025-12-09 18:55:47 +01:00
62bc86d2db
refactor: add insertText to completion_palette get_values function
2025-12-09 18:54:04 +01:00
288e23e8b0
fix: completion with no replacements causes OOM
2025-12-09 18:32:41 +01:00
e7118763a1
refactor: remove snippet from info panel
2025-12-08 21:31:24 +01:00
075ec84cf0
refactor: call snippet parser when inserting completion items
2025-12-08 21:18:04 +01:00
cbf26b3b6a
refactor: use a structure for returning completion palette item values
2025-12-08 21:17:02 +01:00
9b33f4cbe3
refactor: remove commented function signature
2025-12-08 18:06:33 +01:00
bacbb47ae8
fix: prevent palettes from ever being larger than the screen
2025-12-08 18:05:09 +01:00
15e96d9136
refactor: add detail to info in completion palette
2025-12-08 18:04:37 +01:00
86d7dd9cc9
refactor: place completion palette top right and undimmed
2025-12-08 17:44:19 +01:00
d86193a9aa
feat: display label_detail and label_description in completion palette
2025-12-08 17:44:06 +01:00