Max Brunsfeld
00d7dafbba
Merge branch 'master' into menus
2021-04-09 10:34:21 -07:00
Antonio Scandurra
07b8a105a6
Merge pull request #11 from zed-industries/undo
...
Introduce undo/redo support for arbitrary operations in `Buffer`
2021-04-09 18:50:36 +02:00
Antonio Scandurra
cba8730d5a
Don't report edits in Buffer::undo_or_redo
...
We will report them in public higher-level methods like `Buffer::undo`
and `Buffer::redo`.
2021-04-09 14:15:17 +02:00
Antonio Scandurra
bf3a5d0a0d
Move UndoMap down
2021-04-09 11:25:28 +02:00
Antonio Scandurra
4d9ff1109a
Exercise arbitrary undos/redos in single-peer buffer randomized test
2021-04-09 11:22:25 +02:00
Antonio Scandurra
2e7ca8ea46
Store only max undo by replica instead of individual undos in Fragment
2021-04-09 11:22:25 +02:00
Antonio Scandurra
7b6fbe1d89
Compute minimal version_in_range on edit and account for undo
2021-04-09 11:22:22 +02:00
Max Brunsfeld
7ebcbdc0cb
Implement File > Open menu item
2021-04-08 22:25:54 -07:00
Max Brunsfeld
334de06322
Create an API for assigning the menubar contents
2021-04-08 16:01:36 -07:00
Antonio Scandurra
c20935de91
WIP
2021-04-08 16:57:46 +02:00
Antonio Scandurra
5e0d5b7f9a
Fix Debug impl for Text to only display the slice a Text refers to
...
...as opposed to the whole string.
2021-04-08 15:05:33 +02:00
Antonio Scandurra
44ab38ac98
Introduce undo/redo support for arbitrary operations in Buffer
2021-04-08 15:05:05 +02:00
Nathan Sobo
9f6f27f305
Order debug JSON and allow elements to be named; copy to clipboard
2021-04-07 21:54:14 -06:00
Nathan Sobo
cbb23a93a6
Log prettified element debug JSON to on cmd-alt-i
2021-04-07 21:54:14 -06:00
Nathan Sobo
0664321125
Add ability to debug element trees as JSON
2021-04-07 21:54:14 -06:00
Max Brunsfeld
187eb95b13
Throw a little between filename and modified icon
...
We probably need a primitive to right-align an element within
its parent, but I don't have strong opinions about how that
should be designed, so I'm just adding this as a temporary
measure so that the tabs won't look too ugly in the meantime.
2021-04-07 15:39:09 -07:00
Max Brunsfeld
ae57178f3e
Restructure event-handling methods in workspace ItemView
2021-04-07 15:05:16 -07:00
Max Brunsfeld
a95d33f662
Add assertions about Dirtied events in test
2021-04-07 14:52:22 -07:00
Nathan Sobo
05125f76bd
Fix tests
2021-04-06 20:59:55 -06:00
Nathan Sobo
3f9d224e0f
persisted_version -> saved_version
2021-04-06 20:59:44 -06:00
Nathan Sobo and Max Brunsfeld
2619bc4602
Update modified status by emitting event whenever buffer is dirtied or saved
...
I used the word "dirty" because it felt more expressive than "modified" to me, but not married to it. Tagging Max because we did a lot of this thinking together.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-06 20:46:35 -06:00
Max Brunsfeld
d724387158
wip
2021-04-06 18:25:50 -07:00
Max Brunsfeld
685665f3c0
Implement Buffer::is_modified by storing persisted version
2021-04-06 16:19:17 -07:00
Max Brunsfeld
bd37b11306
Update tab's modified icon via a saved event emitted from buffer
2021-04-06 15:47:05 -07:00
Max Brunsfeld
dabd6abe37
Start work on displaying modified status in tabs
2021-04-06 14:37:21 -07:00
Max Brunsfeld and Nathan Sobo
c632aab382
Vertically center linebox child element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-06 13:03:19 -07:00
Nathan Sobo
2a9e71d725
Vertically center glyphs in Line::paint based on ascender/descender for line
2021-04-06 09:15:21 -06:00
Antonio Scandurra
e0c43dac25
Implement SVG rendering
2021-04-06 13:46:33 +02:00
Nathan Sobo
2970e934da
Use handles to obtain entities in future callbacks
...
This guarantees that the spawning entity will be present and simplifies
the logic for obtaining the entity. Now we can forward the results of spawned futures and streams in the same way regardless of whether what spawned them was a model or a view.
2021-04-05 20:04:04 -06:00
Max Brunsfeld and Nathan Sobo
fda1394057
Rename Task -> EntityTask (a BackgroundTask is just a Task)
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-05 17:03:42 -07:00
Max Brunsfeld and Nathan Sobo
46f8665e41
Add save command
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-05 16:52:33 -07:00
Max Brunsfeld
fabc19402a
Resurrect commented-out worktree test
2021-04-05 09:12:19 -07:00
Max Brunsfeld
cded00cf29
Make backspace work correctly for empty selections
2021-04-02 16:20:40 -07:00
Max Brunsfeld
a5252937a9
Add fallback UI fonts that are installed by default on macOS
2021-04-02 15:48:37 -07:00
Max Brunsfeld
6a979ff729
Ensure that the assets dir exists with a .gitkeep file
2021-04-02 15:28:09 -07:00
Max Brunsfeld
32500e21f6
Silence sum_tree warnings
...
* Remove unused enum variant
* Add #[allow(unused)] for non-trivial methods
2021-04-02 14:39:56 -07:00
Max Brunsfeld
dd31b870c3
Remove small pieces of unused code
2021-04-02 14:26:53 -07:00
Max Brunsfeld
ce6ca13b13
Fix buffer folding test
2021-04-02 14:04:35 -07:00
Antonio Scandurra
d10fc6ce3f
Fix crash when selections exceed the container's bounds
2021-04-02 13:49:44 +02:00
Antonio Scandurra
ae447ca1d9
Layout lines and line numbers sequentially
...
Doing things in parallel has a constant factor associated with it (e.g.,
spawning threads and coordinating them) that dwarves its benefits on a
code path like this where things take < 2-3ms when done sequentially.
2021-04-02 10:20:29 +02:00
Antonio Scandurra
e487aa5cbd
Don't render glyphs located outside of BufferElement's bounds
2021-04-01 11:19:50 +02:00
Antonio Scandurra and Nathan Sobo
d5a9bab4a0
Fix tabs layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 17:57:00 +02:00
Antonio Scandurra and Nathan Sobo
c55d99022e
Handle non-precise scroll events in BufferElement
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-31 16:25:21 +02:00
Antonio Scandurra
d853dbb048
Render borders correctly when only a subset of the border is visible
2021-03-31 14:53:34 +02:00
Nathan Sobo and Max Brunsfeld
dbf9a5a466
Restore blink_cursors
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 18:12:45 -06:00
Nathan Sobo and Max Brunsfeld
77b6a29f5f
Optimize grouping of path sprites by layer/atlas
...
Avoid filtering sprites redundantly on every layer and allocating intermediate vectors to group by atlas.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 18:03:00 -06:00
Nathan Sobo and Max Brunsfeld
4cdce070c4
Reduce selection corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 16:57:21 -06:00
Nathan Sobo and Max Brunsfeld
02ace16176
Handle selection corners that are smaller than the corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-03-30 16:21:24 -06:00
Max Brunsfeld
011d4d8437
wip
2021-03-30 12:36:18 -07:00
Max Brunsfeld and Nathan Sobo
f8cc3996b2
Paint selections using new path API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-30 11:52:58 -07:00