03f2821e5f
fix: post location updates to project_manager creating or navigating buffers
...
This fixes newly created files not showing in the find_files palette. It also
fixes MRU ordering not updating when switching tabs.
closes #331
2025-11-04 13:19:09 +01:00
n0n
1d28985568
feat: reopen closed tab
2025-11-04 12:40:33 +01:00
b116d10348
feat: allow open_previous_file to jump back to a closed tab
2025-11-04 12:27:34 +01:00
eb72f06be1
refactor: rename maybe_reset_drag_source
2025-11-04 11:43:37 +01:00
15b600b570
fix: clipboard_palette does not paste the selected item
2025-11-04 11:42:50 +01:00
Igor Támara
8d2355dcb8
refactor: [hx] move and extend word sharing common code
2025-11-03 22:48:20 +01:00
Igor Támara
a8c056c211
feat: hx extend word to right
2025-11-03 22:48:20 +01:00
0bef3ce2e1
fix: do not indent blank lines
2025-11-03 22:43:25 +01:00
cd1d9f3042
fix: don't clip leading whitespace based on cursor column in smart_insert_line
2025-11-03 22:37:12 +01:00
9026404d6d
fix: save file when toggling auto_save on
2025-11-03 22:18:14 +01:00
15c9469365
fix: render auto_save state in filestate widget
...
closes #344
2025-11-03 22:16:48 +01:00
99cd7b6dc5
refactor: send auto_save state in more editor events
2025-11-03 22:16:09 +01:00
0c38e8c4ea
fix: don't show dirty state in tabs for auto_save buffers
2025-11-03 22:14:43 +01:00
30b1329d10
refactor: move auto_save flag from Editor to Buffer
2025-11-03 22:13:54 +01:00
fa6ea11d57
fix: only reset mouse drag context when the dragging button is released
...
closes #320
2025-11-03 20:48:08 +01:00
1fb3a8828a
fix: be more precise about tracking active state in scrollbar_v widget
2025-11-03 20:47:18 +01:00
2d65864e74
fix: merge selections when collapsing cursors
...
closes #318
2025-11-03 18:31:51 +01:00
79369bf2ca
fix: also collapse cursors during mouse operations
2025-11-03 18:31:27 +01:00
1c96a45822
feat: add CurSel.merge function
2025-11-03 18:30:45 +01:00
f6234e6048
refactor: remove pointless dupe call in move_to_char
2025-11-02 21:35:32 +01:00
223260887d
feat: add underlining keybinds ctrl+_, ctrl+= and ctrl+plus
...
ctrl+_ => select char to underline with
ctrl+= => underline with '='
ctrl+plus => underline with '=' preserving spaces
closes #350
2025-11-02 21:32:52 +01:00
f727c4882f
refactor: make get_char.options.start optional
2025-11-02 20:40:03 +01:00
b5e591c172
refactor: move_to_char to use new get_char mini mode
2025-11-02 20:28:07 +01:00
28688b49de
refactor: move_to_char mini mode into a reusable get_char mini mode
2025-11-02 20:26:55 +01:00
7af0c7ff71
fix: improve dupe_cursel_down to correctly handle duplicating at EOF
...
closes #346
2025-11-02 19:24:04 +01:00
e1e82a57eb
fix: improve dupe_cursel_up to correctly handle duplicating at EOF
2025-11-02 19:23:09 +01:00
1c486ccd93
fix: support no selection special case for cut and copy commands with multiple cursors
...
closes #355
2025-11-02 18:18:52 +01:00
4d375d2d9b
feat: add support for groups in clipboard history
...
This introduces the concept of clipboard history groups. A group is created
for each high level clipboard operation. Cut, copy, etc. Single cursor
operations will create a group with just one entry. Multi-cursor operations
on the other hand will create groups with multiple clipboard history entries.
This makes for very powerful clipboard history integration with multi-cursor
support.
This commit also adds the ability to apply integer parmeters to the paste
command to select a clipboard group to paste.
Also, pasting from the system clipboard will detect if the system clipboard is
equivalent to the top most clipboard group, and if so use the group instead.
This allows much better multi-cursor support when using the system copy & paste
commands.
2025-10-31 22:53:50 +01:00
63745f1e6b
refactor: use @memcpy to splat replacement string
...
Also, don't leak replacement string.
2025-10-30 22:40:53 +01:00
18bc89edf8
refactor: replace cursel_length with Buffer.Node.get_range
...
get_range is likely much faster because it only walks the buffer tree
once. Besides the performance difference it should give identical results.
2025-10-30 22:40:53 +01:00
Igor Támara
8246f2b0ba
feat: [hx] r to replace with a character
...
If no selection, the character under the cursor is replaced, if
selection, each character is replaced by the typed character.
2025-10-30 22:40:53 +01:00
Igor Támara
411b26d4aa
feat: Add functionals with parameters
...
* The group of mut cursels has a new member that receives
a parameter
* Added a function to get the number of items(one visible
cell characters) within a cursel.
2025-10-30 22:40:53 +01:00
3249c35c02
Merge branch github/master
2025-10-30 21:32:27 +01:00
932c79fb13
fix: crash in home screen
...
Button click handlers may delete the button, so we should not touch self after
calling them.
2025-10-30 21:30:13 +01:00
Igor Támara
131d9db5ce
feat: [hx] match clipboard behaviour on delete
2025-10-30 19:14:08 +01:00
70a793d942
feat: add select_line command
2025-10-30 14:17:02 +01:00
21d1555aca
feat: add repeat argument to delete_line
2025-10-30 12:58:15 +01:00
fc8642768d
refactor: merge select_line_around_cursor into select_line_at_cursor
2025-10-30 12:46:42 +01:00
4087e0a3f9
fix: preserve cursor column and target in delete_line
...
This is the expected behaviour (for me at least) and makes delete_line
significantly more useful than plain `cut` with no selection.
closes #342
2025-10-30 11:45:43 +01:00
e42f3ff3a5
refactor: use select_line_at_cursor to simplify cut_internal_vim
2025-10-30 11:45:43 +01:00
772e2e7d29
refactor: use select_line_at_cursor to simplify cut command
2025-10-30 11:45:43 +01:00
c27795bc95
feat: add multi cursor support to delete_line
2025-10-30 11:45:43 +01:00
62873353b8
refactor: use an enum to select select_line_at_cursor mode
2025-10-30 11:45:43 +01:00
23ea7333a7
refactor: remove obsolete vim mode delete_line placeholder
2025-10-30 11:45:43 +01:00
jmcaine
04c1ece3a8
feat: delete_line implemented
2025-10-30 11:45:43 +01:00
Igor Támara
e76c47e1a6
feat: bar status shows extend or select when on helix mode
2025-10-29 20:58:40 +01:00
Igor Támara
f5efe8e94f
feat: [hx] Add F, T, t, f select and extension movements
2025-10-29 20:58:40 +01:00
Igor Támara
65665fb28b
feat: [hx] in Normal mode select to char right
...
f j in normal mode selects to the char j in the buffer if it exists,
else the cursor stays in place
2025-10-29 20:58:40 +01:00
Igor Támara
151f108b80
feat: [hx] add group function to move cursor beyond eol
...
In Helix, F, T, t, f bring the cursor to the character being
searched for, if not found, the cursor is not moved at all.
2025-10-29 20:58:40 +01:00
61de5d89d7
refactor: rename open_changed_files to show_vcs_status
...
This fits a bit better as we will add commands to do more than just
open the files in the status palette.
2025-10-28 22:21:16 +01:00