1ecc51f
Fix warnings
Antonio Scandurra created
1ecc51f
Fix warnings
Antonio Scandurra created
70afc06
Handle out-of-order edits coming from LSP
Antonio Scandurra created
8826ad5
Make `Buffer::edit` and `MultiBuffer::edit` resilient to inverted ranges
Previously, we would accept edits containing out-of-order ranges. When generating such ranges in our randomized tests, many invariants started breaking causing e.g. undo/redo to misbehave and operation application to panic. In theory, we should never pass inverted ranges, but this commit changes the above functions to swap the start and the end when that occurs to avoid breaking the entire system and panicking.
Antonio Scandurra created
939020a
Merge pull request #1114 from zed-industries/fix-menu-bindings
Add keystroke for menu item only when action is equal to binding
Antonio Scandurra created
c22aedf
Fix tests
Antonio Scandurra created
22dd68f
Add keystroke for menu item only when action is equal to binding
This fixes a bug where we would show `cmd-e` instead of `cmd-f` for `Edit -> Find` because both bindings would have the `buffer_search::Deploy` action and we were mistakenly selecting the former.
Antonio Scandurra created
3a69943
Require that `PartialEq` is implemented for `Action`
Antonio Scandurra created
492cc71
Don't manipulate selections when syncing options if vim-mode is disabled
Previously, we were always mutating selections when `sync_editor_options` was called. This seems to happen every time vim is enabled/disabled, but also when vim is disabled and editors are simply focused/blurred. This commit changes it so that we only manipulate selections when vim-mode is active.
Antonio Scandurra created
905fbac
vim: Avoid collapsing selections on editor creation when vim_mode is disabled
Max Brunsfeld created
eae7c22
Merge pull request #1107 from zed-industries/event-handler-capture-all
Capture mouse events when rendering disconnected overlay
Antonio Scandurra created
74aa9c1
Capture mouse events when rendering disconnected overlay
We do so by replacing `EventHandler::capture` with a new `::capture_all` method. After switching to mouse regions as part of zed-industries/zed#1081, overriding `dispatch_event` on `EventHandler` wasn't enough anymore because mouse interactions take place on a privileged code path that runs *before* dispatching any event. With this change, `EventHandler` will now push a mouse region that intercepts all mouse interactions, as well as pushing a cursor region that resets the cursor style to `Arrow`. One interesting change as part of this is that we've removed the ability to see which event we are capturing: we were not using this capability anyway and `capture_all` provides a simpler interface, so I went with that. In the future, we can opt into capturing specific events or mouse interactions if there's a code path that needs that.
Antonio Scandurra created
ff3e3d0
Merge pull request #1084 from zed-industries/private-projects
Offline projects
Max Brunsfeld created
41b7fd4
Rename a public/private to online/offline in a few more places
Max Brunsfeld created
ed14fd6
Add setting to make projects online/offline by default
Max Brunsfeld created
24aafde
Avoid persisting project's state before it has been initialized
Max Brunsfeld created
e18bc24
Rename project's 'public'/'private' flag to 'online'/'offline'
Max Brunsfeld created
b2aa831
Store a FakeFs on TestClient
Max Brunsfeld created
8bd4a0a
Don't store Project on TestClient in integration tests
Max Brunsfeld created
afdd386
Move persistence and restoration logic from workspace into project
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
3ce739f
Merge pull request #1098 from zed-industries/cpp
Introduce support for C++
Max Brunsfeld created
6a3a3a1
Add tooltip to the toggle public button in the contacts panel
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
55fc234
Consolidate C and C++ LSP adapters
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra and Max Brunsfeld created
1db4970
Implement `CppLspAdapter::name` by delegating to `CLspAdapter::name`
This makes it more evident that both languages share the same language server. Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra and Max Brunsfeld created
4164962
Syntax-highlight project-wide symbols for C++
Antonio Scandurra created
c6e6a9f
Show prettier completions for C++
Antonio Scandurra created
8ca0127
Make `LspAdapter::process_diagnostics` optional
Antonio Scandurra created
d4da513
Introduce support for C++
Antonio Scandurra created
98b5476
Bump protocol version
Max Brunsfeld created
36a4d31
Keep unregistered projects' ids until pending contact updates are done
Max Brunsfeld created
db97dcd
Don't update contacts when a project is first registered
Until the host has sent an UpdateProject message to populate the project's metadata, there is no reason to update contacts.
Max Brunsfeld created
f7e7a7c
Use rocksdb to store project paths' public/private state
Max Brunsfeld created
724affc
Upgrade deps to avoid multiple versions of transitive deps
* env_logger * prost-build * bindgen
Max Brunsfeld created
d45db17
Style the contact panel while public/private operations are in-flight
Max Brunsfeld created
d11beb3
Change project registration RPC APIs to smooth out UI updates
* Make `UnregisterProject` a request. This way the client-side project can wait to clear out its remote id until the request has completed, so that the contacts panel can avoid showing duplicate private/public projects in the brief time after unregistering a project, before the next UpdateCollaborators message is received. * Remove the `RegisterWorktree` and `UnregisterWorktree` methods and replace them with a single `UpdateProject` method that idempotently updates the Project's list of worktrees.
Max Brunsfeld created
4d4ec79
Remove stray println
Max Brunsfeld created
b70396b
Disconnect FakeServer when dropping it
This prevents memory leak errors in tests, due to parked tasks waiting for RPC responses.
Max Brunsfeld created
3ea061a
Allow making projects private
Max Brunsfeld created
8f676e7
Fix mismatched client/context in integration test
Max Brunsfeld created
8d46edd
Avoid holding RefCell borrow while calling TestAppContext::spawn callback
Max Brunsfeld created
7ef9de3
Show private projects in the contacts panel
Introduce a ProjectStore that lets you iterate through all open projects. Allow projects to be made public by clicking the lock.
Max Brunsfeld created
a60fef5
Start work on private projects
Max Brunsfeld created
3ffbd56
Merge pull request #1093 from zed-industries/fix-panic-version
Report the correct app version when sending panics to server
Antonio Scandurra created
7ecc67b
Report the correct app version when sending panics to server
Previously, we were just relying on the `ZED_APP_VERSION` environment variable without consulting `Platform::app_version`. That would always report "dev" as the app version because `ZED_APP_VERSION` is only used for testing.
Antonio Scandurra created
a8cde09
v0.36.1
Antonio Scandurra created
7beb194
Merge pull request #1091 from zed-industries/fix-project-diagnostics-panic
Don't reuse the same diagnostic group id across buffers
Antonio Scandurra created
6baf8b0
Don't reuse the same diagnostic group id across buffers
This lets us use the group id as the key for an `ElementState`, which fixes a panic that would occur in project diagnostics when opening it while there were multiple diagnostic groups with the same id.
Antonio Scandurra created
c34b30e
Merge pull request #1090 from zed-industries/context-menu-polish
Context menu polish
Antonio Scandurra created
1226730
Don't dismiss context menu when right-clicking project panel again
Antonio Scandurra created
701e209
Align context menu to fit within the window bounds
Antonio Scandurra created
f1964cf
Merge pull request #1089 from zed-industries/jump-to-diagnostic
Jump to diagnostic
Antonio Scandurra created