Nathan Sobo
ab8204368c
Rename zed-server to collab
...
Over time, I think we may end up having multiple services, so it seems like a good opportunity to name this one more specifically while the cost is low. It just seems like naming it "zed" and "zed-server" leaves it a bit open ended.
2022-04-09 08:30:42 -06:00
Nathan Sobo
af674e1c00
Merge pull request #770 from zed-industries/better-settings-schema
...
Improve Settings Completions
2022-04-09 08:23:58 -06:00
Nathan Sobo
56fcffb634
Remove unused imports
2022-04-09 07:55:23 -06:00
Nathan Sobo
17195e615e
Merge pull request #781 from zed-industries/structured-logging
...
Introduce structured logging
2022-04-09 07:40:24 -06:00
Max Brunsfeld
fd4b81c8fc
Allow actions to be deserialized from JSON
...
Introduce separate macro for implementing 'internal' actions which
are not intended to be loaded from keymaps.
2022-04-08 15:47:51 -07:00
Max Brunsfeld
ed2b690b9e
Merge branch 'main' into namespace-actions
2022-04-08 11:48:43 -07:00
Nathan Sobo
8a7d3ea82a
Merge pull request #778 from zed-industries/test-random-disconnect
...
Introduce host disconnection in randomized collaboration test
2022-04-08 11:36:39 -06:00
Nathan Sobo
b507e21831
Enable JSON logging at the trace log level in K8s
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-08 10:08:52 -06:00
Nathan Sobo
7e5a3f9f6b
Introduce structured logging
...
We're enabling the log crate feature everywhere, but only using it on the server for now.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-08 10:06:51 -06:00
Antonio Scandurra
53a7f9c43e
Introduce a timeout when processing incoming messages
...
We have an hypothesis that the server gets stuck while processing
an incoming message, either because the buffer fills up or because
a handler never completes. This should mitigate that and, once we
add logging, give us some clue as to what is causing it exactly.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-08 16:21:39 +02:00
Antonio Scandurra
0b1fda3e13
Remove postage
from zed-server
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-08 16:14:54 +02:00
Antonio Scandurra
24cb44fb00
Remove postage
from rpc
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-08 16:13:37 +02:00
Antonio Scandurra
32fd4eb3ac
Insert project id in connection's project during project registration
...
...in contrast to doing so during worktree registration. This fixes a
randomized test failure which would panic because store invariants would be
violated. This would happen when a peer disconnected before it had a chance
to register a worktree because, when removing all the state associated with
that peer upon disconnection, we would notice the registered project without
however finding it in the peer's connection state.
2022-04-08 14:41:56 +02:00
Antonio Scandurra
222cd09838
Allow host to reconnect to the server in randomized test
2022-04-08 14:41:30 +02:00
Antonio Scandurra
c994263225
Don't insert an empty vector in Project::buffer_snapshots
...
Other code paths rely on at least a version always being there, so
we should enforce that invariant everywhere.
2022-04-08 14:14:45 +02:00
Antonio Scandurra
663beab1b9
Avoid panicking when receiving a request for a dropped buffer
2022-04-08 12:10:45 +02:00
Antonio Scandurra
3daaef02ca
Replace postage::oneshot
with futures::channel::oneshot
...
This fixes an error in the randomized test that would cause the future
returned from `Worktree::share` to never finish due to a bug in `postage`
that causes its waker to not be notified upon drop.
2022-04-08 12:03:09 +02:00
Antonio Scandurra
da976012a9
Allow simulate_guest
and simulate_host
to fail when host disconnects
2022-04-08 11:29:00 +02:00
Antonio Scandurra
fae9048a2a
Remove non-determinism from Peer
caused by using std's HashMap
2022-04-08 11:28:19 +02:00
Keith Simmons
3e40b5bead
dynamically inject theme names and language properties into schema
2022-04-07 18:15:02 -07:00
Max Brunsfeld
c801a52492
Convert some actions to use named fields
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-07 16:44:37 -07:00
Max Brunsfeld
5242a3a6dc
Restructure action macro to assign a namespace to every action
...
Also, allow arbitrary types to be used as Actions via the impl_actions macro
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-07 16:20:49 -07:00
Keith Simmons
035cd37aa8
Add explicit types for LanguageOverrides and Themes to SettingsFileContent in order to improve completions in zed settings file
2022-04-07 16:00:51 -07:00
Max Brunsfeld
206b0f0f8c
0.25.0
2022-04-07 12:03:43 -07:00
Nathan Sobo
717f53e3d2
WIP
2022-04-07 09:29:47 -06:00
Antonio Scandurra
0b8eed64ad
Merge pull request #765 from zed-industries/yield-lsp
...
Don't starve UI thread when rapidly receiving LSP messages
2022-04-07 17:15:19 +02:00
Nathan Sobo
80d55fd3d8
Don't starve UI thread when rapidly receiving LSP messages
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-07 08:30:42 -06:00
Antonio Scandurra
b396909035
Calculate hitbox based on visible bounds in {Mouse}EventHandler
...
This is in contrast to not dispatching the event altogether in `Flex` when
the event is not contained in the flex element bounds. That approach was
problematic because it didn't give an opportunity to `MouseEventHandler`s
to handle mouse move events when they didn't intersect with the element bounds,
causing elements to never clear their hover state, cursor style, etc.
2022-04-07 15:12:09 +02:00
Antonio Scandurra
73f2fd6b09
Pass visible bounds to Element::dispatch_event
2022-04-07 15:10:09 +02:00
Antonio Scandurra
ae415ee49b
Merge pull request #763 from zed-industries/inconsistent-diagnostic-state
...
Fix bad diagnostic state when restarting a language server w/ a running diagnostic task
2022-04-07 09:54:00 +02:00
Antonio Scandurra
7c21b61ad9
Merge pull request #748 from zed-industries/fix-outline-panic
...
Don't assume there are always matches in outline view
2022-04-07 09:49:13 +02:00
Antonio Scandurra
52251c3463
Merge pull request #745 from zed-industries/scroll-tabs
...
Allow pane tabs to be scrolled when they overflow
2022-04-07 09:48:54 +02:00
Max Brunsfeld
f73de202d0
Fix diagnostic updates after restarting an LSP w/ a pending diagnostic job
2022-04-06 22:02:27 -07:00
Max Brunsfeld
b354af7bda
Use an unbounded channel in gpui test helper methods
...
The bounded channel could fill up when many events were emitted in one
effect cycle.
2022-04-06 22:02:04 -07:00
Max Brunsfeld
ec837fa6d7
Update breadcrumbs when multibuffers' excerpts change
2022-04-06 17:12:36 -07:00
Max Brunsfeld
8f38ac8270
Tweak structure of Project::on_lsp_progress so it can be auto-formatted
...
Previously, rustfmt seems to have given up on formatting this method.
2022-04-06 16:35:58 -07:00
Max Brunsfeld
ea63df0519
Don't activate the next pane when opening excerpts
2022-04-06 15:46:11 -07:00
Keith Simmons
67b15ee037
Use language specific tabsize in editor commands
...
Co-authored-by: Max Brunsfeld <max@zed.dev>
2022-04-06 15:10:29 -07:00
Keith Simmons
1812480cbb
Tab size is pulled properly from settings instead of hardcoded
2022-04-06 10:23:37 -07:00
Max Brunsfeld
866ffdd4ae
Move Settings to its own crate
...
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-06 10:23:33 -07:00
Max Brunsfeld
664f17f92b
Avoid maintaining indent size as state on buffers
...
Indent size is still hard-coded, but it's now controlled by the
editor and not the buffer.
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-06 10:22:29 -07:00
Nathan Sobo
0214bec7f4
Don't dispatch events to flex children outside of parent flex's bounds
2022-04-06 10:59:03 -06:00
Nathan Sobo
e21f90fec5
Merge pull request #747 from zed-industries/styles-in-typescript
...
Style the Zed app using Typescript styleTrees and Design Tokens
2022-04-06 10:39:10 -06:00
Nate Butler
b1eda1ac39
Add border to top of status bar
2022-04-06 12:25:15 -04:00
Nathan Sobo
ca64b081fe
Don't assume there are always matches in outline view
2022-04-06 09:33:47 -06:00
Antonio Scandurra
d7342e2875
Use Pane::activate_item
when navigating to remove duplicated logic
2022-04-06 09:31:54 +02:00
Antonio Scandurra
1453954ef4
Autoscroll to active tab when activating a new item
2022-04-06 09:08:44 +02:00
Nate Butler
e201826d00
Update Light & Dark themes
2022-04-06 01:46:10 -04:00
Nathan Sobo
eb99588368
Remove stray dbg! expressions
2022-04-05 20:02:45 -06:00
Nathan Sobo
ab3bbe1e17
Make the tabs scrollable when they overflow
...
This adds the ability to make a Flex element scrollable by passing a type tag and instance id, which we use to store the scroll position in an ElementStateHandle.
Still need to allow the element to auto-scroll.
2022-04-05 19:58:15 -06:00
Nathan Sobo
025d857be8
Make UniformListState an Rc<RefCell<>> instead of an Arc<Mutex<>>
...
We don't need to support multiple threads.
2022-04-05 18:40:25 -06:00
Nate Butler
2a2c4071f4
Update light syntax theme and highlights, player selections
2022-04-05 18:49:17 -04:00
Nate Butler
35f56708f5
Update light theme, change player 3 color
...
- Changed player 3 color to be less similar to player 1
2022-04-05 18:23:01 -04:00
Nathan Sobo
aeb0b42c7a
Report more information when we panic due to an allocation failure
2022-04-05 13:53:13 -06:00
Nathan Sobo
4f4364d510
Ensure we drop the last pane item
...
Previously, we weren't updating the toolbar's active item when emptying out a pane. This enhances an integration test to ensure that we don't hold references to any editors or buffers once we close everything.
2022-04-05 13:05:14 -06:00
Nathan Sobo
41a27e6925
💄
2022-04-05 12:09:40 -06:00
Nathan Sobo
e2bf89b1e8
Don't require a path in TestAppContext::dispatch_action
...
Instead, derive it from the presenter. This makes tests easier to write and more reliable since we'll be accurately simulating the actual relationship between parent and child views.
2022-04-05 12:08:25 -06:00
Nathan Sobo
3da8f7f944
Fix dispatch path in test
2022-04-05 11:55:29 -06:00
Antonio Scandurra
c3b947ca26
Show unsaved/conflict prompt only when closing the last tab for an item
...
Also, ensure we show the correct prompt when files have conflicts.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-05 19:38:27 +02:00
Nate Butler
d21dea6112
Squashed commit of the following:
...
commit 66d4cbae2ca6d7dd660688d7eb702ae55bf3e0ca
Author: Nate Butler <iamnbutler@gmail.com>
Date: Tue Apr 5 13:33:33 2022 -0400
WIP: Improve legibility of contactsPanel and fix errors
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
commit 000319c583801c5ba4ed7884bbf3da2a591e3f26
Author: Nate Butler <iamnbutler@gmail.com>
Date: Tue Apr 5 13:13:32 2022 -0400
WIP
2022-04-05 13:34:06 -04:00
Antonio Scandurra
cac0dddb1b
Restructure item closing to take the Workspace
instead of the Pane
2022-04-05 19:12:17 +02:00
Antonio Scandurra
939def42e3
v0.24.1
2022-04-05 16:23:27 +02:00
Antonio Scandurra
cc45658b2d
Clear diagnostics from buffer when unregistering it from language server
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-05 16:01:33 +02:00
Antonio Scandurra
7e3cc67e0a
Don't reuse old syntax tree when resetting a buffer's language
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-05 16:01:05 +02:00
Antonio Scandurra
5c7f2bb029
Close and re-open buffer in language server when it gets renamed
2022-04-05 15:15:43 +02:00
Antonio Scandurra
9188f51993
Add unit test to illustrate how language server renames should work
2022-04-05 14:47:37 +02:00
Antonio Scandurra
5ef484c9a1
Update followers when navigating back and forth
2022-04-05 10:42:35 +02:00
Nathan Sobo
66544d54f2
Drop borrow to window state before calling beginSheetModalForWindow
...
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
2022-04-04 16:18:28 -06:00
Keith Simmons
05a05157fa
Move style source files to src and build to dist
...
Co-authored-by: Nate Butler <nate@zed.dev>
2022-04-04 14:43:13 -07:00
Nathan Sobo
6a1be11aa6
Wait to create access token until we impersonate a user
...
We need to wait to create the token until we decide on whether we're impersonating a different user, otherwise we'll create the token for the original user and the impersonated user won't be able to authenticate.
2022-04-04 15:07:55 -06:00
Nate Butler
3dc99a8743
Update dark, light themes.
2022-04-04 12:14:00 -07:00
Nate Butler
90df8a31e7
Fix incorrect ramp preset values in color.ts
...
- Regenerate themes and tokens as well
2022-04-04 12:14:00 -07:00
Nate Butler
631d8d0344
Refined dark theme styles
2022-04-04 12:14:00 -07:00
Nate Butler
c374fd2f54
WIP
2022-04-04 12:14:00 -07:00
Nate Butler
381d50bac6
WIP
2022-04-04 12:14:00 -07:00
Nathan Sobo
391aed3d66
Start loading new theme JSON format instead of TOML
...
Replaced remaining extends with javascript object extension.
Moved tokens/core.ts to tokens.ts and massaged the types to make it more
obvious when types don't match up.
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-04-04 12:13:59 -07:00
Antonio Scandurra
cbf6d827db
v0.24.0
2022-04-04 15:09:31 +02:00
Antonio Scandurra
c62a3ea672
Merge pull request #687 from zed-industries/vim-word-and-line-movement
...
Add word and line movement in vim normal mode
2022-04-04 14:42:27 +02:00
Antonio Scandurra
328be473e5
Rename sub_mode
to submode
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-04-04 14:14:21 +02:00
Nathan Sobo
9702ab0075
Merge pull request #719 from zed-industries/misc-breadcrumbs-bugs
...
Fix miscellaneous breadcrumbs bugs
2022-04-04 05:42:55 -06:00
Nathan Sobo
9ce19a2ea1
Merge pull request #723 from zed-industries/save-as-on-close
...
Prompt to save untitled buffers when closing them if they are dirty
2022-04-04 05:38:53 -06:00
Antonio Scandurra
dee416bdbe
Avoid text insertion when holding down the fn
key
2022-04-04 11:13:35 +02:00
Antonio Scandurra
089b0e8e0f
Remove duplicate activation logic when removing items from pane
2022-04-03 13:00:39 +02:00
Antonio Scandurra
80b599c4ef
Prompt to save untitled buffers when closing them while they are dirty
2022-04-03 12:43:33 +02:00
Antonio Scandurra
b0b54365c7
Re-render breadcrumbs when buffer has been reparsed
2022-04-02 16:33:24 +02:00
Antonio Scandurra
d0a17f8c2c
Update toolbar and automatically unfollow when navigating back and forth
2022-04-02 16:32:50 +02:00
Antonio Scandurra
c39de1f9dc
Show full path for file worktrees or when there is more than 1 worktree
2022-04-02 16:10:10 +02:00
Antonio Scandurra
9225629208
Re-render breadcrumbs on save or when the editor title changes
2022-04-02 15:51:59 +02:00
Max Brunsfeld
fe27a27cb6
Merge branch 'main' into prompt-on-close
2022-04-01 15:29:23 -07:00
Max Brunsfeld
79bd8642e6
Merge pull request #702 from zed-industries/typescript
...
Add support for JS/Typescript/TSX, allow language servers to support multiple languages
2022-04-01 15:24:58 -07:00
Max Brunsfeld
c4d3bbf184
Bump protocol version
2022-04-01 15:17:30 -07:00
Max Brunsfeld
7ad862673d
Add basic syntax highlight colors for typescript completions
2022-04-01 15:05:03 -07:00
Max Brunsfeld
5090e6f146
Fix common_prefix_at panic when needle contains multibyte chars
...
Also, make the prefix matching case-insensitive, since this is the
typical behavior with autocomplete.
2022-04-01 14:52:38 -07:00
Max Brunsfeld
6f28033efe
Add explanatory comments in unit test for code actions w/ commands
2022-04-01 13:00:06 -07:00
Max Brunsfeld
fe8e06e781
Fix clipping when using label-only completions
2022-04-01 12:07:41 -07:00
Max Brunsfeld
ba009724dd
Handle LSP apply workspace edit request fully before responding
2022-04-01 11:59:21 -07:00
Max Brunsfeld
56523b5775
Allow applying code actions that use commands
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-01 10:16:26 -07:00
Antonio Scandurra
be677a8a4b
Don't assume the CloseActiveItem
action is synchronous in test
2022-04-01 15:27:06 +02:00
Antonio Scandurra
e93ab4db14
Prompt before closing buffer with unsaved changes or conflicts
2022-04-01 14:33:07 +02:00
Antonio Scandurra
703f1c3be0
Introduce workspace::Item::reload
to manually trigger a reload
2022-04-01 14:02:49 +02:00