* Fixed dock toggling not focusing the terminal element
* Fixed loosing focus on dock close (e.g. cmd-d on the last terminal in
the dock)
* Removed element stateless focus API since it would not work when the
element is not rendered, update all API usages to the stateful one via
`gpui::Subscription`
Release Notes:
- N/A
Part of
https://linear.app/zed-industries/issue/Z-1386/add-equivalent-setting-to-vscodes-auto-reveal-exclude
Deals with https://github.com/zed-industries/community/issues/800
* add a `project_panel::auto_reveal_entries` config entry to allow
disabling auto reveal in project panel (auto reveal is enabled by
default)
* add a `pane::RevealInProjectPanel` action (and a pane tab context menu
entry) to manually reveal any file entry
* stop auto revealing gitignored directories at all
We can add the auto reveal exclude globs later, if needed, but let's try
to keep the config simpler and start with a more minimalist approach.
Release Notes:
- Improved project panel auto reveal mechanics: gitignored files are not
auto revealed anymore; a `auto_reveal_entries = true` config option for
`project_panel` is added; a `pane::RevealInProjectPanel` action and a
corresponding buffer tab context menu were added
* gitignored entries are never auto revealed
* `project_panel::auto_reveal_entries = true` settings entry was added,
setting it to `false` will disable the auto reveal
* `pane::RevealInProjectPanel` action was added that activates the project panel and reveals the entry it got triggered on (including the gitignored ones)
Part of
https://zed-industries.slack.com/archives/C05SJGT0M33/p1702039430077589
The nightly job managed to pass successfully (build & upload nightly),
logged a proper commit sha that got into latest_sha on the nightly
bucket — but Zed version in about was wrong.
* Log Zed build sha in release builds to ensure CI uses the right one
* make curl to return non-zero code for non-200 nightly file uploads
Release Notes:
- N/A
<img width="1376" alt="image"
src="https://github.com/zed-industries/zed/assets/2690773/681cca85-e1b9-4a99-8363-60c931ba1393">
For any push (or force-push) into a branch, a separate CI workflow is
run.
This is rather worker-consuming, esp. given the fact that GitHub will
wait for the last job to update PR's status.
So cancel every old job for the same branch if it's not `main`.
CI run on `main` might catch a regression brought in by specific PR
merged, so run CI on every commit due to that.
Release Notes:
- N/A
Current panic reports are now harder to tell apart by the following
criteria:
* nightly or preview or stable
* zed2 or zed1

Current PR adds uses a different version for zed2 (2.0.0, selected
relatively arbitrary as zed2 is nothing officially released now) and
adds a `-nightly` suffix to the version number of the nightly bundle.
Release Notes:
- N/A
<img width="1728" alt="image"
src="https://github.com/zed-industries/zed/assets/2690773/f6f1e24f-71fe-4a2e-9bcf-9e98861c0da4">

Now inlays are visible in all zed2 themes, but
* always have a blue color which is the same as some theme colors
* not other hint-related style changes like font width, background, etc.
seem to exist in the theme, ergo not propagated.
In general though, people want those style changes applied to their
hints, so we might want to do something about it later.
I've left a `// todo!("what about the rest of the highlight style parts
for inlays and suggestions?")` in the corresponding places for that.
Release Notes:
- N/A
(in the first commit, this PR autoformats both yaml files with Zed's
default prettier, to be able to edit those in prettier from now on)
Bundling is a relatively long procedure, and now we have nightly builds
for zed2 (with their own lifecycle, CI file and tag for triggering it
from non-main branch).
Hence, bundling zed1 and/or zed2 by default looks wasteful and
unnecessary, disable them by default.
There's still a `run-build-dmg` label that enables bundling for any PR
needed, and a `startsWith(github.ref, 'refs/tags/v')` check in the CI
run to keep the releases working.
Release Notes:
- N/A
Addresses
https://zed-industries.slack.com/archives/C04S5TU0RSN/p1701428432093989
by allowing to open a buffer without a corresponding project `Entry`.
This means that now, we can remove the "fake worktree" requirement and
open files without creating any (the PR does not do this step yet, but
prepares the code for it).
In addition, the PR fixes glob matching code and adds more tests on
excluded files queries.
Release Notes:
- Fixed search query inclusions/exclusions working incorrectly
- Fixed excluded files being opened via CLI and failing or spoiling
project tree view
Based on influencer's feedback.
The diagnostics are collected and available still, since that might
become a settings/UI toggle later.
Also, buffer diagnostics are still updated for gitignored files.
Release Notes:
- Excluded gitignored files' diagnostics from project panel and its
indicator.
The diagnostics are collected and available still, since that might become a settings/UI toggle later.
Also, buffer diagnostics are still updated for gitignored files.
Deals with https://github.com/zed-industries/community/issues/2124
* sends more ClientCapabilities LSP data, diagnostics capabilities in
particular: those are now required by typescript-language-server LSP to
start publishing diagnostics
* sends more parameters during eslint workspace initialization, so it is
able to correctly look up project's typescript config
Presumably, it's not enough and some convoluted project set ups may
break still, but let's wait for examples and feedback.
Release Notes:
- Fixed typescript-language-server diagnostics not appearing for newer
server versions; fixed eslint diagnostics using wrong directory for
typescript config lookup
Refactors prettier support:
* moves away prettier-related code into a separate module, makes
prettier installation & start phases more type-restricted
* ensures prettier installation and start attempts are capped with a
fixed attempts amount: after it's exceeded, no further attempts to
install and/or start prettier area made
* improves default prettier management, by correctly preserving its
plugin set between (re) installations and always installing the prettier
server part
* slightly improves prettier logging
Release Notes:
- N/A
Previously, `npm i` command could take too much time to download
dependencies, which was caused by wrong flags used.
Since we run `node` and `npm` processes ourselves and try to isolate
them from potentially "bad" user configs, it seems safer to remove any
ways to re-configure the tools via env vars, so strip off those too.
Release Notes:
- N/A
Fixes binary build warnings such as
https://github.com/zed-industries/zed/actions/runs/6980107733/job/18994693722#step:5:9
```
warning: output filename collision.
The bin target `dotenv` in package `collab2 v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab2)` has the same output filename as the bin target `dotenv` in package `collab v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab)`.
Colliding filename is: /Users/administrator/actions-runner-1/_work/zed/zed/target/debug/dotenv
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The bin target `dotenv` in package `collab2 v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab2)` has the same output filename as the bin target `dotenv` in package `collab v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab)`.
Colliding filename is: /Users/administrator/actions-runner-1/_work/zed/zed/target/debug/dotenv.dSYM
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The bin target `seed` in package `collab2 v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab2)` has the same output filename as the bin target `seed` in package `collab v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab)`.
Colliding filename is: /Users/administrator/actions-runner-1/_work/zed/zed/target/debug/seed
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The bin target `seed` in package `collab2 v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab2)` has the same output filename as the bin target `seed` in package `collab v0.28.0 (/Users/administrator/actions-runner-1/_work/zed/zed/crates/collab)`.
Colliding filename is: /Users/administrator/actions-runner-1/_work/zed/zed/target/debug/seed.dSYM
The targets should have unique names.
Consider changing their names to be unique or compiling them separately.
This may become a hard error in the future; see <https://github.com/rust-lang/cargo/issues/6313>.
```
by suffixing the collab2 binaries with `2`.
Release Notes:
- N/A
* Part of https://github.com/zed-industries/community/issues/70
Allows to fully remove from Zed certain files or file groups: no items
will be scanned or added into worktrees, so nothing will be shown in
project tree, project search and go to file would not see those,
corresponding FS events will be ignored.
One exclusion is .git files: those are still not shown or accessible by
default, yet tracked in the worktrees.
By default, is configured to
```json
"file_scan_exclusions": [
"**/.git",
"**/.svn",
"**/.hg",
"**/CVS",
"**/.DS_Store",
"**/Thumbs.db",
"**/.classpath",
"**/.settings"
],
```
* In addition, contains code preparations for "search in included files"
feature: new SearchOptions variant, search crate and RPC adjustments
Release Notes:
- Added `file_scan_exclusions` section to project settings to completely
ignore certain files in Zed