Commit Graph
10425 Commits
Author SHA1 Message Date
Julia dbdb5f6519 Actually find downloaded binary in Elixir cached binary method 2023-11-06 11:18:36 -05:00
Kirill Bulatov 128d3696ad More heuristics for diagnostics updates (#3236)
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
2023-11-05 16:17:38 +02:00
Kirill Bulatov ad93d9132f Correctly update old diagnostics 2023-11-05 15:37:27 +02:00
Kirill Bulatov fdcb907644 Parallelize diagnostics filling, add more logs 2023-11-05 15:06:39 +02:00
Kirill Bulatov ff1d692e46 Restructure inner path data 2023-11-05 14:53:13 +02:00
Kirill Bulatov 7145fabb6d Eagerly refresh diagnostics that do not intercept with user input 2023-11-05 14:44:22 +02:00
Kirill Bulatov 660c3371e4 Refresh all possibly stale diagnostics pat 2023-11-05 14:43:54 +02:00
Nate Butler 1bce5dcc69 Add checkboxes and their stories 2023-11-05 01:06:41 -05:00
Nate Butler b125cc279f Simplify toggle, do some reorganization 2023-11-04 11:24:31 -04:00
Kirill Bulatov 9f40a5c53f Suppress unused vars warning generated by gpui macro 2023-11-04 13:54:37 +02:00
Max Brunsfeld 2dd32dbe87 Allow language injection in markdown code blocks in channel notes 2023-11-03 15:53:54 -07:00
Nate Butler b0d202ba5e Merge branch 'main' into add-ui-docs 2023-11-03 18:20:17 -04:00
Nate Butler 9ce7199d2d Add some initial docs 2023-11-03 18:19:54 -04:00
Marshall Bowers 5d36331942 storybook2: Remove unreferenced components module (#3229)
This PR removes the `components` module from `storybook2` as it was
dead, unreferenced code.

Release Notes:

- N/A
2023-11-03 18:12:21 -04:00
Marshall Bowers 76db100d11 ui2: Reorganize components (#3228)
This PR reorganizes the components in the `ui2` crate.

The distinction between "elements" and "components" is now gone, with
all of the reusable components living under `components/`.

The components that we built while prototyping but will eventually live
in other crates currently reside in the `to_extract/` module.

Release Notes:

- N/A
2023-11-03 17:34:11 -04:00
Marshall Bowers 287ea0a6e4 Allow deriving Serialize and Deserialize on generated refinement (#3227)
This PR adds support for deriving `Serialize` and `Deserialize` on the
refinement type generated by `#[derive(Refineable)]`.

Release Notes:

- N/A
2023-11-03 17:21:00 -04:00
Nate ButlerandMarshall Bowers d500b01aed Add docs burndown list
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-03 16:37:22 -04:00
Nate ButlerandMarshall Bowers 740e2cc5bf Start on ui root doc
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-03 16:28:54 -04:00
Kirill Bulatov edacffab58 Refresh diagnostics inside the tab (#3225)
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
2023-11-03 22:03:05 +02:00
Kirill Bulatov 918d123284 Fix the test 2023-11-03 21:51:12 +02:00
Kirill Bulatov 6f8947a3d3 Fix a compilation error 2023-11-03 21:51:12 +02:00
Kirill Bulatov 9cb8ce172d Refresh diagnostics inside the tab 2023-11-03 21:51:12 +02:00
Marshall Bowers fa7d6c0e70 Remove Default impl for ThemeColors` (#3226)
This PR removes the `Default` impl for `ThemeColors`.

Since we need default light and dark variants for `ThemeColors`, we
can't use a single `Default` impl.

Release Notes:

- N/A
2023-11-03 15:40:50 -04:00
66499f60ee Fix double borrow in synchronous tests that take AppContext
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
2023-11-03 12:10:11 -07:00
Mikayla 2b883bf32e WIP 2023-11-03 12:04:24 -07:00
Mikayla 6a1fb18334 Update to latest patterns for porting work 2023-11-03 10:46:47 -07:00
Max BrunsfeldandMarshall b085569b46 Add channel2 crate
Co-authored-by: Marshall <marshall@zed.dev>
2023-11-03 10:41:41 -07:00
Kyle Caverly 343525d77b added workspace event for WorkspaceCreated (#3222)
added workspace2 event for WorkspaceCreated

Release Notes:

- NA
2023-11-03 11:06:11 -04:00
Antonio Scandurra de3d37e070 Don't depend on gpui2 in text 2023-11-03 14:53:08 +01:00
Antonio Scandurra 097171b9b8 Merge remote-tracking branch 'origin/main' into editor2 2023-11-03 14:47:49 +01:00
Antonio Scandurra 3e8fcefaef Remove more todos 2023-11-03 14:42:26 +01:00
Antonio Scandurra feaab953a8 Add ViewContext::window_context 2023-11-03 14:41:37 +01:00
KCaverly b148c61047 added workspace event for WorkspaceCreated 2023-11-03 08:52:18 -04:00
Kirill Bulatov 1a0cd3e09b Remove and add more todosmerge . 2023-11-03 13:22:11 +02:00
Antonio Scandurra 77e3c7f8ee WIP 2023-11-03 12:10:15 +01:00
Kirill Bulatov f1fc07de94 Move journal2 to workspace2 2023-11-03 12:55:06 +02:00
Kirill Bulatov eb8a0e7148 Uncomment persistence tests 2023-11-03 12:38:09 +02:00
Antonio Scandurra b7712c2f4b Fix a todo in workspace 2023-11-03 11:36:39 +01:00
Antonio Scandurra bed10b433a Allow converting from a WeakView<V> to an AnyWeakView 2023-11-03 11:36:18 +01:00
Antonio Scandurra 6fc7b17259 Expose a focus handle from workspace::Item 2023-11-03 11:00:57 +01:00
Antonio Scandurra 97d1d9bd9b Uncomment Editor::report_editor_event 2023-11-03 10:53:55 +01:00
Antonio Scandurra 0dfa3c60b7 Remove some todos 2023-11-03 10:50:30 +01:00
Antonio Scandurra 11feda01e3 Uncomment Editor::new 2023-11-03 10:38:28 +01:00
Antonio Scandurra 2fccde5ab6 Remove unused code 2023-11-03 10:11:13 +01:00
Antonio Scandurra efa27cf9b8 Uncomment more editor code 2023-11-03 10:09:00 +01:00
Kirill Bulatov 09346fb9f1 Port changes to zed2 2023-11-03 11:02:50 +02:00
Kirill Bulatov 24dd1c5812 Properly order default prettier installations and startups 2023-11-03 11:02:50 +02:00
Kirill Bulatov 244c693968 Reuse already running default prettiers 2023-11-03 11:02:50 +02:00
Kirill Bulatov cf95f9b082 Make it more clear that missing prettier is to blame 2023-11-03 11:02:50 +02:00
Kirill Bulatov 369b5140fb Restore LSP names for prettier servers 2023-11-03 11:02:50 +02:00