Max Brunsfeld
c58e335b87
Make UpdateBuffer a request, store unsent operations on worktree
2021-09-09 11:26:06 -07:00
Max Brunsfeld
38bfaba135
Add a generic Ack message, use it instead of Pong
...
Remove the `id` field from `Ping`, because it isn't used.
There is already an id on the message envelope.
2021-09-09 11:24:16 -07:00
Antonio Scandurra
000305472a
Minor stylistic changes
2021-09-09 19:51:26 +02:00
Antonio Scandurra
b3aad5d333
💄
2021-09-09 17:45:33 +02:00
Antonio Scandurra
8fb58e09d8
Remove channel disconnection unit test
...
...as that's already covered by the integration test.
2021-09-09 17:00:55 +02:00
Antonio Scandurra and Nathan Sobo
d08ec8bd53
Reduce backoff and add some jitter to avoid thundering herd issues
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-09 17:00:18 +02:00
Antonio Scandurra and Nathan Sobo
8de18b5a84
Re-join channel when reconnecting
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-09 15:34:46 +02:00
Antonio Scandurra
156fd4ba57
Add integration test simulating killing a connection while chatting
2021-09-09 13:27:44 +02:00
Antonio Scandurra
ad7631de9f
Refactor and write a simple unit test to verify reconnection logic
2021-09-09 11:00:43 +02:00
Max Brunsfeld
6baa9fe37b
WIP - Start work on reconnect logic
2021-09-08 18:20:32 -07:00
Max Brunsfeld
edbd424b75
Introduce test-only APIs for configuring how Client reconnects
2021-09-08 18:19:59 -07:00
Max Brunsfeld
b6eac57f63
Introduce a concrete Conn type for peer's websocket connection
...
This is mostly to set us up to test the rpc::Client's reconnect
logic.
There are multiple ways that the `rpc::Client` may establish
its websocket connection: (SSL in production, plain TCP during
local development, and using an in-memory connection for tests).
Now we can represent all of those connections using a common type.
Also, several long methods no longer need to be generic, which
is good for compile time.
2021-09-08 18:14:47 -07: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 and Max Brunsfeld
900010160f
WIP
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-09-08 18:58:59 +02:00
Antonio Scandurra
a3bbf71390
🎨
2021-09-08 17:10:48 +02:00
Antonio Scandurra and Nathan Sobo
6c3551bff1
Use watch::Sender::borrow_mut instead of send
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-08 17:09:58 +02:00
Antonio Scandurra
af6e931da7
Start on a Client::status method that can be observed
2021-09-08 15:58:16 +02:00
Nate
4cdca65fc0
Update Zed UI for 0.2 release
...
* changes to padding, spacings and borders
* Fix incorrect borders on titlebar and sidebars
* QA pass on all themes, base font size -> 15
* Changed the max size of the file_finder
* Hid file_finder icons
* Modified the size of tab status indicators
* Made the default sidebar size bigger
2021-09-07 20:02:27 -04: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
Nate
bdf30f1a77
Change default theme from dark to black
2021-09-07 18:42:31 -04:00
Max Brunsfeld and Nate Butler
64cdf7cdd1
Make pane divider stylable in theme
...
Co-Authored-By: Nate Butler <nate@zed.dev >
2021-09-07 15:04:29 -07:00
Max Brunsfeld and Nate Butler
d2bfae5fe1
Make selectors stylable via theme
...
* input editor container style
* "no matches" message style
Co-Authored-By: Nate Butler <nate@zed.dev >
2021-09-07 14:42:19 -07:00
Max Brunsfeld and Nate Butler
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 and Max Brunsfeld
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
Nathan Sobo and Max Brunsfeld
8085e74b98
Style the left and right sidebars independently in the theme
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-09-07 13:02:43 -06:00
Nathan Sobo and Max Brunsfeld
59931a472b
Style titlebar via theme and give it a bottom border
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-09-07 12:52:10 -06:00
Nathan Sobo and Max Brunsfeld
b29e673c43
Set sidebar icon heights via theme
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-09-07 12:45:48 -06:00
Antonio Scandurra and Nathan Sobo
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
c4dac3c6b1
Open a window with an empty buffer when launching zed with no args
2021-09-07 15:00:24 +02:00
Antonio Scandurra
058691d2b2
Focus chat input editor after signing in
2021-09-07 13:57:30 +02:00
Antonio Scandurra
09bb42c168
Show "sign in" prompt when opening the chat panel while signed out
2021-09-07 12:27:43 +02:00
Max Brunsfeld and Nathan Sobo
9346aa300d
Start work on underlined text
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-06 15:36:09 -07:00
Max Brunsfeld and Nathan Sobo
8e5c709057
Block for up to 1ms when reparsing
...
This way, we'll avoid rendering two frames on edits that lead to fast reparses.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-06 12:50:38 -07:00
Max Brunsfeld and Nathan Sobo
11b8577d1b
Update FoldMap snapshot versions when only the parse tree changes
...
even if the buffer's text has not changed
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-06 11:57:55 -07:00
Antonio Scandurra
94959d18c4
Load embedded fonts when initializing settings
2021-09-06 14:08:42 +02:00
Antonio Scandurra
6e71c43d29
Delete Editor::newline and just use the Insert action
2021-09-06 13:17:44 +02:00
Antonio Scandurra
2aadc97126
Simplify how we determine if enter should insert a newline or propagate
2021-09-06 13:08:19 +02:00
Antonio Scandurra
ffc873252e
Rename BufferView to Editor in ui_name
2021-09-06 12:51:11 +02:00
Antonio Scandurra
77d1574679
Pass how many lines the editor should expand to in auto height mode
2021-09-06 12:50:04 +02:00
Antonio Scandurra
cb62d53b49
Return errors instead of panicking when interacting with the keychain
...
Closes #134
2021-09-06 10:40:19 +02:00
Antonio Scandurra
00f6bdcb24
Bundle and use Inconsolata v2.012
...
There's a newer version of the font available but ligatures seem
broken googlefonts/Inconsolata#58 and googlefonts/Inconsolata#52 .
As part of this commit I also upgraded rust-embed to use the new
exclusion feature, which allows us to skip embedding OS files like
`.DS_Store`.
2021-09-04 17:02:20 +02:00
Antonio Scandurra and Nathan Sobo
e9d50159ee
Add a min width for the ChatPanel
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-03 17:56:07 +02:00
Antonio Scandurra and Nathan Sobo
f0775aeebc
Rename Hooks to Hook
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-09-03 17:56:01 +02:00
Antonio Scandurra
0ae70b62cb
Use on_after_layout to cap the rendered sidebar item's width
2021-09-03 17:19:57 +02:00
Antonio Scandurra
1b8ea08377
Exclude selections from editor splits in Editor::active_selection_sets
2021-09-03 14:54:24 +02:00
Antonio Scandurra
bd13584807
Clone Editor::build_style on split
2021-09-03 14:40:31 +02:00
Antonio Scandurra
2320205911
Update theme selector matches when search query changes
2021-09-03 13:23:28 +02:00
Antonio Scandurra
4c7eaaebb1
Use Flexible in file finder and theme switcher instead of Expanded
2021-09-03 13:20:41 +02:00
Antonio Scandurra
776f7dd5a9
Add a new Hooks element to invoke a callback before layout
...
This is useful to cap the width of sidebars when dragging the
resize handles beyond the maximum bounds of the sidebar.
2021-09-03 12:18:31 +02:00
Antonio Scandurra
a0dd41cdf6
Add a Flexible element that works like in Flutter
2021-09-03 11:40:18 +02:00