Nathan Sobo and Antonio Scandurra
cbc1d83067
Get worktree out of the way so we can try again
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-04-14 11:09:06 -06:00
Nathan Sobo
24cdfd2471
Identify Worktree entries by their inode
...
This will allow us to re-parent elements when re-scanning when the file system changes.
2021-04-13 20:09:41 -06:00
Nathan Sobo and Brooks Swinnerton
0a2d2aa684
Replace app/app_mut on contexts with AsRef/AsMut impls
...
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com >
2021-04-13 20:07:25 -06:00
Max Brunsfeld
b2723fd1dd
Remove unused variables
2021-04-12 11:45:41 -07:00
Max Brunsfeld
afa3f6dcd1
Add test coverage for edit event grouping in transactions
2021-04-12 11:45:41 -07:00
Max Brunsfeld
a0da23799d
Merge branch 'master' into undo-stack
2021-04-12 10:49:46 -07:00
Antonio Scandurra
8f6b8b2e43
📝
2021-04-12 19:05:56 +02:00
Antonio Scandurra
3a33fab091
Generate operation when updating selection set after undo/redo
2021-04-12 17:47:19 +02:00
Antonio Scandurra
59a9f0102f
Remove unnecessary edit_at method
2021-04-12 17:36:56 +02:00
Antonio Scandurra
be68af43fc
Add unit test for history manipulation (undo, redo, grouping)
2021-04-12 16:01:41 +02:00
Antonio Scandurra
606e6bed56
Simplify buffer history management
2021-04-12 16:01:41 +02:00
Antonio Scandurra
ab14b99a73
Introduce transactional edits and allow snapshotting of selections
2021-04-12 16:01:41 +02:00
Antonio Scandurra
40bfdd38ae
💄
2021-04-12 16:01:41 +02:00
Antonio Scandurra
551c86f87a
WIP: Start on pushing selection management down into Buffer
2021-04-12 16:01:41 +02:00
Antonio Scandurra
472ff1621f
Merge UndoHistory and History, storing also operations in the latter
2021-04-12 16:01:41 +02:00
Antonio Scandurra and Nathan Sobo
d0b06a2a1d
Don't clear redo stack when editing
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-12 16:01:41 +02:00
Antonio Scandurra
e534fe9112
Add initial support for undo/redo stack
...
We're still not capturing selections/anchors, that's right up next.
2021-04-12 16:01:41 +02:00
Nathan Sobo
4638391412
Remove MutableAppContext::downgrade
2021-04-10 00:14:26 -06:00
Nathan Sobo
97a8a8ed43
Remove unsafe code from App::test_async
...
I don't actually think it was correct to allow the future to borrow a mutable app reference. I went back to passing a wrapper around the refcell to async tests. They'll be a bit more annoying to write but also totally safe.
2021-04-10 00:05:09 -06:00
Max Brunsfeld
079050541f
Get app running and test passing after gpui App+Platform restructure
2021-04-09 16:56:32 -07:00
Nathan Sobo and Max Brunsfeld
4ecc17b1bb
WIP: Make App the only entry point from main
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-09 13:38:09 -06: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
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
0664321125
Add ability to debug element trees as JSON
2021-04-07 21:54:14 -06: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
Nathan Sobo
2a9e71d725
Vertically center glyphs in Line::paint based on ascender/descender for line
2021-04-06 09:15:21 -06: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
cded00cf29
Make backspace work correctly for empty selections
2021-04-02 16:20:40 -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