Commit Graph
950 Commits
Author SHA1 Message Date
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 ScandurraandNathan 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 ScandurraandNathan 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 ScandurraandMax 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 ScandurraandNathan 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 BrunsfeldandNate 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 BrunsfeldandNate 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 BrunsfeldandNate 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 SoboandMax 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 SoboandMax 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 SoboandMax 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 SoboandMax 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 ScandurraandNathan 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 BrunsfeldandNathan Sobo 9346aa300d Start work on underlined text
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-06 15:36:09 -07:00
Max BrunsfeldandNathan 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 BrunsfeldandNathan 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 ScandurraandNathan 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 ScandurraandNathan 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