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
a0fa079a13
fix: remove workaround for Buffer.store_to_file_const bug on non-linux platforms
...
This bug was fixed in the previous commit.
2025-10-30 18:06:43 +01:00
ab4d1cdfa5
fix: always use std.Io.Writer.writeAll to avoid write underflow
2025-10-30 18:04:37 +01:00
b556c1da61
fix: add workaround for Buffer.store_to_file_const bug on non-linux platforms
2025-10-30 16:54:10 +01:00
d201a84ec8
fix: add test of Buffer.store_to_file_and_clean
2025-10-30 16:09:03 +01:00
18a7190545
fix: normalize_file_path_dot_prefix on windows
2025-10-30 15:14:34 +01:00
ec783d68a6
feat: bind insert_command_name to ctrl+k ctrl+s in flow mode
...
Like in visual studio code, as insert_command_name is the closest thing
we have to a keybind reference.
2025-10-30 14:19:13 +01:00
eb11a40a9f
feat: bind select_line to alt+shift+e in flow mode
...
Like in visual studio, because the more common ctrl+l is already taken.
Also, remove some keybinds for commands that don't exist.
2025-10-30 14:18:17 +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
dff0b233d1
feat: add flow mode keybinding for 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
b70cf4cea7
refactor: remove extra log message
2025-10-28 22:33:25 +01:00
4113fdddd5
feat: add flow mode keybind for show_vcs_status (ctrl+shift+g)
2025-10-28 22:24:50 +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
Igor Támara
7f7f12a441
feat: update vcs changed files info when click on branch status
2025-10-28 22:20:36 +01:00
Igor Támara
fdf2b6d376
feat: allow to update vcs changed files info for current project
2025-10-28 22:20:36 +01:00
Igor Támara
8d0fa9a355
feat: [hx] space g bound to open changed and new files reported by git
2025-10-28 22:20:36 +01:00
Igor Támara
b6010767f2
feat: Add open changed files palette to commands
...
The palette shows modified and new files for the current project
allowing to open one by one
2025-10-28 22:20:36 +01:00
Igor Támara
81a6fef3b5
feat: Project manager exposes new and modified files for the current project
2025-10-28 22:20:36 +01:00
Igor Támara
52609ab198
feat: Project makes available modified and untracked files
...
Project exposes functions to query and return modified and
untracked files informed by git.
2025-10-28 22:20:36 +01:00
Igor Támara
9c1d1cb557
feat: untracked and modified files are identified by git
...
Git service offers untracked files and modified ones
staged or not filtering out any other statuses and marking
if new or modified. This includes renamed files.
2025-10-28 22:20:36 +01:00
d6e9cec04d
fix: prevent Widget.msg and EventHandler.msg from being corrupted by thespian.message.send
2025-10-28 21:58:33 +01:00
3e4a604739
refactor: move git status request to project_manager
2025-10-28 21:31:32 +01:00
Igor Támara
1e998c12e4
feat: [hx] zt zc zb scroll keybinds and G support
2025-10-28 17:53:20 +01:00
Igor Támara
fa75da6f41
feat: added keypadd presses to match normal keys
2025-10-28 16:57:25 +01:00
02deaab3a7
fix: always call reload_file when re-openning an hidden non-ephemeral buffer
...
This is less confusing than just restoring the buffer as is. If the file has
changed on disk the usual expectation is to load the new contents on re-opening
the file.
closes #339
2025-10-28 16:34:44 +01:00
45669cad31
fix: add support for integer codes in LSP diagnostics
...
This fixes vscode-json-language-server and possibly others.
2025-10-28 15:03:52 +01:00
ff8b849015
fix: remove top_layer log spam
2025-10-27 19:19:19 +01:00
bb71749585
fix: set terminal cursor color even if enable_terminal_color_scheme is false
2025-10-26 14:30:57 +01:00
d3371d91e6
fix: windows gui build
2025-10-25 00:22:09 +02:00
265bff583b
feat: make tabs draggable
2025-10-25 00:09:35 +02:00
1426142d35
feat: add tui.set_drag_source function
2025-10-25 00:09:35 +02:00