aa1e0674cc
feat(buffers): move buffer lifetime management to new Buffer.Manager module
2025-01-21 21:42:36 +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
69c2d06007
fix: hover should convert column to byte position in LSP response
...
closes : #85
2024-12-20 20:16:50 +01:00
1aa64b8ea4
fix: hover should convert column to byte position in LSP request
...
closes : #85
2024-12-20 17:56:04 +01:00
ca784d1712
feat: allow cursor shape configuration for mini and overlay modes
2024-12-20 13:59:08 +01:00
a0d9dede18
feat: hide line highlight when selecting if theme requires it
2024-12-18 16:22:56 +01:00
c0a9be21f5
feat: sanitize non utf-8 and display a status bar warning
2024-12-18 15:52:57 +01:00
e865a89ede
feat: render secondary/unfocused cursors with secondary cursor theme style
2024-12-17 21:22:49 +01:00
32d67a3972
feat: use terminal cursors for mini mode and overlay input boxes
...
closes : #80
2024-12-17 19:15:20 +01:00
cbc8df69d3
feat: improve filter executable not found errors
2024-12-16 23:16:44 +01:00
a5849a7dab
refactor: eliminate generic InvalidArgument errors
...
InvalidArgument is too generic and makes tracking the source of the
error potentially difficult.
2024-12-12 17:02:11 +01:00
72e88ba6a3
refactor: no need to force const on allocated return values
2024-12-11 20:44:11 +01:00
9fba9eba3c
feat: add palette for changing the current file type
2024-12-10 20:10:36 +01:00
132518d1ba
fix: add '!' to non word chars
2024-12-10 09:49:05 +01:00
cc14934aa5
fix: improve movement behaviour of cursors on unindent
2024-12-09 18:12:21 +01:00
5e35824a22
fix: restore cursors if unindent fails
2024-12-06 23:21:45 +01:00
dbc4707001
fix: if selection starts at BOL when indenting keep it there after indenting
2024-12-06 21:26:10 +01:00
d26d830246
fix: move a cursor at the beginning of a line that is being indented
2024-12-06 21:20:04 +01:00
c282398d6e
feat: add - < > to non word chars list
2024-12-06 21:07:56 +01:00
28b256971a
fix: clamp cursor on restore_session
2024-12-05 20:23:25 +01:00
eddc074a23
Merge branch 'master' into keybind
2024-11-25 22:01:22 +01:00
b0a1b80acb
feat: add expand/shrink_selection and select_next/prev_sibling commands
2024-11-25 21:55:31 +01:00
6372beb762
refactor: rename command.get_id and add command.get_name
2024-11-21 17:55:03 +01:00
150374afae
feat: add argument metadata to (most) commands that take parameters
2024-11-21 17:34:11 +01:00
e172590ba8
feat: implement scroll_view_center_cycle to replace cmd_cycle3
2024-11-17 22:43:14 +01:00
ed843a9baf
fix: move system_paste command to mainview so it can be used when on editor is open
2024-11-17 22:01:10 +01:00
351412231f
refactor: run zig fmt
2024-11-17 20:47:25 +01:00