Julia
f81ccbd652
Setup C adapter with test binary
2023-06-15 12:18:34 -04:00
Julia
4d24eae901
Actually check and reinstall broken server
2023-06-15 12:18:34 -04:00
Julia
bca625a197
Many steps toward validating and reinstalling server after failure
2023-06-15 12:18:34 -04:00
Julia
ec0409a3d1
Detect LSP startup failure
2023-06-15 12:18:34 -04:00
Max Brunsfeld
5b6d1a27ff
Flatten worktree tests module structure
2023-06-13 10:31:29 -07:00
Max Brunsfeld
c17dbab6f1
Move worktree tests to their own file
2023-06-13 10:22:14 -07:00
Max Brunsfeld
11dbbcc9dd
Respect LSP goToTypeDefinition server capability
2023-06-08 11:33:09 -07:00
Max Brunsfeld
afaff7f9a9
Merge branch 'main' into lsp-log-messages
2023-06-08 08:49:08 -07:00
Mikayla Maki
fc1f8c5657
Fixed ci
2023-06-07 16:58:55 -07:00
Mikayla Maki
8ca1a7d43d
add scan_complete await
2023-06-07 16:51:54 -07:00
Max Brunsfeld
66f215cd13
Restructure LSP log view to show log messages in addition to RPC trace
2023-06-07 16:51:09 -07:00
Mikayla Maki
9e9d8e3a7b
add mroe dbg
2023-06-07 16:50:15 -07:00
Mikayla Maki
9d58c4526d
Fix warning
2023-06-07 16:45:36 -07:00
Mikayla Maki
5f143f689f
Attempting to debug on ci...
2023-06-07 16:44:13 -07:00
Mikayla Maki
572d40381a
Add track caller
2023-06-07 16:39:10 -07:00
Mikayla Maki
2c5e83bf72
Fixed a bug where buffer saved clocks would desynchronize in rare execution paths
...
co-authored-by: Max <max@zed.dev>
2023-06-07 16:10:45 -07:00
Max Brunsfeld
78f9642ac2
Emit project event when a language server sends a logMessage notification
2023-06-07 14:46:08 -07:00
Mikayla Maki
28ba27c9c5
Merge branch 'main' into stream-git-statuses
2023-06-07 14:12:58 -07:00
Mikayla Maki
34e134fafb
Fix several randomized test failures with the new git status implementation
2023-06-07 14:10:17 -07:00
Max Brunsfeld
72372ddf0e
Highlight hover code blocks as LSP's own language by default
...
The elixir LSP does not include a language name on its elixir code blocks.
2023-06-07 10:01:19 -07:00
Max Brunsfeld
fccbac4887
Handle LSP codeActions capability set to false
2023-06-06 17:13:59 -07:00
Max Brunsfeld
7bfb51ee76
Live-reload tree-sitter queries in development
2023-06-06 14:20:21 -07:00
Mikayla Maki
a2d58068a7
Improve test generation and implement status propogation
...
co-authored-by: max <max@zed.dev>
2023-06-05 17:30:12 -07:00
Mikayla Maki
9a13a2ba2c
WIP: Add status bubbling to project panel
2023-06-05 12:53:04 -07:00
Mikayla Maki
e56fcd69b5
Track git status changes with the changed_paths system
2023-06-05 11:50:23 -07:00
Joseph Lyons
7c60f636d5
Fix typos
2023-06-02 22:02:19 -04:00
Mikayla Maki
ca077408d7
Fix bug where git statuses would not be initialized on startup
...
move git status queries to be on entry creation
co-authored-by: max <max@zed.dev>
2023-06-02 17:38:39 -07:00
Mikayla Maki
2f97c7a4f1
Remove stale comments
...
Implement status bubbling query with sum tree traversals
co-authored-by: max <max@zed.dev>
2023-06-02 16:41:01 -07:00
Mikayla Maki
e377459948
Remove stateful bubbling
...
co-authored-by: max <max@zed.dev>
2023-06-02 15:07:49 -07:00
Mikayla Maki
99a0e11e70
Abandoning stateful bubbling approach
...
co-authored-by: max <max@zed.dev>
2023-06-02 14:51:40 -07:00
Mikayla Maki
3768851799
WIP: Git statuses
2023-06-01 23:27:49 -07:00
Mikayla Maki
5e43dcaab8
WIP: Add stateful status bubbling to worktree
2023-06-01 16:51:34 -07:00
Max Brunsfeld
788f97ec68
Add support for folder-specific settings ( #2537 )
...
This PR allows you to customize Zed's settings within a particular
folder by creating a `.zed/settings.json` file within that folder.
Todo
* [x] respect folder-specific settings for local projects
* [x] respect folder-specific settings in remote projects
* [x] pass a path when retrieving editor/language settings
* [x] pass a path when retrieving copilot settings
* [ ] update the `Setting` trait to make it clear which types of
settings are locally overridable
Release Notes:
* Added support for folder-specific settings. You can customize Zed's
settings within a particular folder by creating a `.zed` directory and a
`.zed/settings.json` file within that folder.
2023-05-31 16:27:08 -07:00
Max Brunsfeld
0dd7694ff5
Make language_settings take a language, not a language name
2023-05-31 15:10:30 -07:00
Max Brunsfeld
03a351fb26
Make language settings accessors take an arc dyn file
2023-05-31 14:57:04 -07:00
Max Brunsfeld
a2ab7c9eb9
Respect project-specific settings for copilot
2023-05-31 14:42:15 -07:00
Mikayla Maki
4717ce1da3
WIP: Move statuses to entries
...
co-authored-by: julia <julia@zed.dev>
2023-05-31 12:55:31 -07:00
Mikayla Maki
22e4086658
WIP: Move statuses to be on their associated file entries in worktree
...
co-authored-by: Julia <julia@zed.dev>
2023-05-31 11:03:11 -07:00
Max Brunsfeld
8f95435548
Replicate project-specific settings when collaborating
2023-05-30 18:08:03 -07:00
Max Brunsfeld
89446c7fd4
Start work on respecting project-specific settings
2023-05-29 14:25:49 -07:00
Antonio Scandurra
6d3464fd1f
Make Pane::add_item
a proper Pane
method
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-29 19:16:22 +02:00
Kirill Bulatov
fdad1adaf6
Update LSP to the newest version
2023-05-28 21:55:08 +03:00
Max Brunsfeld
e4530471de
Make worktree UpdatedEntries
events fully describe all changes ( #2533 )
...
This PR makes the worktree's change events more useful in a few ways:
* The changes are now described by a cheaply clone-able collection, so
that they can be used in background tasks. Right now, I'm using a simple
Arc slice.
* The `UpdatedEntries` event now captures not only changes due to FS
changes, but also newly-loaded paths that are discovered during the
initial scan.
* The `UpdatedGitRepositories` event now includes repositories whose
work-dir changed but git dir didn't change. A boolean flag is included,
to indicate whether the git content changed.
* The `UpdatedEntries` and `UpdatedGitRepositories` events are now
*used* to compute the worktree's `UpdateWorktree` messages, used to sync
changes to guests. This unifies two closely-related code paths, and
makes the host more efficient when collaborating, because the
`UpdateWorktree` message computation used to require walking the entire
`entries` tree on every FS change.
2023-05-26 15:55:14 -07:00
Max Brunsfeld
1f42bfc1bd
Include repositories with workdir changes in worktree UpdatedGitRepsositories event
2023-05-26 15:47:37 -07:00
Max Brunsfeld
2db57b5139
Adjust diagnostic transformation test to not wait for two buffer notifications
2023-05-26 15:47:37 -07:00
Max Brunsfeld
02b95ef320
Derive worktree update messages from existing change events
2023-05-26 15:47:37 -07:00
Kirill Bulatov
3a3c1c5a5b
Add a test
...
co-authored-by: Mikayla <mikayla@zed.dev>
2023-05-27 01:12:22 +03:00
Max Brunsfeld
6628c4df28
Store worktree changes in a sorted arc slice, not a HashMap
...
We don't need to look-up change types by an arbitrary key, but we
do need to iterate it. It would also be useful to be able to
cheaply clone the changes, to use them in a background task.
2023-05-26 09:24:15 -07:00
Max Brunsfeld
59bfd40679
Make stricter assertions about change events in random worktree test
2023-05-26 09:24:15 -07:00
Max Brunsfeld
f890eefdef
Include paths loaded during initial scan in worktree UpdatedEntries event
2023-05-26 09:24:15 -07:00
Julia
5e39ba596e
Clean up final remaining code paths calling old diff update method
2023-05-25 14:41:09 -04:00
Julia
f40c498491
Fix tests
2023-05-25 14:29:28 -04:00
Julia
8d662edb6c
Remove concept of git diff refresh from Item
trait
2023-05-25 14:29:28 -04:00
Julia
cede296b04
Project level git diff recalc handling
...
This avoids an issue where in a many-buffer multi-buffer, each modified
buffer could complete its recalc independently, causing a cascade of
repeated notifies
Now all recalcs started at the same time must complete before
A: Starting another recalc pass
B: The master notify occurring
Each buffer can still show its new diff if something else triggers it
to notify earlier, this is desirable and does not have the same negative
effects as the notify cascade as those re-layouts would need to happen
anyway
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-05-25 14:10:27 -04:00
Max Brunsfeld
54421b11f3
wip
2023-05-25 14:10:27 -04:00
Kirill Bulatov
e2ff829f98
Use Transaction instead of ProjectTransaction
...
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-05-25 16:12:14 +03:00
Kirill Bulatov
aa58d0fd77
Do not send edits over the wire
2023-05-25 12:55:44 +03:00
Kirill Bulatov
eca6d2b597
Process remote format typing also
2023-05-25 09:45:50 +03:00
Kirill Bulatov
58a56bdda2
Always use server formatting settings
2023-05-25 09:45:50 +03:00
Kirill Bulatov
b9dabb165e
Use formatting options
2023-05-25 09:45:50 +03:00
Kirill Bulatov
3327e8a6dd
Support remote sessions
2023-05-25 09:45:50 +03:00
Kirill Bulatov
f6d7b3d2e8
Send and handle OnTypeFormatting LSP request
2023-05-25 09:45:50 +03:00
Mikayla Maki
51d94f532b
Load diff base for buffers that are opening but not yet opened when repositories are discovered
2023-05-22 18:26:33 -07:00
Mikayla Maki
4c9d24da7c
Only fire update diff base when the dot repo is scanned ( #2510 )
...
This PR fixes a bug in the firing of the UpdatedRepositories event which
caused it to flood collaboration with new messages on every file save.
Release Notes:
* Fixed a bug in repository detection that caused it to fire
over-eagerly (preview only)
2023-05-22 14:11:19 -07:00
Mikayla Maki
96224fa7e8
Only fire update diff base when the dot repo is scanned
2023-05-22 13:57:07 -07:00
Max Brunsfeld
7689cdf3f9
Clear old diagnostics when restarting a language server
2023-05-22 12:53:22 -07:00
Max Brunsfeld
e129ed2d91
Fix spurious setting error log messages ( #2498 )
...
Fixes a bug introduced in
https://github.com/zed-industries/zed/pull/2448 , where error messages
would be logged if the user config didn't specify certain fields like
`journal` or `telemetry`.
2023-05-22 11:44:21 -07:00
Mikayla Maki
bbb68c523c
Refactored apart the forward and the backwards iterator for diff hunks
2023-05-19 18:09:47 -07:00
Max Brunsfeld
e32233c826
Fix spurious setting error logs on non-existent setting keys
2023-05-19 17:15:05 -07:00
Mikayla Maki
43e301eeef
refine batched anchor conversions
...
co-authored-by: max <max@zed.dev>
2023-05-19 16:52:57 -07:00
Max Brunsfeld
fb11c3e4bf
Remove stray prints
2023-05-19 16:52:30 -07:00
Mikayla Maki
1474429271
fmt
2023-05-19 16:32:07 -07:00
Mikayla Maki
c795c9b844
Rearrange git tests in worktree
...
Add support for renaming work directories
2023-05-19 16:30:00 -07:00
Max Brunsfeld
7ae642b9b8
Avoid storing removed_entry_ids on the LocalSnapshot
2023-05-19 15:16:04 -07:00
Max Brunsfeld
32c7157906
🎨 Make worktree repositories more consistent
2023-05-19 15:04:37 -07:00
Max Brunsfeld
6359333749
Don't store next_entry_id on worktree's local snapshot
2023-05-19 13:49:24 -07:00
Kirill Bulatov
7d1833b759
When the file is deleted via project panel, close it in editors ( #2490 )
...
Deals with https://github.com/zed-industries/community/issues/179 by
sending a message about it, to asynchronously apply on all workspaces.
Release Notes:
* Fixes a bug when files, deleted in the project panel were left open in
the editor
2023-05-19 21:51:37 +03:00
Max Brunsfeld
844b8d9e1e
Remove unnescessary double lookup in repo for ( #2492 )
...
Release Notes:
* Optimize repository queries (preview only)
2023-05-19 11:47:05 -07:00
Mikayla Maki
9f157bdb67
Remove unescessary methods
2023-05-19 11:30:10 -07:00
Max Brunsfeld
729a93db6b
Optimize retrieving repos for entries when rendering the project panel
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-05-19 11:29:02 -07:00
Mikayla Maki
6792788216
Remove unnescessary double lookup
2023-05-19 11:08:58 -07:00
Max Brunsfeld
d480555ec9
Fix performance problems in reporting changed FS paths to language servers ( #2491 )
...
Fixes
https://linear.app/zed-industries/issue/Z-1611/main-thread-hangs-while-sending-filesystem-change-events-to-lsp
Release Notes:
* Fixed a lag that would sometime occur when large numbers of files
changed on disk, due to reporting the changed files to language servers.
2023-05-19 09:42:55 -07:00
Max Brunsfeld
459cc9c959
Optimize matching of multiple file-watch globs using the globset crate
2023-05-19 09:13:34 -07:00
Kirill Bulatov
583b15badc
When the file is deleted via project panel, close it in editors
2023-05-19 18:52:30 +03:00
Kirill Bulatov
3984cc6d39
Properly handle WorktreeId
2023-05-19 12:37:36 +03:00
Max Brunsfeld
4bda5c4d69
Optimize LSP watched file reporting in 2 simple ways
...
* Convert globs to relative paths in advance. This avoids needing to convert
every changed path to an absolute path before performing glob matching.
* Avoid duplicate reporting for language servers with multiple worktrees.
2023-05-18 17:08:51 -07:00
Kirill Bulatov
201d513c50
Show navigation history in the file finder modal
...
co-authored-by: Max <max@zed.dev>
2023-05-18 21:50:38 +03:00
Kirill Bulatov
711d2c6fe7
Maintain recently opened files history
2023-05-18 21:50:38 +03:00
Max Brunsfeld
258723566f
Rename settings::register_setting -> settings::register
2023-05-17 15:06:11 -07:00
Max Brunsfeld
2d5f03e148
Remove optional path argument when getting settings
2023-05-17 15:05:20 -07:00
Max Brunsfeld
67a25126d4
Define theme/ui text style settings in theme crate
2023-05-17 14:44:59 -07:00
Max Brunsfeld
89204e85c0
Merge branch 'main' into setting-store
2023-05-17 09:55:24 -07:00
Max Brunsfeld
cbd4771f10
Define project settings in project crate
2023-05-16 17:45:04 -07:00
Max Brunsfeld
39618ae32d
Define language settings in the language crate
2023-05-16 17:29:53 -07:00
Julia
8b63caa0bd
Fix worktree refresh request causing gitignore to not update
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-05-16 13:01:29 -04:00
Julia
f50240181a
Avoid removing fake fs entry when rename fails later in the process
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-05-16 13:00:39 -04:00
Mikayla Maki
e4d509adf4
fmt
2023-05-15 16:22:52 -07:00
Mikayla Maki
4d40aa5d6f
Restore trickle up git status to folder
...
co-authored-by: max <max@zed.dev>
2023-05-15 16:22:00 -07:00
Mikayla Maki
68078853b7
Made status tracking resilient to folder renames
...
co-authored-by: max <max@zed.dev>
2023-05-15 16:21:58 -07:00
Mikayla Maki
307dd2b83e
Update proto names to reflect new status info
2023-05-15 16:20:01 -07:00
Mikayla Maki
6c26f3d0e4
Fixed formatting
2023-05-15 16:20:01 -07:00
Mikayla Maki
2b18975cdc
Change folder styling from a reduce over all child files to a simple 'always modified'
...
Remove git status from tab titles
2023-05-15 16:20:01 -07:00
Julia
cf53b2ca87
Merge pull request #2471 from zed-industries/optimize-update-local-worktree-buffers
...
Optimize update local worktree buffers
2023-05-15 13:13:09 -04:00
Julia
fa32adecd5
Fixup more, tests finally pass
2023-05-14 12:06:00 -04:00
Mikayla Maki
a6a4b846bc
fmt
2023-05-13 10:43:16 -07:00
Mikayla Maki
5e2aaf45a0
Fix repository initialization bug
2023-05-13 10:38:24 -07:00
Mikayla Maki
04041af78b
Fixed bug with failing to clear git file status
2023-05-13 02:40:22 -07:00
Mikayla Maki
62c445da57
Match priority of folder highlights to vscode
2023-05-13 02:30:59 -07:00
Mikayla Maki
6ef0f70528
Made the map seek target a publicly implementable interface
...
Integrated remove_range with the existing git code
co-authored-by: Nathan <nathan@zed.dev>
2023-05-12 08:37:32 -07:00
Nathan Sobo
ee3637216e
Add TreeMap::remove_between that can take abstract start and end points
...
This commit introduces a new adaptor trait for SeekTarget that works around
frustrating issues with lifetimes. It wraps the arguments in a newtype wrapper
that lives on the stack to avoid the lifetime getting extended to the caller
of the method.
This allows us to introduce a PathSuccessor object that can be passed as the
end argument of remove_between to remove a whole subtree.
2023-05-12 08:21:01 -07:00
Mikayla Maki
5fe8b73f04
compile error 😅
2023-05-11 16:07:41 -07:00
Mikayla Maki
d538994c7f
Use more efficient sum tree traversals for removal and improve ergonomics with iter_from
...
co-authored-by: Nathan <nathan@zed.dev>
2023-05-11 16:06:25 -07:00
Mikayla Maki
72655fc41d
fmt
2023-05-11 13:25:57 -07:00
Mikayla Maki
6f87f9c51f
Don't scan for statuses in files that are ignored
2023-05-11 13:25:07 -07:00
Mikayla Maki
5b2ee63f80
Added status trickle up
2023-05-11 12:01:42 -07:00
Julia
0f34af50a8
Use path list generated during entry reload of a refresh request
2023-05-10 23:37:02 -04:00
Mikayla Maki
9800a149a6
Remove some external context from git status test
2023-05-10 17:59:33 -07:00
Max Brunsfeld
bc5b78198a
Define terminal settings in terminal crate
2023-05-10 17:43:10 -07:00
Mikayla Maki
e20eaca595
Got basic replication working :)
2023-05-10 17:37:36 -07:00
Mikayla Maki
2b80dfa81d
Update protos
2023-05-10 17:37:36 -07:00
Mikayla Maki
00b345fdfe
Use sum tree traversal to remove paths
2023-05-10 17:37:36 -07:00
Mikayla Maki
23a19d85b8
Fix bug in status detection when removing a directory
2023-05-10 17:37:36 -07:00
Mikayla Maki
0082d68d4a
Revert "Convert git status calculation to use Entry IDs as the key instead of repo relative paths"
...
This reverts commit 728c6892c924ebeabb086e308ec4b5f56c4fd72a.
2023-05-10 17:37:36 -07:00
Mikayla Maki
f935047ff2
Convert git status calculation to use Entry IDs as the key instead of repo relative paths
2023-05-10 17:37:36 -07:00
Mikayla Maki
a58a33fc93
WIP: integrate status with collab
2023-05-10 17:37:36 -07:00
Mikayla Maki
18cec8d64f
Format
2023-05-10 17:37:36 -07:00
Mikayla Maki
e98507d8bf
Added git status to the project panel, added worktree test
2023-05-10 17:37:36 -07:00
Mikayla Maki
93f57430da
Track live entry status in repository
2023-05-10 17:37:36 -07:00
Mikayla Maki
bd98f78101
Fix compile error
2023-05-10 17:37:36 -07:00
Mikayla Maki
67491632cb
WIP: Track live entry status in repository
...
co-authored-by: petros <petros@zed.dev>
2023-05-10 17:37:36 -07:00
Mikayla Maki
7169f5c760
Add git status to the file system abstraction
...
co-authored-by: petros <petros@zed.dev>
2023-05-10 17:37:36 -07:00
Kirill Bulatov
dfdf7e4866
Test the search inclusions/exclusions
2023-05-10 11:11:31 +03:00
Kirill Bulatov
6fb8679184
Trim glob input
2023-05-10 11:11:31 +03:00
Kirill Bulatov
b5abac6af6
Draft search include/exclude logic
2023-05-10 11:11:31 +03:00
Kirill Bulatov
915154b047
Add initial include/exclude project search UI
2023-05-10 11:11:31 +03:00
Antonio Scandurra
2bc7be9a76
WIP
2023-05-09 17:14:33 +02:00
Antonio Scandurra
48ad3866b7
Randomly mutate worktree in addition to mutating the file-system
...
This ensures that we test the code path that refreshes entries.
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-05-09 17:01:11 +02:00
Antonio Scandurra
7f27d72b20
Deliver file-system change events in batches in randomized worktree test
...
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-05-09 16:55:03 +02:00
Julia
5c859da457
Only update changed local worktree buffers
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-05-09 15:13:12 +02:00
Mikayla Maki
62e763d0d3
Removed test modifications, added special case to git initialization for when the repository is inside a .git folder
2023-05-08 14:33:59 -07:00
Mikayla Maki
ab952f1b31
Fixed randomized test failures
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
d8dac07408
Removed scan ID from repository interfaces
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
270147d20c
Finished RepositoryEntry refactoring, smoke tests passing
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
53569ece03
WIP: Change RepositoryEntry representation to be keyed off of the work directory
...
Removes branches button scaffolding
2023-05-08 14:33:59 -07:00
Mikayla Maki
b6d6f5c650
WIP: re-arranging the RepositoryEntry representation
...
Added branches to the randomized test to check the git branch
Added the remaining database integrations in collab
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Petros <petros@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
8301ee43d6
WIP: Add repository entries to collab and synchronize when rejoining the room
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
2fe5bf419b
Add proto fields for repository entry maintenance
2023-05-08 14:33:59 -07:00
Petros Amoiridis
e057b0193f
Introduce BrancesButton in title bar
...
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-05-08 14:33:58 -07:00
Mikayla Maki
8f0aa3c6d9
Add branch name into title
2023-05-08 14:33:58 -07:00
Petros Amoiridis
d34ec462f8
Display branch information per worktree root
...
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-05-08 14:33:58 -07:00
Mikayla Maki
ffd9d4eb59
Fix bug in repo detection
2023-05-08 14:33:58 -07:00
Mikayla Maki
3570810516
Add API for accessing git branch
2023-05-08 14:33:58 -07:00
Mikayla Maki
26afd592c5
Wire in the branch name
2023-05-08 14:33:58 -07:00
Mikayla Maki
5b4e58d1de
Fix repo_for and clean up repository_entries
2023-05-08 14:33:58 -07:00
Mikayla Maki
ae890212e3
Restored a lost API and got everything compiling
2023-05-08 14:33:58 -07:00
Mikayla Maki
bcf608e9e9
WIP: Refactor existing git code to use new representation.
...
co-authored-by: petros <petros@zed.dev>
2023-05-08 14:33:58 -07:00
Mikayla Maki
563f13925f
WIP: Convert old git repository vec to new treemap based approach.
...
co-authored-by: Nathan <nathan@zed.dev>
2023-05-08 14:33:58 -07:00
Mikayla Maki
a58d3d8128
Add a data driven representation of the current git repository state to the worktree snapshots
...
WIP: Switch git repositories to use SumTrees
Co-authored-by: Nathan <nathan@zed.dev>
2023-05-08 14:33:58 -07:00
Julia
eacea55aaf
Fixup cases using buffer model handle id as buffer id
2023-05-04 12:32:31 -04:00
Julia
1883e260ce
Offload text::Buffer
construction to background worker
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-05-04 12:32:31 -04:00
Max Brunsfeld
c485fc86a2
Add copilot.disabled_globs setting
2023-05-01 13:45:47 -07:00
Max Brunsfeld
7258db7a4e
Merge pull request #2417 from zed-industries/hover-markdown
...
Render markdown more correctly in the editor hover popover
2023-04-27 14:15:04 -07:00
Julia
87539e7b82
Update test to not fail due to absence of diagnostic source
2023-04-27 15:04:48 -04:00
Julia
3f7533a0b4
Show source of diagnostic hovers
2023-04-27 14:35:34 -04:00
Max Brunsfeld
d298ce3fd3
Render more markdown features in hover popover
2023-04-26 15:33:10 -07:00
Antonio Scandurra
7ca412ade3
Merge remote-tracking branch 'origin/main' into fewer-context-traits
2023-04-26 09:54:58 +02:00
Max Brunsfeld
ebbe52e6b0
🎨 Specify more dependencies at the workspace level
2023-04-24 17:41:55 -07:00
Max Brunsfeld
7bd51851c2
🎨
...
Co-authored-by: Julia Risley <julia@zed.dev>
2023-04-24 13:54:47 -07:00
Max Brunsfeld
a8ddba55d8
Send language server updates via the same task that sends buffer operations
...
Co-authored-by: Julia Risley <julia@zed.dev>
2023-04-24 13:52:03 -07:00
Max Brunsfeld
a280a93cd8
Start work on a language server log view
2023-04-24 09:43:31 -07:00
Max Brunsfeld
abdccf7393
Use a workspace dependency for the futures crate
2023-04-24 09:43:31 -07:00
Antonio Scandurra
5f500d34b2
Remove UpgradeModelHandle
trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-24 16:40:30 +02:00
Max Brunsfeld
4dd917c123
Introduce a LanguageServerId wrapper type
...
Clarify the meaning of all the usizes in use in all of these
struct fields an method signatures.
2023-04-20 08:58:41 -07:00
Julia
c5f86bc6af
Avoid language servers fighting over diagnostics summaries
...
Previously each server would stomp all over the existing results
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
9e2949e7ba
Refactor language server startup
...
Avoid parallel vecs
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
c59204c5e6
Cleanup
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
df94aee758
Fix failing tests
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
6156dbced0
Finish getting multiple diagnostics sources building and running
2023-04-20 08:58:41 -07:00
Julia
bb4de47b15
Start getting diagnostics sets to work with multiple servers
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
2a5c0fa5f8
Get ESLint to launch and provide diagnostics
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-04-20 08:58:41 -07:00
Julia
6e68ff5a50
Get it to build with multiple adapters per language! 🎉
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-20 08:58:41 -07:00
Julia
ba7233f265
Incomplete refactor to allow for multiple adapters per language
2023-04-20 08:58:39 -07:00
Antonio Scandurra
672cf6b8c7
Relay buffer change events to Copilot
2023-04-20 09:34:20 +02:00
Max Brunsfeld
5934e882b8
Merge pull request #2379 from zed-industries/shebang
...
Select language based on a file's first content line in addition to its path
2023-04-18 17:31:19 -07:00
Max Brunsfeld
bd7d50f339
Fix 'invalid insertion' panic when following
...
Wait for the necessary buffer operations to arrive before attempting to
set selections and scroll top.
2023-04-18 16:13:18 -07:00
Antonio Scandurra
1f284408a9
Send buffer operations in batches to reduce latency
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2023-04-17 10:22:13 -07:00
Max Brunsfeld
1dcd4717b1
Select language based on a file's first content line in addition to its path
2023-04-16 12:28:27 -07:00
Max Brunsfeld
5ea49b3ae3
Fix inconsistent worktree state when renaming entries while scanning
2023-04-13 22:34:34 -07:00
Max Brunsfeld
bb1cfd51b8
Add randomized test for mutating worktree during initial scan
2023-04-13 22:34:03 -07:00
Max Brunsfeld
debb694d97
Always bump scan_id when refreshing an entry
...
The scan_id needs to be bumped even if a scan is already in progress,
so that worktree updates can detect that entries have changed. This
means that the worktree's completed_scan_id may increase by more than
one at the end of a scan.
2023-04-13 16:51:11 -07:00
Max Brunsfeld
5ca603dbeb
Don't process gitignore updates after the initial scan
2023-04-12 18:17:29 -07:00
Max Brunsfeld
3d14bfd90c
Prioritize path refresh requests over gitignore status updates
2023-04-12 18:08:00 -07:00
Max Brunsfeld
2d97387f49
Restructure background scanner to handle refresh requests even while scanning
2023-04-12 16:29:51 -07:00
Antonio Scandurra
6d8635fa29
Merge pull request #2349 from zed-industries/randomized-tests-operation-script
...
Restructure randomized integration test to allow editing and replaying a plan, fix discovered bugs
2023-04-12 11:45:47 +02:00
Antonio Scandurra
12a286ac50
Forget buffered operations when resyncing with the host
...
Previously, we could end up with a situation where the host did not
see an operation but a guest that didn't have that buffer open would. When
such guest would finally open the buffer, they would apply the operation
without however sending it to the host. The guest wouldn't bother resyncing
it because it wasn't part of its open buffers.
2023-04-12 10:39:01 +02:00
Antonio Scandurra
5eb1719ab8
Re-send worktree if reconnecting while initial scan isn't finished yet
...
Previously, if the client was disconnected while the initial worktree
state was being sent, it would not see the remaining state after reconnecting.
This was due to `scan_id` and `completed_scan_id` both being initialized to
`0`, so the client would ask for updates since `0` and get nothing.
This commit changes the worktree to initialize `scan_id` to `1` and
`completed_scan_id` to `0`, so that we get the full worktree again on reconnect.
2023-04-11 17:15:43 +02:00
Antonio Scandurra
5e37c893c2
Ensure project is still alive by the time remote LSP request starts
2023-04-11 15:14:32 +02:00
Antonio Scandurra
5898600239
Use LspCommand
to handle code actions
2023-04-11 15:12:58 +02:00
Antonio Scandurra
651a83977e
🔥
2023-04-11 14:53:08 +02:00
Antonio Scandurra
ac532cb6fa
Use LspCommand
to handle completions
2023-04-11 14:52:07 +02:00