Commit log

477a2a4 zed 0.111.3

Kirill Bulatov created

e986a93 More heuristics for diagnostics updates (#3236)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/3225
That PR enabled every `project::Event::DiskBasedDiagnosticsFinished` to
update the diagnostics, which turned out to be bad, Zed does query for
more diagnostics after every excerpt update, and that seems to be due to
`Event::Edited` emitted by the multibuffers created in the diagnostics
panel.

* now, instead of eagerly updating the diagnostics every time, only do
that if the panel has 0 or 1 caret placed and no changes were made in
the panel yet.
Otherwise, use previous approach and register the updated paths to defer
their update later.

* on every `update_excerpts` in the diagnostics panel, query the entire
diagnostics summary (and store it for the future comparisons), compare
old and new summaries and re-query diagnostics for every path that's not
in both summaries.
Also, query every path that was registered during the
`DiskBasedDiagnosticsFinished` updates that were not eagerly updated
before.

This way we're supposed to get all new diagnostics (for new paths added)
and re-check all old paths that might have stale diagnostics now.

* do diagnostics rechecks concurrently for every path now, speeding the
overall process

Release Notes:

- Fixed diagnostics triggering too eagerly during multicaret edits and
certain stale diagnostics not being removed in time

Kirill Bulatov created

acb90ba zed 0.111.2

Kirill Bulatov created

6780e80 Refresh diagnostics inside the tab (#3225)

Click to expand commit body
r-a now has 2 different types of diagnostics: 
* "disk-based" ones that come from `cargo check` and related, that emit
`project::Event::DiskBasedDiagnosticsStarted` and
`DiskBasedDiagnosticsFinished`
* "flycheck" diagnostics from r-a itself, that it tries to dynamically
apply to every buffer open, that come with `DiagnosticsUpdated` event.

Latter diagnostics update frequently, on every file close and open, but
`diagnostics.rs` logic had never polled for new diagnostics after
registering the `DiagnosticsUpdated` event, so the only way we could
have newer diagnostics was to re-open the whole panel.
The PR fixes that, and also adds more debug logging to the module.
The logic of the fix looks very familiar to previous related fix:
https://github.com/zed-industries/zed/pull/3128

One notable thing after the fix: "flycheck" diagnostics stay forever if
the diagnostics panel is opened: excerpts in that panel do not allow the
buffer to get dropped (hence, closed in terms of r-a) and get the
updated, zero diagnostics.
If the diagnostics panel is opened and closed multiple times, those
errors gradually disappear.

Release Notes:

- Fixed diagnostics panel not refreshing its contents properly

Kirill Bulatov created

7e17603 Detect prettier in npm workspaces correctly (#3219)

Click to expand commit body
Deals with https://github.com/zed-industries/community/issues/2016

Also refactored project code to spawn less default prettiers.

Release Notes:

- Fixed prettier not working in npm workspaces

Kirill Bulatov created

d2c0c4e zed 0.111.1

Joseph T. Lyons created

8046928 authenticate with completion provider on new inline assists (#3209)

Click to expand commit body
authenticate with completion provider on new inline assists

Release Notes:

- Fixed bug which lead the inline assist functionality to never
authenticate

Kyle Caverly created

4639018 v0.111.x preview

Joseph T. Lyons created

b7625d8 Port `multi_buffer` to gpui2 (#3193)

Click to expand commit body
Release Notes:

- N/A

Julia created

bbe5389 Return `ColorScaleSet`s from individual color scale functions (#3197)

Click to expand commit body
This PR adjusts the individual color scale functions to return
`ColorScaleSet`s instead of `DefaultColorScaleSet`s.

We only use the `DefaultColorScaleSet`s to simplify the construction of
the scales, so it isn't necessary to surface them outside of the
function.

Release Notes:

-  N/A

Marshall Bowers created

1b9619c added parsing support for <|S| |E|> spans (#3184)

Click to expand commit body
added parsing support for <|S| and |E|> spans for inline generation

Kyle Caverly created

272f856 Use `Refineable` for `ThemeStyles` (#3196)

Click to expand commit body
This PR updates the `ThemeStyles` struct to use the `Refineable` trait
instead of a custom declarative macro for generating refinements.

Release Notes:

- N/A

Marshall Bowers created

36a73d6 Remove old `Theme` definition (#3195)

Click to expand commit body
This PR removes the old `Theme` definition in favor of the new
`ThemeVariant`s.

The new `SyntaxStyles` have been reverted to the old `SyntaxTheme` that
operates by storing the syntax styles as a vector of
`gpui2::HighlightStyle`s.

This is necessary for the intended usage by `language2`, where we find
the longest key in the theme's syntax styles that matches the capture
name:

https://github.com/zed-industries/zed/blob/18431051d9d750d9e66284a71f7a55a1e31c1374/crates/language2/src/highlight_map.rs#L15-L41

Marshall Bowers created

1843105 Rework `theme2` with new theme structure (#3194)

Click to expand commit body
This PR reworks the theme definition in the `theme2` crate to be based
off of the new theme work that @iamnbutler has been working on.

We're still developing the new theme system, but it is complete enough
that we can now load the default theme and use it to theme the storybook
(albeit with some further refining of the color palette required).

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Marshall Bowers <marshall@zed.dev>

Marshall Bowers , Nate Butler , and Marshall Bowers created

795369a Port `multi_buffer` to gpui2

Julia created

ed5f1d3 zed2 (#3174)

Click to expand commit body
PR to get zed2 into main.

Because we have taken the approach of porting crates by renaming them to
`-2` we will need to manually reapply any changes that were made to
ported crates since the `zed2` branch diverged from master.

I think this is the list of PRs that may need changes ported manually.
Any changes to the following crates may need to be moved from crate `x`
to `x2` for each of the following crates: `audio call client copilot db
feature_flags fs fuzzy gpui install_cli language lsp prettier project
rpc settings storybook terminal theme ui zed`.

- [x] f75eb3f62 Conrad Irwin (origin/main, origin/HEAD, main) Merge
branch 'more-signing' (17 hours ago)
- [x] 832026a0a Julia Limit language server reinstallation attempts
(#3177) (18 hours ago)
- [x] 4539cef6d Julia Capture language server stderr during startup/init
and log if failure (#3175) (21 hours ago)
- [x] e6f2288a0 Conrad Irwin Don't use function_name in vim tests
(#3171) (2 days ago)
- [x] f67f42779 Mikayla Maki Rename IIFE to maybe (#3165) (2 days ago)
- [ ] 90f65ec9f Max Brunsfeld Remove logic for multiple channel parents
(#3162) (2 days ago)
- [ ] 4f859e025 Conrad Irwin link to channel notes (#3167) (2 days ago)
- [ ] b8bd070a8 Conrad Irwin Fix panic by disallowing multiple room
joins (#3149) (3 days ago)
- [ ] cc9e92857 Max Brunsfeld Guest roles (#3140) (3 days ago)
- [x] b090cefdd Kirill Bulatov Rework prettier tests (#3160) (3 days
ago)
- [ ] ff497810d Kyle Caverly move keychain access into semantic index as
opposed to on init (#3158) (3 days ago)
- [x] 2b95db087 Conrad Irwin Fix infinite loop in select all (#3154) (3
days ago)
- [ ] a5836b033 Max Brunsfeld Add chat mentions and a notifications
panel (#3121) (4 days ago)
- [ ] ef1a69156 Kyle Caverly update semantic search to use keychain as
fallback (#3151) (6 days ago)
- [x] 26638748b Kirill Bulatov Move prettier parsers data into languages
from LSP adapters (#3150) (6 days ago)
- [ ] 0dae0f602 Conrad Irwin pixel columns (#3052) (7 days ago)
- [x] cc7df91cc Julia Whoops (#3146) (7 days ago)
- [x] 808976ee2 Julia Magic incantations for Tailwind autocomplete in
more languages (#3141) (7 days ago)
- [ ] cc390ba86 Conrad Irwin Start writing role to database (#3120) (10
days ago)
- [ ] 2795091f0 Kyle Caverly Introduce Context Retrieval in Inline
Assistant (#3097) (10 days ago)
- [x] b168bded1 Conrad Irwin New entitlements: (#3118) (10 days ago)
- [x] 247cdb1e1 Joseph T. Lyons Fix telemetry-related crash on start up
(#3131) (11 days ago)
- [ ] 2323fd17b Julia Autocomplete docs (#3126) (2 weeks ago)
- [x] 16d9d77d8 Kirill Bulatov Update diagnostics indicator when
diagnostics are udpated (#3128) (2 weeks ago)
- [ ] 634202340 Kirill Bulatov Remove zed -> ... -> semantic_index ->
zed Cargo dependency cycle (#3127) (2 weeks ago)

Note: this list does not include any PRs that did not change crates that
have been converted; it also does not include any commits that were
pushed directly to master.

### To figure out what needs migrating, run:

```
git diff COMMIT^..COMMIT -- crates/audio crates/call crates/client crates/copilot crates/db crates/feature_flags crates/fs crates/fuzzy crates/gpui crates/install_cli crates/language crates/lsp crates/prettier crates/project crates/rpc crates/settings crates/storybook crates/terminal crates/theme crates/ui crates/zed
```

Max Brunsfeld created

66b520a Call initialize on the rendered element on AnyView

Antonio Scandurra created

0aa9c6b Introduce `AnyWeakView`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

7b6514b Simplify `AnyView`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

6a3974d Remove TODOs

Kirill Bulatov created

84c5494 Fix prettier errors around Zed's settings.json/keymap.json files

Click to expand commit body
Ports https://github.com/zed-industries/zed/pull/3191 to zed2

Deals with zed-industries/community#2191
Fix Zed starting too many prettier installations in the beginning, and not being able to format the config files.

Kirill Bulatov created

45e695c Fix prettier errors around Zed's settings.json/keymap.json files (#3191)

Click to expand commit body
Deals with https://github.com/zed-industries/community/issues/2191

Fix Zed starting too many prettier installations in the beginning, and
not being able to format the config files.

Release Notes:

- Fixed prettier not being able to format Zed's config files and spawning excessive prettier installations

Kirill Bulatov created

6ee9bee Enqueue default prettier installations

Kirill Bulatov created

88875fd Zed2 entities (#3189)

Click to expand commit body
Adds an `Entity` trait for abstracting over `View`s and `Model`s, and
implements it for the `subscribe()` and `observe()` APIs.

The last commit also includes a fun experiment I added, using the
`Result` type to return the owned model handles back to the caller in
the case of downcast failure, inspired by the `binary_search*` methods.

Antonio Scandurra created

c98a811 Only process diagnostics if corresponding project is alive

Click to expand commit body
Part of https://github.com/zed-industries/zed/pull/3128 that is possible
to apply now.

Kirill Bulatov created

bcf3bac Port `zed/src/languages` to zed2 (#3190)

Click to expand commit body
@SomeoneToIgnore I had to port
https://github.com/zed-industries/zed/pull/3150 to zed2 in the process,
giving you a heads-up

Julia created

db34de6 Port `zed/src/languages` to zed2

Julia created

f5b1307 experiment with a way to recover the any entities when downcasting fails

Mikayla created

6f1197e Change model to downcast with ownership

Mikayla created

327a2f9 Add the entity trait and implement for models, views, subscriptions, and observations

Mikayla created

58446c2 Merge branch 'zed2-render' into zed2

Max Brunsfeld created

d6abd8a Add missing dev-dependency feature for editor multi_buffer dependency

Max Brunsfeld created

30dffbb Introduce a Render trait, make views implement it

Click to expand commit body
Don't pass a render function separately from the view.

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Antonio <as-cii@zed.dev>

Max Brunsfeld , Nathan Sobo , Mikayla , and Antonio created

f33fc1b Remove print statement

Joseph T. Lyons created

d219ddb Add script to get crate-level completion status

Joseph T. Lyons created

b76ce65 Port PR #3131 to zed2 (#3187)

Click to expand commit body
Part of: 

- https://github.com/zed-industries/zed/pull/3174

Release Notes:

- N/A

Joseph T. Lyons created

607813e Tweak style for color scale story

Marshall Bowers created

613afd3 Port PR #3131 to zed2

Joseph T. Lyons created

4957112 theme2: Correctly reference the dark alpha scale

Marshall Bowers created

6098363 Merge branch 'theme-color-scales' into zed2

Marshall Bowers created

a02d806 Add a story showcasing the color scales

Marshall Bowers created

991f584 Fix alpha channel values for color scales

Marshall Bowers created

e0f68c7 Add type alias for steps in color scales

Marshall Bowers created

b128377 Register all of the color scales

Marshall Bowers created

ccccf84 Define all color scales

Marshall Bowers created

fd6f6cc Return proper full paths for single file workspaces

Kirill Bulatov created

29a3203 Start message numbering during prettier init, log error message text

Kirill Bulatov created

7841a56 Start work on defining color scales

Marshall Bowers created

b34f0c3 update prettier2, call2 and project2 to use fs2

KCaverly created

033d0ae Remember default prettier and its plugin installation

Kirill Bulatov created