Max Brunsfeld
1278f5484f
Add project search RPC messages
2022-02-25 12:38:31 -08:00
Max Brunsfeld
8dce91be23
Upgrade time crates to silence warning on Rust 1.59
2022-02-25 10:39:44 -08:00
Max Brunsfeld
9a97588f79
Eliminate RwLock around LanguageServer's outbound message channel
...
We observed a deadlock when quitting zed. The main thread was attempting
to acquire a write lock to this outbound message sender. We weren't able
to understand exactly how this occurred, but we removed the use of a
lock there, so this shouldn't happen anymore.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-25 10:04:57 -08:00
Antonio Scandurra
368301fcec
Reuse a previous project find whenever possible
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-02-25 18:30:28 +01:00
Antonio Scandurra
e278c423d3
Don't assume that cloning on split will reuse the same underlying model
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-02-25 18:30:04 +01:00
Antonio Scandurra
7123407f42
Don't share query editor state after project find has been split
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-25 18:10:48 +01:00
Antonio Scandurra
1e04411066
Don't focus query editor if there are matches on tab switch
2022-02-25 17:23:03 +01:00
Antonio Scandurra
b506db7c93
Use the new split pane's navigation history when cloning an item
2022-02-25 17:22:30 +01:00
Antonio Scandurra
88bfe5acb0
Allow splitting project find and maintain the searches in sync
2022-02-25 16:20:02 +01:00
Antonio Scandurra
29e035a70d
Don't report a buffer when it doesn't contain any matches
2022-02-25 15:40:19 +01:00
Antonio Scandurra
2611b5449f
Always sync
before clearing or removing excerpts from MultiBuffer
...
We don't have any test that proves this is needed but seems good nonetheless.
2022-02-25 15:36:43 +01:00
Antonio Scandurra
ff0fa0e0bd
Gracefully handle passing an empty set of ranges to push_excerpts
2022-02-25 15:36:16 +01:00
Antonio Scandurra
f649074d36
Refine project find's UX
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-25 15:27:34 +01:00
Nathan Sobo
51c645f6b4
Toggle focus between query editor and results on cmd-shift-F
2022-02-25 05:04:45 -07:00
Antonio Scandurra
2147db9b41
Open searched buffers in parallel
2022-02-25 12:29:50 +01:00
Antonio Scandurra
5be93044f6
Focus results editor when project find matches are updated
2022-02-25 12:17:25 +01:00
Antonio Scandurra
561123d6de
Avoid extra smol::channel
when iterating through snapshot paths
2022-02-25 11:49:33 +01:00
Antonio Scandurra
6a0cca7178
Add a fast path for when the search query is empty
2022-02-25 10:58:45 +01:00
Antonio Scandurra
a077210873
Focus query editor when deploying project-find
2022-02-25 10:58:32 +01:00
Antonio Scandurra
7aacb63762
Respect field editor background, color and selection styling
2022-02-25 10:48:22 +01:00
Antonio Scandurra
0bf944e038
Use Project::search
in ProjectFind
and show search results
2022-02-25 10:32:45 +01:00
Max Brunsfeld
5644336df3
Merge branch 'main' into project-find
2022-02-24 17:22:09 -08:00
Max Brunsfeld
fb1103e26d
Merge pull request #482 from zed-industries/c-support
...
Add C support with clangd
2022-02-24 17:16:55 -08:00
Max Brunsfeld
826a458162
Merge pull request #492 from zed-industries/editor-settings
...
Provide editor styling information separately from editor settings
2022-02-24 17:16:38 -08:00
Max Brunsfeld
47b654063e
Provide editor styling information separately from editor settings
...
* Since regular editors' font sizes and families are controlled by
the settings and not the theme, don't store a dummy text style in
the theme. Instead, only store a font color, and synthesize
the text style for regular editors using both the theme and the
settings.
* Style single-line and auto-height editors (now called "field
editors") using a single function that takes the entire theme and
selects a relevant sub-object.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-24 16:42:00 -08:00
Antonio Scandurra
6d9b003634
WIP: Start sketching in ProjectFindView
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-02-24 19:07:00 +01:00
Antonio Scandurra
e83d1fc9fc
Start on a regex implementation of SearchQuery
2022-02-24 16:33:31 +01:00
Antonio Scandurra
76cc9b347e
Extract a search
module
2022-02-24 15:55:13 +01:00
Antonio Scandurra
6a323ce2dd
Implement a basic project-wide search using Aho-Corasick
2022-02-24 15:33:56 +01:00
Antonio Scandurra
26f7f4f5b2
WIP: Remove ripgrep and start matching query for paths ourselves
2022-02-24 12:33:28 +01:00
Antonio Scandurra
119bfaa99f
WIP
2022-02-24 11:57:53 +01:00
Antonio Scandurra
fed6f708c0
Start on project-wide find
2022-02-24 11:57:53 +01:00
Antonio Scandurra
39ebaebd83
Merge pull request #486 from zed-industries/background-highlights
...
Move `GetDocumentHighlights` to the background and fix collaboration race conditions
2022-02-24 10:17:28 +01:00
Antonio Scandurra
d929819c33
Fix warning
2022-02-24 09:52:25 +01:00
Antonio Scandurra
8fa23c702c
Store ops if buffer handle can't be upgraded and buffer requests are in-flight
2022-02-24 09:32:31 +01:00
Max Brunsfeld
a6613d5345
Store operations for unknown buffers when there are outstanding buffer RPC requests
2022-02-23 20:35:05 -08:00
Max Brunsfeld
f1921c8df5
Open buffers from definitions request in random collab test
...
Don't try to open buffers from the weak worktrees directly, as this is
expected to fail if the host drops the buffer for that worktree.
2022-02-23 20:35:05 -08:00
Max Brunsfeld
51e2e9e68d
Make client log message format more consistent
2022-02-23 18:18:52 -08:00
Max Brunsfeld
6060077444
Remove unused pending_updates field from RemoteWorktree
2022-02-23 16:59:39 -08:00
Max Brunsfeld
e9009d4edf
Tweak logging in random collaboration test
2022-02-23 16:27:34 -08:00
Max Brunsfeld
e714b00c26
Improve logging around handling RPC requests on client
2022-02-23 15:37:51 -08:00
Max Brunsfeld
170487a528
Fix race conditions with LSP requests that return buffers
...
* Avoid panic when registering a buffer that was previously open,
and whose weak handle was still present in the open_buffers map.
* Avoid releasing any buffers while a request is outstanding which
could return a reference to a buffer.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-02-23 15:26:01 -08:00
Nathan Sobo
17c9aa1819
Remove ShareWorktree message
...
Instead, create an empty worktree on guests when a worktree is first *registered*, then update it via an initial UpdateWorktree message.
This prevents the host from referencing a worktree in definition RPC responses that hasn't yet been observed by the guest. We could have waited until the entire worktree was shared, but this could take a long time, so instead we create an empty one on guests and proceed from there.
We still have randomized test failures as of this commit:
SEED=9519 MAX_PEERS=2 ITERATIONS=10000 OPERATIONS=7 ct -p zed-server test_random_collaboration
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-23 11:56:09 -07:00
Antonio Scandurra
d1b4384f80
WIP
2022-02-23 19:04:22 +01:00
Antonio Scandurra
8440644dc9
Remove update_id from worktree update messages
...
We don't need this anymore because worktree updates are foreground
messages.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-02-23 18:35:25 +01:00
Antonio Scandurra
f3c6320eeb
Move document highlights RPC message to the background
2022-02-23 16:16:02 +01:00
Antonio Scandurra
9e173564e9
Pass an AsyncAppContext
to fake language server request handlers
2022-02-23 16:14:36 +01:00
Nathan Sobo
73fcebb8b2
Bump protocol version
2022-02-23 06:33:31 -07:00
Nathan Sobo
9841abf402
v0.17.0
2022-02-23 06:26:45 -07:00
Antonio Scandurra
6f77ede38e
Merge pull request #483 from zed-industries/document-highlights
...
Show document highlights from the language server when moving the cursor
2022-02-23 10:38:15 +01:00