Luís Tavares
8f1f1a9126
Merge branch 'neurocyte:master' into vim_keybinds
2025-02-05 00:04:45 +00:00
53045123c6
build: update to zig 0.14.0-dev.3039
2025-02-04 22:59:18 +01:00
lulvz
5c352be7d0
feat(vim): add goto definition keybind back, fix cut word descriptions, removed unnecessary is_not_word_char_vim
2025-02-04 20:40:18 +00:00
1764b3259c
fix: allow cut
to cut to end of the document
...
closes #165
2025-02-04 20:33:36 +01:00
lulvz
04748a4add
feat(vim): add vim-style cut, copy, and paste operations that use internal clipboard only
2025-02-03 20:09:12 +00:00
lulvz
87fb11eaa1
feat(vim): update selection mode to normal (while inclusive doesn't work) and add cut operations for word navigation
2025-02-02 21:59:30 +00:00
lulvz
5269f2eff6
feat(editor): implement cut operations for internal clipboard buffer for vim
2025-02-02 16:45:18 +00:00
lulvz
5d21fb07dc
feat(vim): add move_word_right_end_vim function (correspondent to e in NORMAL mode) and update keybindings
2025-02-02 13:16:15 +00:00
lulvz
a3864224dd
feat(editor): implement vim-style word movement for cursor navigation
2025-02-02 13:08:15 +00:00
lulvz
21540af8ef
feat(editor): start implementing is_word_boundary_left_vim for vim-like word detection
2025-02-02 02:04:44 +00:00
e6e0301a78
feat(buffers): save/restore full editor state on buffer switch
2025-01-29 23:03:34 +01:00
b45b5910ee
feat(buffers): save and restore editor metadata on buffer switch
2025-01-29 20:56:56 +01:00
a706e0b976
feat: allow setting the file type in create_scratch_buffer command
...
Also, fix args forwarding.
2025-01-27 19:52:55 +01:00
939537ed84
feat(buffers): add support for ephemeral buffers
...
Ephemeral buffers are not hidden and kept when closed. Ephemeral buffers
can be turned into regular buffers by saving them with save_as.
2025-01-27 18:59:13 +01:00
304a62dfdc
feat(tasks): mark task buffers as clean when task exits
2025-01-26 21:06:52 +01:00
d7b48b40f1
feat(tabs): start work on a tabbar widget
2025-01-23 22:32:08 +01:00
1d947ab499
refactor: improve capsulation and safety of tui module public api
2025-01-23 16:45:04 +01:00
4145460012
refactor: simplify Plane/Widget usage
2025-01-23 16:12:56 +01:00
a4ac3a42fd
feat(keybind): special case disable_selection in delete_selection
2025-01-22 15:29:01 +01:00
0368bb15a6
feat(keybind): simplify and clean-up a little
2025-01-22 15:28:03 +01:00
Meredith Oleander
a0f8d33781
tui/editor.zig: add disable_selection, and make check_selection play nice with inclusive selections
2025-01-22 18:47:55 +11:00
Meredith Oleander
80c8795c3b
Merge branch 'master' into helix-mode-selections
2025-01-22 13:47:37 +11:00
aa1e0674cc
feat(buffers): move buffer lifetime management to new Buffer.Manager module
2025-01-21 21:42:36 +01:00
4f5fa4a3ba
feat(keybind): move selection mode into keybind mode configuration
2025-01-19 19:21:44 +01:00
Meredith Oleander
70f0d8bea6
add helix selection internal tweaks
2025-01-19 17:37:36 +01:00
Meredith Oleander
3e65503902
develop helix cursor mode
2025-01-19 17:37:33 +01:00
9fc8e3edc3
fix(editor): send editor view and cursor position updates when number of document lines changes
...
closes #162
2025-01-19 12:10:59 +01:00
9f29853cd6
Merge pull request #149 from travisstaloch/lsp-rename
...
implement lsp rename
2025-01-18 23:33:25 +01:00
461726e10e
feat: add pause_undo and resume_undo commands
...
closes #91
2025-01-18 22:59:50 +01:00
4277f0f57b
feat(lsp): rename_symbol: add support for LSPs that do send document updates for renames
2025-01-18 20:34:14 +01:00
80cb31f75a
feat: copy current line if there is no selection
...
closes #160
2025-01-18 17:16:00 +01:00
d2735a5dd7
fix: prevent an integer overflow in editor.cancel_all_selections() on project switch
2025-01-17 20:52:34 +01:00
04b77b4d28
fix(lsp): rename_symbol: convert columns to byte offsets and back
2025-01-17 15:56:46 +01:00
a449e0ec97
feat(lsp): rename_symbol: add cursors at rename points for interactive rename
2025-01-16 22:23:03 +01:00
Travis Staloch
1c37de6c29
feat(lsp): buffer renames in order to send a single, atomic message
2025-01-16 22:04:38 +01:00
Travis Staloch
1fd4455adb
feat(lsp): initial support for textDocument/rename
...
flow keybinds: changes f2 from toggle_input_mode to rename_symbol and
moves toggle_input_mode command to ctrl+shift+f2 (since ctrl+f2 is
already bound to insert_command_name)
the replacement text is hard coded for now. i've checked that replace
works with zls and pylsp which send WorkspaceEdit response messages in
different shapes - zls sends shape `{"changes": {}}` while pylsp sends
`{"documentChanges": []}`.
currently the 'rename_symbol_item' commands are sent one at a time.
however they should be buffered and be performed between one
buf_for_update, update_buf pair. this will be addressed in a follow up.
2025-01-16 22:04:35 +01:00
e09df735a5
feat: remove existing cursor if clicked again in add cursor mode
...
closes #146
2025-01-14 17:48:26 +01:00
João Pedro
a21f0e6ac5
Fix half and whole page movements
2025-01-10 22:34:42 +01:00
cfc99b61dc
feat: add commands to execute shell tasks from keybindings
...
This is the first part of #67 .
2025-01-07 22:45:29 +01:00
206e23a603
fix: crash on rendering zero width chars
2025-01-06 16:15:59 +01:00
7cbd63accd
feat(win32 gui): add direct copy to windows clipboard support
...
closes #100
2025-01-05 21:54:43 +01:00
1ad6b8db3d
fix: clamp cursor to buffer in toggle_cursel_prefix
2025-01-03 21:04:32 +01:00
023298cc47
feat: add a bullet to inline diagnostic messages
2025-01-03 20:06:45 +01:00
86ca13b847
feat: don't render diagnostic messages if there is too little space
2025-01-03 20:05:38 +01:00
5a34a7ead7
fix: don't attempt to render off the bottom of the screen
2025-01-03 19:56:15 +01:00
dd042e2fdd
feat: position cursor at closest glyph boundary on click when beam cursor is enabled
...
closes #99
2025-01-03 13:52:47 +01:00
18b0c217fc
feat: use smaller NL symbol
2025-01-02 22:54:07 +01:00
e3d93da9e6
fix: whitespace rendering on scroll left
...
This also simplifies the renderer a little.
2025-01-02 22:51:36 +01:00
919d5ee9bb
feat(whitespace): add leading, eol, tabs modes and highlight leading/trailing errors
...
This changes whitespace rendering to use a map of the visible viewport.
The view map makes it easy and fast to implement various whitespace
highlighting and rendering features.
2025-01-02 18:27:27 +01:00
deaafbefa0
feat: upgrade cursors to block cursors when multi-cursor editing
...
This is to match the secondary cursors which are always block cursors.
It also give some visual feedback that we are multi-cursor.
2024-12-20 21:14:17 +01:00