Commit Graph

2957 Commits

Author SHA1 Message Date
Piotr Osiewicz
22afec32cf Revert "project: Fine-grained language server management" (#23804)
Reverts zed-industries/zed#23708
2025-01-28 21:38:06 +00:00
Piotr Osiewicz
c4e6c619ba project: Fine-grained language server management (#23708)
This reverts commit d8c9fdd014.

Closes #ISSUE

Release Notes:

- N/A
2025-01-28 22:14:55 +01:00
João Marcos
2b160f4f3c Omit gitignored files from context file picker (#23777)
In both `thread` and `prompt editor` the context file picker, gitignored
files are hidden (as expected) when searching files by path, but they
are still shown initially as you create the file picker.

Plus, selecting gitignored files in the `prompt editor` is bugged and
collapses everything.

This PR settles on not showing gitignored files to solve these
inconsistencies.

Release Notes:

- Fix gitignored files filter occasionally not working in context file
picker.
2025-01-28 11:40:42 -03:00
Bennet Bo Fenner
57a3d8c491 edit prediction: Hide rate completions modal behind feature flag (#23597)
This hides the ability to rate completions behind the
`predict-edits-rate-completions` feature flag

Release Notes:

- N/A
2025-01-28 12:27:09 +01:00
loczek
b99159c59b snippets: Fix snippets not updating while containing comments (#23755)
Closes #23699

Release Notes:

- Fixed issue where snippets would not update when a snippets file
contained comments.
2025-01-28 10:37:48 +01:00
renovate[bot]
793873bdc9 Update Rust crate sqlx to v0.8.3 (#22867)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [sqlx](https://redirect.github.com/launchbadge/sqlx) |
dev-dependencies | patch | `0.8.2` -> `0.8.3` |
| [sqlx](https://redirect.github.com/launchbadge/sqlx) | dependencies |
patch | `0.8.2` -> `0.8.3` |

---

### Release Notes

<details>
<summary>launchbadge/sqlx (sqlx)</summary>

###
[`v0.8.3`](https://redirect.github.com/launchbadge/sqlx/blob/HEAD/CHANGELOG.md#083---2025-01-03)

[Compare
Source](https://redirect.github.com/launchbadge/sqlx/compare/v0.8.2...v0.8.3)

41 pull requests were merged this release cycle.

##### Added

- \[[#&#8203;3418]]: parse timezone parameter in mysql connection url
\[\[[@&#8203;dojiong](https://redirect.github.com/dojiong)]]
- \[[#&#8203;3491]]: chore: Update async-std v1.13
\[\[[@&#8203;jayvdb](https://redirect.github.com/jayvdb)]]
- \[[#&#8203;3492]]: expose relation_id and relation_attribution_no on
PgColumn
\[\[[@&#8203;kurtbuilds](https://redirect.github.com/kurtbuilds)]]
- \[[#&#8203;3493]]: doc(sqlite): document behavior for zoned date-time
types \[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
- \[[#&#8203;3500]]: Add sqlite commit and rollback hooks
\[\[[@&#8203;gridbox](https://redirect.github.com/gridbox)]]
- \[[#&#8203;3505]]: chore(mysql): create test for passwordless auth
([#&#8203;3484](https://redirect.github.com/launchbadge/sqlx/issues/3484))
\[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
- \[[#&#8203;3507]]: Add a "sqlite-unbundled" feature that dynamically
links to system libsqlite3.so library
\[\[[@&#8203;lilydjwg](https://redirect.github.com/lilydjwg)]]
- \[[#&#8203;3508]]: doc(sqlite): show how to turn options into a pool
\[\[[@&#8203;M3t0r](https://redirect.github.com/M3t0r)]]
- \[[#&#8203;3514]]: Support PgHstore by default in macros
\[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
- \[[#&#8203;3550]]: Implement Acquire for PgListener
\[\[[@&#8203;sandhose](https://redirect.github.com/sandhose)]]
- \[[#&#8203;3551]]: Support building with rustls but native
certificates
\[\[[@&#8203;IlyaBizyaev](https://redirect.github.com/IlyaBizyaev)]]
- \[[#&#8203;3553]]: Add support for Postgres lquery arrays
\[\[[@&#8203;philipcristiano](https://redirect.github.com/philipcristiano)]]
- \[[#&#8203;3560]]: Add PgListener::next_buffered(), to support batch
processing of notifications
\[\[[@&#8203;chanks](https://redirect.github.com/chanks)]]
- \[[#&#8203;3577]]: Derive Copy where possible for database-specific
types \[\[[@&#8203;veigaribo](https://redirect.github.com/veigaribo)]]
- \[[#&#8203;3579]]: Reexport AnyTypeInfoKind
\[\[[@&#8203;Norlock](https://redirect.github.com/Norlock)]]
- \[[#&#8203;3580]]: doc(mysql): document difference between `Uuid` and
`uuid::fmt::Hyphenated`
\[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
- \[[#&#8203;3583]]: feat: point
\[\[[@&#8203;jayy-lmao](https://redirect.github.com/jayy-lmao)]]
- \[[#&#8203;3608]]: Implement AnyQueryResult for Sqlite and MySQL
\[\[[@&#8203;pxp9](https://redirect.github.com/pxp9)]]
- \[[#&#8203;3623]]: feat: add geometry line
\[\[[@&#8203;jayy-lmao](https://redirect.github.com/jayy-lmao)]]
- \[[#&#8203;3658]]: feat: add Transaction type aliases
\[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]

##### Changed

- \[[#&#8203;3519]]: Remove unused dependencies from sqlx-core, sqlx-cli
and sqlx-postgres
\[\[[@&#8203;vsuryamurthy](https://redirect.github.com/vsuryamurthy)]]
- \[[#&#8203;3529]]: Box Pgconnection fields
\[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
- \[[#&#8203;3548]]: Demote `.pgpass` file warning to a debug message.
\[\[[@&#8203;denschub](https://redirect.github.com/denschub)]]
- \[[#&#8203;3585]]: Eagerly reconnect in `PgListener::try_recv`
\[\[[@&#8203;swlynch99](https://redirect.github.com/swlynch99)]]
- \[[#&#8203;3596]]: Bump thiserror to v2.0.0
\[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]
- \[[#&#8203;3605]]: Use `UNION ALL` instead of `UNION` in nullable
check \[\[[@&#8203;Suficio](https://redirect.github.com/Suficio)]]
- \[[#&#8203;3629]]: chore: remove BoxFuture's (non-breaking)
\[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
- \[[#&#8203;3632]]: Bump hashlink to v0.10
\[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]
- \[[#&#8203;3643]]: Roll PostgreSQL 11..=15 tests to 13..=17
\[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]
- \[[#&#8203;3648]]: close listener connection on TimedOut and
BrokenPipe errors
\[\[[@&#8203;DXist](https://redirect.github.com/DXist)]]
- \[[#&#8203;3649]]: Bump hashbrown to v0.15
\[\[[@&#8203;paolobarbolini](https://redirect.github.com/paolobarbolini)]]

##### Fixed

- \[[#&#8203;3528]]: fix: obey `no-transaction` flag in down migrations
\[\[[@&#8203;manifest](https://redirect.github.com/manifest)]]
- \[[#&#8203;3536]]: fix: using sqlx::test macro inside macro's
\[\[[@&#8203;joeydewaal](https://redirect.github.com/joeydewaal)]]
- \[[#&#8203;3545]]: fix: remove `sqlformat`
\[\[[@&#8203;tbar4](https://redirect.github.com/tbar4)]]
- \[[#&#8203;3558]]: fix: fix example code of `query_as`
\[\[[@&#8203;xuehaonan27](https://redirect.github.com/xuehaonan27)]]
- \[[#&#8203;3566]]: Fix: Cannot query Postgres `INTERVAL[]`
\[\[[@&#8203;Ddystopia](https://redirect.github.com/Ddystopia)]]
- \[[#&#8203;3593]]: fix: URL decode database name when parsing
connection url
\[\[[@&#8203;BenoitRanque](https://redirect.github.com/BenoitRanque)]]
- \[[#&#8203;3601]]: Remove default-features = false from url
\[\[[@&#8203;hsivonen](https://redirect.github.com/hsivonen)]]
- \[[#&#8203;3604]]: Fix mistake in sqlx::test fixtures docs
\[\[[@&#8203;andreweggleston](https://redirect.github.com/andreweggleston)]]
- \[[#&#8203;3612]]: fix(mysql): percent-decode database name
\[\[[@&#8203;abonander](https://redirect.github.com/abonander)]]
- \[[#&#8203;3640]]: Dont use `EXPLAIN` in nullability check for QuestDB
\[\[[@&#8203;Suficio](https://redirect.github.com/Suficio)]]

[#&#8203;3418]: https://redirect.github.com/launchbadge/sqlx/pull/3418

[#&#8203;3478]: https://redirect.github.com/launchbadge/sqlx/pull/3478

[#&#8203;3491]: https://redirect.github.com/launchbadge/sqlx/pull/3491

[#&#8203;3492]: https://redirect.github.com/launchbadge/sqlx/pull/3492

[#&#8203;3493]: https://redirect.github.com/launchbadge/sqlx/pull/3493

[#&#8203;3500]: https://redirect.github.com/launchbadge/sqlx/pull/3500

[#&#8203;3505]: https://redirect.github.com/launchbadge/sqlx/pull/3505

[#&#8203;3507]: https://redirect.github.com/launchbadge/sqlx/pull/3507

[#&#8203;3508]: https://redirect.github.com/launchbadge/sqlx/pull/3508

[#&#8203;3514]: https://redirect.github.com/launchbadge/sqlx/pull/3514

[#&#8203;3519]: https://redirect.github.com/launchbadge/sqlx/pull/3519

[#&#8203;3528]: https://redirect.github.com/launchbadge/sqlx/pull/3528

[#&#8203;3529]: https://redirect.github.com/launchbadge/sqlx/pull/3529

[#&#8203;3536]: https://redirect.github.com/launchbadge/sqlx/pull/3536

[#&#8203;3545]: https://redirect.github.com/launchbadge/sqlx/pull/3545

[#&#8203;3548]: https://redirect.github.com/launchbadge/sqlx/pull/3548

[#&#8203;3550]: https://redirect.github.com/launchbadge/sqlx/pull/3550

[#&#8203;3551]: https://redirect.github.com/launchbadge/sqlx/pull/3551

[#&#8203;3553]: https://redirect.github.com/launchbadge/sqlx/pull/3553

[#&#8203;3558]: https://redirect.github.com/launchbadge/sqlx/pull/3558

[#&#8203;3560]: https://redirect.github.com/launchbadge/sqlx/pull/3560

[#&#8203;3566]: https://redirect.github.com/launchbadge/sqlx/pull/3566

[#&#8203;3577]: https://redirect.github.com/launchbadge/sqlx/pull/3577

[#&#8203;3579]: https://redirect.github.com/launchbadge/sqlx/pull/3579

[#&#8203;3580]: https://redirect.github.com/launchbadge/sqlx/pull/3580

[#&#8203;3583]: https://redirect.github.com/launchbadge/sqlx/pull/3583

[#&#8203;3585]: https://redirect.github.com/launchbadge/sqlx/pull/3585

[#&#8203;3593]: https://redirect.github.com/launchbadge/sqlx/pull/3593

[#&#8203;3596]: https://redirect.github.com/launchbadge/sqlx/pull/3596

[#&#8203;3601]: https://redirect.github.com/launchbadge/sqlx/pull/3601

[#&#8203;3604]: https://redirect.github.com/launchbadge/sqlx/pull/3604

[#&#8203;3605]: https://redirect.github.com/launchbadge/sqlx/pull/3605

[#&#8203;3608]: https://redirect.github.com/launchbadge/sqlx/pull/3608

[#&#8203;3612]: https://redirect.github.com/launchbadge/sqlx/pull/3612

[#&#8203;3623]: https://redirect.github.com/launchbadge/sqlx/pull/3623

[#&#8203;3629]: https://redirect.github.com/launchbadge/sqlx/pull/3629

[#&#8203;3632]: https://redirect.github.com/launchbadge/sqlx/pull/3632

[#&#8203;3640]: https://redirect.github.com/launchbadge/sqlx/pull/3640

[#&#8203;3643]: https://redirect.github.com/launchbadge/sqlx/pull/3643

[#&#8203;3648]: https://redirect.github.com/launchbadge/sqlx/pull/3648

[#&#8203;3649]: https://redirect.github.com/launchbadge/sqlx/pull/3649

[#&#8203;3658]: https://redirect.github.com/launchbadge/sqlx/pull/3658

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-28 10:22:41 +02:00
Cole Miller
27d57ba3b6 git: First stab at adding Linux and Vim keybindings (#23738)
Release Notes:

- N/A
2025-01-27 16:58:09 -05:00
邻二氮杂菲
29bfb56739 Add DeepSeek support (#23551)
- Added support for DeepSeek as a new language model provider in Zed
Assistant
- Implemented streaming API support for real-time responses from
DeepSeek models.
- Added a configuration UI for DeepSeek API key management and settings.
- Updated documentation with detailed setup instructions for DeepSeek
integration.
- Added DeepSeek-specific icons and model definitions for seamless
integration into the Zed UI.
- Integrated DeepSeek into the language model registry, making it
available alongside other providers like OpenAI and Anthropic.

Release Notes:

- Added support for DeepSeek to the Assistant.

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>
2025-01-27 13:40:59 -05:00
loczek
6293b20fd0 Add auto-completion support for snippet files (#23698)
Release Notes:

- Added auto-completion support for snippet files.


![image](https://github.com/user-attachments/assets/ad165fc7-a6e7-426c-8892-f7004515dfc7)
2025-01-27 12:32:22 +01:00
Mikayla Maki
a6b1514246 Fix missed renames in #22632 (#23688)
Fix a bug where a GPUI macro still used `ModelContext`
Rename `AsyncAppContext` -> `AsyncApp`
Rename update_model, read_model, insert_model, and reserve_model to
update_entity, read_entity, insert_entity, and reserve_entity

Release Notes:

- N/A
2025-01-26 23:37:34 +00:00
Max Brunsfeld
d2c55cbe3d Rework diff rendering to allow putting the cursor into deleted text, soft-wrapping and scrolling deleted text correctly (#22994)
Closes #12553

* [x] Fix `diff_hunk_before`
* [x] Fix failure to show deleted text when expanding hunk w/ cursor on
second line of the hunk
* [x] Failure to expand diff hunk below the cursor.
* [x] Delete the whole file, and expand the diff. Backspace over the
deleted hunk, panic!
* [x] Go-to-line now counts the diff hunks, but it should not
* [x] backspace at the beginning of a deleted hunk deletes too much text
* [x] Indent guides are rendered incorrectly 
* [ ] Fix randomized multi buffer tests

Maybe:
* [ ] Buffer search should include deleted text (in vim mode it turns
out I use `/x` all the time to jump to the next x I can see).
* [ ] vim: should refuse to switch into insert mode if selection is
fully within a diff.
* [ ] vim `o` command when cursor is on last line of deleted hunk.
* [ ] vim `shift-o` on first line of deleted hunk moves cursor but
doesn't insert line
* [x] `enter` at end of diff hunk inserts a new line but doesn't move
cursor
* [x] (`shift-enter` at start of diff hunk does nothing)
* [ ] Inserting a line just before an expanded hunk collapses it

Release Notes:


- Improved diff rendering, allowing you to navigate with your cursor
inside of deleted text in diff hunks.

---------

Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Cole <cole@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Michael <michael@zed.dev>
Co-authored-by: Agus <agus@zed.dev>
Co-authored-by: João <joao@zed.dev>
2025-01-24 14:18:22 -07:00
renovate[bot]
1fdae4bae0 Update Rust crate tokio to v1.43.0 (#22882)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [tokio](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) | dependencies |
minor | `1.42.0` -> `1.43.0` |
| [tokio](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) |
workspace.dependencies | minor | `1.42.0` -> `1.43.0` |

---

### Release Notes

<details>
<summary>tokio-rs/tokio (tokio)</summary>

###
[`v1.43.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.43.0):
Tokio v1.43.0

[Compare
Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.42.0...tokio-1.43.0)

### 1.43.0 (Jan 8th, 2025)

##### Added

-   net: add `UdpSocket::peek` methods ([#&#8203;7068])
-   net: add support for Haiku OS ([#&#8203;7042])
-   process: add `Command::into_std()` ([#&#8203;7014])
-   signal: add `SignalKind::info` on illumos ([#&#8203;6995])
-   signal: add support for realtime signals on illumos ([#&#8203;7029])

##### Fixed

- io: don't call `set_len` before initializing vector in `Blocking`
([#&#8203;7054])
- macros: suppress `clippy::needless_return` in `#[tokio::main]`
([#&#8203;6874])
-   runtime: fix thread parking on WebAssembly ([#&#8203;7041])

##### Changes

-   chore: use unsync loads for `unsync_load` ([#&#8203;7073])
-   io: use `Buf::put_bytes` in `Repeat` read impl ([#&#8203;7055])
-   task: drop the join waker of a task eagerly ([#&#8203;6986])

##### Changes to unstable APIs

- metrics: improve flexibility of H2Histogram Configuration
([#&#8203;6963])
-   taskdump: add accessor methods for backtrace ([#&#8203;6975])

##### Documented

- io: clarify `ReadBuf::uninit` allows initialized buffers as well
([#&#8203;7053])
- net: fix ambiguity in `TcpStream::try_write_vectored` docs
([#&#8203;7067])
-   runtime: fix `LocalRuntime` doc links ([#&#8203;7074])
- sync: extend documentation for `watch::Receiver::wait_for`
([#&#8203;7038])
-   sync: fix typos in `OnceCell` docs ([#&#8203;7047])

[#&#8203;6874]: https://redirect.github.com/tokio-rs/tokio/pull/6874

[#&#8203;6963]: https://redirect.github.com/tokio-rs/tokio/pull/6963

[#&#8203;6975]: https://redirect.github.com/tokio-rs/tokio/pull/6975

[#&#8203;6986]: https://redirect.github.com/tokio-rs/tokio/pull/6986

[#&#8203;6995]: https://redirect.github.com/tokio-rs/tokio/pull/6995

[#&#8203;7014]: https://redirect.github.com/tokio-rs/tokio/pull/7014

[#&#8203;7029]: https://redirect.github.com/tokio-rs/tokio/pull/7029

[#&#8203;7038]: https://redirect.github.com/tokio-rs/tokio/pull/7038

[#&#8203;7041]: https://redirect.github.com/tokio-rs/tokio/pull/7041

[#&#8203;7042]: https://redirect.github.com/tokio-rs/tokio/pull/7042

[#&#8203;7047]: https://redirect.github.com/tokio-rs/tokio/pull/7047

[#&#8203;7053]: https://redirect.github.com/tokio-rs/tokio/pull/7053

[#&#8203;7054]: https://redirect.github.com/tokio-rs/tokio/pull/7054

[#&#8203;7055]: https://redirect.github.com/tokio-rs/tokio/pull/7055

[#&#8203;7067]: https://redirect.github.com/tokio-rs/tokio/pull/7067

[#&#8203;7068]: https://redirect.github.com/tokio-rs/tokio/pull/7068

[#&#8203;7073]: https://redirect.github.com/tokio-rs/tokio/pull/7073

[#&#8203;7074]: https://redirect.github.com/tokio-rs/tokio/pull/7074

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS45Mi4wIiwidXBkYXRlZEluVmVyIjoiMzkuOTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-24 22:41:04 +02:00
Marshall Bowers
c55cdd0cb9 assistant2: Add thread persistence (#23582)
This PR adds persistence for threads in Assistant2.

Threads are now persisted to an LMDB database.

Release Notes:

- N/A
2025-01-24 00:09:26 +00:00
Piotr Osiewicz
d8c9fdd014 project: Revert project tree impl (again) (#23572) 2025-01-23 16:10:38 -05:00
Peter Tripp
1ac7da8473 terraform: Bump to v0.1.2 (#23546)
Includes:
- https://github.com/zed-industries/zed/pull/22268
2025-01-23 11:34:40 -05:00
Peter Tripp
bb937b6cee zig: Bump to v0.3.3 (#23547)
Includes:
- https://github.com/zed-industries/zed/pull/22609
2025-01-23 10:54:50 -05:00
Peter Tripp
ea1a6a68d3 php: Bump to v0.2.4 (#23543)
Includes:
- https://github.com/zed-industries/zed/pull/23532
- https://github.com/zed-industries/zed/pull/22268
2025-01-23 10:48:58 -05:00
Peter Tripp
63c5141365 purescript: Bump to v0.1.0 (#23544)
Includes:
- https://github.com/zed-industries/zed/pull/15181
- https://github.com/zed-industries/zed/pull/16955
- https://github.com/zed-industries/zed/pull/22609
2025-01-23 10:44:22 -05:00
Peter Tripp
26453a0f8f csharp: Bump to v0.1.1 (#23539)
Includes:
- https://github.com/zed-industries/zed/pull/22936
2025-01-23 10:40:54 -05:00
Peter Tripp
a328c81ff6 html: Bump to v0.1.5 (#23542)
Includes:
- https://github.com/zed-industries/zed/pull/20752
- https://github.com/zed-industries/zed/pull/22268
2025-01-23 10:37:14 -05:00
Peter Tripp
9d6d98e94e haskell: Bump to v0.1.3 (#23541)
Includes:
- https://github.com/zed-industries/zed/pull/22609
2025-01-23 10:30:47 -05:00
Peter Tripp
7d7db4debc elixir: Bump to v0.1.4 (#23540)
Includes:
- https://github.com/zed-industries/zed/pull/22055
- https://github.com/zed-industries/zed/pull/22268
2025-01-23 10:27:21 -05:00
Kirill Bulatov
91b0ca0895 Omit tsdk_path from the servers' options if it does not exist (#23525)
Part of https://github.com/zed-industries/zed/issues/22606

Before, `tsdk_path` for vtsls and typescript-language-server
unconditionally set a `tsdk`/`tsserver` property for the corresponding
language server, even if there were no such directory at all.
Instead, make the corresponding code to omit such property if it was not
found on the FS.

Release Notes:

- Fixed "The path /.../tsserver.js doesn't point to a valid tsserver
install. Falling back to bundled TypeScript version." pop-up appearing
2025-01-23 11:17:32 +00:00
Kirill Bulatov
d1be419fff Fix panics on opening repositories with empty remotes (#23520)
Uses a newer `git2` version with
https://github.com/rust-lang/git2-rs/pull/1120 fix

Closes https://github.com/zed-industries/zed/issues/23453

Release Notes:

- Fixed panics on opening repositories with empty remotes
2025-01-23 08:20:32 +00:00
renovate[bot]
36c62bc2d8 Update Rust crate metal to 0.31 (#23508)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [metal](https://redirect.github.com/gfx-rs/metal-rs) |
workspace.dependencies | minor | `0.30` -> `0.31` |

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-23 09:50:53 +02:00
renovate[bot]
9d7199e403 Update Rust crate convert_case to 0.7.0 (#23504)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [convert_case](https://redirect.github.com/rutrum/convert-case) |
workspace.dependencies | minor | `0.6.0` -> `0.7.0` |

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-23 09:49:28 +02:00
renovate[bot]
ecf70db7f0 Update Rust crate serde_json to v1.0.137 (#23498)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [serde_json](https://redirect.github.com/serde-rs/json) | dependencies
| patch | `1.0.135` -> `1.0.137` |
| [serde_json](https://redirect.github.com/serde-rs/json) |
workspace.dependencies | patch | `1.0.135` -> `1.0.137` |

---

### Release Notes

<details>
<summary>serde-rs/json (serde_json)</summary>

###
[`v1.0.137`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.137)

[Compare
Source](https://redirect.github.com/serde-rs/json/compare/v1.0.136...v1.0.137)

- Turn on "float_roundtrip" and "unbounded_depth" features for
serde_json in play.rust-lang.org
([#&#8203;1231](https://redirect.github.com/serde-rs/json/issues/1231))

###
[`v1.0.136`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.136)

[Compare
Source](https://redirect.github.com/serde-rs/json/compare/v1.0.135...v1.0.136)

- Optimize serde_json::value::Serializer::serialize_map by using
Map::with_capacity
([#&#8203;1230](https://redirect.github.com/serde-rs/json/issues/1230),
thanks [@&#8203;goffrie](https://redirect.github.com/goffrie))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 18:12:27 -05:00
renovate[bot]
848f29831e Update Rust crate semver to v1.0.25 (#23497)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [semver](https://redirect.github.com/dtolnay/semver) |
workspace.dependencies | patch | `1.0.24` -> `1.0.25` |

---

### Release Notes

<details>
<summary>dtolnay/semver (semver)</summary>

###
[`v1.0.25`](https://redirect.github.com/dtolnay/semver/releases/tag/1.0.25)

[Compare
Source](https://redirect.github.com/dtolnay/semver/compare/1.0.24...1.0.25)

- Enable serde impls on play.rust-lang.org
([#&#8203;330](https://redirect.github.com/dtolnay/semver/issues/330),
thanks [@&#8203;jofas](https://redirect.github.com/jofas))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 18:11:47 -05:00
renovate[bot]
db65ee0add Update Rust crate etagere to v0.2.15 (#23493)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [etagere](https://redirect.github.com/nical/etagere) | dependencies |
patch | `0.2.13` -> `0.2.15` |

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 18:03:51 -05:00
renovate[bot]
aad04e078a Update Rust crate indexmap to v2.7.1 (#23494)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [indexmap](https://redirect.github.com/indexmap-rs/indexmap) |
workspace.dependencies | patch | `2.7.0` -> `2.7.1` |

---

### Release Notes

<details>
<summary>indexmap-rs/indexmap (indexmap)</summary>

###
[`v2.7.1`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#271-2025-01-19)

[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.7.0...2.7.1)

-   Added `#[track_caller]` to functions that may panic.
-   Improved memory reservation for `insert_entry`.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 16:19:23 -05:00
Piotr Osiewicz
08b3c03241 project: Allow running multiple instances of a single language server within a single worktree (#23473)
This PR introduces a new entity called Project Tree which is responsible
for finding subprojects within a worktree;
a subproject is a language-specific subset of a worktree which should be
accurately tracked on the language server side. We'll have an ability to
set multiple disjoint workspaceFolders on language server side OR spawn
multiple instances of a single language server (which will be the case
with e.g. Python language servers, as they need to interact with
multiple disjoint virtual environments).
Project Tree assumes that projects of the same LspAdapter kind cannot
overlap. Additionally project nesting is not allowed within the scope of
a single LspAdapter.

Closes https://github.com/zed-industries/zed/issues/5108
Re-lands #22182 which I had to revert due to merging it into todays
Preview.

Release Notes:

- Language servers now track their working directory more accurately.

---------

Co-authored-by: João <joao@zed.dev>
2025-01-22 21:19:02 +01:00
Marshall Bowers
9f87145af9 title_bar: Simplify git-ui feature flag check (#23475)
This PR is a follow-up to
https://github.com/zed-industries/zed/pull/23470 that simplifies the way
we check the `git-ui` feature flag in the title bar.

Release Notes:

- N/A
2025-01-22 17:28:47 +00:00
Peter Tripp
5930b552b9 Bump Zed to v0.172 (#23474) 2025-01-22 11:57:24 -05:00
Piotr Osiewicz
da406ae07e Revert "project: Allow running multiple instances of a single language server within a single worktree" (#23472)
Reverts zed-industries/zed#22182
I've merged the build too soon as I wanted it to be excluded from todays
Preview.
2025-01-22 11:42:50 -05:00
Nate Butler
5be2784ddb git_ui: Feature flag repo selector (#23470)
Fixes an issue where the repo selector showed for all users, not just
those in the git_ui feature flag.

This was meant to be included in the `git_ui` feature flag.

Release Notes:

- N/A
2025-01-22 16:37:19 +00:00
Piotr Osiewicz
bed917b0b1 project: Allow running multiple instances of a single language server within a single worktree (#22182)
This PR introduces a new entity called Project Tree which is responsible
for finding subprojects within a worktree;
a subproject is a language-specific subset of a worktree which should be
accurately tracked on the language server side. We'll have an ability to
set multiple disjoint `workspaceFolder`s on language server side OR
spawn multiple instances of a single language server (which will be the
case with e.g. Python language servers, as they need to interact with
multiple disjoint virtual environments).
Project Tree assumes that projects of the same LspAdapter kind cannot
overlap. Additionally **project nesting** is not allowed within the
scope of a single LspAdapter.

Closes #5108

Release Notes:

- Language servers now track their working directory more accurately.

---------

Co-authored-by: João <joao@zed.dev>
2025-01-22 17:31:14 +01:00
Marshall Bowers
1e1997c97b Wire up AssistantPanelDelegate based on assistant2 feature flag (#23444)
This PR adjusts how the `AssistantPanelDelegate` global is set to be
based on the state of the feature flag.

This should prevent `assistant` and `assistant2` from potentially
clobbering each other.

Release Notes:

- N/A
2025-01-22 04:57:51 +00:00
Marshall Bowers
be407e27f9 Extract ContextHistory to assistant_context_editor (#23437)
This PR extracts the `ContextHistory` to the `assistant_context_editor`
crate.

Release Notes:

- N/A
2025-01-22 01:32:24 +00:00
Marshall Bowers
e59c910845 assistant2: Add prompt editor (#23436)
This PR adds the Assistant1 experience to Assistant2 as a "prompt
editor".

<img width="1309" alt="Screenshot 2025-01-21 at 7 17 26 PM"
src="https://github.com/user-attachments/assets/3ce2f32b-2b1a-48a8-8e56-4c44e3ac4ce5"
/>

Release Notes:

- N/A
2025-01-22 00:36:55 +00:00
Cole Miller
31909bf334 git: Implement a basic repository selector (#23419)
This PR adds a rough-and-ready picker for selecting which of the
project's repositories the git panel should display.

Release Notes:

- N/A

---------

Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Nate <nate@zed.dev>
2025-01-21 18:11:53 -05:00
Marshall Bowers
417760ade7 Extract ContextEditor to assistant_context_editor (#23433)
This PR extracts the `ContextEditor` to the `assistant_context_editor`
crate.

As part of this, we have decoupled the `ContextEditor` from the
`AssistantPanel`.

There is now an `AssistantPanelDelegate` that the `ContextEditor` uses
when it needs to interface with the Assistant panel.

Release Notes:

- N/A
2025-01-21 23:08:34 +00:00
Marshall Bowers
9a7f1d1de4 Add assistant_context_editor crate (#23429)
This PR adds a new `assistant_context_editor` crate.

This will ultimately house the `ContextEditor` so that it can be
consumed by both `assistant` and `assistant2`.

For the purposes of this PR, we just introduce the crate and move some
supporting constructs to it, such as the `ContextStore`.

Release Notes:

- N/A
2025-01-21 21:22:59 +00:00
Cole Miller
aa5fa4b7d4 git: Use a buffer for the panel's commit message (#23308)
This PR changes the `GitPanel` and `GitState` to use a
`language::Buffer` for the commit message. This is a small initial step
toward remote editing and collaboration support.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
2025-01-21 17:58:18 +00:00
Agus Zubiaga
919803a4f4 Require accepting ToS when enabling zeta (#23255)
Note: Design hasn't been reviewed yet, but the logic is done

When the user switches the inline completion provider to `zed`, we'll
show a modal prompting them to accept terms if they haven't done so:


https://github.com/user-attachments/assets/3fc6d368-c00a-4dcb-9484-fbbbb5eb859e

If they dismiss the modal, they'll be able to get to it again from the
inline completion button:


https://github.com/user-attachments/assets/cf842778-5538-4e06-9ed8-21579981cc47

This also stops zeta sending requests that will fail immediately when
ToS are not accepted.

Release Notes:

- N/A

---------

Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Joao <joao@zed.dev>
2025-01-20 11:48:49 -03:00
Michael Sloan
711dc21eb2 Load all key bindings that parse and use markdown in error notifications (#23113)
* Collects and reports all parse errors

* Shares parsed `KeyBindingContextPredicate` among the actions.

* Updates gpui keybinding and action parsing to return structured
errors.

* Renames "block" to "section" to match the docs, as types like
`KeymapSection` are shown in `json-language-server` hovers.

* Removes wrapping of `context` and `use_key_equivalents` fields so that
`json-language-server` auto-inserts `""` and `false` instead of `null`.

* Updates `add_to_cx` to take `&self`, so that the user keymap doesn't
get unnecessarily cloned.

In retrospect I wish I'd just switched to using TreeSitter to do the
parsing and provide proper diagnostics. This is tracked in #23333

Release Notes:

- Improved handling of errors within the user keymap file. Parse errors
within context, keystrokes, or actions no longer prevent loading the key
bindings that do parse.
2025-01-18 22:27:08 +00:00
Cole Miller
5da67899b7 git: Implement commit creation (#23263)
- [x] Basic implementation
- [x] Disable commit buttons when committing is not possible (empty
message, no changes)
- [x] Upgrade GitSummary to efficiently figure out whether there are any
staged changes
- [x] Make CommitAll work
- [x] Surface errors with toasts
  - [x] Channel shutdown
  - [x] Empty commit message or no changes
  - [x] Failed git operations
- [x] Fix added files no longer appearing correctly in the project panel
(GitSummary breakage)
- [x] Fix handling of commit message

Release Notes:

- N/A

---------

Co-authored-by: Nate <nate@zed.dev>
2025-01-17 18:51:20 +00:00
Marshall Bowers
cb35b73020 Extract PromptLibrary to prompt_library (#23285)
This PR extracts the `PromptLibrary` out of the `assistant` crate and
moves it to the `prompt_library` crate.

The `PromptLibrary` is now decoupled from the specifics of the
`AssistantPanel` and `InlineAssistant`.

Release Notes:

- N/A
2025-01-17 15:28:27 +00:00
Marshall Bowers
81dd68d696 Update Cargo.lock (#23284)
This PR updates the `Cargo.lock` file, as running `cargo check` was
producing a diff on `main`.

Release Notes:

- N/A
2025-01-17 14:50:28 +00:00
renovate[bot]
c6f2326a29 Update aws-sdk-rust monorepo (#23199)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [aws-config](https://redirect.github.com/smithy-lang/smithy-rs) |
dependencies | patch | `1.5.13` -> `1.5.14` |
| [aws-sdk-kinesis](https://redirect.github.com/awslabs/aws-sdk-rust) |
dependencies | minor | `1.55.0` -> `1.56.0` |
| [aws-sdk-s3](https://redirect.github.com/awslabs/aws-sdk-rust) |
dependencies | minor | `1.68.0` -> `1.69.0` |

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 10:41:04 +02:00
Andrew Borg (Kashin)
2ef4883937 terminal: Drain task output on completion (#23085)
Now we ensure that task output is fully drained and printed to Zed
terminal pane on task completion.

This change depends on a recent change to alacritty_terminal crate:
5e78d20c70.

Closes https://github.com/zed-industries/zed/issues/18342

Release Notes:

- Fixed missing task terminal output on Linux for short-running commands
2025-01-17 08:00:53 +00:00