Commit graph

2856 commits

Author SHA1 Message Date
2d2d8a915b
refactor: make tabs.find_next/previous_tab_buffer also return view 2026-02-03 21:31:47 +01:00
09bb80b268
feat: add more accessible keybinds for key hints overlay
closes #21
2026-02-03 21:01:59 +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
87e0e06aaf
fix: refresh hover when menus modify their contents
This fixes hover and scroll in palettes and dropdowns.

close #486
2026-02-03 18:45:44 +01:00
d5166e2f68
fix: override cursor focus rendering during dropdown completion 2026-02-03 16:54:00 +01:00
7c61b2dac6
fix: replace tabs in snippets if we are indenting with spaces 2026-02-03 16:38:37 +01:00
56238c776d
fix: clamp cursor to buffer in indent command 2026-02-03 16:20:47 +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
8767dc9dc1
fix: do not set completion refresh pending for duplicate requests 2026-02-03 14:46:12 +01:00
f590d7cec8
fix: project manager should not drop empty completion responses 2026-02-03 14:41:28 +01:00
b14ff8ac52
refactor: only count scored dropdown entries as matches 2026-02-03 11:37:06 +01:00
74d033cb72
refactor: remove some spammy debug logs in Buffer cache 2026-02-03 11:32:34 +01:00
2ea9acea47
build: fix test cases 2026-02-02 22:02:17 +01:00
41c1e54cac
refactor: add match_count to overlay/dropdown 2026-02-02 21:56:55 +01:00
d125f69182
build: set default release build mode to ReleaseFast 2026-02-02 21:49:21 +01:00
e37c17452f
refactor: add ascii optimization to Plane.egc_length
This gives a huge performance boost to pos_to_width which is used by
find results and many other things.
2026-02-02 21:35:57 +01:00
152eed7847
refactor: adapt mainview module to Buffer text caching API 2026-02-02 21:35:21 +01:00
23504b62cd
refactor: adapt editor module to Buffer text caching API 2026-02-02 21:34:59 +01:00
b25e099a84
refactor: adapt diffz module to Buffer text caching API 2026-02-02 21:34:31 +01:00
ed69048e91
refactor: add document plain text caching to Buffer 2026-02-02 21:33:52 +01:00
8bc374f110
refactor: don't pass ownership to project_manager.did_open 2026-02-02 21:33:00 +01:00
111e9dbe1f
refactor: add Buffer.Node.Ref type 2026-02-02 21:31:33 +01:00
7ab1480f29
refactor: add log message when enabling or disabling format on save 2026-02-02 17:34:30 +01:00
44356e5d30
fix: forward focus_in/_out events to all mainview widgets 2026-02-02 17:20:12 +01:00
c9dc713537
refactor: display regular tab save state icon in auto_save_mode on_focus_change
As on_focus_change does not save really often the icon showing the save state
may still be very usefull.
2026-02-02 17:20:12 +01:00
6312d44d15
refactor: display regular file state icon in auto_save_mode on_focus_change
As on_focus_change does not save really often the icon showing the save
state may still be very usefull.
2026-02-02 17:20:12 +01:00
70b60a15fa
feat: add auto_save_mode option with new on_input_idle and on_focus_change modes
The original auto_save mode is now called on_document_change. The new
default is on_focus_change.

closes #481
2026-02-02 17:19:40 +01:00
1317de3f72
docs: reflow README.md 2026-02-02 12:13:27 +01:00
377b8ba6b3
refactor: set default reflow_width to 76
More in line with flow's documentation and likely a more acceptable
default value.
2026-02-02 12:12:29 +01:00
cdfa463ce7
fix: reflow should add whitespace to line length calculation 2026-02-02 12:11:31 +01:00
7b6e75cc9d
feat: log effective reflow width 2026-02-02 12:11:00 +01:00
919c87e988
fix: ignore blank lines in reflow prefix detection 2026-02-02 11:45:06 +01:00
f55885c48e
fix: ignore/preserve trailing new line in reflow input 2026-02-02 11:44:39 +01:00
934cfcd9e2
fix: reduce default frame_rate back to 60
Suspicion user reports of lagginess. A saner default might help avoid
issues on slower systems.
2026-02-01 21:35:51 +01:00
e4ce2fb8e3
fix: crash on long buffer name in filestate widget
And in project state restore.

closes #478
2026-02-01 21:26:32 +01:00
0251d783bf
fix: always place at least one word on each line in reflow 2026-02-01 20:48:42 +01:00
4898f02570
feat: store the last used reflow_width in the editor session 2026-02-01 20:35:09 +01:00
ec71a7041b
feat: reflow current line if there is no selection 2026-02-01 20:20:34 +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
d07389b8ee
fix: wrong prefix for single line reflows 2026-02-01 20:00:01 +01:00
9c4f30c4ee
fix: reflow width is off by one 2026-02-01 19:52:01 +01:00
9f775c9ec8
feat: add integer arg support to reflow command 2026-02-01 19:51:48 +01:00
4803daec3e
fix: make reflow wrap *before* width limit, not after it 2026-02-01 19:48:03 +01:00
01cbdf8545
fix: every_keystroke completion mode should fallback to automatic when active
This prevents `every_keystroke` mode from re-triggering on every keystroke if a completion
suggestions are already available. Instead it will now filter the returned suggestions
normally. This dramatically reduces load on the LSP.

closes #479
2026-02-01 18:12:51 +01:00
f35e522260
refactor: log number of returned completion if log_execution is on 2026-02-01 17:59:29 +01:00
7cf45d5878
refactor: simplify add_completion_done 2026-02-01 17:59:04 +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