Commit Graph

8686 Commits

Author SHA1 Message Date
Nathan Sobo
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
0f157d5083 Silence warning in text example 2021-04-06 14:36:16 -07:00
Max Brunsfeld
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
Nathan Sobo
fc4135d55b Render example text in example via Line::paint 2021-04-06 09:15:21 -06:00
Nathan Sobo
765c3f9c18 Open platform window before first invalidation
This ensures we have an invalidation handler present so we render the first frame in all cases.
2021-04-06 09:15:21 -06:00
Nathan Sobo
a5b39220a4 WIP: Add example app to test text rendering 2021-04-06 09:15:21 -06:00
Antonio Scandurra
5f1f49b011 Reduce path atlas size by using a single channel for the texture 2021-04-06 13:53:20 +02: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
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
46f8665e41 Add save command
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-05 16:52:33 -07:00
Max Brunsfeld
c39c7c3eff Make background executor available on AppContext
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-05 16:45:55 -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
dba3c82530 Remove stray print statements 2021-04-02 15:00:20 -07:00
Max Brunsfeld
48d0402aa0 Add a github actions config file 2021-04-02 14:43:56 -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
575f5910fa Use a real FontSystem in test platform 2021-04-02 14:35:44 -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
Nathan Sobo
c43d7cfb39 Use a condvar instead of a channel to implement finish_pending_tasks
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 13:53:06 -06:00
Nathan Sobo
526a55d0d7 Complete finish_pending_tasks future when tasks are cancelled
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:42:23 -06:00
Nathan Sobo
fd1f75333f Initialize logger in gpui tests
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:42:01 -06:00
Nathan Sobo
2d79193fb6 Remove future/stream handlers when task is dropped
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:03:35 -06:00
Nathan Sobo
914cf37f37 Remove executor::ForegroundTask wrapper
Now that smol returns the same Task as async_task, we can simply re-export the async_task::Task struct from our executor module.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 11:02:09 -06:00
Nathan Sobo
d68a747754 Fix hanging finish_pending_tasks test
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 10:48:03 -06:00
Antonio Scandurra
72ced45df0 Remove unused edge_to_point calculation in quad shader 2021-04-02 13:53:11 +02: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
Nathan Sobo
995acefce5 Inset container contents to account for container border 2021-04-01 10:31:00 -06:00
Antonio Scandurra
e487aa5cbd Don't render glyphs located outside of BufferElement's bounds 2021-04-01 11:19:50 +02:00
Nathan Sobo
0b44cb04ee Fix links 2021-03-31 22:21:42 -06:00
Nathan Sobo
3831700ff4 Link to tracking issues 2021-03-31 21:59:55 -06:00
Nathan Sobo
f3fd670104 Add a README with a high-level roadmap 2021-03-31 21:53:33 -06:00
Nathan Sobo
c525d7c712 💄 naming 2021-03-31 20:43:15 -06:00
Max Brunsfeld
3bd6b92244 Introduce a GPUI test platform, get most tests running
There are still two tests that don't pass:
* `gpui::app::tests::test_finish_pending_tasks` hangs
* `editor::buffer_view::tests::test_fold` has an assertion failure
2021-03-31 17:03:58 -07:00
Max Brunsfeld
2efc90adc6 Ensure that path windings are rendered to the right atlas texture
Fixes #5
2021-03-31 14:52:41 -07:00
Antonio Scandurra
a9c428ad05 Remove Overdraw
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 17:58:43 +02:00
Antonio Scandurra
d5a9bab4a0 Fix tabs layout
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 17:57:00 +02:00
Antonio Scandurra
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
97e0db205d Don't blend alpha channels
We want to use the source alpha to determine the color of the final
pixel, but we want the final pixels to be fully opaque.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:24:28 +02:00
Antonio Scandurra
385d15cd0c Round clip bounds to whole pixels
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:23:37 +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