Commit graph

1090 commits

Author SHA1 Message Date
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
84655c4ff8
feat(buffers): add dirty state indicator to buffer switcher 2025-01-21 22:53:09 +01:00
3f06f6b19c
feat(buffers): add buffer switcher 2025-01-21 22:32:43 +01:00
efb3ab42fd
feat(buffers): add tracking of last modified and last used times for buffers 2025-01-21 21:59:55 +01:00
4dddadb46d
feat(buffers): add home screen save all command 2025-01-21 21:44:05 +01:00
661808f316
feat(buffers): render buffer dirty state in open recent files palette 2025-01-21 21:43:35 +01:00
aa1e0674cc
feat(buffers): move buffer lifetime management to new Buffer.Manager module 2025-01-21 21:42:36 +01:00
fbeaefe7ff
feat(buffers): add reset_to_last_saved buffer function 2025-01-21 21:40:51 +01:00
e404c830c9
feat(buffers): define explicit errors for Buffer store functions 2025-01-21 21:40:27 +01:00
ba5f15dab8
feat(buffers): define explicit errors for Buffer load functions 2025-01-21 20:23:47 +01:00
672f85a58c
build: make contrib/make_release callable from a different destdir 2025-01-21 12:51:45 +01:00
Jonathan Marler
99aefc8d22 remove direct2d dependency and update zigwin32
Since we removed the direct2d renderer we no longer need to reference
the direct2d-zig repository.  Instead we now directly reference the
zigwin32 repository.  I've also updated that repository with a few fixes
and additions which allowed us to remove some code from flow.
2025-01-21 08:40:44 +01:00
142f6e51ae
feat(tui): show screen dimentions on resize 2025-01-20 20:30:24 +01:00
4842002136
fix(win32 gui): translate mouse wheel events from screen to window coordinates 2025-01-20 19:55:18 +01:00
91eba39019
fix(win32 gui): prevent index out of bounds in d3d11.paint 2025-01-20 19:46:22 +01:00
102a00098e
build: update thespian for minor performance improvements 2025-01-20 19:45:44 +01:00
feca5e8fd9
build: always optimize dependencies (again) 2025-01-20 16:40:46 +01:00
29f8b4680d
fix: disable mouse_idle_timer
It's not very important and it's too spammy which makes debug builds slow.
2025-01-20 15:49:16 +01:00
51e8e9c1ab
build: update zig-tracy to support win32 2025-01-20 15:33:52 +01:00
5b5fd26bdf
feat(win32 gui): add tracy zones to win32 gui renderer 2025-01-20 15:07:42 +01:00
Jonathan Marler
620e44ef02 win32 gui: fix high cpu usage, validate window in WM_PAINT
Looks like I probably accidently removed the calls to BeginPaint and
EndPaint in WM_PAINT, which, would cause the OS to think that the
window contents are never validated and will continuously send us WM_PAINT
messages.  I've added these back in and now flow is back to low CPU usage
especially when idle.
2025-01-20 14:56:32 +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
386094001d
fix(vim-mode): prefer smart_move_begin of vim normal mode 'I' binding 2025-01-19 14:17:29 +01:00
e705d4ba01
fix(vim-mode): vim-mode bindings to enter insert mode 2025-01-19 14:15:44 +01:00
7dd61c4ba5
fix(keybind): provide fallback handling for legacy terminals the don not provide shifted key info 2025-01-19 14:05:36 +01:00
70c4c78138
feat(vim-mode): simplify vim mode bindings 2025-01-19 14:04:33 +01:00
42bc301426
fix(win32 gui): fix windows build broken by rename_symbol 2025-01-19 14:03:38 +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
edwloef
9ed9ec6360 add systemverilog lsp and formatter 2025-01-18 17:07:04 +01:00
f61c6c7f87
fix: cancel when clicking outside of a palette instead of activating the current item 2025-01-18 12:52:55 +01:00
0eec33c35e
fix: remove incomplete add_split bindings 2025-01-17 21:14:25 +01:00
48efa5536f
fix: use after free on fast project switching 2025-01-17 21:13:47 +01:00
d2735a5dd7
fix: prevent an integer overflow in editor.cancel_all_selections() on project switch 2025-01-17 20:52:34 +01:00
e1b1591167
feat(win32 gui): add font selection palette
closes #102
2025-01-17 20:32:20 +01:00
Jonathan Marler
3e953981fe win32 gui: add Fonts type to get list of available fonts
Adds a Fonts type the render interface.  Here's an example of how
you could use this in `gui.zig`:

```zig
    const fonts = render.Fonts.init();
    defer fonts.deinit();
    const count = fonts.count();
    std.log.info("{} fonts", .{count});
    for (0..count) |font_index| {
        const name = fonts.getName(font_index);
        std.log.info("font {} '{}'", .{ font_index, std.unicode.fmtUtf16Le(name.slice()) });
    }
```
2025-01-17 16:19:19 +01:00
04b77b4d28
fix(lsp): rename_symbol: convert columns to byte offsets and back 2025-01-17 15:56:46 +01:00
c8aa40895e
build(version): add tracking branch and upstream to version output 2025-01-17 13:02:30 +01:00
61d9f583a8
feat(emacs): add lsp-mode emacs keybindings 2025-01-17 12:33:02 +01:00
f659fcf586
feat(lsp): rename_symbol: add checks to file uri decoding 2025-01-16 23:40:10 +01:00
00efee6c02
fix(lsp): rename_symbol: fix error.InvalidMessage on multifile responses 2025-01-16 23:24:48 +01:00
155c1f663d
feat(lsp): rename_symbol: treat out-of-file edits as references 2025-01-16 23:02:52 +01:00
a449e0ec97
feat(lsp): rename_symbol: add cursors at rename points for interactive rename 2025-01-16 22:23:03 +01:00
e597fee2e5
feat(lsp): rename_symbol: decode and normalize file uri 2025-01-16 22:22:34 +01:00