Nathan Sobo
870925e2ac
Rerender tabs when buffers' file handles change
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-26 14:16:35 -07:00
Nathan Sobo and Max Brunsfeld
c9d7249305
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-23 11:37:23 -06:00
Nathan Sobo
db8cce9aa9
Merge branch 'master' into rescan
2021-04-14 22:26:09 -06:00
Antonio Scandurra and Nathan Sobo
f4538e9eb5
Generalize pasting when number of selections doesn't match clipboard's
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-14 19:02:44 +02:00
Antonio Scandurra
40980edffe
Merge branch 'master' into copy-paste
2021-04-14 12:05:52 +02:00
Antonio Scandurra
a1053f7820
📝
2021-04-14 11:59:39 +02:00
Antonio Scandurra
6a181ac692
Add test for copying/cutting/pasting full lines
2021-04-14 11:56:17 +02:00
Antonio Scandurra
4a395314b2
Handle paste correctly when there is only one full-line in the clipboard
2021-04-14 11:15:55 +02: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
e082935076
Handle 'full-line' clipboard items when pasting
2021-04-13 17:58:13 -07:00
Max Brunsfeld
c83f02dd04
Implement multi-selection copy/cut/paste
2021-04-13 17:28:51 -07:00
Antonio Scandurra and Max Brunsfeld
13514aae6c
Allow metadata to be associated with text written to clipboard
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-04-13 19:03:56 +02:00
Antonio Scandurra
f4c1ffc329
Start on copy-paste
2021-04-13 14:58:10 +02:00
Max Brunsfeld
b2723fd1dd
Remove unused variables
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
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
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
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
Max Brunsfeld
ae57178f3e
Restructure event-handling methods in workspace ItemView
2021-04-07 15:05:16 -07: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
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
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
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
Antonio Scandurra
e44ea6b379
Fix cursor blinking
2021-03-25 17:41:03 +01:00
Antonio Scandurra
0f6927eb4b
Re-export font_kit primitives from a new fonts module
...
...also, rename the old `fonts` to `font_cache`.
2021-03-25 10:58:33 +01:00
Antonio Scandurra
0906b2a2f4
Remove unused dependencies and avoid instantiating FontCache in tests
2021-03-25 10:48:32 +01:00
Antonio Scandurra and Nathan Sobo
9178e91cc0
Extract platform-dependant FontSystem
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-03-24 16:51:28 +01:00
Nathan Sobo
119aa452b6
Overhaul the entire element system
...
Now the Element trait is designed to be wrapped in a Lifecycle enum that gets placed inside an ElementBox. This allows the framework to store data on behalf of the Element implementation, such as sizes, bounds, and also implementation-specific LayoutState and PaintState types. This makes it easier to reason about which data is available in each Element method.
2021-03-21 20:54:23 -06:00
Nathan Sobo
cfe3aae2de
WIP: Get everything compiling again and keep window open
2021-03-19 12:12:10 -06:00
Nathan Sobo
605bdd62dd
WIP: Start on rendering scenes via presenter
2021-03-18 21:33:16 -06:00
Nathan Sobo
e809d6119a
Return tasks from spawn and spawn_stream
...
Also, eliminate the background spawning methods. We can spawn futures
on the executor and then spawn those on the app if we need to wait for
the result of running one.
2021-03-18 20:10:32 -06:00
Nathan Sobo
9bab29c72f
Get workspace module in and compiling
2021-03-18 15:52:46 -06:00
Nathan Sobo
171dd0c243
WIP
2021-03-18 13:17:25 -06:00