Commit graph

459 commits

Author SHA1 Message Date
Max Brunsfeld
48f9bc972a Box future outputs before passing them to async_task
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-01 11:13:17 -07:00
Max Brunsfeld
7577a2be32 Box futures before passing them to async_task APIs
This reduces the number of copies of each async_task function that get compiled.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-01 10:07:27 -07:00
Max Brunsfeld
24918b5cbc Remove type parameters from Cursor::seek_internal
Instead, use trait objects for the target dimension and aggregation
2021-09-30 17:17:33 -07:00
Max Brunsfeld
2b3e5945c6 Add key bindings to toggle the project panel
- Use `cmd-1` to open the project panel and toggle focus between it and the workspace center.
- Use `cmd-shift-1` to open or close the project panel.
2021-09-30 15:26:14 -07:00
Max Brunsfeld
ad92bfe79f Avoid duplicate notifications for the same entity in the same effect cycle
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-30 14:06:09 -07:00
Max Brunsfeld
5fb112ac4c Vertically align root folder in project panel with tabs and sidebar icons
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-30 13:30:24 -07:00
Max Brunsfeld
177306d494 Add 'overlay' property to border
For containers, this causes the border to be drawn on top of the child element.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-30 13:29:26 -07:00
Max Brunsfeld
e37ea6c6c8 Avoid rendering artifacts when label text is shaped with a non-integer width
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-30 13:28:45 -07:00
Antonio Scandurra
e030917769 Refine project panel styling 2021-09-29 11:32:06 +02:00
Nathan Sobo
14bc2c6857 Fix scrolling of project panel
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-28 12:26:15 -06:00
Nathan Sobo
a3f45c0d3b Merge branch 'worktree-cursor' into project-browser 2021-09-28 12:13:47 -06:00
Max Brunsfeld
ab31ddfc31 Allow seeking SumTree cursor by multiple seek types per dimension
Also, remove the cursor's sum_dimension. Replace it with a
blanket implementation of Dimension for two-element tuples
of dimensions.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-24 18:23:53 -07:00
Max Brunsfeld
443a7826bb Start work on expanding and collapsing directories in project panel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-24 15:12:49 -07:00
Antonio Scandurra
21daddb60e Retry test_wrap_shaped_line 5 times before reporting a failure
It doesn't seem like there's anything fundamentally broken and it
might just be something weird with CI. Also, there's precedent for
retrying tests depending on fonts, e.g. `test_layout_str`.
2021-09-23 18:32:39 +02:00
Antonio Scandurra
23d77e2b9f Refine people panel styling
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-22 17:02:50 +02:00
Max Brunsfeld
41a1514cec Add chainable Element methods for common containers
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-21 15:24:14 -07:00
Max Brunsfeld
b576397610 Vertically align avatars with labels in people panel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-21 15:09:31 -07:00
Max Brunsfeld
65a3af9bde Rerender list elements when they notify during events
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-21 12:20:32 -07:00
Antonio Scandurra
1bd6cd0978 Allow size to be specified in ImageStyle
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-21 18:27:26 +02:00
Antonio Scandurra
f8990b707a Style people panel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-21 18:13:02 +02:00
Nathan Sobo
edfed001de
Merge pull request #159 from zed-industries/tabs-cleanup
Clean up tabs styling
2021-09-20 09:16:08 -07:00
Nathan Sobo
1719d7da2a Suppress SVG loading errors in tests 2021-09-19 17:34:04 -07:00
Nathan Sobo
c7e2b6dacb Expand the hit area area around tab close icons 2021-09-18 10:37:32 -07:00
Nathan Sobo
9691267dc8 Only blink local cursors 2021-09-17 16:17:47 -07:00
Nathan Sobo
42bf88b52a Base soft wrapping on TextStyle instead of Settings 2021-09-17 15:39:19 -07:00
Nathan Sobo
f13a3544fc Move editor layout code into element
Now that most of the layout code is based on the EditorStyle struct, I think it makes more sense to put it in the element.
2021-09-16 16:43:43 -06:00
Nathan Sobo
4f0c9a3e31 Build workspace editor TextStyle from font fields in settings
We'll specify values in the theme but we'll only end up using the color for these editors.
2021-09-16 14:43:19 -06:00
Nathan Sobo
a1f0693599 Specify full TextStyles in EditorStyle 2021-09-16 14:12:38 -06:00
Antonio Scandurra
4a96a5c9ff Use a negative delta to scroll down in layout unit test for List 2021-09-16 11:46:53 +02:00
Max Brunsfeld
df4b5890fd Run fewer iterations of the gpui list test by default 2021-09-15 18:06:21 -07:00
Nathan Sobo
7e4d5b7d04 Clear cached credentials when establishing a websocket connection with an invalid token 2021-09-14 20:36:03 -06:00
Nathan Sobo
99a2dc4880 Render an offline icon in titlebar when connection is lost
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 17:47:43 -06:00
Nathan Sobo
0f415a594f Style avatar image with border and rounded corners
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:59:38 -06:00
Nathan Sobo
426d52d8c1 Mix quad border color with background color based on its alpha channel
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:59:09 -06:00
Nathan Sobo
b63b717eac Preserve aspect ratio when scaling images
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 16:39:35 -06:00
Max Brunsfeld
84d4bb6186 Introduce HttpClient trait, use it to fetch avatars in UserStore
* Add a FakeHttpClient for tests
2021-09-14 13:42:44 -07:00
Nathan Sobo
f0019e3725 WIP 2021-09-14 12:29:56 -06:00
Antonio Scandurra
bd4d73bb27 Extract image rasterization into ImageCache
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-14 18:11:59 +02:00
Antonio Scandurra
d15eda53f6 Use AtlasAllocator in SpriteCache
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-14 17:57:01 +02:00
Antonio Scandurra
95da665095 Allow passing a corner radius and borders to rendered images
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-14 17:49:11 +02:00
Antonio Scandurra
96ade8668f Start on image rendering 2021-09-14 16:48:44 +02:00
Antonio Scandurra
8de18b5a84 Re-join channel when reconnecting
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-09 15:34:46 +02:00
Max Brunsfeld
c3e29e0a2d Finish implementing DeterministicExecutor::advance_clock
* Start by running all non-timer futures to completion, to ensure that
  timers have a chance to be registered.
* Release executor's state lock before waking any timers
2021-09-08 11:27:30 -07:00
Antonio Scandurra
900010160f WIP
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-08 18:58:59 +02:00
Max Brunsfeld
08bac7b9a3 Introduce test-only Buffer::set_sync_parse_timeout
When testing buffer's asynchronous reparsing, set the sync
parse timeout to zero, so that we can exercise the async code path.
2021-09-07 16:23:49 -07:00
Max Brunsfeld
36fb559c03 Rework tabs
* Tabs are no longer flexible in width
* Move status icons to the left side of the tab
* The close button is always visbile for the active tab

Co-Authored-By: Nate Butler <nate@zed.dev>
2021-09-07 14:28:14 -07:00
Nathan Sobo
13143e64a2 Style resize handles
We want the draggable area to be larger than the visual appearance, so we added a padding facility to MouseEventHandler that enlarges the "hit area" by the specified padding.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-07 13:22:21 -06:00
Antonio Scandurra
7db78b3961 Merge branch 'chat' 2021-09-07 19:21:03 +02:00
Antonio Scandurra
d08ec438ed Make titlebar taller and position traffic lights accordingly
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-07 18:37:45 +02:00
Antonio Scandurra
a8011fcde4 Render underlines in front of paths and glyphs 2021-09-07 11:19:44 +02:00