Commit Graph
1000 Commits
Author SHA1 Message Date
Max Brunsfeld 51be482a57 Respect LSP goToTypeDefinition server capability 2023-06-08 11:33:09 -07:00
Max Brunsfeld 94e8749c2f Merge branch 'main' into lsp-log-messages 2023-06-08 08:49:08 -07:00
Mikayla Maki d27b60d298 Fixed ci 2023-06-07 16:58:55 -07:00
Mikayla Maki ef2c77a366 add scan_complete await 2023-06-07 16:51:54 -07:00
Max Brunsfeld 5603fbe39c Restructure LSP log view to show log messages in addition to RPC trace 2023-06-07 16:51:09 -07:00
Mikayla Maki eda11c055b add mroe dbg 2023-06-07 16:50:15 -07:00
Mikayla Maki 692d02a76b Fix warning 2023-06-07 16:45:36 -07:00
Mikayla Maki 5a4aac7af3 Attempting to debug on ci... 2023-06-07 16:44:13 -07:00
Mikayla Maki 4c6bfeef98 Add track caller 2023-06-07 16:39:10 -07:00
Mikayla MakiandMax 9a667e9c7b 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 59e1c210c6 Emit project event when a language server sends a logMessage notification 2023-06-07 14:46:08 -07:00
Mikayla Maki 35ef109e8d Merge branch 'main' into stream-git-statuses 2023-06-07 14:12:58 -07:00
Mikayla Maki 7b7282fa47 Fix several randomized test failures with the new git status implementation 2023-06-07 14:10:17 -07:00
Max Brunsfeld c861083f13 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 ce7f69513d Handle LSP codeActions capability set to false 2023-06-06 17:13:59 -07:00
Max Brunsfeld 4bfec02d3c Live-reload tree-sitter queries in development 2023-06-06 14:20:21 -07:00
Mikayla Makiandmax 032d8e4aa1 Improve test generation and implement status propogation
co-authored-by: max <max@zed.dev>
2023-06-05 17:30:12 -07:00
Mikayla Maki af3189be5b WIP: Add status bubbling to project panel 2023-06-05 12:53:04 -07:00
Mikayla Maki 619cfe3cec Track git status changes with the changed_paths system 2023-06-05 11:50:23 -07:00
Joseph Lyons 4b5a7ec94a Fix typos 2023-06-02 22:02:19 -04:00
Mikayla Makiandmax 09220ebb02 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 Makiandmax c589b13748 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 Makiandmax 026df41c1a Remove stateful bubbling
co-authored-by: max <max@zed.dev>
2023-06-02 15:07:49 -07:00
Mikayla Makiandmax 16ba8467d8 Abandoning stateful bubbling approach
co-authored-by: max <max@zed.dev>
2023-06-02 14:51:40 -07:00
Mikayla Maki 1e44d43940 WIP: Git statuses 2023-06-01 23:27:49 -07:00
Mikayla Maki 319f9d7377 WIP: Add stateful status bubbling to worktree 2023-06-01 16:51:34 -07:00
Max Brunsfeld ba6cd9a8a4 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 c338c69da7 Make language_settings take a language, not a language name 2023-05-31 15:10:30 -07:00
Max Brunsfeld 6f55841897 Make language settings accessors take an arc dyn file 2023-05-31 14:57:04 -07:00
Max Brunsfeld 1fbbaa262f Respect project-specific settings for copilot 2023-05-31 14:42:15 -07:00
Mikayla Makiandjulia b2303fb1ea WIP: Move statuses to entries
co-authored-by: julia <julia@zed.dev>
2023-05-31 12:55:31 -07:00
Mikayla MakiandJulia 3df36f560f 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 a2a96774fc Replicate project-specific settings when collaborating 2023-05-30 18:08:03 -07:00
Max Brunsfeld fb4c174fd1 Start work on respecting project-specific settings 2023-05-29 14:25:49 -07:00
Antonio ScandurraandNathan Sobo f028df6108 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 99509fc6ed Update LSP to the newest version 2023-05-28 21:55:08 +03:00
Max Brunsfeld 17ff7eb95f 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 35e12824f2 Include repositories with workdir changes in worktree UpdatedGitRepsositories event 2023-05-26 15:47:37 -07:00
Max Brunsfeld 208cf495f8 Adjust diagnostic transformation test to not wait for two buffer notifications 2023-05-26 15:47:37 -07:00
Max Brunsfeld c09a51b3b7 Derive worktree update messages from existing change events 2023-05-26 15:47:37 -07:00
Kirill BulatovandMikayla 25ec8a8960 Add a test
co-authored-by: Mikayla <mikayla@zed.dev>
2023-05-27 01:12:22 +03:00
Max Brunsfeld cdd178a149 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 d56b0ae1e5 Make stricter assertions about change events in random worktree test 2023-05-26 09:24:15 -07:00
Max Brunsfeld cd22cdcadc Include paths loaded during initial scan in worktree UpdatedEntries event 2023-05-26 09:24:15 -07:00
Julia a3bc3f85a9 Clean up final remaining code paths calling old diff update method 2023-05-25 14:41:09 -04:00
Julia a1b4c57588 Fix tests 2023-05-25 14:29:28 -04:00
Julia ee718b9a33 Remove concept of git diff refresh from Item trait 2023-05-25 14:29:28 -04:00
JuliaandMax Brunsfeld 7331f2ce3f 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 e507cc509c wip 2023-05-25 14:10:27 -04:00
Kirill BulatovandAntonio Scandurra c125d0d92b Use Transaction instead of ProjectTransaction
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-05-25 16:12:14 +03:00