diff --git a/.cargo/ci-config.toml b/.cargo/ci-config.toml
index d5e312c242..b31b79a59b 100644
--- a/.cargo/ci-config.toml
+++ b/.cargo/ci-config.toml
@@ -5,12 +5,16 @@
# Arrays are merged together though. See: https://doc.rust-lang.org/cargo/reference/config.html#hierarchical-structure
# The intent for this file is to configure CI build process with a divergance from Zed developers experience; for example, in this config file
# we use `-D warnings` for rustflags (which makes compilation fail in presence of warnings during build process). Placing that in developers `config.toml`
-# would be incovenient.
+# would be inconvenient.
# The reason for not using the RUSTFLAGS environment variable is that doing so would override all the settings in the config.toml file, even if the contents of the latter are completely nonsensical. See: https://github.com/rust-lang/cargo/issues/5376
# Here, we opted to use `[target.'cfg(all())']` instead of `[build]` because `[target.'**']` is guaranteed to be cumulative.
[target.'cfg(all())']
rustflags = ["-D", "warnings"]
+# We don't need fullest debug information for dev stuff (tests etc.) in CI.
+[profile.dev]
+debug = "limited"
+
# Use Mold on Linux, because it's faster than GNU ld and LLD.
#
# We no longer set this in the default `config.toml` so that developers can opt in to Wild, which
diff --git a/.config/hakari.toml b/.config/hakari.toml
deleted file mode 100644
index 1e8386a141..0000000000
--- a/.config/hakari.toml
+++ /dev/null
@@ -1,42 +0,0 @@
-# This file contains settings for `cargo hakari`.
-# See https://docs.rs/cargo-hakari/latest/cargo_hakari/config for a full list of options.
-
-hakari-package = "workspace-hack"
-
-resolver = "2"
-dep-format-version = "4"
-workspace-hack-line-style = "workspace-dotted"
-
-# this should be the same list as "targets" in ../rust-toolchain.toml
-platforms = [
- "x86_64-apple-darwin",
- "aarch64-apple-darwin",
- "x86_64-unknown-linux-gnu",
- "aarch64-unknown-linux-gnu",
- "x86_64-pc-windows-msvc",
- "x86_64-unknown-linux-musl", # remote server
-]
-
-[traversal-excludes]
-workspace-members = [
- "remote_server",
-]
-third-party = [
- { name = "reqwest", version = "0.11.27" },
- # build of remote_server should not include scap / its x11 dependency
- { name = "zed-scap", git = "https://github.com/zed-industries/scap", rev = "4afea48c3b002197176fb19cd0f9b180dd36eaac", version = "0.0.8-zed" },
- # build of remote_server should not need to include on libalsa through rodio
- { name = "rodio", git = "https://github.com/RustAudio/rodio" },
-]
-
-[final-excludes]
-workspace-members = [
- "zed_extension_api",
-
- # exclude all extensions
- "zed_glsl",
- "zed_html",
- "zed_proto",
- "slash_commands_example",
- "zed_test_extension",
-]
diff --git a/.config/nextest.toml b/.config/nextest.toml
index b05d68911f..49fb4d01f7 100644
--- a/.config/nextest.toml
+++ b/.config/nextest.toml
@@ -4,3 +4,17 @@ sequential-db-tests = { max-threads = 1 }
[[profile.default.overrides]]
filter = 'package(db)'
test-group = 'sequential-db-tests'
+
+# Run slowest tests first.
+#
+[[profile.default.overrides]]
+filter = 'package(worktree) and test(test_random_worktree_changes)'
+priority = 100
+
+[[profile.default.overrides]]
+filter = 'package(collab) and (test(random_project_collaboration_tests) or test(random_channel_buffer_tests) or test(test_contact_requests) or test(test_basic_following))'
+priority = 99
+
+[[profile.default.overrides]]
+filter = 'package(extension_host) and test(test_extension_store_with_test_extension)'
+priority = 99
diff --git a/.github/ISSUE_TEMPLATE/01_bug_ai.yml b/.github/ISSUE_TEMPLATE/01_bug_ai.yml
deleted file mode 100644
index 16bdef6c7e..0000000000
--- a/.github/ISSUE_TEMPLATE/01_bug_ai.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: Bug Report (AI)
-description: Zed Agent Panel Bugs
-type: "Bug"
-labels: ["ai"]
-title: "AI: "
-body:
- - type: textarea
- attributes:
- label: Summary
- description: Describe the bug with a one line summary, and provide detailed reproduction steps
- value: |
-
- SUMMARY_SENTENCE_HERE
-
- ### Description
-
- Steps to trigger the problem:
- 1.
- 2.
- 3.
-
- **Expected Behavior**:
- **Actual Behavior**:
-
- ### Model Provider Details
- - Provider: (Anthropic via ZedPro, Anthropic via API key, Copilot Chat, Mistral, OpenAI, etc)
- - Model Name:
- - Mode: (Agent Panel, Inline Assistant, Terminal Assistant or Text Threads)
- - Other Details (MCPs, other settings, etc):
- validations:
- required: true
-
- - type: textarea
- id: environment
- attributes:
- label: Zed Version and System Specs
- description: 'Open Zed, and in the command palette select "zed: copy system specs into clipboard"'
- placeholder: |
- Output of "zed: copy system specs into clipboard"
- validations:
- required: true
diff --git a/.github/ISSUE_TEMPLATE/04_bug_debugger.yml b/.github/ISSUE_TEMPLATE/04_bug_debugger.yml
deleted file mode 100644
index 2682295a43..0000000000
--- a/.github/ISSUE_TEMPLATE/04_bug_debugger.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: Bug Report (Debugger)
-description: Zed Debugger-Related Bugs
-type: "Bug"
-labels: ["debugger"]
-title: "Debugger: "
-body:
- - type: textarea
- attributes:
- label: Summary
- description: Describe the bug with a one line summary, and provide detailed reproduction steps
- value: |
-
- SUMMARY_SENTENCE_HERE
-
- ### Description
-
- Steps to trigger the problem:
- 1.
- 2.
- 3.
-
- **Expected Behavior**:
- **Actual Behavior**:
-
- validations:
- required: true
- - type: textarea
- id: environment
- attributes:
- label: Zed Version and System Specs
- description: 'Open Zed, and in the command palette select "zed: copy system specs into clipboard"'
- placeholder: |
- Output of "zed: copy system specs into clipboard"
- validations:
- required: true
diff --git a/.github/ISSUE_TEMPLATE/07_bug_windows_beta.yml b/.github/ISSUE_TEMPLATE/07_bug_windows_beta.yml
deleted file mode 100644
index b2b2a0f9df..0000000000
--- a/.github/ISSUE_TEMPLATE/07_bug_windows_beta.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: Bug Report (Windows Beta)
-description: Zed Windows Beta Related Bugs
-type: "Bug"
-labels: ["windows"]
-title: "Windows Beta: "
-body:
- - type: textarea
- attributes:
- label: Summary
- description: Describe the bug with a one-line summary, and provide detailed reproduction steps
- value: |
-
- SUMMARY_SENTENCE_HERE
-
- ### Description
-
- Steps to trigger the problem:
- 1.
- 2.
- 3.
-
- **Expected Behavior**:
- **Actual Behavior**:
-
- validations:
- required: true
- - type: textarea
- id: environment
- attributes:
- label: Zed Version and System Specs
- description: 'Open Zed, and in the command palette select "zed: copy system specs into clipboard"'
- placeholder: |
- Output of "zed: copy system specs into clipboard"
- validations:
- required: true
diff --git a/.github/ISSUE_TEMPLATE/10_bug_report.yml b/.github/ISSUE_TEMPLATE/10_bug_report.yml
index 1bf6c80e40..cae10f02ec 100644
--- a/.github/ISSUE_TEMPLATE/10_bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/10_bug_report.yml
@@ -1,58 +1,115 @@
-name: Bug Report (Other)
-description: |
- Something else is broken in Zed (exclude crashing).
-type: "Bug"
+name: Report a bug
+description: Report a problem with Zed.
+type: Bug
+labels: "state:needs triage"
body:
+ - type: markdown
+ attributes:
+ value: |
+ Is this bug already reported? Upvote to get it noticed faster. [Here's the search](https://github.com/zed-industries/zed/issues). Upvote means giving it a :+1: reaction.
+
+ Feature request? Please open in [discussions](https://github.com/zed-industries/zed/discussions/new/choose) instead.
+
+ Just have a question or need support? Welcome to [Discord Support Forums](https://discord.com/invite/zedindustries).
- type: textarea
attributes:
- label: Summary
- description: Provide a one sentence summary and detailed reproduction steps
- value: |
-
- SUMMARY_SENTENCE_HERE
-
- ### Description
-
-
- DESCRIPTION_HERE
-
- Steps to reproduce:
- 1.
- 2.
- 3.
- 4.
-
- **Expected Behavior**:
- **Actual Behavior**:
-
-
-
+ label: Reproduction steps
+ description: A step-by-step description of how to reproduce the bug from a **clean Zed install**. The more context you provide, the easier it is to find and fix the problem fast.
+ placeholder: |
+ 1. Start Zed
+ 2. Click X
validations:
required: true
+ - type: textarea
+ attributes:
+ label: Current vs. Expected behavior
+ description: |
+ Current behavior (screenshots, videos, etc. are appreciated), vs. what you expected the behavior to be.
+ placeholder: |
+ Current behavior: The icon is blue. Expected behavior: The icon should be red because this is what the setting is documented to do.
+ validations:
+ required: true
- type: textarea
id: environment
attributes:
- label: Zed Version and System Specs
+ label: Zed version and system specs
description: |
- Open Zed, from the command palette select "zed: copy system specs into clipboard"
+ Open the command palette in Zed, then type “zed: copy system specs into clipboard”.
placeholder: |
- Output of "zed: copy system specs into clipboard"
+ Zed: v0.215.0 (Zed Nightly bfe141ea79aa4984028934067ba75c48d99136ae)
+ OS: macOS 15.1
+ Memory: 36 GiB
+ Architecture: aarch64
validations:
required: true
+ - type: textarea
+ attributes:
+ label: Attach Zed log file
+ description: |
+ Open the command palette in Zed, then type `zed: open log` to see the last 1000 lines. Or type `zed: reveal log in file manager` in the command palette to reveal the log file itself.
+ value: |
+ Zed.log
+
+
+ ```log
+
+ ```
+
+
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Relevant Zed settings
+ description: |
+ Open the command palette in Zed, then type “zed: open settings file” and copy/paste any relevant (e.g., LSP-specific) settings.
+ value: |
+ settings.json
+
+
+ ```json
+
+ ```
+
+
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Relevant Keymap
+ description: |
+ Open the command palette in Zed, then type “zed: open keymap file” and copy/paste the file's contents.
+ value: |
+ keymap.json
+
+
+ ```json
+
+ ```
+
+
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: (for AI issues) Model provider details
+ placeholder: |
+ - Provider: (Anthropic via ZedPro, Anthropic via API key, Copilot Chat, Mistral, OpenAI, etc.)
+ - Model Name: (Claude Sonnet 4.5, Gemini 3 Pro, GPT-5)
+ - Mode: (Agent Panel, Inline Assistant, Terminal Assistant or Text Threads)
+ - Other details (ACPs, MCPs, other settings, etc.):
+ validations:
+ required: false
+ - type: dropdown
+ attributes:
+ label: If you are using WSL on Windows, what flavor of Linux are you using?
+ multiple: false
+ options:
+ - Arch Linux
+ - Ubuntu
+ - Fedora
+ - Mint
+ - Pop!_OS
+ - NixOS
+ - Other
diff --git a/.github/ISSUE_TEMPLATE/11_crash_report.yml b/.github/ISSUE_TEMPLATE/11_crash_report.yml
index aa736c7534..a019848e87 100644
--- a/.github/ISSUE_TEMPLATE/11_crash_report.yml
+++ b/.github/ISSUE_TEMPLATE/11_crash_report.yml
@@ -1,43 +1,35 @@
-name: Crash Report
-description: Zed is Crashing or Hanging
-type: "Crash"
+name: Report a crash
+description: Zed is crashing or freezing or hanging.
+type: Crash
+labels: "state:needs triage"
body:
- type: textarea
attributes:
- label: Summary
- description: Summarize the issue with detailed reproduction steps
- value: |
-
- SUMMARY_SENTENCE_HERE
-
- ### Description
-
- Steps to trigger the problem:
- 1.
- 2.
- 3.
-
- Actual Behavior:
- Expected Behavior:
-
- validations:
- required: true
- - type: textarea
- id: environment
- attributes:
- label: Zed Version and System Specs
- description: 'Open Zed, and in the command palette select "zed: copy system specs into clipboard"'
+ label: Reproduction steps
+ description: A step-by-step description of how to reproduce the crash from a **clean Zed install**. The more context you provide, the easier it is to find and fix the problem fast.
placeholder: |
- Output of "zed: copy system specs into clipboard"
+ 1. Start Zed
+ 2. Perform an action
+ 3. Zed crashes
validations:
required: true
- type: textarea
attributes:
- label: If applicable, attach your `~/Library/Logs/Zed/Zed.log` file to this issue.
+ label: Zed version and system specs
description: |
- macOS: `~/Library/Logs/Zed/Zed.log`
- Linux: `~/.local/share/zed/logs/Zed.log` or $XDG_DATA_HOME
- If you only need the most recent lines, you can run the `zed: open log` command palette action to see the last 1000.
+ Open the command palette in Zed, then type “zed: copy system specs into clipboard”.
+ placeholder: |
+ Zed: v0.215.0 (Zed Nightly bfe141ea79aa4984028934067ba75c48d99136ae)
+ OS: macOS 15.1
+ Memory: 36 GiB
+ Architecture: aarch64
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Attach Zed log file
+ description: |
+ Open the command palette in Zed, then type `zed: open log` to see the last 1000 lines. Or type `zed: reveal log in file manager` in the command palette to reveal the log file itself.
value: |
Zed.log
diff --git a/.github/ISSUE_TEMPLATE/99_other.yml b/.github/ISSUE_TEMPLATE/99_other.yml
deleted file mode 100644
index 9383a576b1..0000000000
--- a/.github/ISSUE_TEMPLATE/99_other.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Other [Staff Only]
-description: Zed Staff Only
-body:
- - type: textarea
- attributes:
- label: Summary
- value: |
-
- SUMMARY_SENTENCE_HERE
-
- ### Description
-
- IF YOU DO NOT WORK FOR ZED INDUSTRIES DO NOT CREATE ISSUES WITH THIS TEMPLATE.
- THEY WILL BE AUTO-CLOSED AND MAY RESULT IN YOU BEING BANNED FROM THE ZED ISSUE TRACKER.
-
- FEATURE REQUESTS / SUPPORT REQUESTS SHOULD BE OPENED AS DISCUSSIONS:
- https://github.com/zed-industries/zed/discussions/new/choose
- validations:
- required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 3d0b2ce0af..9bf14ce72d 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,9 +1,9 @@
-# yaml-language-server: $schema=https://json.schemastore.org/github-issue-config.json
+# yaml-language-server: $schema=https://www.schemastore.org/github-issue-config.json
blank_issues_enabled: false
contact_links:
- - name: Feature Request
+ - name: Feature request
url: https://github.com/zed-industries/zed/discussions/new/choose
- about: To request a feature, open a new Discussion in one of the appropriate Discussion categories
- - name: "Zed Discord"
- url: https://zed.dev/community-links
- about: Real-time discussion and user support
+ about: To request a feature, open a new discussion under one of the appropriate categories.
+ - name: Our Discord community
+ url: https://discord.com/invite/zedindustries
+ about: Join our Discord server for real-time discussion and user support.
diff --git a/.github/actions/run_tests/action.yml b/.github/actions/run_tests/action.yml
index faf9401797..a071aba3a8 100644
--- a/.github/actions/run_tests/action.yml
+++ b/.github/actions/run_tests/action.yml
@@ -4,10 +4,8 @@ description: "Runs the tests"
runs:
using: "composite"
steps:
- - name: Install Rust
- shell: bash -euxo pipefail {0}
- run: |
- cargo install cargo-nextest --locked
+ - name: Install nextest
+ uses: taiki-e/install-action@nextest
- name: Install Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
@@ -15,8 +13,11 @@ runs:
node-version: "18"
- name: Limit target directory size
+ env:
+ MAX_SIZE: ${{ runner.os == 'macOS' && 300 || 100 }}
shell: bash -euxo pipefail {0}
- run: script/clear-target-dir-if-larger-than 100
+ # Use the variable in the run command
+ run: script/clear-target-dir-if-larger-than ${{ env.MAX_SIZE }}
- name: Run tests
shell: bash -euxo pipefail {0}
diff --git a/.github/actions/run_tests_windows/action.yml b/.github/actions/run_tests_windows/action.yml
index d85d47cb96..307b73f363 100644
--- a/.github/actions/run_tests_windows/action.yml
+++ b/.github/actions/run_tests_windows/action.yml
@@ -11,9 +11,8 @@ runs:
using: "composite"
steps:
- name: Install test runner
- shell: powershell
working-directory: ${{ inputs.working-directory }}
- run: cargo install cargo-nextest --locked
+ uses: taiki-e/install-action@nextest
- name: Install Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
diff --git a/.github/workflows/after_release.yml b/.github/workflows/after_release.yml
new file mode 100644
index 0000000000..21b9a8fe0e
--- /dev/null
+++ b/.github/workflows/after_release.yml
@@ -0,0 +1,119 @@
+# Generated from xtask::workflows::after_release
+# Rebuild with `cargo xtask workflows`.
+name: after_release
+on:
+ release:
+ types:
+ - published
+ workflow_dispatch:
+ inputs:
+ tag_name:
+ description: tag_name
+ required: true
+ type: string
+ prerelease:
+ description: prerelease
+ required: true
+ type: boolean
+ body:
+ description: body
+ type: string
+ default: ''
+jobs:
+ rebuild_releases_page:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: after_release::rebuild_releases_page::refresh_cloud_releases
+ run: curl -fX POST https://cloud.zed.dev/releases/refresh?expect_tag=${{ github.event.release.tag_name || inputs.tag_name }}
+ shell: bash -euxo pipefail {0}
+ - name: after_release::rebuild_releases_page::redeploy_zed_dev
+ run: npm exec --yes -- vercel@37 --token="$VERCEL_TOKEN" --scope zed-industries redeploy https://zed.dev
+ shell: bash -euxo pipefail {0}
+ env:
+ VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
+ post_to_discord:
+ needs:
+ - rebuild_releases_page
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - id: get-release-url
+ name: after_release::post_to_discord::get_release_url
+ run: |
+ if [ "${{ github.event.release.prerelease || inputs.prerelease }}" == "true" ]; then
+ URL="https://zed.dev/releases/preview"
+ else
+ URL="https://zed.dev/releases/stable"
+ fi
+
+ echo "URL=$URL" >> "$GITHUB_OUTPUT"
+ shell: bash -euxo pipefail {0}
+ - id: get-content
+ name: after_release::post_to_discord::get_content
+ uses: 2428392/gh-truncate-string-action@b3ff790d21cf42af3ca7579146eedb93c8fb0757
+ with:
+ stringToTruncate: |
+ 📣 Zed [${{ github.event.release.tag_name || inputs.tag_name }}](<${{ steps.get-release-url.outputs.URL }}>) was just released!
+
+ ${{ github.event.release.body || inputs.body }}
+ maxLength: 2000
+ truncationSymbol: '...'
+ - name: after_release::post_to_discord::discord_webhook_action
+ uses: tsickert/discord-webhook@c840d45a03a323fbc3f7507ac7769dbd91bfb164
+ with:
+ webhook-url: ${{ secrets.DISCORD_WEBHOOK_RELEASE_NOTES }}
+ content: ${{ steps.get-content.outputs.string }}
+ publish_winget:
+ runs-on: self-32vcpu-windows-2022
+ steps:
+ - id: set-package-name
+ name: after_release::publish_winget::set_package_name
+ run: |
+ if ("${{ github.event.release.prerelease || inputs.prerelease }}" -eq "true") {
+ $PACKAGE_NAME = "ZedIndustries.Zed.Preview"
+ } else {
+ $PACKAGE_NAME = "ZedIndustries.Zed"
+ }
+
+ echo "PACKAGE_NAME=$PACKAGE_NAME" >> $env:GITHUB_OUTPUT
+ shell: pwsh
+ - name: after_release::publish_winget::winget_releaser
+ uses: vedantmgoyal9/winget-releaser@19e706d4c9121098010096f9c495a70a7518b30f
+ with:
+ identifier: ${{ steps.set-package-name.outputs.PACKAGE_NAME }}
+ release-tag: ${{ github.event.release.tag_name || inputs.tag_name }}
+ max-versions-to-keep: 5
+ token: ${{ secrets.WINGET_TOKEN }}
+ create_sentry_release:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: release::create_sentry_release
+ uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c
+ with:
+ environment: production
+ env:
+ SENTRY_ORG: zed-dev
+ SENTRY_PROJECT: zed
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ notify_on_failure:
+ needs:
+ - rebuild_releases_page
+ - post_to_discord
+ - publish_winget
+ - create_sentry_release
+ if: failure()
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: release::notify_on_failure::notify_slack
+ run: |-
+ curl -X POST -H 'Content-type: application/json'\
+ --data '{"text":"${{ github.workflow }} failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' "$SLACK_WEBHOOK"
+ shell: bash -euxo pipefail {0}
+ env:
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WORKFLOW_FAILURES }}
diff --git a/.github/workflows/autofix_pr.yml b/.github/workflows/autofix_pr.yml
new file mode 100644
index 0000000000..308849ccbe
--- /dev/null
+++ b/.github/workflows/autofix_pr.yml
@@ -0,0 +1,83 @@
+# Generated from xtask::workflows::autofix_pr
+# Rebuild with `cargo xtask workflows`.
+name: autofix_pr
+run-name: 'autofix PR #${{ inputs.pr_number }}'
+on:
+ workflow_dispatch:
+ inputs:
+ pr_number:
+ description: pr_number
+ required: true
+ type: string
+jobs:
+ run_autofix:
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - id: get-app-token
+ name: autofix_pr::run_autofix::authenticate_as_zippy
+ uses: actions/create-github-app-token@bef1eaf1c0ac2b148ee2a0a74c65fbe6db0631f1
+ with:
+ app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
+ private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
+ - name: steps::checkout_repo_with_token
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ token: ${{ steps.get-app-token.outputs.token }}
+ - name: autofix_pr::run_autofix::checkout_pr
+ run: gh pr checkout ${{ inputs.pr_number }}
+ shell: bash -euxo pipefail {0}
+ env:
+ GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_pnpm
+ uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2
+ with:
+ version: '9'
+ - name: autofix_pr::run_autofix::run_prettier_fix
+ run: ./script/prettier --write
+ shell: bash -euxo pipefail {0}
+ - name: autofix_pr::run_autofix::run_cargo_fmt
+ run: cargo fmt --all
+ shell: bash -euxo pipefail {0}
+ - name: autofix_pr::run_autofix::run_clippy_fix
+ run: cargo clippy --workspace --release --all-targets --all-features --fix --allow-dirty --allow-staged
+ shell: bash -euxo pipefail {0}
+ - name: autofix_pr::run_autofix::commit_and_push
+ run: |
+ if git diff --quiet; then
+ echo "No changes to commit"
+ else
+ git add -A
+ git commit -m "Autofix"
+ git push
+ fi
+ shell: bash -euxo pipefail {0}
+ env:
+ GIT_COMMITTER_NAME: Zed Zippy
+ GIT_COMMITTER_EMAIL: 234243425+zed-zippy[bot]@users.noreply.github.com
+ GIT_AUTHOR_NAME: Zed Zippy
+ GIT_AUTHOR_EMAIL: 234243425+zed-zippy[bot]@users.noreply.github.com
+ GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
diff --git a/.github/workflows/bump_patch_version.yml b/.github/workflows/bump_patch_version.yml
index bfaf7a271b..e1ae890043 100644
--- a/.github/workflows/bump_patch_version.yml
+++ b/.github/workflows/bump_patch_version.yml
@@ -42,7 +42,7 @@ jobs:
exit 1
;;
esac
- which cargo-set-version > /dev/null || cargo install cargo-edit
+ which cargo-set-version > /dev/null || cargo install cargo-edit -f --no-default-features --features "set-version"
output="$(cargo set-version -p zed --bump patch 2>&1 | sed 's/.* //')"
export GIT_COMMITTER_NAME="Zed Bot"
export GIT_COMMITTER_EMAIL="hi@zed.dev"
diff --git a/.github/workflows/cherry_pick.yml b/.github/workflows/cherry_pick.yml
new file mode 100644
index 0000000000..bc01aae17e
--- /dev/null
+++ b/.github/workflows/cherry_pick.yml
@@ -0,0 +1,44 @@
+# Generated from xtask::workflows::cherry_pick
+# Rebuild with `cargo xtask workflows`.
+name: cherry_pick
+run-name: 'cherry_pick to ${{ inputs.channel }} #${{ inputs.pr_number }}'
+on:
+ workflow_dispatch:
+ inputs:
+ commit:
+ description: commit
+ required: true
+ type: string
+ branch:
+ description: branch
+ required: true
+ type: string
+ channel:
+ description: channel
+ required: true
+ type: string
+ pr_number:
+ description: pr_number
+ required: true
+ type: string
+jobs:
+ run_cherry_pick:
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - id: get-app-token
+ name: cherry_pick::run_cherry_pick::authenticate_as_zippy
+ uses: actions/create-github-app-token@bef1eaf1c0ac2b148ee2a0a74c65fbe6db0631f1
+ with:
+ app-id: ${{ secrets.ZED_ZIPPY_APP_ID }}
+ private-key: ${{ secrets.ZED_ZIPPY_APP_PRIVATE_KEY }}
+ - name: cherry_pick::run_cherry_pick::cherry_pick
+ run: ./script/cherry-pick ${{ inputs.branch }} ${{ inputs.commit }} ${{ inputs.channel }}
+ shell: bash -euxo pipefail {0}
+ env:
+ GIT_COMMITTER_NAME: Zed Zippy
+ GIT_COMMITTER_EMAIL: hi@zed.dev
+ GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
deleted file mode 100644
index 1d2500e2f7..0000000000
--- a/.github/workflows/ci.yml
+++ /dev/null
@@ -1,903 +0,0 @@
-name: CI
-
-on:
- push:
- branches:
- - main
- - "v[0-9]+.[0-9]+.x"
- tags:
- - "v*"
-
- pull_request:
- branches:
- - "**"
-
-concurrency:
- # Allow only one workflow per any non-`main` branch.
- group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
- cancel-in-progress: true
-
-env:
- CARGO_TERM_COLOR: always
- CARGO_INCREMENTAL: 0
- RUST_BACKTRACE: 1
- DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
- DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
- ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
- ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
-
-jobs:
- job_spec:
- name: Decide which jobs to run
- if: github.repository_owner == 'zed-industries'
- outputs:
- run_tests: ${{ steps.filter.outputs.run_tests }}
- run_license: ${{ steps.filter.outputs.run_license }}
- run_docs: ${{ steps.filter.outputs.run_docs }}
- run_nix: ${{ steps.filter.outputs.run_nix }}
- run_actionlint: ${{ steps.filter.outputs.run_actionlint }}
- runs-on:
- - namespace-profile-2x4-ubuntu-2404
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- # 350 is arbitrary; ~10days of history on main (5secs); full history is ~25secs
- fetch-depth: ${{ github.ref == 'refs/heads/main' && 2 || 350 }}
- - name: Fetch git history and generate output filters
- id: filter
- run: |
- if [ -z "$GITHUB_BASE_REF" ]; then
- echo "Not in a PR context (i.e., push to main/stable/preview)"
- COMPARE_REV="$(git rev-parse HEAD~1)"
- else
- echo "In a PR context comparing to pull_request.base.ref"
- git fetch origin "$GITHUB_BASE_REF" --depth=350
- COMPARE_REV="$(git merge-base "origin/${GITHUB_BASE_REF}" HEAD)"
- fi
- CHANGED_FILES="$(git diff --name-only "$COMPARE_REV" ${{ github.sha }})"
-
- # Specify anything which should potentially skip full test suite in this regex:
- # - docs/
- # - script/update_top_ranking_issues/
- # - .github/ISSUE_TEMPLATE/
- # - .github/workflows/ (except .github/workflows/ci.yml)
- SKIP_REGEX='^(docs/|script/update_top_ranking_issues/|\.github/(ISSUE_TEMPLATE|workflows/(?!ci)))'
-
- echo "$CHANGED_FILES" | grep -qvP "$SKIP_REGEX" && \
- echo "run_tests=true" >> "$GITHUB_OUTPUT" || \
- echo "run_tests=false" >> "$GITHUB_OUTPUT"
-
- echo "$CHANGED_FILES" | grep -qP '^docs/' && \
- echo "run_docs=true" >> "$GITHUB_OUTPUT" || \
- echo "run_docs=false" >> "$GITHUB_OUTPUT"
-
- echo "$CHANGED_FILES" | grep -qP '^\.github/(workflows/|actions/|actionlint.yml)' && \
- echo "run_actionlint=true" >> "$GITHUB_OUTPUT" || \
- echo "run_actionlint=false" >> "$GITHUB_OUTPUT"
-
- echo "$CHANGED_FILES" | grep -qP '^(Cargo.lock|script/.*licenses)' && \
- echo "run_license=true" >> "$GITHUB_OUTPUT" || \
- echo "run_license=false" >> "$GITHUB_OUTPUT"
-
- echo "$CHANGED_FILES" | grep -qP '^(nix/|flake\.|Cargo\.|rust-toolchain.toml|\.cargo/config.toml)' && \
- echo "$GITHUB_REF_NAME" | grep -qvP '^v[0-9]+\.[0-9]+\.[0-9x](-pre)?$' && \
- echo "run_nix=true" >> "$GITHUB_OUTPUT" || \
- echo "run_nix=false" >> "$GITHUB_OUTPUT"
-
- migration_checks:
- name: Check Postgres and Protobuf migrations, mergability
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- needs.job_spec.outputs.run_tests == 'true'
- timeout-minutes: 60
- runs-on:
- - self-mini-macos
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
- fetch-depth: 0 # fetch full history
-
- - name: Remove untracked files
- run: git clean -df
-
- - name: Find modified migrations
- shell: bash -euxo pipefail {0}
- run: |
- export SQUAWK_GITHUB_TOKEN=${{ github.token }}
- . ./script/squawk
-
- - name: Ensure fresh merge
- shell: bash -euxo pipefail {0}
- run: |
- if [ -z "$GITHUB_BASE_REF" ];
- then
- echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> "$GITHUB_ENV"
- else
- git checkout -B temp
- git merge -q "origin/$GITHUB_BASE_REF" -m "merge main into temp"
- echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> "$GITHUB_ENV"
- fi
-
- - uses: bufbuild/buf-setup-action@v1
- with:
- version: v1.29.0
- - uses: bufbuild/buf-breaking-action@v1
- with:
- input: "crates/proto/proto/"
- against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/proto/proto/"
-
- workspace_hack:
- timeout-minutes: 60
- name: Check workspace-hack crate
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- needs.job_spec.outputs.run_tests == 'true'
- runs-on:
- - namespace-profile-8x16-ubuntu-2204
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- - name: Add Rust to the PATH
- run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- - name: Install cargo-hakari
- uses: clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386 # v2
- with:
- command: install
- args: cargo-hakari@0.9.35
-
- - name: Check workspace-hack Cargo.toml is up-to-date
- run: |
- cargo hakari generate --diff || {
- echo "To fix, run script/update-workspace-hack or script/update-workspace-hack.ps1";
- false
- }
- - name: Check all crates depend on workspace-hack
- run: |
- cargo hakari manage-deps --dry-run || {
- echo "To fix, run script/update-workspace-hack or script/update-workspace-hack.ps1"
- false
- }
-
- style:
- timeout-minutes: 60
- name: Check formatting and spelling
- needs: [job_spec]
- if: github.repository_owner == 'zed-industries'
- runs-on:
- - namespace-profile-4x8-ubuntu-2204
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
-
- - uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
- with:
- version: 9
-
- - name: Prettier Check on /docs
- working-directory: ./docs
- run: |
- pnpm dlx "prettier@${PRETTIER_VERSION}" . --check || {
- echo "To fix, run from the root of the Zed repo:"
- echo " cd docs && pnpm dlx prettier@${PRETTIER_VERSION} . --write && cd .."
- false
- }
- env:
- PRETTIER_VERSION: 3.5.0
-
- - name: Prettier Check on default.json
- run: |
- pnpm dlx "prettier@${PRETTIER_VERSION}" assets/settings/default.json --check || {
- echo "To fix, run from the root of the Zed repo:"
- echo " pnpm dlx prettier@${PRETTIER_VERSION} assets/settings/default.json --write"
- false
- }
- env:
- PRETTIER_VERSION: 3.5.0
-
- # To support writing comments that they will certainly be revisited.
- - name: Check for todo! and FIXME comments
- run: script/check-todos
-
- - name: Check modifier use in keymaps
- run: script/check-keymaps
-
- - name: Run style checks
- uses: ./.github/actions/check_style
-
- - name: Check for typos
- uses: crate-ci/typos@8e6a4285bcbde632c5d79900a7779746e8b7ea3f # v1.24.6
- with:
- config: ./typos.toml
-
- check_docs:
- timeout-minutes: 60
- name: Check docs
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- (needs.job_spec.outputs.run_tests == 'true' || needs.job_spec.outputs.run_docs == 'true')
- runs-on:
- - namespace-profile-8x16-ubuntu-2204
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Configure CI
- run: |
- mkdir -p ./../.cargo
- cp ./.cargo/ci-config.toml ./../.cargo/config.toml
-
- - name: Build docs
- uses: ./.github/actions/build_docs
-
- actionlint:
- runs-on: namespace-profile-2x4-ubuntu-2404
- if: github.repository_owner == 'zed-industries' && needs.job_spec.outputs.run_actionlint == 'true'
- needs: [job_spec]
- steps:
- - uses: actions/checkout@v4
- - name: Download actionlint
- id: get_actionlint
- run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
- shell: bash
- - name: Check workflow files
- run: ${{ steps.get_actionlint.outputs.executable }} -color
- shell: bash
-
- macos_tests:
- timeout-minutes: 60
- name: (macOS) Run Clippy and tests
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- needs.job_spec.outputs.run_tests == 'true'
- runs-on:
- - self-mini-macos
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Configure CI
- run: |
- mkdir -p ./../.cargo
- cp ./.cargo/ci-config.toml ./../.cargo/config.toml
-
- - name: Check that Cargo.lock is up to date
- run: |
- cargo update --locked --workspace
-
- - name: cargo clippy
- run: ./script/clippy
-
- - name: Install cargo-machete
- uses: clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386 # v2
- with:
- command: install
- args: cargo-machete@0.7.0
-
- - name: Check unused dependencies
- uses: clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386 # v2
- with:
- command: machete
-
- - name: Check licenses
- run: |
- script/check-licenses
- if [[ "${{ needs.job_spec.outputs.run_license }}" == "true" ]]; then
- script/generate-licenses /tmp/zed_licenses_output
- fi
-
- - name: Check for new vulnerable dependencies
- if: github.event_name == 'pull_request'
- uses: actions/dependency-review-action@67d4f4bd7a9b17a0db54d2a7519187c65e339de8 # v4
- with:
- license-check: false
-
- - name: Run tests
- uses: ./.github/actions/run_tests
-
- - name: Build collab
- run: cargo build -p collab
-
- - name: Build other binaries and features
- run: |
- cargo build --workspace --bins --all-features
- cargo check -p gpui --features "macos-blade"
- cargo check -p workspace
- cargo build -p remote_server
- cargo check -p gpui --examples
-
- # Since the macOS runners are stateful, so we need to remove the config file to prevent potential bug.
- - name: Clean CI config file
- if: always()
- run: rm -rf ./../.cargo
-
- linux_tests:
- timeout-minutes: 60
- name: (Linux) Run Clippy and tests
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- needs.job_spec.outputs.run_tests == 'true'
- runs-on:
- - namespace-profile-16x32-ubuntu-2204
- steps:
- - name: Add Rust to the PATH
- run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Cache dependencies
- uses: swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
- with:
- save-if: ${{ github.ref == 'refs/heads/main' }}
- # cache-provider: "buildjet"
-
- - name: Install Linux dependencies
- run: ./script/linux
-
- - name: Configure CI
- run: |
- mkdir -p ./../.cargo
- cp ./.cargo/ci-config.toml ./../.cargo/config.toml
-
- - name: cargo clippy
- run: ./script/clippy
-
- - name: Run tests
- uses: ./.github/actions/run_tests
-
- - name: Build other binaries and features
- run: |
- cargo build -p zed
- cargo check -p workspace
- cargo check -p gpui --examples
-
- # Even the Linux runner is not stateful, in theory there is no need to do this cleanup.
- # But, to avoid potential issues in the future if we choose to use a stateful Linux runner and forget to add code
- # to clean up the config file, I’ve included the cleanup code here as a precaution.
- # While it’s not strictly necessary at this moment, I believe it’s better to err on the side of caution.
- - name: Clean CI config file
- if: always()
- run: rm -rf ./../.cargo
-
- doctests:
- # Nextest currently doesn't support doctests, so run them separately and in parallel.
- timeout-minutes: 60
- name: (Linux) Run doctests
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- needs.job_spec.outputs.run_tests == 'true'
- runs-on:
- - namespace-profile-16x32-ubuntu-2204
- steps:
- - name: Add Rust to the PATH
- run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Cache dependencies
- uses: swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
- with:
- save-if: ${{ github.ref == 'refs/heads/main' }}
- # cache-provider: "buildjet"
-
- - name: Install Linux dependencies
- run: ./script/linux
-
- - name: Configure CI
- run: |
- mkdir -p ./../.cargo
- cp ./.cargo/ci-config.toml ./../.cargo/config.toml
-
- - name: Run doctests
- run: cargo test --workspace --doc --no-fail-fast
-
- - name: Clean CI config file
- if: always()
- run: rm -rf ./../.cargo
-
- build_remote_server:
- timeout-minutes: 60
- name: (Linux) Build Remote Server
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- needs.job_spec.outputs.run_tests == 'true'
- runs-on:
- - namespace-profile-16x32-ubuntu-2204
- steps:
- - name: Add Rust to the PATH
- run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Cache dependencies
- uses: swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
- with:
- save-if: ${{ github.ref == 'refs/heads/main' }}
- # cache-provider: "buildjet"
-
- - name: Install Clang & Mold
- run: ./script/remote-server && ./script/install-mold 2.34.0
-
- - name: Configure CI
- run: |
- mkdir -p ./../.cargo
- cp ./.cargo/ci-config.toml ./../.cargo/config.toml
-
- - name: Build Remote Server
- run: cargo build -p remote_server
-
- - name: Clean CI config file
- if: always()
- run: rm -rf ./../.cargo
-
- windows_tests:
- timeout-minutes: 60
- name: (Windows) Run Clippy and tests
- needs: [job_spec]
- if: |
- github.repository_owner == 'zed-industries' &&
- needs.job_spec.outputs.run_tests == 'true'
- runs-on: [self-32vcpu-windows-2022]
- steps:
- - name: Environment Setup
- run: |
- $RunnerDir = Split-Path -Parent $env:RUNNER_WORKSPACE
- Write-Output `
- "RUSTUP_HOME=$RunnerDir\.rustup" `
- "CARGO_HOME=$RunnerDir\.cargo" `
- "PATH=$RunnerDir\.cargo\bin;$env:PATH" `
- >> $env:GITHUB_ENV
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Configure CI
- run: |
- New-Item -ItemType Directory -Path "./../.cargo" -Force
- Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
-
- - name: cargo clippy
- run: |
- .\script\clippy.ps1
-
- - name: Run tests
- uses: ./.github/actions/run_tests_windows
-
- - name: Build Zed
- run: cargo build
-
- - name: Limit target directory size
- run: ./script/clear-target-dir-if-larger-than.ps1 250
-
- - name: Clean CI config file
- if: always()
- run: Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
-
- tests_pass:
- name: Tests Pass
- runs-on: namespace-profile-2x4-ubuntu-2404
- needs:
- - job_spec
- - style
- - check_docs
- - actionlint
- - migration_checks
- # run_tests: If adding required tests, add them here and to script below.
- - workspace_hack
- - linux_tests
- - build_remote_server
- - macos_tests
- - windows_tests
- if: |
- github.repository_owner == 'zed-industries' &&
- always()
- steps:
- - name: Check all tests passed
- run: |
- # Check dependent jobs...
- RET_CODE=0
- # Always check style
- [[ "${{ needs.style.result }}" != 'success' ]] && { RET_CODE=1; echo "style tests failed"; }
-
- if [[ "${{ needs.job_spec.outputs.run_docs }}" == "true" ]]; then
- [[ "${{ needs.check_docs.result }}" != 'success' ]] && { RET_CODE=1; echo "docs checks failed"; }
- fi
-
- if [[ "${{ needs.job_spec.outputs.run_actionlint }}" == "true" ]]; then
- [[ "${{ needs.actionlint.result }}" != 'success' ]] && { RET_CODE=1; echo "actionlint checks failed"; }
- fi
-
- # Only check test jobs if they were supposed to run
- if [[ "${{ needs.job_spec.outputs.run_tests }}" == "true" ]]; then
- [[ "${{ needs.workspace_hack.result }}" != 'success' ]] && { RET_CODE=1; echo "Workspace Hack failed"; }
- [[ "${{ needs.macos_tests.result }}" != 'success' ]] && { RET_CODE=1; echo "macOS tests failed"; }
- [[ "${{ needs.linux_tests.result }}" != 'success' ]] && { RET_CODE=1; echo "Linux tests failed"; }
- [[ "${{ needs.windows_tests.result }}" != 'success' ]] && { RET_CODE=1; echo "Windows tests failed"; }
- [[ "${{ needs.build_remote_server.result }}" != 'success' ]] && { RET_CODE=1; echo "Remote server build failed"; }
- # This check is intentionally disabled. See: https://github.com/zed-industries/zed/pull/28431
- # [[ "${{ needs.migration_checks.result }}" != 'success' ]] && { RET_CODE=1; echo "Migration Checks failed"; }
- fi
- if [[ "$RET_CODE" -eq 0 ]]; then
- echo "All tests passed successfully!"
- fi
- exit $RET_CODE
-
- bundle-mac:
- timeout-minutes: 120
- name: Create a macOS bundle
- runs-on:
- - self-mini-macos
- if: |
- ( startsWith(github.ref, 'refs/tags/v')
- || contains(github.event.pull_request.labels.*.name, 'run-bundling') )
- needs: [macos_tests]
- env:
- MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
- MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
- APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
- APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
- APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
- steps:
- - name: Install Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
- with:
- node-version: "18"
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- # We need to fetch more than one commit so that `script/draft-release-notes`
- # is able to diff between the current and previous tag.
- #
- # 25 was chosen arbitrarily.
- fetch-depth: 25
- clean: false
- ref: ${{ github.ref }}
-
- - name: Limit target directory size
- run: script/clear-target-dir-if-larger-than 100
-
- - name: Determine version and release channel
- if: ${{ startsWith(github.ref, 'refs/tags/v') }}
- run: |
- # This exports RELEASE_CHANNEL into env (GITHUB_ENV)
- script/determine-release-channel
-
- - name: Draft release notes
- if: ${{ startsWith(github.ref, 'refs/tags/v') }}
- run: |
- mkdir -p target/
- # Ignore any errors that occur while drafting release notes to not fail the build.
- script/draft-release-notes "$RELEASE_VERSION" "$RELEASE_CHANNEL" > target/release-notes.md || true
- script/create-draft-release target/release-notes.md
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Create macOS app bundle
- run: script/bundle-mac
-
- - name: Rename binaries
- if: ${{ github.ref == 'refs/heads/main' }} || contains(github.event.pull_request.labels.*.name, 'run-bundling') }}
- run: |
- mv target/aarch64-apple-darwin/release/Zed.dmg target/aarch64-apple-darwin/release/Zed-aarch64.dmg
- mv target/x86_64-apple-darwin/release/Zed.dmg target/x86_64-apple-darwin/release/Zed-x86_64.dmg
-
- - name: Upload app bundle (aarch64) to workflow run if main branch or specific label
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: ${{ github.ref == 'refs/heads/main' }} || contains(github.event.pull_request.labels.*.name, 'run-bundling') }}
- with:
- name: Zed_${{ github.event.pull_request.head.sha || github.sha }}-aarch64.dmg
- path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
-
- - name: Upload app bundle (x86_64) to workflow run if main branch or specific label
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: ${{ github.ref == 'refs/heads/main' }} || contains(github.event.pull_request.labels.*.name, 'run-bundling') }}
- with:
- name: Zed_${{ github.event.pull_request.head.sha || github.sha }}-x86_64.dmg
- path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
-
- - uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
- name: Upload app bundle to release
- if: ${{ env.RELEASE_CHANNEL == 'preview' || env.RELEASE_CHANNEL == 'stable' }}
- with:
- draft: true
- prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }}
- files: |
- target/zed-remote-server-macos-x86_64.gz
- target/zed-remote-server-macos-aarch64.gz
- target/aarch64-apple-darwin/release/Zed-aarch64.dmg
- target/x86_64-apple-darwin/release/Zed-x86_64.dmg
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- bundle-linux-x86_x64:
- timeout-minutes: 60
- name: Linux x86_x64 release bundle
- runs-on:
- - namespace-profile-16x32-ubuntu-2004 # ubuntu 20.04 for minimal glibc
- if: |
- ( startsWith(github.ref, 'refs/tags/v')
- || contains(github.event.pull_request.labels.*.name, 'run-bundling') )
- needs: [linux_tests]
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Install Linux dependencies
- run: ./script/linux && ./script/install-mold 2.34.0
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Determine version and release channel
- if: startsWith(github.ref, 'refs/tags/v')
- run: |
- # This exports RELEASE_CHANNEL into env (GITHUB_ENV)
- script/determine-release-channel
-
- - name: Create Linux .tar.gz bundle
- run: script/bundle-linux
-
- - name: Upload Artifact to Workflow - zed (run-bundling)
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: contains(github.event.pull_request.labels.*.name, 'run-bundling')
- with:
- name: zed-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.tar.gz
- path: target/release/zed-*.tar.gz
-
- - name: Upload Artifact to Workflow - zed-remote-server (run-bundling)
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: contains(github.event.pull_request.labels.*.name, 'run-bundling')
- with:
- name: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.gz
- path: target/zed-remote-server-linux-x86_64.gz
-
- - name: Upload Artifacts to release
- uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
- if: ${{ !(contains(github.event.pull_request.labels.*.name, 'run-bundling')) }}
- with:
- draft: true
- prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }}
- files: |
- target/zed-remote-server-linux-x86_64.gz
- target/release/zed-linux-x86_64.tar.gz
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- bundle-linux-aarch64: # this runs on ubuntu22.04
- timeout-minutes: 60
- name: Linux arm64 release bundle
- runs-on:
- - namespace-profile-8x32-ubuntu-2004-arm-m4 # ubuntu 20.04 for minimal glibc
- if: |
- startsWith(github.ref, 'refs/tags/v')
- || contains(github.event.pull_request.labels.*.name, 'run-bundling')
- needs: [linux_tests]
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Install Linux dependencies
- run: ./script/linux
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Determine version and release channel
- if: startsWith(github.ref, 'refs/tags/v')
- run: |
- # This exports RELEASE_CHANNEL into env (GITHUB_ENV)
- script/determine-release-channel
-
- - name: Create and upload Linux .tar.gz bundles
- run: script/bundle-linux
-
- - name: Upload Artifact to Workflow - zed (run-bundling)
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: contains(github.event.pull_request.labels.*.name, 'run-bundling')
- with:
- name: zed-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.tar.gz
- path: target/release/zed-*.tar.gz
-
- - name: Upload Artifact to Workflow - zed-remote-server (run-bundling)
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: contains(github.event.pull_request.labels.*.name, 'run-bundling')
- with:
- name: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.gz
- path: target/zed-remote-server-linux-aarch64.gz
-
- - name: Upload Artifacts to release
- uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
- if: ${{ !(contains(github.event.pull_request.labels.*.name, 'run-bundling')) }}
- with:
- draft: true
- prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }}
- files: |
- target/zed-remote-server-linux-aarch64.gz
- target/release/zed-linux-aarch64.tar.gz
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- freebsd:
- timeout-minutes: 60
- runs-on: github-8vcpu-ubuntu-2404
- if: |
- false && ( startsWith(github.ref, 'refs/tags/v')
- || contains(github.event.pull_request.labels.*.name, 'run-bundling') )
- needs: [linux_tests]
- name: Build Zed on FreeBSD
- steps:
- - uses: actions/checkout@v4
- - name: Build FreeBSD remote-server
- id: freebsd-build
- uses: vmactions/freebsd-vm@c3ae29a132c8ef1924775414107a97cac042aad5 # v1.2.0
- with:
- usesh: true
- release: 13.5
- copyback: true
- prepare: |
- pkg install -y \
- bash curl jq git \
- rustup-init cmake-core llvm-devel-lite pkgconf protobuf # ibx11 alsa-lib rust-bindgen-cli
- run: |
- freebsd-version
- sysctl hw.model
- sysctl hw.ncpu
- sysctl hw.physmem
- sysctl hw.usermem
- git config --global --add safe.directory /home/runner/work/zed/zed
- rustup-init --profile minimal --default-toolchain none -y
- . "$HOME/.cargo/env"
- ./script/bundle-freebsd
- mkdir -p out/
- mv "target/zed-remote-server-freebsd-x86_64.gz" out/
- rm -rf target/
- cargo clean
-
- - name: Upload Artifact to Workflow - zed-remote-server (run-bundling)
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: contains(github.event.pull_request.labels.*.name, 'run-bundling')
- with:
- name: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-freebsd.gz
- path: out/zed-remote-server-freebsd-x86_64.gz
-
- - name: Upload Artifacts to release
- uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
- if: ${{ !(contains(github.event.pull_request.labels.*.name, 'run-bundling')) }}
- with:
- draft: true
- prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }}
- files: |
- out/zed-remote-server-freebsd-x86_64.gz
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- nix-build:
- name: Build with Nix
- uses: ./.github/workflows/nix.yml
- needs: [job_spec]
- if: github.repository_owner == 'zed-industries' &&
- (contains(github.event.pull_request.labels.*.name, 'run-nix') ||
- needs.job_spec.outputs.run_nix == 'true')
- secrets: inherit
- with:
- flake-output: debug
- # excludes the final package to only cache dependencies
- cachix-filter: "-zed-editor-[0-9.]*-nightly"
-
- bundle-windows-x64:
- timeout-minutes: 120
- name: Create a Windows installer
- runs-on: [self-32vcpu-windows-2022]
- if: |
- ( startsWith(github.ref, 'refs/tags/v')
- || contains(github.event.pull_request.labels.*.name, 'run-bundling') )
- needs: [windows_tests]
- env:
- AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
- AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
- AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
- ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
- CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
- ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
- FILE_DIGEST: SHA256
- TIMESTAMP_DIGEST: SHA256
- TIMESTAMP_SERVER: "http://timestamp.acs.microsoft.com"
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Determine version and release channel
- working-directory: ${{ env.ZED_WORKSPACE }}
- if: ${{ startsWith(github.ref, 'refs/tags/v') }}
- run: |
- # This exports RELEASE_CHANNEL into env (GITHUB_ENV)
- script/determine-release-channel.ps1
-
- - name: Build Zed installer
- working-directory: ${{ env.ZED_WORKSPACE }}
- run: script/bundle-windows.ps1
-
- - name: Upload installer (x86_64) to Workflow - zed (run-bundling)
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
- if: contains(github.event.pull_request.labels.*.name, 'run-bundling')
- with:
- name: ZedEditorUserSetup-x64-${{ github.event.pull_request.head.sha || github.sha }}.exe
- path: ${{ env.SETUP_PATH }}
-
- - name: Upload Artifacts to release
- uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
- if: ${{ !(contains(github.event.pull_request.labels.*.name, 'run-bundling')) }}
- with:
- draft: true
- prerelease: ${{ env.RELEASE_CHANNEL == 'preview' }}
- files: ${{ env.SETUP_PATH }}
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- auto-release-preview:
- name: Auto release preview
- if: |
- startsWith(github.ref, 'refs/tags/v')
- && endsWith(github.ref, '-pre') && !endsWith(github.ref, '.0-pre')
- needs: [bundle-mac, bundle-linux-x86_x64, bundle-linux-aarch64, bundle-windows-x64]
- runs-on:
- - self-mini-macos
- steps:
- - name: gh release
- run: gh release edit "$GITHUB_REF_NAME" --draft=false
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Create Sentry release
- uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c # v3
- env:
- SENTRY_ORG: zed-dev
- SENTRY_PROJECT: zed
- SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- with:
- environment: production
diff --git a/.github/workflows/community_champion_auto_labeler.yml b/.github/workflows/community_champion_auto_labeler.yml
index c525bf4738..93f1d56023 100644
--- a/.github/workflows/community_champion_auto_labeler.yml
+++ b/.github/workflows/community_champion_auto_labeler.yml
@@ -13,13 +13,72 @@ jobs:
steps:
- name: Check if author is a community champion and apply label
uses: actions/github-script@v7
+ env:
+ COMMUNITY_CHAMPIONS: |
+ 0x2CA
+ 5brian
+ 5herlocked
+ abdelq
+ afgomez
+ AidanV
+ akbxr
+ AlvaroParker
+ amtoaer
+ artemevsevev
+ bajrangCoder
+ bcomnes
+ Be-ing
+ blopker
+ bnjjj
+ bobbymannino
+ CharlesChen0823
+ chbk
+ cppcoffee
+ davewa
+ ddoemonn
+ djsauble
+ errmayank
+ fantacell
+ findrakecil
+ FloppyDisco
+ gko
+ huacnlee
+ imumesh18
+ jacobtread
+ jansol
+ jeffreyguenther
+ jenslys
+ jongretar
+ lemorage
+ lnay
+ marcocondrache
+ marius851000
+ mikebronner
+ ognevny
+ playdohface
+ RemcoSmitsDev
+ romaninsh
+ Simek
+ someone13574
+ sourcefrog
+ suxiaoshao
+ Takk8IS
+ thedadams
+ tidely
+ timvermeulen
+ valentinegb
+ versecafe
+ vitallium
+ warrenjokinen
+ WhySoBad
+ ya7010
+ Zertsov
with:
script: |
- const communityChampionBody = `${{ secrets.COMMUNITY_CHAMPIONS }}`;
-
- const communityChampions = communityChampionBody
+ const communityChampions = process.env.COMMUNITY_CHAMPIONS
.split('\n')
- .map(handle => handle.trim().toLowerCase());
+ .map(handle => handle.trim().toLowerCase())
+ .filter(handle => handle.length > 0);
let author;
if (context.eventName === 'issues') {
diff --git a/.github/workflows/community_close_stale_issues.yml b/.github/workflows/community_close_stale_issues.yml
index a38354c317..14c1a0a083 100644
--- a/.github/workflows/community_close_stale_issues.yml
+++ b/.github/workflows/community_close_stale_issues.yml
@@ -1,7 +1,7 @@
name: "Close Stale Issues"
on:
schedule:
- - cron: "0 7,9,11 * * 3"
+ - cron: "0 8 31 DEC *"
workflow_dispatch:
jobs:
@@ -15,14 +15,15 @@ jobs:
stale-issue-message: >
Hi there! 👋
- We're working to clean up our issue tracker by closing older issues that might not be relevant anymore. If you are able to reproduce this issue in the latest version of Zed, please let us know by commenting on this issue, and we will keep it open. If you can't reproduce it, feel free to close the issue yourself. Otherwise, we'll close it in 7 days.
+ We're working to clean up our issue tracker by closing older bugs that might not be relevant anymore. If you are able to reproduce this issue in the latest version of Zed, please let us know by commenting on this issue, and it will be kept open. If you can't reproduce it, feel free to close the issue yourself. Otherwise, it will close automatically in 14 days.
Thanks for your help!
close-issue-message: "This issue was closed due to inactivity. If you're still experiencing this problem, please open a new issue with a link to this issue."
- days-before-stale: 120
- days-before-close: 7
- any-of-issue-labels: "bug,panic / crash"
+ days-before-stale: 60
+ days-before-close: 14
+ only-issue-types: "Bug,Crash"
operations-per-run: 1000
ascending: true
enable-statistics: true
stale-issue-label: "stale"
+ exempt-issue-labels: "never stale"
diff --git a/.github/workflows/community_release_actions.yml b/.github/workflows/community_release_actions.yml
deleted file mode 100644
index 4a042a5e06..0000000000
--- a/.github/workflows/community_release_actions.yml
+++ /dev/null
@@ -1,73 +0,0 @@
-# IF YOU UPDATE THE NAME OF ANY GITHUB SECRET, YOU MUST CHERRY PICK THE COMMIT
-# TO BOTH STABLE AND PREVIEW CHANNELS
-
-name: Release Actions
-
-on:
- release:
- types: [published]
-
-jobs:
- discord_release:
- if: github.repository_owner == 'zed-industries'
- runs-on: ubuntu-latest
- steps:
- - name: Get release URL
- id: get-release-url
- run: |
- if [ "${{ github.event.release.prerelease }}" == "true" ]; then
- URL="https://zed.dev/releases/preview"
- else
- URL="https://zed.dev/releases/stable"
- fi
-
- echo "URL=$URL" >> "$GITHUB_OUTPUT"
- - name: Get content
- uses: 2428392/gh-truncate-string-action@b3ff790d21cf42af3ca7579146eedb93c8fb0757 # v1.4.1
- id: get-content
- with:
- stringToTruncate: |
- 📣 Zed [${{ github.event.release.tag_name }}](<${{ steps.get-release-url.outputs.URL }}>) was just released!
-
- ${{ github.event.release.body }}
- maxLength: 2000
- truncationSymbol: "..."
- - name: Discord Webhook Action
- uses: tsickert/discord-webhook@c840d45a03a323fbc3f7507ac7769dbd91bfb164 # v5.3.0
- with:
- webhook-url: ${{ secrets.DISCORD_WEBHOOK_RELEASE_NOTES }}
- content: ${{ steps.get-content.outputs.string }}
-
- send_release_notes_email:
- if: false && github.repository_owner == 'zed-industries' && !github.event.release.prerelease
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- fetch-depth: 0
-
- - name: Check if release was promoted from preview
- id: check-promotion-from-preview
- run: |
- VERSION="${{ github.event.release.tag_name }}"
- PREVIEW_TAG="${VERSION}-pre"
-
- if git rev-parse "$PREVIEW_TAG" > /dev/null 2>&1; then
- echo "was_promoted_from_preview=true" >> "$GITHUB_OUTPUT"
- else
- echo "was_promoted_from_preview=false" >> "$GITHUB_OUTPUT"
- fi
-
- - name: Send release notes email
- if: steps.check-promotion-from-preview.outputs.was_promoted_from_preview == 'true'
- run: |
- TAG="${{ github.event.release.tag_name }}"
- cat << 'EOF' > release_body.txt
- ${{ github.event.release.body }}
- EOF
- jq -n --arg tag "$TAG" --rawfile body release_body.txt '{version: $tag, markdown_body: $body}' \
- > release_data.json
- curl -X POST "https://zed.dev/api/send_release_notes_email" \
- -H "Authorization: Bearer ${{ secrets.RELEASE_NOTES_API_TOKEN }}" \
- -H "Content-Type: application/json" \
- -d @release_data.json
diff --git a/.github/workflows/compare_perf.yml b/.github/workflows/compare_perf.yml
new file mode 100644
index 0000000000..48fc850f8f
--- /dev/null
+++ b/.github/workflows/compare_perf.yml
@@ -0,0 +1,80 @@
+# Generated from xtask::workflows::compare_perf
+# Rebuild with `cargo xtask workflows`.
+name: compare_perf
+on:
+ workflow_dispatch:
+ inputs:
+ head:
+ description: head
+ required: true
+ type: string
+ base:
+ description: base
+ required: true
+ type: string
+ crate_name:
+ description: crate_name
+ type: string
+ default: ''
+jobs:
+ run_perf:
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: compare_perf::run_perf::install_hyperfine
+ uses: taiki-e/install-action@hyperfine
+ - name: steps::git_checkout
+ run: git fetch origin ${{ inputs.base }} && git checkout ${{ inputs.base }}
+ shell: bash -euxo pipefail {0}
+ - name: compare_perf::run_perf::cargo_perf_test
+ run: |2-
+
+ if [ -n "${{ inputs.crate_name }}" ]; then
+ cargo perf-test -p ${{ inputs.crate_name }} -- --json=${{ inputs.base }};
+ else
+ cargo perf-test -p vim -- --json=${{ inputs.base }};
+ fi
+ shell: bash -euxo pipefail {0}
+ - name: steps::git_checkout
+ run: git fetch origin ${{ inputs.head }} && git checkout ${{ inputs.head }}
+ shell: bash -euxo pipefail {0}
+ - name: compare_perf::run_perf::cargo_perf_test
+ run: |2-
+
+ if [ -n "${{ inputs.crate_name }}" ]; then
+ cargo perf-test -p ${{ inputs.crate_name }} -- --json=${{ inputs.head }};
+ else
+ cargo perf-test -p vim -- --json=${{ inputs.head }};
+ fi
+ shell: bash -euxo pipefail {0}
+ - name: compare_perf::run_perf::compare_runs
+ run: cargo perf-compare --save=results.md ${{ inputs.base }} ${{ inputs.head }}
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact results.md'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: results.md
+ path: results.md
+ if-no-files-found: error
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml
index 3f84179278..9d6054eb3e 100644
--- a/.github/workflows/danger.yml
+++ b/.github/workflows/danger.yml
@@ -1,42 +1,40 @@
-name: Danger
-
+# Generated from xtask::workflows::danger
+# Rebuild with `cargo xtask workflows`.
+name: danger
on:
pull_request:
- branches: [main]
types:
- - opened
- - synchronize
- - reopened
- - edited
-
+ - opened
+ - synchronize
+ - reopened
+ - edited
+ branches:
+ - main
jobs:
danger:
- if: github.repository_owner == 'zed-industries'
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
runs-on: namespace-profile-2x4-ubuntu-2404
-
steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
-
- - uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
- with:
- version: 9
-
- - name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
- with:
- node-version: "20"
- cache: "pnpm"
- cache-dependency-path: "script/danger/pnpm-lock.yaml"
-
- - run: pnpm install --dir script/danger
-
- - name: Run Danger
- run: pnpm run --dir script/danger danger ci
- env:
- # This GitHub token is not used, but the value needs to be here to prevent
- # Danger from throwing an error.
- GITHUB_TOKEN: "not_a_real_token"
- # All requests are instead proxied through an instance of
- # https://github.com/maxdeviant/danger-proxy that allows Danger to securely
- # authenticate with GitHub while still being able to run on PRs from forks.
- DANGER_GITHUB_API_BASE_URL: "https://danger-proxy.fly.dev/github"
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_pnpm
+ uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2
+ with:
+ version: '9'
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ cache: pnpm
+ cache-dependency-path: script/danger/pnpm-lock.yaml
+ - name: danger::danger_job::install_deps
+ run: pnpm install --dir script/danger
+ shell: bash -euxo pipefail {0}
+ - name: danger::danger_job::run
+ run: pnpm run --dir script/danger danger ci
+ shell: bash -euxo pipefail {0}
+ env:
+ GITHUB_TOKEN: not_a_real_token
+ DANGER_GITHUB_API_BASE_URL: https://danger-proxy.fly.dev/github
diff --git a/.github/workflows/deploy_cloudflare.yml b/.github/workflows/deploy_cloudflare.yml
index df35d44ca9..2650cce140 100644
--- a/.github/workflows/deploy_cloudflare.yml
+++ b/.github/workflows/deploy_cloudflare.yml
@@ -22,6 +22,8 @@ jobs:
- name: Build docs
uses: ./.github/actions/build_docs
+ env:
+ DOCS_AMPLITUDE_API_KEY: ${{ secrets.DOCS_AMPLITUDE_API_KEY }}
- name: Deploy Docs
uses: cloudflare/wrangler-action@da0e0dfe58b7a431659754fdf3f186c529afbe65 # v3
diff --git a/.github/workflows/deploy_collab.yml b/.github/workflows/deploy_collab.yml
index ff2a3589e4..ce0c0eac40 100644
--- a/.github/workflows/deploy_collab.yml
+++ b/.github/workflows/deploy_collab.yml
@@ -43,13 +43,11 @@ jobs:
fetch-depth: 0
- name: Install cargo nextest
- shell: bash -euxo pipefail {0}
- run: |
- cargo install cargo-nextest --locked
+ uses: taiki-e/install-action@nextest
- name: Limit target directory size
shell: bash -euxo pipefail {0}
- run: script/clear-target-dir-if-larger-than 100
+ run: script/clear-target-dir-if-larger-than 300
- name: Run tests
shell: bash -euxo pipefail {0}
diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml
deleted file mode 100644
index b5da9e7b7c..0000000000
--- a/.github/workflows/eval.yml
+++ /dev/null
@@ -1,71 +0,0 @@
-name: Run Agent Eval
-
-on:
- schedule:
- - cron: "0 0 * * *"
-
- pull_request:
- branches:
- - "**"
- types: [synchronize, reopened, labeled]
-
- workflow_dispatch:
-
-concurrency:
- # Allow only one workflow per any non-`main` branch.
- group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
- cancel-in-progress: true
-
-env:
- CARGO_TERM_COLOR: always
- CARGO_INCREMENTAL: 0
- RUST_BACKTRACE: 1
- ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
- ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
- ZED_EVAL_TELEMETRY: 1
-
-jobs:
- run_eval:
- timeout-minutes: 60
- name: Run Agent Eval
- if: >
- github.repository_owner == 'zed-industries' &&
- (github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'run-eval'))
- runs-on:
- - namespace-profile-16x32-ubuntu-2204
- steps:
- - name: Add Rust to the PATH
- run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Cache dependencies
- uses: swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
- with:
- save-if: ${{ github.ref == 'refs/heads/main' }}
- # cache-provider: "buildjet"
-
- - name: Install Linux dependencies
- run: ./script/linux
-
- - name: Configure CI
- run: |
- mkdir -p ./../.cargo
- cp ./.cargo/ci-config.toml ./../.cargo/config.toml
-
- - name: Compile eval
- run: cargo build --package=eval
-
- - name: Run eval
- run: cargo run --package=eval -- --repetitions=8 --concurrency=1
-
- # Even the Linux runner is not stateful, in theory there is no need to do this cleanup.
- # But, to avoid potential issues in the future if we choose to use a stateful Linux runner and forget to add code
- # to clean up the config file, I’ve included the cleanup code here as a precaution.
- # While it’s not strictly necessary at this moment, I believe it’s better to err on the side of caution.
- - name: Clean CI config file
- if: always()
- run: rm -rf ./../.cargo
diff --git a/.github/workflows/extension_bump.yml b/.github/workflows/extension_bump.yml
new file mode 100644
index 0000000000..31676e5c91
--- /dev/null
+++ b/.github/workflows/extension_bump.yml
@@ -0,0 +1,148 @@
+# Generated from xtask::workflows::extension_bump
+# Rebuild with `cargo xtask workflows`.
+name: extension_bump
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: '1'
+ CARGO_INCREMENTAL: '0'
+ ZED_EXTENSION_CLI_SHA: 7cfce605704d41ca247e3f84804bf323f6c6caaf
+on:
+ workflow_call:
+ inputs:
+ bump-type:
+ description: bump-type
+ type: string
+ default: patch
+ force-bump:
+ description: force-bump
+ required: true
+ type: boolean
+ secrets:
+ app-id:
+ description: The app ID used to create the PR
+ required: true
+ app-secret:
+ description: The app secret for the corresponding app ID
+ required: true
+jobs:
+ check_bump_needed:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ fetch-depth: 0
+ - id: compare-versions-check
+ name: extension_bump::compare_versions
+ run: |
+ CURRENT_VERSION="$(sed -n 's/version = \"\(.*\)\"/\1/p' < extension.toml)"
+ PR_PARENT_SHA="${{ github.event.pull_request.head.sha }}"
+
+ if [[ -n "$PR_PARENT_SHA" ]]; then
+ git checkout "$PR_PARENT_SHA"
+ elif BRANCH_PARENT_SHA="$(git merge-base origin/main origin/zed-zippy-autobump)"; then
+ git checkout "$BRANCH_PARENT_SHA"
+ else
+ git checkout "$(git log -1 --format=%H)"~1
+ fi
+
+ PARENT_COMMIT_VERSION="$(sed -n 's/version = \"\(.*\)\"/\1/p' < extension.toml)"
+
+ [[ "$CURRENT_VERSION" == "$PARENT_COMMIT_VERSION" ]] && \
+ echo "needs_bump=true" >> "$GITHUB_OUTPUT" || \
+ echo "needs_bump=false" >> "$GITHUB_OUTPUT"
+
+ echo "current_version=${CURRENT_VERSION}" >> "$GITHUB_OUTPUT"
+ shell: bash -euxo pipefail {0}
+ outputs:
+ needs_bump: ${{ steps.compare-versions-check.outputs.needs_bump }}
+ current_version: ${{ steps.compare-versions-check.outputs.current_version }}
+ timeout-minutes: 1
+ bump_extension_version:
+ needs:
+ - check_bump_needed
+ if: |-
+ (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') &&
+ (inputs.force-bump == 'true' || needs.check_bump_needed.outputs.needs_bump == 'true')
+ runs-on: namespace-profile-8x16-ubuntu-2204
+ steps:
+ - id: generate-token
+ name: extension_bump::generate_token
+ uses: actions/create-github-app-token@v2
+ with:
+ app-id: ${{ secrets.app-id }}
+ private-key: ${{ secrets.app-secret }}
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: extension_bump::install_bump_2_version
+ run: pip install bump2version
+ shell: bash -euxo pipefail {0}
+ - id: bump-version
+ name: extension_bump::bump_version
+ run: |
+ OLD_VERSION="${{ needs.check_bump_needed.outputs.current_version }}"
+
+ BUMP_FILES=("extension.toml")
+ if [[ -f "Cargo.toml" ]]; then
+ BUMP_FILES+=("Cargo.toml")
+ fi
+
+ bump2version --verbose --current-version "$OLD_VERSION" --no-configured-files ${{ inputs.bump-type }} "${BUMP_FILES[@]}"
+
+ if [[ -f "Cargo.toml" ]]; then
+ cargo update --workspace
+ fi
+
+ NEW_VERSION="$(sed -n 's/version = \"\(.*\)\"/\1/p' < extension.toml)"
+
+ echo "new_version=${NEW_VERSION}" >> "$GITHUB_OUTPUT"
+ shell: bash -euxo pipefail {0}
+ - name: extension_bump::create_pull_request
+ uses: peter-evans/create-pull-request@v7
+ with:
+ title: Bump version to ${{ steps.bump-version.outputs.new_version }}
+ body: This PR bumps the version of this extension to v${{ steps.bump-version.outputs.new_version }}
+ commit-message: Bump version to v${{ steps.bump-version.outputs.new_version }}
+ branch: zed-zippy-autobump
+ committer: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
+ base: main
+ delete-branch: true
+ token: ${{ steps.generate-token.outputs.token }}
+ sign-commits: true
+ assignees: ${{ github.actor }}
+ timeout-minutes: 1
+ create_version_label:
+ needs:
+ - check_bump_needed
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.check_bump_needed.outputs.needs_bump == 'false'
+ runs-on: namespace-profile-8x16-ubuntu-2204
+ steps:
+ - id: generate-token
+ name: extension_bump::generate_token
+ uses: actions/create-github-app-token@v2
+ with:
+ app-id: ${{ secrets.app-id }}
+ private-key: ${{ secrets.app-secret }}
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: extension_bump::create_version_tag
+ uses: actions/github-script@v7
+ with:
+ script: |-
+ github.rest.git.createRef({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ ref: 'refs/tags/v${{ needs.check_bump_needed.outputs.current_version }}',
+ sha: context.sha
+ })
+ github-token: ${{ steps.generate-token.outputs.token }}
+ timeout-minutes: 1
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
+ cancel-in-progress: true
diff --git a/.github/workflows/extension_release.yml b/.github/workflows/extension_release.yml
new file mode 100644
index 0000000000..5212a79c3e
--- /dev/null
+++ b/.github/workflows/extension_release.yml
@@ -0,0 +1,43 @@
+# Generated from xtask::workflows::extension_release
+# Rebuild with `cargo xtask workflows`.
+name: extension_release
+on:
+ workflow_call:
+ secrets:
+ app-id:
+ description: The app ID used to create the PR
+ required: true
+ app-secret:
+ description: The app secret for the corresponding app ID
+ required: true
+jobs:
+ create_release:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-8x16-ubuntu-2204
+ steps:
+ - id: generate-token
+ name: extension_bump::generate_token
+ uses: actions/create-github-app-token@v2
+ with:
+ app-id: ${{ secrets.app-id }}
+ private-key: ${{ secrets.app-secret }}
+ owner: zed-industries
+ repositories: extensions
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - id: get-extension-id
+ name: extension_release::get_extension_id
+ run: |
+ EXTENSION_ID="$(sed -n 's/id = \"\(.*\)\"/\1/p' < extension.toml)"
+
+ echo "extension_id=${EXTENSION_ID}" >> "$GITHUB_OUTPUT"
+ shell: bash -euxo pipefail {0}
+ - name: extension_release::release_action
+ uses: huacnlee/zed-extension-action@v2
+ with:
+ extension-name: ${{ steps.get-extension-id.outputs.extension_id }}
+ push-to: zed-industries/extensions
+ env:
+ COMMITTER_TOKEN: ${{ steps.generate-token.outputs.token }}
diff --git a/.github/workflows/extension_tests.yml b/.github/workflows/extension_tests.yml
new file mode 100644
index 0000000000..9f0917e388
--- /dev/null
+++ b/.github/workflows/extension_tests.yml
@@ -0,0 +1,133 @@
+# Generated from xtask::workflows::extension_tests
+# Rebuild with `cargo xtask workflows`.
+name: extension_tests
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: '1'
+ CARGO_INCREMENTAL: '0'
+ ZED_EXTENSION_CLI_SHA: 7cfce605704d41ca247e3f84804bf323f6c6caaf
+on:
+ workflow_call: {}
+jobs:
+ orchestrate:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ fetch-depth: ${{ github.ref == 'refs/heads/main' && 2 || 350 }}
+ - id: filter
+ name: filter
+ run: |
+ if [ -z "$GITHUB_BASE_REF" ]; then
+ echo "Not in a PR context (i.e., push to main/stable/preview)"
+ COMPARE_REV="$(git rev-parse HEAD~1)"
+ else
+ echo "In a PR context comparing to pull_request.base.ref"
+ git fetch origin "$GITHUB_BASE_REF" --depth=350
+ COMPARE_REV="$(git merge-base "origin/${GITHUB_BASE_REF}" HEAD)"
+ fi
+ CHANGED_FILES="$(git diff --name-only "$COMPARE_REV" ${{ github.sha }})"
+
+ check_pattern() {
+ local output_name="$1"
+ local pattern="$2"
+ local grep_arg="$3"
+
+ echo "$CHANGED_FILES" | grep "$grep_arg" "$pattern" && \
+ echo "${output_name}=true" >> "$GITHUB_OUTPUT" || \
+ echo "${output_name}=false" >> "$GITHUB_OUTPUT"
+ }
+
+ check_pattern "check_rust" '^(Cargo.lock|Cargo.toml|.*\.rs)$' -qP
+ check_pattern "check_extension" '^.*\.scm$' -qP
+ shell: bash -euxo pipefail {0}
+ outputs:
+ check_rust: ${{ steps.filter.outputs.check_rust }}
+ check_extension: ${{ steps.filter.outputs.check_extension }}
+ check_rust:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.check_rust == 'true'
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::cargo_fmt
+ run: cargo fmt --all -- --check
+ shell: bash -euxo pipefail {0}
+ - name: extension_tests::run_clippy
+ run: cargo clippy --release --all-targets --all-features -- --deny warnings
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_install_nextest
+ uses: taiki-e/install-action@nextest
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: bash -euxo pipefail {0}
+ env:
+ NEXTEST_NO_TESTS: warn
+ timeout-minutes: 3
+ check_extension:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.check_extension == 'true'
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - id: cache-zed-extension-cli
+ name: extension_tests::cache_zed_extension_cli
+ uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830
+ with:
+ path: zed-extension
+ key: zed-extension-${{ env.ZED_EXTENSION_CLI_SHA }}
+ - name: extension_tests::download_zed_extension_cli
+ if: steps.cache-zed-extension-cli.outputs.cache-hit != 'true'
+ run: |
+ wget --quiet "https://zed-extension-cli.nyc3.digitaloceanspaces.com/$ZED_EXTENSION_CLI_SHA/x86_64-unknown-linux-gnu/zed-extension"
+ chmod +x zed-extension
+ shell: bash -euxo pipefail {0}
+ - name: extension_tests::check
+ run: |
+ mkdir -p /tmp/ext-scratch
+ mkdir -p /tmp/ext-output
+ ./zed-extension --source-dir . --scratch-dir /tmp/ext-scratch --output-dir /tmp/ext-output
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 2
+ tests_pass:
+ needs:
+ - orchestrate
+ - check_rust
+ - check_extension
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && always()
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: run_tests::tests_pass
+ run: |
+ set +x
+ EXIT_CODE=0
+
+ check_result() {
+ echo "* $1: $2"
+ if [[ "$2" != "skipped" && "$2" != "success" ]]; then EXIT_CODE=1; fi
+ }
+
+ check_result "orchestrate" "${{ needs.orchestrate.result }}"
+ check_result "check_rust" "${{ needs.check_rust.result }}"
+ check_result "check_extension" "${{ needs.check_extension.result }}"
+
+ exit $EXIT_CODE
+ shell: bash -euxo pipefail {0}
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
+ cancel-in-progress: true
diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml
deleted file mode 100644
index e682ce5890..0000000000
--- a/.github/workflows/nix.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-name: "Nix build"
-
-on:
- workflow_call:
- inputs:
- flake-output:
- type: string
- default: "default"
- cachix-filter:
- type: string
- default: ""
-
-jobs:
- nix-build:
- timeout-minutes: 60
- name: (${{ matrix.system.os }}) Nix Build
- continue-on-error: true # TODO: remove when we want this to start blocking CI
- strategy:
- fail-fast: false
- matrix:
- system:
- - os: x86 Linux
- runner: namespace-profile-16x32-ubuntu-2204
- install_nix: true
- - os: arm Mac
- runner: [macOS, ARM64, test]
- install_nix: false
- if: github.repository_owner == 'zed-industries'
- runs-on: ${{ matrix.system.runner }}
- env:
- ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
- ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
- ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
- GIT_LFS_SKIP_SMUDGE: 1 # breaks the livekit rust sdk examples which we don't actually depend on
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- # on our macs we manually install nix. for some reason the cachix action is running
- # under a non-login /bin/bash shell which doesn't source the proper script to add the
- # nix profile to PATH, so we manually add them here
- - name: Set path
- if: ${{ ! matrix.system.install_nix }}
- run: |
- echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
- echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
-
- - uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f # v31
- if: ${{ matrix.system.install_nix }}
- with:
- github_access_token: ${{ secrets.GITHUB_TOKEN }}
-
- - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
- with:
- name: zed
- authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- pushFilter: "${{ inputs.cachix-filter }}"
- cachixArgs: "-v"
-
- - run: nix build .#${{ inputs.flake-output }} -L --accept-flake-config
-
- - name: Limit /nix/store to 50GB on macs
- if: ${{ ! matrix.system.install_nix }}
- run: |
- if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
- nix-collect-garbage -d || true
- fi
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000000..7afac285b5
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,496 @@
+# Generated from xtask::workflows::release
+# Rebuild with `cargo xtask workflows`.
+name: release
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: '1'
+on:
+ push:
+ tags:
+ - v*
+jobs:
+ run_tests_mac:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: self-mini-macos
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::clippy
+ run: ./script/clippy
+ shell: bash -euxo pipefail {0}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: bash -euxo pipefail {0}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ run_tests_linux:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::clippy
+ run: ./script/clippy
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_install_nextest
+ uses: taiki-e/install-action@nextest
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 250
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: bash -euxo pipefail {0}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ run_tests_windows:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: self-32vcpu-windows-2022
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ New-Item -ItemType Directory -Path "./../.cargo" -Force
+ Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
+ shell: pwsh
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::clippy
+ run: ./script/clippy.ps1
+ shell: pwsh
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than.ps1 250
+ shell: pwsh
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: pwsh
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
+ shell: pwsh
+ timeout-minutes: 60
+ check_scripts:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_tests::check_scripts::run_shellcheck
+ run: ./script/shellcheck-scripts error
+ shell: bash -euxo pipefail {0}
+ - id: get_actionlint
+ name: run_tests::check_scripts::download_actionlint
+ run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_scripts::run_actionlint
+ run: |
+ ${{ steps.get_actionlint.outputs.executable }} -color
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_scripts::check_xtask_workflows
+ run: |
+ cargo xtask workflows
+ if ! git diff --exit-code .github; then
+ echo "Error: .github directory has uncommitted changes after running 'cargo xtask workflows'"
+ echo "Please run 'cargo xtask workflows' locally and commit the changes"
+ exit 1
+ fi
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ create_draft_release:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ fetch-depth: 25
+ ref: ${{ github.ref }}
+ - name: script/determine-release-channel
+ run: script/determine-release-channel
+ shell: bash -euxo pipefail {0}
+ - name: mkdir -p target/
+ run: mkdir -p target/
+ shell: bash -euxo pipefail {0}
+ - name: release::create_draft_release::generate_release_notes
+ run: node --redirect-warnings=/dev/null ./script/draft-release-notes "$RELEASE_VERSION" "$RELEASE_CHANNEL" > target/release-notes.md
+ shell: bash -euxo pipefail {0}
+ - name: release::create_draft_release::create_release
+ run: script/create-draft-release target/release-notes.md
+ shell: bash -euxo pipefail {0}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ timeout-minutes: 60
+ bundle_linux_aarch64:
+ needs:
+ - run_tests_linux
+ - check_scripts
+ runs-on: namespace-profile-8x32-ubuntu-2004-arm-m4
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: ./script/bundle-linux
+ run: ./script/bundle-linux
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact zed-linux-aarch64.tar.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-linux-aarch64.tar.gz
+ path: target/release/zed-linux-aarch64.tar.gz
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-linux-aarch64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-linux-aarch64.gz
+ path: target/zed-remote-server-linux-aarch64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_linux_x86_64:
+ needs:
+ - run_tests_linux
+ - check_scripts
+ runs-on: namespace-profile-32x64-ubuntu-2004
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: ./script/bundle-linux
+ run: ./script/bundle-linux
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact zed-linux-x86_64.tar.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-linux-x86_64.tar.gz
+ path: target/release/zed-linux-x86_64.tar.gz
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-linux-x86_64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-linux-x86_64.gz
+ path: target/zed-remote-server-linux-x86_64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_mac_aarch64:
+ needs:
+ - run_tests_mac
+ - check_scripts
+ runs-on: self-mini-macos
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
+ MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
+ APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
+ APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
+ APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: run_bundling::bundle_mac::bundle_mac
+ run: ./script/bundle-mac aarch64-apple-darwin
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact Zed-aarch64.dmg'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-aarch64.dmg
+ path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-macos-aarch64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-macos-aarch64.gz
+ path: target/zed-remote-server-macos-aarch64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_mac_x86_64:
+ needs:
+ - run_tests_mac
+ - check_scripts
+ runs-on: self-mini-macos
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
+ MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
+ APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
+ APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
+ APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: run_bundling::bundle_mac::bundle_mac
+ run: ./script/bundle-mac x86_64-apple-darwin
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact Zed-x86_64.dmg'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-x86_64.dmg
+ path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-macos-x86_64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-macos-x86_64.gz
+ path: target/zed-remote-server-macos-x86_64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_windows_aarch64:
+ needs:
+ - run_tests_windows
+ - check_scripts
+ runs-on: self-32vcpu-windows-2022
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
+ AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
+ AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
+ ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
+ CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
+ ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
+ FILE_DIGEST: SHA256
+ TIMESTAMP_DIGEST: SHA256
+ TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: run_bundling::bundle_windows::bundle_windows
+ run: script/bundle-windows.ps1 -Architecture aarch64
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: '@actions/upload-artifact Zed-aarch64.exe'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-aarch64.exe
+ path: target/Zed-aarch64.exe
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_windows_x86_64:
+ needs:
+ - run_tests_windows
+ - check_scripts
+ runs-on: self-32vcpu-windows-2022
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
+ AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
+ AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
+ ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
+ CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
+ ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
+ FILE_DIGEST: SHA256
+ TIMESTAMP_DIGEST: SHA256
+ TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: run_bundling::bundle_windows::bundle_windows
+ run: script/bundle-windows.ps1 -Architecture x86_64
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: '@actions/upload-artifact Zed-x86_64.exe'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-x86_64.exe
+ path: target/Zed-x86_64.exe
+ if-no-files-found: error
+ timeout-minutes: 60
+ upload_release_assets:
+ needs:
+ - create_draft_release
+ - bundle_linux_aarch64
+ - bundle_linux_x86_64
+ - bundle_mac_aarch64
+ - bundle_mac_x86_64
+ - bundle_windows_aarch64
+ - bundle_windows_x86_64
+ runs-on: namespace-profile-4x8-ubuntu-2204
+ steps:
+ - name: release::download_workflow_artifacts
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53
+ with:
+ path: ./artifacts/
+ - name: ls -lR ./artifacts
+ run: ls -lR ./artifacts
+ shell: bash -euxo pipefail {0}
+ - name: release::prep_release_artifacts
+ run: |-
+ mkdir -p release-artifacts/
+
+ mv ./artifacts/Zed-aarch64.dmg/Zed-aarch64.dmg release-artifacts/Zed-aarch64.dmg
+ mv ./artifacts/Zed-x86_64.dmg/Zed-x86_64.dmg release-artifacts/Zed-x86_64.dmg
+ mv ./artifacts/zed-linux-aarch64.tar.gz/zed-linux-aarch64.tar.gz release-artifacts/zed-linux-aarch64.tar.gz
+ mv ./artifacts/zed-linux-x86_64.tar.gz/zed-linux-x86_64.tar.gz release-artifacts/zed-linux-x86_64.tar.gz
+ mv ./artifacts/Zed-x86_64.exe/Zed-x86_64.exe release-artifacts/Zed-x86_64.exe
+ mv ./artifacts/Zed-aarch64.exe/Zed-aarch64.exe release-artifacts/Zed-aarch64.exe
+ mv ./artifacts/zed-remote-server-macos-aarch64.gz/zed-remote-server-macos-aarch64.gz release-artifacts/zed-remote-server-macos-aarch64.gz
+ mv ./artifacts/zed-remote-server-macos-x86_64.gz/zed-remote-server-macos-x86_64.gz release-artifacts/zed-remote-server-macos-x86_64.gz
+ mv ./artifacts/zed-remote-server-linux-aarch64.gz/zed-remote-server-linux-aarch64.gz release-artifacts/zed-remote-server-linux-aarch64.gz
+ mv ./artifacts/zed-remote-server-linux-x86_64.gz/zed-remote-server-linux-x86_64.gz release-artifacts/zed-remote-server-linux-x86_64.gz
+ shell: bash -euxo pipefail {0}
+ - name: gh release upload "$GITHUB_REF_NAME" --repo=zed-industries/zed release-artifacts/*
+ run: gh release upload "$GITHUB_REF_NAME" --repo=zed-industries/zed release-artifacts/*
+ shell: bash -euxo pipefail {0}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ auto_release_preview:
+ needs:
+ - upload_release_assets
+ if: startsWith(github.ref, 'refs/tags/v') && endsWith(github.ref, '-pre') && !endsWith(github.ref, '.0-pre')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: gh release edit "$GITHUB_REF_NAME" --repo=zed-industries/zed --draft=false
+ run: gh release edit "$GITHUB_REF_NAME" --repo=zed-industries/zed --draft=false
+ shell: bash -euxo pipefail {0}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ notify_on_failure:
+ needs:
+ - upload_release_assets
+ - auto_release_preview
+ if: failure()
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: release::notify_on_failure::notify_slack
+ run: |-
+ curl -X POST -H 'Content-type: application/json'\
+ --data '{"text":"${{ github.workflow }} failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' "$SLACK_WEBHOOK"
+ shell: bash -euxo pipefail {0}
+ env:
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WORKFLOW_FAILURES }}
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
+ cancel-in-progress: true
diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml
index 2026ee7b73..d76244175a 100644
--- a/.github/workflows/release_nightly.yml
+++ b/.github/workflows/release_nightly.yml
@@ -1,256 +1,279 @@
-name: Release Nightly
-
-on:
- schedule:
- # Fire every day at 7:00am UTC (Roughly before EU workday and after US workday)
- - cron: "0 7 * * *"
- push:
- tags:
- - "nightly"
-
+# Generated from xtask::workflows::release_nightly
+# Rebuild with `cargo xtask workflows`.
+name: release_nightly
env:
CARGO_TERM_COLOR: always
- CARGO_INCREMENTAL: 0
- RUST_BACKTRACE: 1
- ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
- ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
- DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
- DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
-
+ RUST_BACKTRACE: '1'
+on:
+ push:
+ tags:
+ - nightly
+ schedule:
+ - cron: 0 7 * * *
jobs:
- style:
- timeout-minutes: 60
- name: Check formatting and Clippy lints
- if: github.repository_owner == 'zed-industries'
- runs-on:
- - self-hosted
- - macOS
+ check_style:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: self-mini-macos
steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
- fetch-depth: 0
-
- - name: Run style checks
- uses: ./.github/actions/check_style
-
- - name: Run clippy
- run: ./script/clippy
-
- tests:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ fetch-depth: 0
+ - name: steps::cargo_fmt
+ run: cargo fmt --all -- --check
+ shell: bash -euxo pipefail {0}
+ - name: ./script/clippy
+ run: ./script/clippy
+ shell: bash -euxo pipefail {0}
timeout-minutes: 60
- name: Run tests
- if: github.repository_owner == 'zed-industries'
- runs-on:
- - self-hosted
- - macOS
- needs: style
+ run_tests_windows:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: self-32vcpu-windows-2022
steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Run tests
- uses: ./.github/actions/run_tests
-
- windows-tests:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ New-Item -ItemType Directory -Path "./../.cargo" -Force
+ Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
+ shell: pwsh
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::clippy
+ run: ./script/clippy.ps1
+ shell: pwsh
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than.ps1 250
+ shell: pwsh
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: pwsh
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
+ shell: pwsh
timeout-minutes: 60
- name: Run tests on Windows
- if: github.repository_owner == 'zed-industries'
- runs-on: [self-32vcpu-windows-2022]
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Configure CI
- run: |
- New-Item -ItemType Directory -Path "./../.cargo" -Force
- Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
-
- - name: Run tests
- uses: ./.github/actions/run_tests_windows
-
- - name: Limit target directory size
- run: ./script/clear-target-dir-if-larger-than.ps1 1024
-
- - name: Clean CI config file
- if: always()
- run: Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
-
- bundle-mac:
- timeout-minutes: 60
- name: Create a macOS bundle
- if: github.repository_owner == 'zed-industries'
- runs-on:
- - self-mini-macos
- needs: tests
+ bundle_linux_aarch64:
+ needs:
+ - check_style
+ - run_tests_windows
+ runs-on: namespace-profile-8x32-ubuntu-2004-arm-m4
env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_bundling::set_release_channel_to_nightly
+ run: |
+ set -eu
+ version=$(git rev-parse --short HEAD)
+ echo "Publishing version: ${version} on release channel nightly"
+ echo "nightly" > crates/zed/RELEASE_CHANNEL
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: ./script/bundle-linux
+ run: ./script/bundle-linux
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact zed-linux-aarch64.tar.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-linux-aarch64.tar.gz
+ path: target/release/zed-linux-aarch64.tar.gz
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-linux-aarch64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-linux-aarch64.gz
+ path: target/zed-remote-server-linux-aarch64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_linux_x86_64:
+ needs:
+ - check_style
+ - run_tests_windows
+ runs-on: namespace-profile-32x64-ubuntu-2004
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_bundling::set_release_channel_to_nightly
+ run: |
+ set -eu
+ version=$(git rev-parse --short HEAD)
+ echo "Publishing version: ${version} on release channel nightly"
+ echo "nightly" > crates/zed/RELEASE_CHANNEL
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: ./script/bundle-linux
+ run: ./script/bundle-linux
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact zed-linux-x86_64.tar.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-linux-x86_64.tar.gz
+ path: target/release/zed-linux-x86_64.tar.gz
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-linux-x86_64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-linux-x86_64.gz
+ path: target/zed-remote-server-linux-x86_64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_mac_aarch64:
+ needs:
+ - check_style
+ - run_tests_windows
+ runs-on: self-mini-macos
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
steps:
- - name: Install Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
- with:
- node-version: "18"
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Set release channel to nightly
- run: |
- set -eu
- version=$(git rev-parse --short HEAD)
- echo "Publishing version: ${version} on release channel nightly"
- echo "nightly" > crates/zed/RELEASE_CHANNEL
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Create macOS app bundle
- run: script/bundle-mac
-
- - name: Upload Zed Nightly
- run: script/upload-nightly macos
-
- bundle-linux-x86:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_bundling::set_release_channel_to_nightly
+ run: |
+ set -eu
+ version=$(git rev-parse --short HEAD)
+ echo "Publishing version: ${version} on release channel nightly"
+ echo "nightly" > crates/zed/RELEASE_CHANNEL
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: run_bundling::bundle_mac::bundle_mac
+ run: ./script/bundle-mac aarch64-apple-darwin
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact Zed-aarch64.dmg'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-aarch64.dmg
+ path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-macos-aarch64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-macos-aarch64.gz
+ path: target/zed-remote-server-macos-aarch64.gz
+ if-no-files-found: error
timeout-minutes: 60
- name: Create a Linux *.tar.gz bundle for x86
- if: github.repository_owner == 'zed-industries'
- runs-on:
- - namespace-profile-16x32-ubuntu-2004 # ubuntu 20.04 for minimal glibc
- needs: tests
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Add Rust to the PATH
- run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
-
- - name: Install Linux dependencies
- run: ./script/linux && ./script/install-mold 2.34.0
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Limit target directory size
- run: script/clear-target-dir-if-larger-than 100
-
- - name: Set release channel to nightly
- run: |
- set -euo pipefail
- version=$(git rev-parse --short HEAD)
- echo "Publishing version: ${version} on release channel nightly"
- echo "nightly" > crates/zed/RELEASE_CHANNEL
-
- - name: Create Linux .tar.gz bundle
- run: script/bundle-linux
-
- - name: Upload Zed Nightly
- run: script/upload-nightly linux-targz
-
- bundle-linux-arm:
- timeout-minutes: 60
- name: Create a Linux *.tar.gz bundle for ARM
- if: github.repository_owner == 'zed-industries'
- runs-on:
- - namespace-profile-8x32-ubuntu-2004-arm-m4 # ubuntu 20.04 for minimal glibc
- needs: tests
- steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Install Linux dependencies
- run: ./script/linux
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Limit target directory size
- run: script/clear-target-dir-if-larger-than 100
-
- - name: Set release channel to nightly
- run: |
- set -euo pipefail
- version=$(git rev-parse --short HEAD)
- echo "Publishing version: ${version} on release channel nightly"
- echo "nightly" > crates/zed/RELEASE_CHANNEL
-
- - name: Create Linux .tar.gz bundle
- run: script/bundle-linux
-
- - name: Upload Zed Nightly
- run: script/upload-nightly linux-targz
-
- freebsd:
- timeout-minutes: 60
- if: false && github.repository_owner == 'zed-industries'
- runs-on: github-8vcpu-ubuntu-2404
- needs: tests
- name: Build Zed on FreeBSD
- steps:
- - uses: actions/checkout@v4
- - name: Build FreeBSD remote-server
- id: freebsd-build
- uses: vmactions/freebsd-vm@c3ae29a132c8ef1924775414107a97cac042aad5 # v1.2.0
- with:
- # envs: "MYTOKEN MYTOKEN2"
- usesh: true
- release: 13.5
- copyback: true
- prepare: |
- pkg install -y \
- bash curl jq git \
- rustup-init cmake-core llvm-devel-lite pkgconf protobuf # ibx11 alsa-lib rust-bindgen-cli
- run: |
- freebsd-version
- sysctl hw.model
- sysctl hw.ncpu
- sysctl hw.physmem
- sysctl hw.usermem
- git config --global --add safe.directory /home/runner/work/zed/zed
- rustup-init --profile minimal --default-toolchain none -y
- . "$HOME/.cargo/env"
- ./script/bundle-freebsd
- mkdir -p out/
- mv "target/zed-remote-server-freebsd-x86_64.gz" out/
- rm -rf target/
- cargo clean
-
- - name: Upload Zed Nightly
- run: script/upload-nightly freebsd
-
- bundle-nix:
- name: Build and cache Nix package
- needs: tests
- secrets: inherit
- uses: ./.github/workflows/nix.yml
-
- bundle-windows-x64:
- timeout-minutes: 60
- name: Create a Windows installer
- if: github.repository_owner == 'zed-industries'
- runs-on: [self-32vcpu-windows-2022]
- needs: windows-tests
+ bundle_mac_x86_64:
+ needs:
+ - check_style
+ - run_tests_windows
+ runs-on: self-mini-macos
env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
+ MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
+ APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
+ APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
+ APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_bundling::set_release_channel_to_nightly
+ run: |
+ set -eu
+ version=$(git rev-parse --short HEAD)
+ echo "Publishing version: ${version} on release channel nightly"
+ echo "nightly" > crates/zed/RELEASE_CHANNEL
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: run_bundling::bundle_mac::bundle_mac
+ run: ./script/bundle-mac x86_64-apple-darwin
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact Zed-x86_64.dmg'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-x86_64.dmg
+ path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-macos-x86_64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-macos-x86_64.gz
+ path: target/zed-remote-server-macos-x86_64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_windows_aarch64:
+ needs:
+ - check_style
+ - run_tests_windows
+ runs-on: self-32vcpu-windows-2022
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
@@ -259,65 +282,229 @@ jobs:
ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
FILE_DIGEST: SHA256
TIMESTAMP_DIGEST: SHA256
- TIMESTAMP_SERVER: "http://timestamp.acs.microsoft.com"
+ TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Set release channel to nightly
- working-directory: ${{ env.ZED_WORKSPACE }}
- run: |
- $ErrorActionPreference = "Stop"
- $version = git rev-parse --short HEAD
- Write-Host "Publishing version: $version on release channel nightly"
- "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
-
- - name: Setup Sentry CLI
- uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b #v2
- with:
- token: ${{ SECRETS.SENTRY_AUTH_TOKEN }}
-
- - name: Build Zed installer
- working-directory: ${{ env.ZED_WORKSPACE }}
- run: script/bundle-windows.ps1
-
- - name: Upload Zed Nightly
- working-directory: ${{ env.ZED_WORKSPACE }}
- run: script/upload-nightly.ps1 windows
-
- update-nightly-tag:
- name: Update nightly tag
- if: github.repository_owner == 'zed-industries'
- runs-on: namespace-profile-2x4-ubuntu-2404
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_bundling::set_release_channel_to_nightly
+ run: |
+ $ErrorActionPreference = "Stop"
+ $version = git rev-parse --short HEAD
+ Write-Host "Publishing version: $version on release channel nightly"
+ "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: run_bundling::bundle_windows::bundle_windows
+ run: script/bundle-windows.ps1 -Architecture aarch64
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: '@actions/upload-artifact Zed-aarch64.exe'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-aarch64.exe
+ path: target/Zed-aarch64.exe
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_windows_x86_64:
needs:
- - bundle-mac
- - bundle-linux-x86
- - bundle-linux-arm
- - bundle-windows-x64
+ - check_style
+ - run_tests_windows
+ runs-on: self-32vcpu-windows-2022
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
+ AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
+ AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
+ ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
+ CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
+ ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
+ FILE_DIGEST: SHA256
+ TIMESTAMP_DIGEST: SHA256
+ TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
steps:
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- fetch-depth: 0
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_bundling::set_release_channel_to_nightly
+ run: |
+ $ErrorActionPreference = "Stop"
+ $version = git rev-parse --short HEAD
+ Write-Host "Publishing version: $version on release channel nightly"
+ "nightly" | Set-Content -Path "crates/zed/RELEASE_CHANNEL"
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: run_bundling::bundle_windows::bundle_windows
+ run: script/bundle-windows.ps1 -Architecture x86_64
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: '@actions/upload-artifact Zed-x86_64.exe'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-x86_64.exe
+ path: target/Zed-x86_64.exe
+ if-no-files-found: error
+ timeout-minutes: 60
+ build_nix_linux_x86_64:
+ needs:
+ - check_style
+ - run_tests_windows
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-32x64-ubuntu-2004
+ env:
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
+ GIT_LFS_SKIP_SMUDGE: '1'
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: nix_build::build_nix::install_nix
+ uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
+ with:
+ github_access_token: ${{ secrets.GITHUB_TOKEN }}
+ - name: nix_build::build_nix::cachix_action
+ uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
+ with:
+ name: zed
+ authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
+ cachixArgs: -v
+ - name: nix_build::build_nix::build
+ run: nix build .#default -L --accept-flake-config
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ continue-on-error: true
+ build_nix_mac_aarch64:
+ needs:
+ - check_style
+ - run_tests_windows
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: self-mini-macos
+ env:
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
+ GIT_LFS_SKIP_SMUDGE: '1'
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: nix_build::build_nix::set_path
+ run: |
+ echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
+ echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
+ shell: bash -euxo pipefail {0}
+ - name: nix_build::build_nix::cachix_action
+ uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
+ with:
+ name: zed
+ authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
+ cachixArgs: -v
+ - name: nix_build::build_nix::build
+ run: nix build .#default -L --accept-flake-config
+ shell: bash -euxo pipefail {0}
+ - name: nix_build::build_nix::limit_store
+ run: |-
+ if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
+ nix-collect-garbage -d || true
+ fi
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ continue-on-error: true
+ update_nightly_tag:
+ needs:
+ - bundle_linux_aarch64
+ - bundle_linux_x86_64
+ - bundle_mac_aarch64
+ - bundle_mac_x86_64
+ - bundle_windows_aarch64
+ - bundle_windows_x86_64
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-4x8-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ fetch-depth: 0
+ - name: release::download_workflow_artifacts
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53
+ with:
+ path: ./artifacts/
+ - name: ls -lR ./artifacts
+ run: ls -lR ./artifacts
+ shell: bash -euxo pipefail {0}
+ - name: release::prep_release_artifacts
+ run: |-
+ mkdir -p release-artifacts/
- - name: Update nightly tag
- run: |
- if [ "$(git rev-parse nightly)" = "$(git rev-parse HEAD)" ]; then
- echo "Nightly tag already points to current commit. Skipping tagging."
- exit 0
- fi
- git config user.name github-actions
- git config user.email github-actions@github.com
- git tag -f nightly
- git push origin nightly --force
-
- - name: Create Sentry release
- uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c # v3
- env:
- SENTRY_ORG: zed-dev
- SENTRY_PROJECT: zed
- SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- with:
- environment: production
+ mv ./artifacts/Zed-aarch64.dmg/Zed-aarch64.dmg release-artifacts/Zed-aarch64.dmg
+ mv ./artifacts/Zed-x86_64.dmg/Zed-x86_64.dmg release-artifacts/Zed-x86_64.dmg
+ mv ./artifacts/zed-linux-aarch64.tar.gz/zed-linux-aarch64.tar.gz release-artifacts/zed-linux-aarch64.tar.gz
+ mv ./artifacts/zed-linux-x86_64.tar.gz/zed-linux-x86_64.tar.gz release-artifacts/zed-linux-x86_64.tar.gz
+ mv ./artifacts/Zed-x86_64.exe/Zed-x86_64.exe release-artifacts/Zed-x86_64.exe
+ mv ./artifacts/Zed-aarch64.exe/Zed-aarch64.exe release-artifacts/Zed-aarch64.exe
+ mv ./artifacts/zed-remote-server-macos-aarch64.gz/zed-remote-server-macos-aarch64.gz release-artifacts/zed-remote-server-macos-aarch64.gz
+ mv ./artifacts/zed-remote-server-macos-x86_64.gz/zed-remote-server-macos-x86_64.gz release-artifacts/zed-remote-server-macos-x86_64.gz
+ mv ./artifacts/zed-remote-server-linux-aarch64.gz/zed-remote-server-linux-aarch64.gz release-artifacts/zed-remote-server-linux-aarch64.gz
+ mv ./artifacts/zed-remote-server-linux-x86_64.gz/zed-remote-server-linux-x86_64.gz release-artifacts/zed-remote-server-linux-x86_64.gz
+ shell: bash -euxo pipefail {0}
+ - name: ./script/upload-nightly
+ run: ./script/upload-nightly
+ shell: bash -euxo pipefail {0}
+ env:
+ DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }}
+ DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }}
+ - name: release_nightly::update_nightly_tag_job::update_nightly_tag
+ run: |
+ if [ "$(git rev-parse nightly)" = "$(git rev-parse HEAD)" ]; then
+ echo "Nightly tag already points to current commit. Skipping tagging."
+ exit 0
+ fi
+ git config user.name github-actions
+ git config user.email github-actions@github.com
+ git tag -f nightly
+ git push origin nightly --force
+ shell: bash -euxo pipefail {0}
+ - name: release::create_sentry_release
+ uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c
+ with:
+ environment: production
+ env:
+ SENTRY_ORG: zed-dev
+ SENTRY_PROJECT: zed
+ SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ timeout-minutes: 60
+ notify_on_failure:
+ needs:
+ - bundle_linux_aarch64
+ - bundle_linux_x86_64
+ - bundle_mac_aarch64
+ - bundle_mac_x86_64
+ - bundle_windows_aarch64
+ - bundle_windows_x86_64
+ if: failure()
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: release::notify_on_failure::notify_slack
+ run: |-
+ curl -X POST -H 'Content-type: application/json'\
+ --data '{"text":"${{ github.workflow }} failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' "$SLACK_WEBHOOK"
+ shell: bash -euxo pipefail {0}
+ env:
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_WORKFLOW_FAILURES }}
diff --git a/.github/workflows/run_agent_evals.yml b/.github/workflows/run_agent_evals.yml
new file mode 100644
index 0000000000..421d5a1c80
--- /dev/null
+++ b/.github/workflows/run_agent_evals.yml
@@ -0,0 +1,67 @@
+# Generated from xtask::workflows::run_agent_evals
+# Rebuild with `cargo xtask workflows`.
+name: run_agent_evals
+env:
+ CARGO_TERM_COLOR: always
+ CARGO_INCREMENTAL: '0'
+ RUST_BACKTRACE: '1'
+ ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
+ OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
+ GOOGLE_AI_API_KEY: ${{ secrets.GOOGLE_AI_API_KEY }}
+ GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_EVAL_TELEMETRY: '1'
+ MODEL_NAME: ${{ inputs.model_name }}
+on:
+ workflow_dispatch:
+ inputs:
+ model_name:
+ description: model_name
+ required: true
+ type: string
+jobs:
+ agent_evals:
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: cargo build --package=eval
+ run: cargo build --package=eval
+ shell: bash -euxo pipefail {0}
+ - name: run_agent_evals::agent_evals::run_eval
+ run: cargo run --package=eval -- --repetitions=8 --concurrency=1 --model "${MODEL_NAME}"
+ shell: bash -euxo pipefail {0}
+ env:
+ ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
+ OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
+ GOOGLE_AI_API_KEY: ${{ secrets.GOOGLE_AI_API_KEY }}
+ GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 600
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
+ cancel-in-progress: true
diff --git a/.github/workflows/run_bundling.yml b/.github/workflows/run_bundling.yml
new file mode 100644
index 0000000000..f56e56ac7f
--- /dev/null
+++ b/.github/workflows/run_bundling.yml
@@ -0,0 +1,269 @@
+# Generated from xtask::workflows::run_bundling
+# Rebuild with `cargo xtask workflows`.
+name: run_bundling
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: '1'
+on:
+ pull_request:
+ types:
+ - labeled
+ - synchronize
+jobs:
+ bundle_linux_aarch64:
+ if: |-
+ (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
+ (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
+ runs-on: namespace-profile-8x32-ubuntu-2004-arm-m4
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: ./script/bundle-linux
+ run: ./script/bundle-linux
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact zed-linux-aarch64.tar.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-linux-aarch64.tar.gz
+ path: target/release/zed-linux-aarch64.tar.gz
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-linux-aarch64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-linux-aarch64.gz
+ path: target/zed-remote-server-linux-aarch64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_linux_x86_64:
+ if: |-
+ (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
+ (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
+ runs-on: namespace-profile-32x64-ubuntu-2004
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: ./script/bundle-linux
+ run: ./script/bundle-linux
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact zed-linux-x86_64.tar.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-linux-x86_64.tar.gz
+ path: target/release/zed-linux-x86_64.tar.gz
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-linux-x86_64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-linux-x86_64.gz
+ path: target/zed-remote-server-linux-x86_64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_mac_aarch64:
+ if: |-
+ (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
+ (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
+ runs-on: self-mini-macos
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
+ MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
+ APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
+ APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
+ APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: run_bundling::bundle_mac::bundle_mac
+ run: ./script/bundle-mac aarch64-apple-darwin
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact Zed-aarch64.dmg'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-aarch64.dmg
+ path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-macos-aarch64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-macos-aarch64.gz
+ path: target/zed-remote-server-macos-aarch64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_mac_x86_64:
+ if: |-
+ (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
+ (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
+ runs-on: self-mini-macos
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
+ MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
+ APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
+ APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
+ APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: run_bundling::bundle_mac::bundle_mac
+ run: ./script/bundle-mac x86_64-apple-darwin
+ shell: bash -euxo pipefail {0}
+ - name: '@actions/upload-artifact Zed-x86_64.dmg'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-x86_64.dmg
+ path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
+ if-no-files-found: error
+ - name: '@actions/upload-artifact zed-remote-server-macos-x86_64.gz'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: zed-remote-server-macos-x86_64.gz
+ path: target/zed-remote-server-macos-x86_64.gz
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_windows_aarch64:
+ if: |-
+ (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
+ (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
+ runs-on: self-32vcpu-windows-2022
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
+ AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
+ AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
+ ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
+ CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
+ ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
+ FILE_DIGEST: SHA256
+ TIMESTAMP_DIGEST: SHA256
+ TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: run_bundling::bundle_windows::bundle_windows
+ run: script/bundle-windows.ps1 -Architecture aarch64
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: '@actions/upload-artifact Zed-aarch64.exe'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-aarch64.exe
+ path: target/Zed-aarch64.exe
+ if-no-files-found: error
+ timeout-minutes: 60
+ bundle_windows_x86_64:
+ if: |-
+ (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
+ (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
+ runs-on: self-32vcpu-windows-2022
+ env:
+ CARGO_INCREMENTAL: 0
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
+ AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
+ AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
+ ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
+ CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
+ ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
+ FILE_DIGEST: SHA256
+ TIMESTAMP_DIGEST: SHA256
+ TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_sentry
+ uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
+ with:
+ token: ${{ secrets.SENTRY_AUTH_TOKEN }}
+ - name: run_bundling::bundle_windows::bundle_windows
+ run: script/bundle-windows.ps1 -Architecture x86_64
+ shell: pwsh
+ working-directory: ${{ env.ZED_WORKSPACE }}
+ - name: '@actions/upload-artifact Zed-x86_64.exe'
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
+ with:
+ name: Zed-x86_64.exe
+ path: target/Zed-x86_64.exe
+ if-no-files-found: error
+ timeout-minutes: 60
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
+ cancel-in-progress: true
diff --git a/.github/workflows/run_cron_unit_evals.yml b/.github/workflows/run_cron_unit_evals.yml
new file mode 100644
index 0000000000..cdfb51cc5b
--- /dev/null
+++ b/.github/workflows/run_cron_unit_evals.yml
@@ -0,0 +1,77 @@
+# Generated from xtask::workflows::run_cron_unit_evals
+# Rebuild with `cargo xtask workflows`.
+name: run_cron_unit_evals
+env:
+ CARGO_TERM_COLOR: always
+ CARGO_INCREMENTAL: '0'
+ RUST_BACKTRACE: '1'
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+on:
+ schedule:
+ - cron: 47 1 * * 2
+ workflow_dispatch: {}
+jobs:
+ cron_unit_evals:
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ strategy:
+ matrix:
+ model:
+ - anthropic/claude-sonnet-4-5-latest
+ - anthropic/claude-opus-4-5-latest
+ - google/gemini-3-pro
+ - openai/gpt-5
+ fail-fast: false
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_install_nextest
+ uses: taiki-e/install-action@nextest
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 250
+ shell: bash -euxo pipefail {0}
+ - name: ./script/run-unit-evals
+ run: ./script/run-unit-evals
+ shell: bash -euxo pipefail {0}
+ env:
+ ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
+ OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
+ GOOGLE_AI_API_KEY: ${{ secrets.GOOGLE_AI_API_KEY }}
+ GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
+ ZED_AGENT_MODEL: ${{ matrix.model }}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ - name: run_agent_evals::cron_unit_evals::send_failure_to_slack
+ if: ${{ failure() }}
+ uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52
+ with:
+ method: chat.postMessage
+ token: ${{ secrets.SLACK_APP_ZED_UNIT_EVALS_BOT_TOKEN }}
+ payload: |
+ channel: C04UDRNNJFQ
+ text: "Unit Evals Failed: https://github.com/zed-industries/zed/actions/runs/${{ github.run_id }}"
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
+ cancel-in-progress: true
diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml
new file mode 100644
index 0000000000..9584d7a0cb
--- /dev/null
+++ b/.github/workflows/run_tests.yml
@@ -0,0 +1,578 @@
+# Generated from xtask::workflows::run_tests
+# Rebuild with `cargo xtask workflows`.
+name: run_tests
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: '1'
+ CARGO_INCREMENTAL: '0'
+on:
+ pull_request:
+ branches:
+ - '**'
+ push:
+ branches:
+ - main
+ - v[0-9]+.[0-9]+.x
+jobs:
+ orchestrate:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ fetch-depth: ${{ github.ref == 'refs/heads/main' && 2 || 350 }}
+ - id: filter
+ name: filter
+ run: |
+ if [ -z "$GITHUB_BASE_REF" ]; then
+ echo "Not in a PR context (i.e., push to main/stable/preview)"
+ COMPARE_REV="$(git rev-parse HEAD~1)"
+ else
+ echo "In a PR context comparing to pull_request.base.ref"
+ git fetch origin "$GITHUB_BASE_REF" --depth=350
+ COMPARE_REV="$(git merge-base "origin/${GITHUB_BASE_REF}" HEAD)"
+ fi
+ CHANGED_FILES="$(git diff --name-only "$COMPARE_REV" ${{ github.sha }})"
+
+ check_pattern() {
+ local output_name="$1"
+ local pattern="$2"
+ local grep_arg="$3"
+
+ echo "$CHANGED_FILES" | grep "$grep_arg" "$pattern" && \
+ echo "${output_name}=true" >> "$GITHUB_OUTPUT" || \
+ echo "${output_name}=false" >> "$GITHUB_OUTPUT"
+ }
+
+ check_pattern "run_action_checks" '^\.github/(workflows/|actions/|actionlint.yml)|tooling/xtask|script/' -qP
+ check_pattern "run_docs" '^(docs/|crates/.*\.rs)' -qP
+ check_pattern "run_licenses" '^(Cargo.lock|script/.*licenses)' -qP
+ check_pattern "run_nix" '^(nix/|flake\.|Cargo\.|rust-toolchain.toml|\.cargo/config.toml)' -qP
+ check_pattern "run_tests" '^(docs/|script/update_top_ranking_issues/|\.github/(ISSUE_TEMPLATE|workflows/(?!run_tests)))' -qvP
+ shell: bash -euxo pipefail {0}
+ outputs:
+ run_action_checks: ${{ steps.filter.outputs.run_action_checks }}
+ run_docs: ${{ steps.filter.outputs.run_docs }}
+ run_licenses: ${{ steps.filter.outputs.run_licenses }}
+ run_nix: ${{ steps.filter.outputs.run_nix }}
+ run_tests: ${{ steps.filter.outputs.run_tests }}
+ check_style:
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
+ runs-on: namespace-profile-4x8-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_pnpm
+ uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2
+ with:
+ version: '9'
+ - name: ./script/prettier
+ run: ./script/prettier
+ shell: bash -euxo pipefail {0}
+ - name: ./script/check-todos
+ run: ./script/check-todos
+ shell: bash -euxo pipefail {0}
+ - name: ./script/check-keymaps
+ run: ./script/check-keymaps
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_style::check_for_typos
+ uses: crate-ci/typos@2d0ce569feab1f8752f1dde43cc2f2aa53236e06
+ with:
+ config: ./typos.toml
+ - name: steps::cargo_fmt
+ run: cargo fmt --all -- --check
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ run_tests_windows:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_tests == 'true'
+ runs-on: self-32vcpu-windows-2022
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ New-Item -ItemType Directory -Path "./../.cargo" -Force
+ Copy-Item -Path "./.cargo/ci-config.toml" -Destination "./../.cargo/config.toml"
+ shell: pwsh
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::clippy
+ run: ./script/clippy.ps1
+ shell: pwsh
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than.ps1 250
+ shell: pwsh
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: pwsh
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ Remove-Item -Recurse -Path "./../.cargo" -Force -ErrorAction SilentlyContinue
+ shell: pwsh
+ timeout-minutes: 60
+ run_tests_linux:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_tests == 'true'
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::clippy
+ run: ./script/clippy
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_install_nextest
+ uses: taiki-e/install-action@nextest
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 250
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: bash -euxo pipefail {0}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ run_tests_mac:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_tests == 'true'
+ runs-on: self-mini-macos
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_node
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
+ with:
+ node-version: '20'
+ - name: steps::clippy
+ run: ./script/clippy
+ shell: bash -euxo pipefail {0}
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 300
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_nextest
+ run: cargo nextest run --workspace --no-fail-fast
+ shell: bash -euxo pipefail {0}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ doctests:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_tests == 'true'
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - id: run_doctests
+ name: run_tests::doctests::run_doctests
+ run: |
+ cargo test --workspace --doc --no-fail-fast
+ shell: bash -euxo pipefail {0}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ check_workspace_binaries:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_tests == 'true'
+ runs-on: namespace-profile-8x16-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: cargo build -p collab
+ run: cargo build -p collab
+ shell: bash -euxo pipefail {0}
+ - name: cargo build --workspace --bins --examples
+ run: cargo build --workspace --bins --examples
+ shell: bash -euxo pipefail {0}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ check_dependencies:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_tests == 'true'
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: run_tests::check_dependencies::install_cargo_machete
+ uses: clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386
+ with:
+ command: install
+ args: cargo-machete@0.7.0
+ - name: run_tests::check_dependencies::run_cargo_machete
+ uses: clechasseur/rs-cargo@8435b10f6e71c2e3d4d3b7573003a8ce4bfc6386
+ with:
+ command: machete
+ - name: run_tests::check_dependencies::check_cargo_lock
+ run: cargo update --locked --workspace
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_dependencies::check_vulnerable_dependencies
+ if: github.event_name == 'pull_request'
+ uses: actions/dependency-review-action@67d4f4bd7a9b17a0db54d2a7519187c65e339de8
+ with:
+ license-check: false
+ timeout-minutes: 60
+ check_docs:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_docs == 'true'
+ runs-on: namespace-profile-8x16-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: run_tests::check_docs::lychee_link_check
+ uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
+ with:
+ args: --no-progress --exclude '^http' './docs/src/**/*'
+ fail: true
+ jobSummary: false
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_docs::install_mdbook
+ uses: peaceiris/actions-mdbook@ee69d230fe19748b7abf22df32acaa93833fad08
+ with:
+ mdbook-version: 0.4.37
+ - name: run_tests::check_docs::build_docs
+ run: |
+ mkdir -p target/deploy
+ mdbook build ./docs --dest-dir=../target/deploy/docs/
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_docs::lychee_link_check
+ uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332
+ with:
+ args: --no-progress --exclude '^http' 'target/deploy/docs'
+ fail: true
+ jobSummary: false
+ timeout-minutes: 60
+ check_licenses:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_licenses == 'true'
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: ./script/check-licenses
+ run: ./script/check-licenses
+ shell: bash -euxo pipefail {0}
+ - name: ./script/generate-licenses
+ run: ./script/generate-licenses
+ shell: bash -euxo pipefail {0}
+ check_scripts:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_action_checks == 'true'
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: run_tests::check_scripts::run_shellcheck
+ run: ./script/shellcheck-scripts error
+ shell: bash -euxo pipefail {0}
+ - id: get_actionlint
+ name: run_tests::check_scripts::download_actionlint
+ run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_scripts::run_actionlint
+ run: |
+ ${{ steps.get_actionlint.outputs.executable }} -color
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_scripts::check_xtask_workflows
+ run: |
+ cargo xtask workflows
+ if ! git diff --exit-code .github; then
+ echo "Error: .github directory has uncommitted changes after running 'cargo xtask workflows'"
+ echo "Please run 'cargo xtask workflows' locally and commit the changes"
+ exit 1
+ fi
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ build_nix_linux_x86_64:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_nix == 'true'
+ runs-on: namespace-profile-32x64-ubuntu-2004
+ env:
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
+ GIT_LFS_SKIP_SMUDGE: '1'
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: nix_build::build_nix::install_nix
+ uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
+ with:
+ github_access_token: ${{ secrets.GITHUB_TOKEN }}
+ - name: nix_build::build_nix::cachix_action
+ uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
+ with:
+ name: zed
+ authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
+ cachixArgs: -v
+ pushFilter: -zed-editor-[0-9.]*-nightly
+ - name: nix_build::build_nix::build
+ run: nix build .#debug -L --accept-flake-config
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ continue-on-error: true
+ build_nix_mac_aarch64:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_nix == 'true'
+ runs-on: self-mini-macos
+ env:
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
+ ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
+ GIT_LFS_SKIP_SMUDGE: '1'
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: nix_build::build_nix::set_path
+ run: |
+ echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
+ echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
+ shell: bash -euxo pipefail {0}
+ - name: nix_build::build_nix::cachix_action
+ uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
+ with:
+ name: zed
+ authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
+ cachixArgs: -v
+ pushFilter: -zed-editor-[0-9.]*-nightly
+ - name: nix_build::build_nix::build
+ run: nix build .#debug -L --accept-flake-config
+ shell: bash -euxo pipefail {0}
+ - name: nix_build::build_nix::limit_store
+ run: |-
+ if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
+ nix-collect-garbage -d || true
+ fi
+ shell: bash -euxo pipefail {0}
+ timeout-minutes: 60
+ continue-on-error: true
+ check_postgres_and_protobuf_migrations:
+ needs:
+ - orchestrate
+ if: needs.orchestrate.outputs.run_tests == 'true'
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ env:
+ GIT_AUTHOR_NAME: Protobuf Action
+ GIT_AUTHOR_EMAIL: ci@zed.dev
+ GIT_COMMITTER_NAME: Protobuf Action
+ GIT_COMMITTER_EMAIL: ci@zed.dev
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ fetch-depth: 0
+ - name: run_tests::check_postgres_and_protobuf_migrations::remove_untracked_files
+ run: git clean -df
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_postgres_and_protobuf_migrations::ensure_fresh_merge
+ run: |
+ if [ -z "$GITHUB_BASE_REF" ];
+ then
+ echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> "$GITHUB_ENV"
+ else
+ git checkout -B temp
+ git merge -q "origin/$GITHUB_BASE_REF" -m "merge main into temp"
+ echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> "$GITHUB_ENV"
+ fi
+ shell: bash -euxo pipefail {0}
+ - name: run_tests::check_postgres_and_protobuf_migrations::bufbuild_setup_action
+ uses: bufbuild/buf-setup-action@v1
+ with:
+ version: v1.29.0
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ - name: run_tests::check_postgres_and_protobuf_migrations::bufbuild_breaking_action
+ uses: bufbuild/buf-breaking-action@v1
+ with:
+ input: crates/proto/proto/
+ against: https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/proto/proto/
+ timeout-minutes: 60
+ tests_pass:
+ needs:
+ - orchestrate
+ - check_style
+ - run_tests_windows
+ - run_tests_linux
+ - run_tests_mac
+ - doctests
+ - check_workspace_binaries
+ - check_dependencies
+ - check_docs
+ - check_licenses
+ - check_scripts
+ - build_nix_linux_x86_64
+ - build_nix_mac_aarch64
+ if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && always()
+ runs-on: namespace-profile-2x4-ubuntu-2404
+ steps:
+ - name: run_tests::tests_pass
+ run: |
+ set +x
+ EXIT_CODE=0
+
+ check_result() {
+ echo "* $1: $2"
+ if [[ "$2" != "skipped" && "$2" != "success" ]]; then EXIT_CODE=1; fi
+ }
+
+ check_result "orchestrate" "${{ needs.orchestrate.result }}"
+ check_result "check_style" "${{ needs.check_style.result }}"
+ check_result "run_tests_windows" "${{ needs.run_tests_windows.result }}"
+ check_result "run_tests_linux" "${{ needs.run_tests_linux.result }}"
+ check_result "run_tests_mac" "${{ needs.run_tests_mac.result }}"
+ check_result "doctests" "${{ needs.doctests.result }}"
+ check_result "check_workspace_binaries" "${{ needs.check_workspace_binaries.result }}"
+ check_result "check_dependencies" "${{ needs.check_dependencies.result }}"
+ check_result "check_docs" "${{ needs.check_docs.result }}"
+ check_result "check_licenses" "${{ needs.check_licenses.result }}"
+ check_result "check_scripts" "${{ needs.check_scripts.result }}"
+ check_result "build_nix_linux_x86_64" "${{ needs.build_nix_linux_x86_64.result }}"
+ check_result "build_nix_mac_aarch64" "${{ needs.build_nix_mac_aarch64.result }}"
+
+ exit $EXIT_CODE
+ shell: bash -euxo pipefail {0}
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
+ cancel-in-progress: true
diff --git a/.github/workflows/run_unit_evals.yml b/.github/workflows/run_unit_evals.yml
new file mode 100644
index 0000000000..8f64a5c8bc
--- /dev/null
+++ b/.github/workflows/run_unit_evals.yml
@@ -0,0 +1,69 @@
+# Generated from xtask::workflows::run_unit_evals
+# Rebuild with `cargo xtask workflows`.
+name: run_unit_evals
+env:
+ CARGO_TERM_COLOR: always
+ CARGO_INCREMENTAL: '0'
+ RUST_BACKTRACE: '1'
+ ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
+ ZED_EVAL_TELEMETRY: '1'
+ MODEL_NAME: ${{ inputs.model_name }}
+on:
+ workflow_dispatch:
+ inputs:
+ model_name:
+ description: model_name
+ required: true
+ type: string
+ commit_sha:
+ description: commit_sha
+ required: true
+ type: string
+jobs:
+ run_unit_evals:
+ runs-on: namespace-profile-16x32-ubuntu-2204
+ steps:
+ - name: steps::checkout_repo
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
+ with:
+ clean: false
+ - name: steps::setup_cargo_config
+ run: |
+ mkdir -p ./../.cargo
+ cp ./.cargo/ci-config.toml ./../.cargo/config.toml
+ shell: bash -euxo pipefail {0}
+ - name: steps::cache_rust_dependencies_namespace
+ uses: namespacelabs/nscloud-cache-action@v1
+ with:
+ cache: rust
+ - name: steps::setup_linux
+ run: ./script/linux
+ shell: bash -euxo pipefail {0}
+ - name: steps::install_mold
+ run: ./script/install-mold
+ shell: bash -euxo pipefail {0}
+ - name: steps::download_wasi_sdk
+ run: ./script/download-wasi-sdk
+ shell: bash -euxo pipefail {0}
+ - name: steps::cargo_install_nextest
+ uses: taiki-e/install-action@nextest
+ - name: steps::clear_target_dir_if_large
+ run: ./script/clear-target-dir-if-larger-than 250
+ shell: bash -euxo pipefail {0}
+ - name: ./script/run-unit-evals
+ run: ./script/run-unit-evals
+ shell: bash -euxo pipefail {0}
+ env:
+ ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
+ OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
+ GOOGLE_AI_API_KEY: ${{ secrets.GOOGLE_AI_API_KEY }}
+ GOOGLE_CLOUD_PROJECT: ${{ secrets.GOOGLE_CLOUD_PROJECT }}
+ UNIT_EVAL_COMMIT: ${{ inputs.commit_sha }}
+ - name: steps::cleanup_cargo_config
+ if: always()
+ run: |
+ rm -rf ./../.cargo
+ shell: bash -euxo pipefail {0}
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.run_id }}
+ cancel-in-progress: true
diff --git a/.github/workflows/script_checks.yml b/.github/workflows/script_checks.yml
deleted file mode 100644
index 5dbfc9cb7f..0000000000
--- a/.github/workflows/script_checks.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: Script
-
-on:
- pull_request:
- paths:
- - "script/**"
- push:
- branches:
- - main
-
-jobs:
- shellcheck:
- name: "ShellCheck Scripts"
- if: github.repository_owner == 'zed-industries'
- runs-on: namespace-profile-2x4-ubuntu-2404
-
- steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- - name: Shellcheck ./scripts
- run: |
- ./script/shellcheck-scripts error
diff --git a/.github/workflows/unit_evals.yml b/.github/workflows/unit_evals.yml
deleted file mode 100644
index c03cf8b087..0000000000
--- a/.github/workflows/unit_evals.yml
+++ /dev/null
@@ -1,86 +0,0 @@
-name: Run Unit Evals
-
-on:
- schedule:
- # GitHub might drop jobs at busy times, so we choose a random time in the middle of the night.
- - cron: "47 1 * * 2"
- workflow_dispatch:
-
-concurrency:
- # Allow only one workflow per any non-`main` branch.
- group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }}
- cancel-in-progress: true
-
-env:
- CARGO_TERM_COLOR: always
- CARGO_INCREMENTAL: 0
- RUST_BACKTRACE: 1
- ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
-
-jobs:
- unit_evals:
- if: github.repository_owner == 'zed-industries'
- timeout-minutes: 60
- name: Run unit evals
- runs-on:
- - namespace-profile-16x32-ubuntu-2204
- steps:
- - name: Add Rust to the PATH
- run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
-
- - name: Checkout repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- with:
- clean: false
-
- - name: Cache dependencies
- uses: swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
- with:
- save-if: ${{ github.ref == 'refs/heads/main' }}
- # cache-provider: "buildjet"
-
- - name: Install Linux dependencies
- run: ./script/linux
-
- - name: Configure CI
- run: |
- mkdir -p ./../.cargo
- cp ./.cargo/ci-config.toml ./../.cargo/config.toml
-
- - name: Install Rust
- shell: bash -euxo pipefail {0}
- run: |
- cargo install cargo-nextest --locked
-
- - name: Install Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
- with:
- node-version: "18"
-
- - name: Limit target directory size
- shell: bash -euxo pipefail {0}
- run: script/clear-target-dir-if-larger-than 100
-
- - name: Run unit evals
- shell: bash -euxo pipefail {0}
- run: cargo nextest run --workspace --no-fail-fast --features eval --no-capture -E 'test(::eval_)'
- env:
- ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
-
- - name: Send failure message to Slack channel if needed
- if: ${{ failure() }}
- uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52
- with:
- method: chat.postMessage
- token: ${{ secrets.SLACK_APP_ZED_UNIT_EVALS_BOT_TOKEN }}
- payload: |
- channel: C04UDRNNJFQ
- text: "Unit Evals Failed: https://github.com/zed-industries/zed/actions/runs/${{ github.run_id }}"
-
- # Even the Linux runner is not stateful, in theory there is no need to do this cleanup.
- # But, to avoid potential issues in the future if we choose to use a stateful Linux runner and forget to add code
- # to clean up the config file, I’ve included the cleanup code here as a precaution.
- # While it’s not strictly necessary at this moment, I believe it’s better to err on the side of caution.
- - name: Clean CI config file
- if: always()
- run: rm -rf ./../.cargo
diff --git a/.gitignore b/.gitignore
index d248b1f7e5..54faaf1374 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@
.DS_Store
.blob_store
.build
+.claude/settings.local.json
.envrc
.flatpak-builder
.idea
@@ -25,6 +26,7 @@
/crates/collab/seed.json
/crates/theme/schemas/theme.json
/crates/zed/resources/flatpak/flatpak-cargo-sources.json
+/crates/project_panel/benches/linux_repo_snapshot.txt
/dev.zed.Zed*.json
/node_modules/
/plugins/bin
@@ -38,3 +40,6 @@ xcuserdata/
# Don't commit any secrets to the repo.
.env
.env.secret.toml
+
+# `nix build` output
+/result
diff --git a/.rules b/.rules
index 82d15eb9e8..7c98c65d7e 100644
--- a/.rules
+++ b/.rules
@@ -26,6 +26,12 @@
});
```
+# Timers in tests
+
+* In GPUI tests, prefer GPUI executor timers over `smol::Timer::after(...)` when you need timeouts, delays, or to drive `run_until_parked()`:
+ - Use `cx.background_executor().timer(duration).await` (or `cx.background_executor.timer(duration).await` in `TestAppContext`) so the work is scheduled on GPUI's dispatcher.
+ - Avoid `smol::Timer::after(...)` for test timeouts when you rely on `run_until_parked()`, because it may not be tracked by GPUI's scheduler and can lead to "nothing left to run" when pumping.
+
# GPUI
GPUI is a UI framework which also provides primitives for state and concurrency management.
diff --git a/.zed/settings.json b/.zed/settings.json
index 68e05a426f..2760be9581 100644
--- a/.zed/settings.json
+++ b/.zed/settings.json
@@ -48,7 +48,7 @@
"remove_trailing_whitespace_on_save": true,
"ensure_final_newline_on_save": true,
"file_scan_exclusions": [
- "crates/assistant_tools/src/edit_agent/evals/fixtures",
+ "crates/agent/src/edit_agent/evals/fixtures",
"crates/eval/worktrees/",
"crates/eval/repos/",
"**/.git",
diff --git a/Cargo.lock b/Cargo.lock
index ada56e87e5..b43be6986b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -11,6 +11,7 @@ dependencies = [
"agent_settings",
"anyhow",
"buffer_diff",
+ "collections",
"editor",
"env_logger 0.11.8",
"file_icons",
@@ -25,21 +26,21 @@ dependencies = [
"portable-pty",
"project",
"prompt_store",
- "rand 0.9.1",
+ "rand 0.9.2",
"serde",
"serde_json",
"settings",
"smol",
"task",
+ "telemetry",
"tempfile",
"terminal",
"ui",
"url",
+ "util",
"uuid",
"watch",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "zlog",
]
[[package]]
@@ -47,6 +48,7 @@ name = "acp_tools"
version = "0.1.0"
dependencies = [
"agent-client-protocol",
+ "collections",
"gpui",
"language",
"markdown",
@@ -56,10 +58,8 @@ dependencies = [
"settings",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
]
[[package]]
@@ -69,6 +69,7 @@ dependencies = [
"anyhow",
"buffer_diff",
"clock",
+ "collections",
"ctor",
"futures 0.3.31",
"gpui",
@@ -77,14 +78,13 @@ dependencies = [
"log",
"pretty_assertions",
"project",
- "rand 0.9.1",
+ "rand 0.9.2",
"serde_json",
"settings",
+ "telemetry",
"text",
+ "util",
"watch",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zlog",
]
@@ -96,33 +96,34 @@ dependencies = [
"auto_update",
"editor",
"extension_host",
+ "fs",
"futures 0.3.31",
"gpui",
"language",
"project",
"proto",
"release_channel",
+ "semver",
"smallvec",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
name = "addr2line"
-version = "0.24.2"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
+checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b"
dependencies = [
- "gimli",
+ "gimli 0.32.3",
]
[[package]]
name = "adler2"
-version = "2.0.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
+checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
[[package]]
name = "aes"
@@ -139,100 +140,26 @@ dependencies = [
[[package]]
name = "agent"
version = "0.1.0"
-dependencies = [
- "action_log",
- "agent_settings",
- "anyhow",
- "assistant_context",
- "assistant_tool",
- "assistant_tools",
- "chrono",
- "client",
- "cloud_llm_client",
- "component",
- "context_server",
- "convert_case 0.8.0",
- "fs",
- "futures 0.3.31",
- "git",
- "gpui",
- "heed",
- "icons",
- "indoc",
- "itertools 0.14.0",
- "language",
- "language_model",
- "log",
- "parking_lot",
- "paths",
- "postage",
- "pretty_assertions",
- "project",
- "prompt_store",
- "rand 0.9.1",
- "ref-cast",
- "rope",
- "schemars 1.0.1",
- "serde",
- "serde_json",
- "settings",
- "smol",
- "sqlez",
- "telemetry",
- "text",
- "theme",
- "thiserror 2.0.12",
- "time",
- "uuid",
- "workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
- "zed_env_vars",
- "zstd",
-]
-
-[[package]]
-name = "agent-client-protocol"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3aaa2bd05a2401887945f8bfd70026e90bc3cf96c62ab9eba2779835bf21dc60"
-dependencies = [
- "anyhow",
- "async-broadcast",
- "async-trait",
- "futures 0.3.31",
- "log",
- "parking_lot",
- "schemars 1.0.1",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "agent2"
-version = "0.1.0"
dependencies = [
"acp_thread",
"action_log",
- "agent",
"agent-client-protocol",
"agent_servers",
"agent_settings",
"anyhow",
- "assistant_context",
- "assistant_tool",
- "assistant_tools",
+ "assistant_text_thread",
"chrono",
"client",
"clock",
"cloud_llm_client",
+ "collections",
"context_server",
"ctor",
"db",
+ "derive_more 0.99.20",
"editor",
"env_logger 0.11.8",
+ "eval_utils",
"fs",
"futures 0.3.31",
"git",
@@ -240,6 +167,7 @@ dependencies = [
"gpui_tokio",
"handlebars 4.5.0",
"html_to_markdown",
+ "http_client",
"indoc",
"itertools 0.14.0",
"language",
@@ -253,37 +181,70 @@ dependencies = [
"pretty_assertions",
"project",
"prompt_store",
+ "rand 0.9.2",
+ "regex",
"reqwest_client",
"rust-embed",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
+ "smallvec",
"smol",
"sqlez",
+ "streaming_diff",
+ "strsim",
"task",
"telemetry",
"tempfile",
"terminal",
"text",
"theme",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"tree-sitter-rust",
"ui",
"unindent",
+ "util",
"uuid",
"watch",
"web_search",
- "workspace-hack",
"worktree",
- "zed-collections",
- "zed-http-client",
- "zed-util",
"zed_env_vars",
"zlog",
"zstd",
]
+[[package]]
+name = "agent-client-protocol"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2ffe7d502c1e451aafc5aff655000f84d09c9af681354ac0012527009b1af13"
+dependencies = [
+ "agent-client-protocol-schema",
+ "anyhow",
+ "async-broadcast",
+ "async-trait",
+ "derive_more 2.0.1",
+ "futures 0.3.31",
+ "log",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "agent-client-protocol-schema"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8af81cc2d5c3f9c04f73db452efd058333735ba9d51c2cf7ef33c9fee038e7e6"
+dependencies = [
+ "anyhow",
+ "derive_more 2.0.1",
+ "schemars",
+ "serde",
+ "serde_json",
+ "strum 0.27.2",
+]
+
[[package]]
name = "agent_servers"
version = "0.1.0"
@@ -292,15 +253,16 @@ dependencies = [
"acp_tools",
"action_log",
"agent-client-protocol",
- "agent_settings",
"anyhow",
"async-trait",
"client",
+ "collections",
"env_logger 0.11.8",
"fs",
"futures 0.3.31",
"gpui",
"gpui_tokio",
+ "http_client",
"indoc",
"language",
"language_model",
@@ -309,6 +271,7 @@ dependencies = [
"log",
"nix 0.29.0",
"project",
+ "release_channel",
"reqwest_client",
"serde",
"serde_json",
@@ -317,14 +280,11 @@ dependencies = [
"task",
"tempfile",
"terminal",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"ui",
+ "util",
"uuid",
"watch",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
]
[[package]]
@@ -333,20 +293,19 @@ version = "0.1.0"
dependencies = [
"anyhow",
"cloud_llm_client",
+ "collections",
"convert_case 0.8.0",
"fs",
"gpui",
"language_model",
"paths",
"project",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"serde_json_lenient",
"settings",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
]
[[package]]
@@ -357,27 +316,28 @@ dependencies = [
"action_log",
"agent",
"agent-client-protocol",
- "agent2",
"agent_servers",
"agent_settings",
"ai_onboarding",
"anyhow",
"arrayvec",
- "assistant_context",
"assistant_slash_command",
"assistant_slash_commands",
- "assistant_tool",
- "assistant_tools",
+ "assistant_text_thread",
+ "async-fs",
"audio",
"buffer_diff",
"chrono",
"client",
+ "clock",
"cloud_llm_client",
+ "collections",
"command_palette_hooks",
"component",
"context_server",
"db",
"editor",
+ "eval_utils",
"extension",
"extension_host",
"feature_flags",
@@ -386,7 +346,10 @@ dependencies = [
"futures 0.3.31",
"fuzzy",
"gpui",
+ "gpui_tokio",
"html_to_markdown",
+ "http_client",
+ "image",
"indoc",
"itertools 0.14.0",
"jsonschema",
@@ -409,12 +372,14 @@ dependencies = [
"project",
"prompt_store",
"proto",
- "rand 0.9.1",
+ "rand 0.9.2",
"release_channel",
+ "reqwest_client",
"rope",
"rules_library",
- "schemars 1.0.1",
+ "schemars",
"search",
+ "semver",
"serde",
"serde_json",
"serde_json_lenient",
@@ -423,7 +388,6 @@ dependencies = [
"streaming_diff",
"task",
"telemetry",
- "telemetry_events",
"terminal",
"terminal_view",
"text",
@@ -435,40 +399,68 @@ dependencies = [
"ui_input",
"unindent",
"url",
- "urlencoding",
+ "util",
+ "uuid",
"watch",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
"zed_actions",
]
+[[package]]
+name = "agent_ui_v2"
+version = "0.1.0"
+dependencies = [
+ "agent",
+ "agent_servers",
+ "agent_settings",
+ "agent_ui",
+ "anyhow",
+ "assistant_text_thread",
+ "chrono",
+ "db",
+ "editor",
+ "feature_flags",
+ "fs",
+ "fuzzy",
+ "gpui",
+ "menu",
+ "project",
+ "prompt_store",
+ "serde",
+ "serde_json",
+ "settings",
+ "text",
+ "time",
+ "time_format",
+ "ui",
+ "util",
+ "workspace",
+]
+
[[package]]
name = "ahash"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
dependencies = [
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
"once_cell",
"version_check",
]
[[package]]
name = "ahash"
-version = "0.8.11"
+version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
dependencies = [
"cfg-if",
"const-random",
- "getrandom 0.2.15",
+ "getrandom 0.3.4",
"once_cell",
"serde",
"version_check",
- "zerocopy 0.7.35",
+ "zerocopy",
]
[[package]]
@@ -493,7 +485,6 @@ dependencies = [
"smallvec",
"telemetry",
"ui",
- "workspace-hack",
"zed_actions",
]
@@ -504,7 +495,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cb5f4f1ef69bdb8b2095ddd14b09dd74ee0303aae8bd5372667a54cff689a1b"
dependencies = [
"base64 0.22.1",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"home",
"libc",
"log",
@@ -513,7 +504,7 @@ dependencies = [
"piper",
"polling",
"regex-automata",
- "rustix 1.0.7",
+ "rustix 1.1.2",
"rustix-openpty",
"serde",
"signal-hook",
@@ -530,9 +521,27 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
[[package]]
name = "aligned-vec"
-version = "0.5.0"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1"
+checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b"
+dependencies = [
+ "equator",
+]
+
+[[package]]
+name = "alloc-no-stdlib"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
+
+[[package]]
+name = "alloc-stdlib"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
+dependencies = [
+ "alloc-no-stdlib",
+]
[[package]]
name = "allocator-api2"
@@ -547,7 +556,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43"
dependencies = [
"alsa-sys",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cfg-if",
"libc",
]
@@ -570,23 +579,17 @@ checksum = "e9d4ee0d472d1cd2e28c97dfa124b3d8d992e10eb0a035f33f5d12e3a177ba3b"
[[package]]
name = "ammonia"
-version = "4.1.0"
+version = "4.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ada2ee439075a3e70b6992fce18ac4e407cd05aea9ca3f75d2c0b0c20bbb364"
+checksum = "17e913097e1a2124b46746c980134e8c954bc17a6a59bb3fde96f088d126dde6"
dependencies = [
"cssparser",
- "html5ever 0.31.0",
+ "html5ever 0.35.0",
"maplit",
"tendril",
"url",
]
-[[package]]
-name = "android-tzdata"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
-
[[package]]
name = "android_system_properties"
version = "0.1.5"
@@ -604,9 +607,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "anstream"
-version = "0.6.18"
+version = "0.6.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
+checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -619,37 +622,37 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.10"
+version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
+checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
[[package]]
name = "anstyle-parse"
-version = "0.2.6"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
+checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
-version = "1.1.2"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
+checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.7"
+version = "3.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e"
+checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a"
dependencies = [
"anstyle",
- "once_cell",
- "windows-sys 0.59.0",
+ "once_cell_polyfill",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -659,14 +662,13 @@ dependencies = [
"anyhow",
"chrono",
"futures 0.3.31",
- "schemars 1.0.1",
+ "http_client",
+ "schemars",
"serde",
"serde_json",
"settings",
- "strum 0.27.1",
- "thiserror 2.0.12",
- "workspace-hack",
- "zed-http-client",
+ "strum 0.27.2",
+ "thiserror 2.0.17",
]
[[package]]
@@ -677,9 +679,9 @@ checksum = "34cd60c5e3152cef0a592f1b296f1cc93715d89d2551d85315828c3a09575ff4"
[[package]]
name = "anyhow"
-version = "1.0.98"
+version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
+checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
[[package]]
name = "approx"
@@ -692,9 +694,9 @@ dependencies = [
[[package]]
name = "arbitrary"
-version = "1.4.1"
+version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223"
+checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
dependencies = [
"derive_arbitrary",
]
@@ -707,7 +709,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -774,13 +776,13 @@ dependencies = [
"enumflags2",
"futures-channel",
"futures-util",
- "rand 0.9.1",
+ "rand 0.9.2",
"serde",
"serde_repr",
"url",
"wayland-backend",
"wayland-client",
- "wayland-protocols 0.32.6",
+ "wayland-protocols 0.32.9",
"zbus",
]
@@ -795,7 +797,7 @@ dependencies = [
"enumflags2",
"futures-channel",
"futures-util",
- "rand 0.9.1",
+ "rand 0.9.2",
"serde",
"serde_repr",
"url",
@@ -813,9 +815,8 @@ dependencies = [
"net",
"smol",
"tempfile",
- "windows 0.61.1",
- "workspace-hack",
- "zed-util",
+ "util",
+ "windows 0.61.3",
"zeroize",
]
@@ -826,55 +827,6 @@ dependencies = [
"anyhow",
"gpui",
"rust-embed",
- "workspace-hack",
-]
-
-[[package]]
-name = "assistant_context"
-version = "0.1.0"
-dependencies = [
- "agent_settings",
- "anyhow",
- "assistant_slash_command",
- "assistant_slash_commands",
- "chrono",
- "client",
- "clock",
- "cloud_llm_client",
- "context_server",
- "fs",
- "futures 0.3.31",
- "fuzzy",
- "gpui",
- "indoc",
- "language",
- "language_model",
- "log",
- "open_ai",
- "parking_lot",
- "paths",
- "pretty_assertions",
- "project",
- "prompt_store",
- "proto",
- "rand 0.9.1",
- "regex",
- "rpc",
- "serde",
- "serde_json",
- "settings",
- "smallvec",
- "smol",
- "telemetry_events",
- "text",
- "ui",
- "unindent",
- "uuid",
- "workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
- "zed_env_vars",
]
[[package]]
@@ -883,7 +835,8 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
- "derive_more",
+ "collections",
+ "derive_more 0.99.20",
"extension",
"futures 0.3.31",
"gpui",
@@ -894,10 +847,8 @@ dependencies = [
"serde",
"serde_json",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
]
[[package]]
@@ -907,15 +858,16 @@ dependencies = [
"anyhow",
"assistant_slash_command",
"chrono",
+ "collections",
"context_server",
"editor",
"feature_flags",
"fs",
"futures 0.3.31",
"fuzzy",
- "globset",
"gpui",
"html_to_markdown",
+ "http_client",
"language",
"pretty_assertions",
"project",
@@ -927,113 +879,58 @@ dependencies = [
"smol",
"text",
"ui",
+ "util",
"workspace",
- "workspace-hack",
"worktree",
- "zed-collections",
- "zed-http-client",
- "zed-util",
"zlog",
]
[[package]]
-name = "assistant_tool"
+name = "assistant_text_thread"
version = "0.1.0"
dependencies = [
- "action_log",
- "anyhow",
- "buffer_diff",
- "clock",
- "ctor",
- "derive_more",
- "gpui",
- "icons",
- "indoc",
- "language",
- "language_model",
- "log",
- "parking_lot",
- "pretty_assertions",
- "project",
- "rand 0.9.1",
- "regex",
- "serde",
- "serde_json",
- "settings",
- "text",
- "workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
- "zlog",
-]
-
-[[package]]
-name = "assistant_tools"
-version = "0.1.0"
-dependencies = [
- "action_log",
"agent_settings",
"anyhow",
- "assistant_tool",
- "buffer_diff",
+ "assistant_slash_command",
+ "assistant_slash_commands",
"chrono",
"client",
"clock",
"cloud_llm_client",
- "component",
- "derive_more",
- "diffy",
- "editor",
- "feature_flags",
+ "collections",
+ "context_server",
"fs",
"futures 0.3.31",
+ "fuzzy",
"gpui",
- "gpui_tokio",
- "handlebars 4.5.0",
- "html_to_markdown",
"indoc",
"itertools 0.14.0",
"language",
"language_model",
- "language_models",
"log",
- "lsp",
- "markdown",
- "open",
+ "open_ai",
+ "parking_lot",
"paths",
- "portable-pty",
"pretty_assertions",
"project",
"prompt_store",
- "rand 0.9.1",
+ "proto",
+ "rand 0.9.2",
"regex",
- "reqwest_client",
- "rust-embed",
- "schemars 1.0.1",
+ "rpc",
"serde",
"serde_json",
"settings",
"smallvec",
"smol",
- "streaming_diff",
- "strsim",
- "task",
- "tempfile",
- "terminal",
- "terminal_view",
- "theme",
- "tree-sitter-rust",
+ "telemetry",
+ "text",
"ui",
"unindent",
- "watch",
- "web_search",
+ "util",
+ "uuid",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
- "zlog",
+ "zed_env_vars",
]
[[package]]
@@ -1052,7 +949,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532"
dependencies = [
- "event-listener 5.4.0",
+ "event-listener 5.4.1",
"event-listener-strategy",
"futures-core",
"pin-project-lite",
@@ -1071,9 +968,9 @@ dependencies = [
[[package]]
name = "async-channel"
-version = "2.3.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a"
+checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2"
dependencies = [
"concurrent-queue",
"event-listener-strategy",
@@ -1083,9 +980,9 @@ dependencies = [
[[package]]
name = "async-compat"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bab94bde396a3f7b4962e396fdad640e241ed797d4d8d77fc8c237d14c58fc0"
+checksum = "a1ba85bc55464dcbf728b56d97e119d673f4cf9062be330a9a26f3acf504a590"
dependencies = [
"futures-core",
"futures-io",
@@ -1096,15 +993,14 @@ dependencies = [
[[package]]
name = "async-compression"
-version = "0.4.22"
+version = "0.4.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59a194f9d963d8099596278594b3107448656ba73831c9d8c783e613ce86da64"
+checksum = "5a89bce6054c720275ac2432fbba080a66a2106a44a1b804553930ca6909f4e0"
dependencies = [
- "deflate64",
- "flate2",
+ "compression-codecs",
+ "compression-core",
"futures-core",
"futures-io",
- "memchr",
"pin-project-lite",
]
@@ -1120,26 +1016,27 @@ dependencies = [
[[package]]
name = "async-executor"
-version = "1.13.1"
+version = "1.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec"
+checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8"
dependencies = [
"async-task",
"concurrent-queue",
"fastrand 2.3.0",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
+ "pin-project-lite",
"slab",
]
[[package]]
name = "async-fs"
-version = "2.1.3"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09f7e37c0ed80b2a977691c47dae8625cfb21e205827106c64f7c588766b2e50"
+checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5"
dependencies = [
- "async-lock",
+ "async-lock 3.4.1",
"blocking",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
]
[[package]]
@@ -1148,31 +1045,40 @@ version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c"
dependencies = [
- "async-channel 2.3.1",
+ "async-channel 2.5.0",
"async-executor",
"async-io",
- "async-lock",
+ "async-lock 3.4.1",
"blocking",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
"once_cell",
]
[[package]]
name = "async-io"
-version = "2.5.0"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19634d6336019ef220f09fd31168ce5c184b295cbf80345437cc36094ef223ca"
+checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc"
dependencies = [
- "async-lock",
+ "autocfg",
"cfg-if",
"concurrent-queue",
"futures-io",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
"parking",
"polling",
- "rustix 1.0.7",
+ "rustix 1.1.2",
"slab",
- "windows-sys 0.60.2",
+ "windows-sys 0.61.2",
+]
+
+[[package]]
+name = "async-lock"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
+dependencies = [
+ "event-listener 2.5.3",
]
[[package]]
@@ -1181,7 +1087,7 @@ version = "3.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc"
dependencies = [
- "event-listener 5.4.0",
+ "event-listener 5.4.1",
"event-listener-strategy",
"pin-project-lite",
]
@@ -1194,7 +1100,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
dependencies = [
"async-io",
"blocking",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
]
[[package]]
@@ -1208,21 +1114,20 @@ dependencies = [
[[package]]
name = "async-process"
-version = "2.3.0"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb"
+checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75"
dependencies = [
- "async-channel 2.3.1",
+ "async-channel 2.5.0",
"async-io",
- "async-lock",
+ "async-lock 3.4.1",
"async-signal",
"async-task",
"blocking",
"cfg-if",
- "event-listener 5.4.0",
- "futures-lite 2.6.0",
- "rustix 0.38.44",
- "tracing",
+ "event-listener 5.4.1",
+ "futures-lite 2.6.1",
+ "rustix 1.1.2",
]
[[package]]
@@ -1233,44 +1138,44 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "async-signal"
-version = "0.2.10"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3"
+checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c"
dependencies = [
"async-io",
- "async-lock",
+ "async-lock 3.4.1",
"atomic-waker",
"cfg-if",
"futures-core",
"futures-io",
- "rustix 0.38.44",
+ "rustix 1.1.2",
"signal-hook-registry",
"slab",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
name = "async-std"
-version = "1.13.1"
+version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24"
+checksum = "2c8e079a4ab67ae52b7403632e4618815d6db36d2a010cfe41b02c1b1578f93b"
dependencies = [
"async-attributes",
"async-channel 1.9.0",
"async-global-executor",
"async-io",
- "async-lock",
+ "async-lock 3.4.1",
"async-process",
"crossbeam-utils",
"futures-channel",
"futures-core",
"futures-io",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
"gloo-timers",
"kv-log-macro",
"log",
@@ -1301,14 +1206,14 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "async-tar"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a42f905d4f623faf634bbd1e001e84e0efc24694afa64be9ad239bf6ca49e1f8"
+checksum = "d1937db2d56578aa3919b9bdb0e5100693fd7d1c0f145c53eb81fbb03e217550"
dependencies = [
"async-std",
"filetime",
@@ -1332,14 +1237,14 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "async-tungstenite"
-version = "0.29.1"
+version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef0f7efedeac57d9b26170f72965ecfd31473ca52ca7a64e925b0b6f5f079886"
+checksum = "ee88b4c88ac8c9ea446ad43498955750a4bbe64c4392f21ccfe5d952865e318f"
dependencies = [
"atomic-waker",
"futures-core",
@@ -1351,20 +1256,20 @@ dependencies = [
"rustls-pki-types",
"tokio",
"tokio-rustls 0.26.2",
- "tungstenite 0.26.2",
+ "tungstenite 0.27.0",
]
[[package]]
name = "async_zip"
-version = "0.0.17"
+version = "0.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b9f7252833d5ed4b00aa9604b563529dd5e11de9c23615de2dcdf91eb87b52"
+checksum = "0d8c50d65ce1b0e0cb65a785ff615f78860d7754290647d3b983208daa4f85e6"
dependencies = [
"async-compression",
"crc32fast",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
"pin-project",
- "thiserror 1.0.69",
+ "thiserror 2.0.17",
]
[[package]]
@@ -1407,6 +1312,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-tar",
+ "collections",
"crossbeam",
"denoise",
"gpui",
@@ -1417,10 +1323,8 @@ dependencies = [
"serde",
"settings",
"smol",
- "thiserror 2.0.12",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "thiserror 2.0.17",
+ "util",
]
[[package]]
@@ -1441,20 +1345,26 @@ version = "0.1.0"
dependencies = [
"anyhow",
"client",
+ "clock",
+ "ctor",
"db",
+ "futures 0.3.31",
"gpui",
+ "http_client",
"log",
+ "parking_lot",
"paths",
"release_channel",
+ "semver",
"serde",
"serde_json",
"settings",
"smol",
"tempfile",
+ "util",
"which 6.0.3",
"workspace",
- "workspace-hack",
- "zed-http-client",
+ "zlog",
]
[[package]]
@@ -1464,9 +1374,9 @@ dependencies = [
"anyhow",
"log",
"simplelog",
- "windows 0.61.1",
+ "tempfile",
+ "windows 0.61.3",
"winresource",
- "workspace-hack",
]
[[package]]
@@ -1478,28 +1388,28 @@ dependencies = [
"client",
"editor",
"gpui",
+ "http_client",
"markdown_preview",
"release_channel",
+ "semver",
"serde",
"serde_json",
"smol",
+ "util",
"workspace",
- "workspace-hack",
- "zed-http-client",
- "zed-util",
]
[[package]]
name = "autocfg"
-version = "1.4.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "av1-grain"
-version = "0.2.3"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf"
+checksum = "4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8"
dependencies = [
"anyhow",
"arrayvec",
@@ -1511,18 +1421,18 @@ dependencies = [
[[package]]
name = "avif-serialize"
-version = "0.8.3"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98922d6a4cfbcb08820c69d8eeccc05bb1f29bfa06b4f5b1dbfe9a868bd7608e"
+checksum = "47c8fbc0f831f4519fe8b810b6a7a91410ec83031b8233f730a0480029f6a23f"
dependencies = [
"arrayvec",
]
[[package]]
name = "aws-config"
-version = "1.6.1"
+version = "1.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c39646d1a6b51240a1a23bb57ea4eebede7e16fbc237fdc876980233dcecb4f"
+checksum = "37cf2b6af2a95a20e266782b4f76f1a5e12bf412a9db2de9c1e9123b9d8c0ad8"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -1550,9 +1460,9 @@ dependencies = [
[[package]]
name = "aws-credential-types"
-version = "1.2.2"
+version = "1.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4471bef4c22a06d2c7a1b6492493d3fdf24a805323109d6874f9c94d5906ac14"
+checksum = "faf26925f4a5b59eb76722b63c2892b1d70d06fa053c72e4a100ec308c1d47bc"
dependencies = [
"aws-smithy-async",
"aws-smithy-runtime-api",
@@ -1562,21 +1472,22 @@ dependencies = [
[[package]]
name = "aws-lc-rs"
-version = "1.13.1"
+version = "1.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fcc8f365936c834db5514fc45aee5b1202d677e6b40e48468aaaa8183ca8c7"
+checksum = "879b6c89592deb404ba4dc0ae6b58ffd1795c78991cbb5b8bc441c48a070440d"
dependencies = [
"aws-lc-sys",
+ "untrusted 0.7.1",
"zeroize",
]
[[package]]
name = "aws-lc-sys"
-version = "0.29.0"
+version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61b1d86e7705efe1be1b569bab41d4fa1e14e220b60a160f78de2db687add079"
+checksum = "107a4e9d9cab9963e04e84bb8dee0e25f2a987f9a8bad5ed054abd439caa8f8c"
dependencies = [
- "bindgen 0.69.5",
+ "bindgen 0.72.1",
"cc",
"cmake",
"dunce",
@@ -1585,9 +1496,9 @@ dependencies = [
[[package]]
name = "aws-runtime"
-version = "1.5.6"
+version = "1.5.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0aff45ffe35196e593ea3b9dd65b320e51e2dda95aff4390bc459e461d09c6ad"
+checksum = "bfa006bb32360ed90ac51203feafb9d02e3d21046e1fd3a450a404b90ea73e5d"
dependencies = [
"aws-credential-types",
"aws-sigv4",
@@ -1602,7 +1513,6 @@ dependencies = [
"fastrand 2.3.0",
"http 0.2.12",
"http-body 0.4.6",
- "once_cell",
"percent-encoding",
"pin-project-lite",
"tracing",
@@ -1611,9 +1521,9 @@ dependencies = [
[[package]]
name = "aws-sdk-bedrockruntime"
-version = "1.82.0"
+version = "1.109.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cb95f77abd4321348dd2f52a25e1de199732f54d2a35860ad20f5df21c66b44"
+checksum = "fbfdfd941dcb253c17bf70baddbf1e5b22f19e29d313d2e049bad4b1dadb2011"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -1630,16 +1540,15 @@ dependencies = [
"fastrand 2.3.0",
"http 0.2.12",
"hyper 0.14.32",
- "once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-kinesis"
-version = "1.66.0"
+version = "1.91.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e43e5fb05c78cdad4fef5be4503465e4b42292f472fc991823ea4c50078208e4"
+checksum = "699a3d645a2ab5cb12ca02eb23979753953414429fd6584ea8841af6bc4e0516"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -1654,16 +1563,15 @@ dependencies = [
"bytes 1.10.1",
"fastrand 2.3.0",
"http 0.2.12",
- "once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-s3"
-version = "1.82.0"
+version = "1.108.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6eab2900764411ab01c8e91a76fd11a63b4e12bc3da97d9e14a0ce1343d86d3"
+checksum = "200be4aed61e3c0669f7268bacb768f283f1c32a7014ce57225e1160be2f6ccb"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -1686,7 +1594,6 @@ dependencies = [
"http 1.3.1",
"http-body 0.4.6",
"lru",
- "once_cell",
"percent-encoding",
"regex-lite",
"sha2",
@@ -1696,9 +1603,9 @@ dependencies = [
[[package]]
name = "aws-sdk-sso"
-version = "1.64.0"
+version = "1.86.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02d4bdb0e5f80f0689e61c77ab678b2b9304af329616af38aef5b6b967b8e736"
+checksum = "4a0abbfab841446cce6e87af853a3ba2cc1bc9afcd3f3550dd556c43d434c86d"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -1712,16 +1619,15 @@ dependencies = [
"bytes 1.10.1",
"fastrand 2.3.0",
"http 0.2.12",
- "once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-ssooidc"
-version = "1.65.0"
+version = "1.88.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbbb3ce8da257aedbccdcb1aadafbbb6a5fe9adf445db0e1ea897bdc7e22d08"
+checksum = "9a68d675582afea0e94d38b6ca9c5aaae4ca14f1d36faa6edb19b42e687e70d7"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -1735,16 +1641,15 @@ dependencies = [
"bytes 1.10.1",
"fastrand 2.3.0",
"http 0.2.12",
- "once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-sts"
-version = "1.65.0"
+version = "1.88.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96a78a8f50a1630db757b60f679c8226a8a70ee2ab5f5e6e51dc67f6c61c7cfd"
+checksum = "d30990923f4f675523c51eb1c0dec9b752fb267b36a61e83cbc219c9d86da715"
dependencies = [
"aws-credential-types",
"aws-runtime",
@@ -1759,16 +1664,15 @@ dependencies = [
"aws-types",
"fastrand 2.3.0",
"http 0.2.12",
- "once_cell",
"regex-lite",
"tracing",
]
[[package]]
name = "aws-sigv4"
-version = "1.3.0"
+version = "1.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d03c3c05ff80d54ff860fe38c726f6f494c639ae975203a101335f223386db"
+checksum = "bffc03068fbb9c8dd5ce1c6fb240678a5cffb86fb2b7b1985c999c4b83c8df68"
dependencies = [
"aws-credential-types",
"aws-smithy-eventstream",
@@ -1782,7 +1686,6 @@ dependencies = [
"hmac",
"http 0.2.12",
"http 1.3.1",
- "once_cell",
"p256",
"percent-encoding",
"ring",
@@ -1795,9 +1698,9 @@ dependencies = [
[[package]]
name = "aws-smithy-async"
-version = "1.2.5"
+version = "1.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e190749ea56f8c42bf15dd76c65e14f8f765233e6df9b0506d9d934ebef867c"
+checksum = "127fcfad33b7dfc531141fda7e1c402ac65f88aca5511a4d31e2e3d2cd01ce9c"
dependencies = [
"futures-util",
"pin-project-lite",
@@ -1806,16 +1709,14 @@ dependencies = [
[[package]]
name = "aws-smithy-checksums"
-version = "0.63.1"
+version = "0.63.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b65d21e1ba6f2cdec92044f904356a19f5ad86961acf015741106cdfafd747c0"
+checksum = "165d8583d8d906e2fb5511d29201d447cc710864f075debcdd9c31c265412806"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
"bytes 1.10.1",
- "crc32c",
- "crc32fast",
- "crc64fast-nvme",
+ "crc-fast",
"hex",
"http 0.2.12",
"http-body 0.4.6",
@@ -1828,9 +1729,9 @@ dependencies = [
[[package]]
name = "aws-smithy-eventstream"
-version = "0.60.8"
+version = "0.60.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c45d3dddac16c5c59d553ece225a88870cf81b7b813c9cc17b78cf4685eac7a"
+checksum = "9656b85088f8d9dc7ad40f9a6c7228e1e8447cdf4b046c87e152e0805dea02fa"
dependencies = [
"aws-smithy-types",
"bytes 1.10.1",
@@ -1839,9 +1740,9 @@ dependencies = [
[[package]]
name = "aws-smithy-http"
-version = "0.62.0"
+version = "0.62.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5949124d11e538ca21142d1fba61ab0a2a2c1bc3ed323cdb3e4b878bfb83166"
+checksum = "3feafd437c763db26aa04e0cc7591185d0961e64c61885bece0fb9d50ceac671"
dependencies = [
"aws-smithy-eventstream",
"aws-smithy-runtime-api",
@@ -1852,7 +1753,6 @@ dependencies = [
"http 0.2.12",
"http 1.3.1",
"http-body 0.4.6",
- "once_cell",
"percent-encoding",
"pin-project-lite",
"pin-utils",
@@ -1861,56 +1761,57 @@ dependencies = [
[[package]]
name = "aws-smithy-http-client"
-version = "1.0.1"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8aff1159006441d02e57204bf57a1b890ba68bedb6904ffd2873c1c4c11c546b"
+checksum = "1053b5e587e6fa40ce5a79ea27957b04ba660baa02b28b7436f64850152234f1"
dependencies = [
"aws-smithy-async",
"aws-smithy-runtime-api",
"aws-smithy-types",
- "h2 0.4.9",
+ "h2 0.3.27",
+ "h2 0.4.12",
"http 0.2.12",
"http 1.3.1",
"http-body 0.4.6",
"hyper 0.14.32",
- "hyper 1.6.0",
+ "hyper 1.7.0",
"hyper-rustls 0.24.2",
- "hyper-rustls 0.27.5",
+ "hyper-rustls 0.27.7",
"hyper-util",
"pin-project-lite",
"rustls 0.21.12",
- "rustls 0.23.26",
- "rustls-native-certs 0.8.1",
+ "rustls 0.23.33",
+ "rustls-native-certs 0.8.2",
"rustls-pki-types",
"tokio",
+ "tokio-rustls 0.26.2",
"tower 0.5.2",
"tracing",
]
[[package]]
name = "aws-smithy-json"
-version = "0.61.3"
+version = "0.61.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92144e45819cae7dc62af23eac5a038a58aa544432d2102609654376a900bd07"
+checksum = "cff418fc8ec5cadf8173b10125f05c2e7e1d46771406187b2c878557d4503390"
dependencies = [
"aws-smithy-types",
]
[[package]]
name = "aws-smithy-observability"
-version = "0.1.2"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445d065e76bc1ef54963db400319f1dd3ebb3e0a74af20f7f7630625b0cc7cc0"
+checksum = "2d1881b1ea6d313f9890710d65c158bdab6fb08c91ea825f74c1c8c357baf4cc"
dependencies = [
"aws-smithy-runtime-api",
- "once_cell",
]
[[package]]
name = "aws-smithy-query"
-version = "0.60.7"
+version = "0.60.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb"
+checksum = "d28a63441360c477465f80c7abac3b9c4d075ca638f982e605b7dc2a2c7156c9"
dependencies = [
"aws-smithy-types",
"urlencoding",
@@ -1918,9 +1819,9 @@ dependencies = [
[[package]]
name = "aws-smithy-runtime"
-version = "1.8.1"
+version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0152749e17ce4d1b47c7747bdfec09dac1ccafdcbc741ebf9daa2a373356730f"
+checksum = "40ab99739082da5347660c556689256438defae3bcefd66c52b095905730e404"
dependencies = [
"aws-smithy-async",
"aws-smithy-http",
@@ -1934,7 +1835,6 @@ dependencies = [
"http 1.3.1",
"http-body 0.4.6",
"http-body 1.0.1",
- "once_cell",
"pin-project-lite",
"pin-utils",
"tokio",
@@ -1943,9 +1843,9 @@ dependencies = [
[[package]]
name = "aws-smithy-runtime-api"
-version = "1.7.4"
+version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3da37cf5d57011cb1753456518ec76e31691f1f474b73934a284eb2a1c76510f"
+checksum = "3683c5b152d2ad753607179ed71988e8cfd52964443b4f74fd8e552d0bbfeb46"
dependencies = [
"aws-smithy-async",
"aws-smithy-types",
@@ -1960,9 +1860,9 @@ dependencies = [
[[package]]
name = "aws-smithy-types"
-version = "1.3.0"
+version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836155caafba616c0ff9b07944324785de2ab016141c3550bd1c07882f8cee8f"
+checksum = "9f5b3a7486f6690ba25952cabf1e7d75e34d69eaff5081904a47bc79074d6457"
dependencies = [
"base64-simd",
"bytes 1.10.1",
@@ -1986,18 +1886,18 @@ dependencies = [
[[package]]
name = "aws-smithy-xml"
-version = "0.60.9"
+version = "0.60.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab0b0166827aa700d3dc519f72f8b3a91c35d0b8d042dc5d643a91e6f80648fc"
+checksum = "e9c34127e8c624bc2999f3b657e749c1393bedc9cd97b92a804db8ced4d2e163"
dependencies = [
"xmlparser",
]
[[package]]
name = "aws-types"
-version = "1.3.6"
+version = "1.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3873f8deed8927ce8d04487630dc9ff73193bab64742a61d050e57a68dec4125"
+checksum = "e2fd329bf0e901ff3f60425691410c69094dc2a1f34b331f37bfc4e9ac1565a1"
dependencies = [
"aws-credential-types",
"aws-smithy-async",
@@ -2013,8 +1913,7 @@ version = "0.1.0"
dependencies = [
"aws-smithy-runtime-api",
"aws-smithy-types",
- "workspace-hack",
- "zed-http-client",
+ "http_client",
]
[[package]]
@@ -2093,17 +1992,17 @@ dependencies = [
[[package]]
name = "backtrace"
-version = "0.3.74"
+version = "0.3.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
+checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6"
dependencies = [
"addr2line",
"cfg-if",
"libc",
"miniz_oxide",
- "object",
+ "object 0.37.3",
"rustc-demangle",
- "windows-targets 0.52.6",
+ "windows-link 0.2.1",
]
[[package]]
@@ -2136,9 +2035,9 @@ dependencies = [
[[package]]
name = "base64ct"
-version = "1.7.3"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3"
+checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba"
[[package]]
name = "bedrock"
@@ -2148,12 +2047,11 @@ dependencies = [
"aws-sdk-bedrockruntime",
"aws-smithy-types",
"futures 0.3.31",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
- "strum 0.27.1",
- "thiserror 2.0.12",
- "workspace-hack",
+ "strum 0.27.2",
+ "thiserror 2.0.17",
]
[[package]]
@@ -2179,57 +2077,16 @@ dependencies = [
"serde",
]
-[[package]]
-name = "bindgen"
-version = "0.69.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
-dependencies = [
- "bitflags 2.9.0",
- "cexpr",
- "clang-sys",
- "itertools 0.12.1",
- "lazy_static",
- "lazycell",
- "log",
- "prettyplease",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash 1.1.0",
- "shlex",
- "syn 2.0.101",
- "which 4.4.2",
-]
-
-[[package]]
-name = "bindgen"
-version = "0.70.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
-dependencies = [
- "bitflags 2.9.0",
- "cexpr",
- "clang-sys",
- "itertools 0.13.0",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash 1.1.0",
- "shlex",
- "syn 2.0.101",
-]
-
[[package]]
name = "bindgen"
version = "0.71.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cexpr",
"clang-sys",
- "itertools 0.13.0",
+ "itertools 0.12.1",
"log",
"prettyplease",
"proc-macro2",
@@ -2237,16 +2094,27 @@ dependencies = [
"regex",
"rustc-hash 2.1.1",
"shlex",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
-name = "bit-set"
-version = "0.5.3"
+name = "bindgen"
+version = "0.72.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
+checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
dependencies = [
- "bit-vec 0.6.3",
+ "bitflags 2.9.4",
+ "cexpr",
+ "clang-sys",
+ "itertools 0.12.1",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash 2.1.1",
+ "shlex",
+ "syn 2.0.106",
]
[[package]]
@@ -2255,15 +2123,9 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
dependencies = [
- "bit-vec 0.8.0",
+ "bit-vec",
]
-[[package]]
-name = "bit-vec"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
-
[[package]]
name = "bit-vec"
version = "0.8.0"
@@ -2272,9 +2134,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
[[package]]
name = "bit_field"
-version = "0.10.2"
+version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
+checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6"
[[package]]
name = "bitflags"
@@ -2284,9 +2146,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.9.0"
+version = "2.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
+checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
dependencies = [
"serde",
]
@@ -2317,9 +2179,9 @@ checksum = "e4deb8f595ce7f00dee3543ebf6fd9a20ea86fc421ab79600dac30876250bdae"
dependencies = [
"ash",
"ash-window",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"bytemuck",
- "codespan-reporting",
+ "codespan-reporting 0.12.0",
"glow",
"gpu-alloc",
"gpu-alloc-ash",
@@ -2352,7 +2214,7 @@ checksum = "27142319e2f4c264581067eaccb9f80acccdde60d8b4bf57cc50cd3152f109ca"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -2393,31 +2255,45 @@ dependencies = [
[[package]]
name = "block2"
-version = "0.6.1"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "340d2f0bdb2a43c1d3cd40513185b2bd7def0aa1052f956455114bc98f82dcf2"
+checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5"
dependencies = [
"objc2",
]
[[package]]
name = "blocking"
-version = "1.6.1"
+version = "1.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea"
+checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21"
dependencies = [
- "async-channel 2.3.1",
+ "async-channel 2.5.0",
"async-task",
"futures-io",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
"piper",
]
[[package]]
-name = "borrow-or-share"
-version = "0.2.2"
+name = "bm25"
+version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3eeab4423108c5d7c744f4d234de88d18d636100093ae04caf4825134b9c3a32"
+checksum = "1cbd8ffdfb7b4c2ff038726178a780a94f90525ed0ad264c0afaa75dd8c18a64"
+dependencies = [
+ "cached",
+ "deunicode",
+ "fxhash",
+ "rust-stemmers",
+ "stop-words",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "borrow-or-share"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc0b364ead1874514c8c2855ab558056ebfeb775653e7ae45ff72f28f8f3166c"
[[package]]
name = "borsh"
@@ -2439,7 +2315,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -2453,10 +2329,30 @@ dependencies = [
"theme",
"ui",
"workspace",
- "workspace-hack",
"zed_actions",
]
+[[package]]
+name = "brotli"
+version = "8.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
+[[package]]
+name = "brotli-decompressor"
+version = "5.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
[[package]]
name = "bstr"
version = "1.12.0"
@@ -2481,14 +2377,14 @@ dependencies = [
"language",
"log",
"pretty_assertions",
- "rand 0.9.1",
+ "rand 0.9.2",
"rope",
"serde_json",
+ "settings",
+ "sum_tree",
"text",
"unindent",
- "workspace-hack",
- "zed-sum-tree",
- "zed-util",
+ "util",
"zlog",
]
@@ -2500,9 +2396,9 @@ checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b"
[[package]]
name = "bumpalo"
-version = "3.17.0"
+version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
+checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
dependencies = [
"allocator-api2",
]
@@ -2537,28 +2433,28 @@ dependencies = [
[[package]]
name = "bytecount"
-version = "0.6.8"
+version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce"
+checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e"
[[package]]
name = "bytemuck"
-version = "1.22.0"
+version = "1.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540"
+checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4"
dependencies = [
"bytemuck_derive",
]
[[package]]
name = "bytemuck_derive"
-version = "1.9.3"
+version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1"
+checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -2619,6 +2515,39 @@ dependencies = [
"pkg-config",
]
+[[package]]
+name = "cached"
+version = "0.56.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "801927ee168e17809ab8901d9f01f700cd7d8d6a6527997fee44e4b0327a253c"
+dependencies = [
+ "ahash 0.8.12",
+ "cached_proc_macro",
+ "cached_proc_macro_types",
+ "hashbrown 0.15.5",
+ "once_cell",
+ "thiserror 2.0.17",
+ "web-time",
+]
+
+[[package]]
+name = "cached_proc_macro"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9225bdcf4e4a9a4c08bf16607908eb2fbf746828d5e0b5e019726dbf6571f201"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
+]
+
+[[package]]
+name = "cached_proc_macro_types"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0"
+
[[package]]
name = "call"
version = "0.1.0"
@@ -2626,11 +2555,13 @@ dependencies = [
"anyhow",
"audio",
"client",
+ "collections",
"feature_flags",
"fs",
"futures 0.3.31",
"gpui",
"gpui_tokio",
+ "http_client",
"language",
"livekit_client",
"log",
@@ -2639,45 +2570,40 @@ dependencies = [
"serde",
"settings",
"telemetry",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
+ "util",
]
[[package]]
name = "calloop"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
+version = "0.14.3"
+source = "git+https://github.com/zed-industries/calloop#eb6b4fd17b9af5ecc226546bdd04185391b3e265"
dependencies = [
- "bitflags 2.9.0",
- "log",
+ "bitflags 2.9.4",
"polling",
- "rustix 0.38.44",
+ "rustix 1.1.2",
"slab",
- "thiserror 1.0.69",
+ "tracing",
]
[[package]]
name = "calloop-wayland-source"
-version = "0.3.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20"
+checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa"
dependencies = [
"calloop",
- "rustix 0.38.44",
+ "rustix 1.1.2",
"wayland-backend",
"wayland-client",
]
[[package]]
name = "camino"
-version = "1.1.9"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609"
dependencies = [
- "serde",
+ "serde_core",
]
[[package]]
@@ -2692,13 +2618,13 @@ dependencies = [
"memmap2",
"num-traits",
"num_cpus",
- "rand 0.9.1",
+ "rand 0.9.2",
"rand_distr",
"rayon",
"safetensors",
"thiserror 1.0.69",
"ug",
- "yoke",
+ "yoke 0.7.5",
"zip 1.1.4",
]
@@ -2747,7 +2673,7 @@ checksum = "9f83833816c66c986e913b22ac887cec216ea09301802054316fc5301809702c"
dependencies = [
"cap-primitives",
"cap-std",
- "rustix 1.0.7",
+ "rustix 1.1.2",
"smallvec",
]
@@ -2763,7 +2689,7 @@ dependencies = [
"io-lifetimes",
"ipnet",
"maybe-owned",
- "rustix 1.0.7",
+ "rustix 1.1.2",
"rustix-linux-procfs",
"windows-sys 0.59.0",
"winx",
@@ -2788,7 +2714,7 @@ dependencies = [
"cap-primitives",
"io-extras",
"io-lifetimes",
- "rustix 1.0.7",
+ "rustix 1.1.2",
]
[[package]]
@@ -2801,7 +2727,7 @@ dependencies = [
"cap-primitives",
"iana-time-zone",
"once_cell",
- "rustix 1.0.7",
+ "rustix 1.1.2",
"winx",
]
@@ -2825,7 +2751,7 @@ dependencies = [
"semver",
"serde",
"serde_json",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
]
[[package]]
@@ -2835,7 +2761,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fbd1fe9db3ebf71b89060adaf7b0504c2d6a425cf061313099547e382c2e472"
dependencies = [
"serde",
- "toml 0.8.20",
+ "toml 0.8.23",
]
[[package]]
@@ -2860,23 +2786,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eadd868a2ce9ca38de7eeafdcec9c7065ef89b42b32f0839278d55f35c54d1ff"
dependencies = [
"heck 0.4.1",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"proc-macro2",
"quote",
"serde",
"serde_json",
- "syn 2.0.101",
+ "syn 2.0.106",
"tempfile",
- "toml 0.8.20",
+ "toml 0.8.23",
]
[[package]]
name = "cc"
-version = "1.2.19"
+version = "1.2.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362"
+checksum = "90583009037521a116abf44494efecd645ba48b6622457080f080b85544e2215"
dependencies = [
+ "find-msvc-tools",
"jobserver",
"libc",
"shlex",
@@ -2909,9 +2836,9 @@ dependencies = [
[[package]]
name = "cfg-if"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
+checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
name = "cfg_aliases"
@@ -2941,35 +2868,34 @@ dependencies = [
"anyhow",
"client",
"clock",
+ "collections",
"futures 0.3.31",
"gpui",
+ "http_client",
"language",
"log",
"postage",
"release_channel",
"rpc",
+ "semver",
"settings",
"text",
"time",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
+ "util",
]
[[package]]
name = "chrono"
-version = "0.4.41"
+version = "0.4.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
+checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
dependencies = [
- "android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
"serde",
"wasm-bindgen",
- "windows-link 0.1.1",
+ "windows-link 0.2.1",
]
[[package]]
@@ -3018,9 +2944,9 @@ dependencies = [
[[package]]
name = "circular-buffer"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23bdce1da528cadbac4654b5632bfcd8c6c63e25b1d42cea919a95958790b51d"
+checksum = "14c638459986b83c2b885179bd4ea6a2cbb05697b001501a56adb3a3d230803b"
[[package]]
name = "clang-sys"
@@ -3035,9 +2961,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.37"
+version = "4.5.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071"
+checksum = "f4512b90fa68d3a9932cea5184017c5d200f5921df706d45e853537dea51508f"
dependencies = [
"clap_builder",
"clap_derive",
@@ -3045,9 +2971,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.37"
+version = "4.5.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2"
+checksum = "0025e98baa12e766c67ba13ff4695a887a1eba19569aad00a472546795bd6730"
dependencies = [
"anstream",
"anstyle",
@@ -3058,30 +2984,30 @@ dependencies = [
[[package]]
name = "clap_complete"
-version = "4.5.47"
+version = "4.5.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06f5378ea264ad4f82bbc826628b5aad714a75abf6ece087e923010eb937fb6"
+checksum = "2348487adcd4631696ced64ccdb40d38ac4d31cae7f2eec8817fcea1b9d1c43c"
dependencies = [
"clap",
]
[[package]]
name = "clap_derive"
-version = "4.5.32"
+version = "4.5.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
+checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "clap_lex"
-version = "0.7.4"
+version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
+checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d"
[[package]]
name = "cli"
@@ -3090,6 +3016,7 @@ dependencies = [
"anyhow",
"askpass",
"clap",
+ "collections",
"core-foundation 0.10.0",
"core-services",
"exec",
@@ -3098,13 +3025,13 @@ dependencies = [
"parking_lot",
"paths",
"plist",
+ "rayon",
"release_channel",
"serde",
+ "serde_json",
"tempfile",
- "windows 0.61.1",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
+ "windows 0.61.3",
]
[[package]]
@@ -3118,13 +3045,15 @@ dependencies = [
"clock",
"cloud_api_client",
"cloud_llm_client",
+ "collections",
"credentials_provider",
- "derive_more",
+ "derive_more 0.99.20",
"feature_flags",
"fs",
"futures 0.3.31",
"gpui",
"gpui_tokio",
+ "http_client",
"http_client_tls",
"httparse",
"log",
@@ -3132,11 +3061,12 @@ dependencies = [
"parking_lot",
"paths",
"postage",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
"release_channel",
"rpc",
"rustls-pki-types",
+ "semver",
"serde",
"serde_json",
"serde_urlencoded",
@@ -3146,7 +3076,7 @@ dependencies = [
"telemetry",
"telemetry_events",
"text",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
"tiny_http",
"tokio",
@@ -3154,12 +3084,9 @@ dependencies = [
"tokio-rustls 0.26.2",
"tokio-socks",
"url",
- "windows 0.61.1",
- "workspace-hack",
+ "util",
+ "windows 0.61.3",
"worktree",
- "zed-collections",
- "zed-http-client",
- "zed-util",
]
[[package]]
@@ -3169,7 +3096,6 @@ dependencies = [
"parking_lot",
"serde",
"smallvec",
- "workspace-hack",
]
[[package]]
@@ -3181,11 +3107,10 @@ dependencies = [
"futures 0.3.31",
"gpui",
"gpui_tokio",
+ "http_client",
"parking_lot",
"serde_json",
- "workspace-hack",
"yawc",
- "zed-http-client",
]
[[package]]
@@ -3199,7 +3124,6 @@ dependencies = [
"pretty_assertions",
"serde",
"serde_json",
- "workspace-hack",
]
[[package]]
@@ -3208,42 +3132,31 @@ version = "0.1.0"
dependencies = [
"anyhow",
"chrono",
+ "indoc",
"pretty_assertions",
"serde",
"serde_json",
- "strum 0.27.1",
+ "strum 0.27.2",
"uuid",
- "workspace-hack",
-]
-
-[[package]]
-name = "cloud_zeta2_prompt"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "cloud_llm_client",
- "indoc",
- "ordered-float 2.10.1",
- "rustc-hash 2.1.1",
- "serde",
- "strum 0.27.1",
- "workspace-hack",
]
[[package]]
name = "cmake"
-version = "0.1.54"
+version = "0.1.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0"
+checksum = "b042e5d8a74ae91bb0961acd039822472ec99f8ab0948cbf6d1369588f8be586"
dependencies = [
"cc",
]
[[package]]
name = "cobs"
-version = "0.2.3"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15"
+checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
+dependencies = [
+ "thiserror 2.0.17",
+]
[[package]]
name = "cocoa"
@@ -3267,7 +3180,7 @@ version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"block",
"cocoa-foundation 0.2.0",
"core-foundation 0.10.0",
@@ -3297,7 +3210,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"block",
"core-foundation 0.10.0",
"core-graphics-types 0.2.0",
@@ -3316,14 +3229,45 @@ dependencies = [
"unicode-width",
]
+[[package]]
+name = "codespan-reporting"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba7a06c0b31fff5ff2e1e7d37dbf940864e2a974b336e1a2938d10af6e8fb283"
+dependencies = [
+ "serde",
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "codestral"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "edit_prediction_context",
+ "edit_prediction_types",
+ "futures 0.3.31",
+ "gpui",
+ "http_client",
+ "language",
+ "language_models",
+ "log",
+ "mistral",
+ "serde",
+ "serde_json",
+ "smol",
+ "text",
+]
+
[[package]]
name = "collab"
version = "0.44.0"
dependencies = [
"agent_settings",
"anyhow",
- "assistant_context",
"assistant_slash_command",
+ "assistant_text_thread",
"async-trait",
"async-tungstenite",
"audio",
@@ -3340,6 +3284,7 @@ dependencies = [
"client",
"clock",
"collab_ui",
+ "collections",
"command_palette_hooks",
"context_server",
"ctor",
@@ -3360,6 +3305,7 @@ dependencies = [
"gpui",
"gpui_tokio",
"hex",
+ "http_client",
"hyper 0.14.32",
"indoc",
"language",
@@ -3379,7 +3325,7 @@ dependencies = [
"prometheus",
"prompt_store",
"prost 0.9.0",
- "rand 0.9.1",
+ "rand 0.9.2",
"recent_projects",
"release_channel",
"remote",
@@ -3389,6 +3335,7 @@ dependencies = [
"rpc",
"scrypt",
"sea-orm",
+ "sea-orm-macros",
"semver",
"serde",
"serde_json",
@@ -3397,7 +3344,7 @@ dependencies = [
"sha2",
"smol",
"sqlx",
- "strum 0.27.1",
+ "strum 0.27.2",
"subtle",
"supermaven_api",
"task",
@@ -3406,20 +3353,16 @@ dependencies = [
"theme",
"time",
"tokio",
- "toml 0.8.20",
+ "toml 0.8.23",
"tower 0.4.13",
"tower-http 0.4.4",
"tracing",
"tracing-subscriber",
"unindent",
+ "util",
"uuid",
"workspace",
- "workspace-hack",
"worktree",
- "zed-collections",
- "zed-http-client",
- "zed-semantic-version",
- "zed-util",
"zlog",
]
@@ -3432,11 +3375,13 @@ dependencies = [
"channel",
"chrono",
"client",
+ "collections",
"db",
"editor",
"futures 0.3.31",
"fuzzy",
"gpui",
+ "http_client",
"log",
"menu",
"notifications",
@@ -3457,11 +3402,16 @@ dependencies = [
"title_bar",
"tree-sitter-md",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
+]
+
+[[package]]
+name = "collections"
+version = "0.1.0"
+dependencies = [
+ "indexmap",
+ "rustc-hash 2.1.1",
]
[[package]]
@@ -3472,9 +3422,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
[[package]]
name = "colorchoice"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
+checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
[[package]]
name = "combine"
@@ -3488,12 +3438,12 @@ dependencies = [
[[package]]
name = "command-fds"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ec1052629a80c28594777d1252efc8a6b005d13f9edfd8c3fc0f44d5b32489a"
+checksum = "f849b92c694fe237ecd8fafd1ba0df7ae0d45c1df6daeb7f68ed4220d51640bd"
dependencies = [
"nix 0.30.1",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
]
[[package]]
@@ -3502,6 +3452,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"client",
+ "collections",
"command_palette_hooks",
"ctor",
"db",
@@ -3523,10 +3474,8 @@ dependencies = [
"theme",
"time",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
]
@@ -3534,26 +3483,43 @@ dependencies = [
name = "command_palette_hooks"
version = "0.1.0"
dependencies = [
- "derive_more",
+ "collections",
+ "derive_more 0.99.20",
"gpui",
- "workspace-hack",
- "zed-collections",
+ "workspace",
]
[[package]]
name = "component"
version = "0.1.0"
dependencies = [
+ "collections",
"documented",
"gpui",
"inventory",
"parking_lot",
- "strum 0.27.1",
+ "strum 0.27.2",
"theme",
- "workspace-hack",
- "zed-collections",
]
+[[package]]
+name = "compression-codecs"
+version = "0.4.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef8a506ec4b81c460798f572caead636d57d3d7e940f998160f52bd254bf2d23"
+dependencies = [
+ "compression-core",
+ "deflate64",
+ "flate2",
+ "memchr",
+]
+
+[[package]]
+name = "compression-core"
+version = "0.4.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb"
+
[[package]]
name = "concurrent-queue"
version = "2.5.0"
@@ -3597,11 +3563,31 @@ version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
dependencies = [
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
"once_cell",
"tiny-keccak",
]
+[[package]]
+name = "const_format"
+version = "0.2.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.34"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
[[package]]
name = "constant_time_eq"
version = "0.1.5"
@@ -3614,22 +3600,23 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
+ "collections",
"futures 0.3.31",
"gpui",
+ "http_client",
"log",
"net",
"parking_lot",
"postage",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
"smol",
"tempfile",
+ "terminal",
"url",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
]
[[package]]
@@ -3638,15 +3625,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-[[package]]
-name = "convert_case"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
-dependencies = [
- "unicode-segmentation",
-]
-
[[package]]
name = "convert_case"
version = "0.8.0"
@@ -3665,14 +3643,16 @@ dependencies = [
"chrono",
"client",
"clock",
+ "collections",
"command_palette_hooks",
"ctor",
"dirs 4.0.0",
- "edit_prediction",
+ "edit_prediction_types",
"editor",
"fs",
"futures 0.3.31",
"gpui",
+ "http_client",
"indoc",
"itertools 0.14.0",
"language",
@@ -3688,15 +3668,12 @@ dependencies = [
"serde",
"serde_json",
"settings",
+ "sum_tree",
"task",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-sum-tree",
- "zed-util",
"zlog",
]
@@ -3745,7 +3722,7 @@ version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"core-foundation 0.10.0",
"core-graphics-types 0.2.0",
"foreign-types 0.5.0",
@@ -3758,7 +3735,7 @@ version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32eb7c354ae9f6d437a6039099ce7ecd049337a8109b23d73e48e8ffba8e9cd5"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"core-foundation 0.9.4",
"core-graphics-types 0.1.3",
"foreign-types 0.5.0",
@@ -3782,7 +3759,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"core-foundation 0.10.0",
"libc",
]
@@ -3793,7 +3770,7 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e4583956b9806b69f73fcb23aee05eb3620efc282972f08f6a6db7504f8334d"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"block",
"cfg-if",
"core-foundation 0.10.0",
@@ -3871,20 +3848,20 @@ dependencies = [
[[package]]
name = "coreaudio-sys"
-version = "0.2.16"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ce857aa0b77d77287acc1ac3e37a05a8c95a2af3647d23b15f263bdaeb7562b"
+checksum = "ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6"
dependencies = [
- "bindgen 0.70.1",
+ "bindgen 0.72.1",
]
[[package]]
name = "cosmic-text"
-version = "0.14.0"
+version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e1ecbb5db9a4c2ee642df67bcfa8f044dd867dbbaa21bfab139cbc204ffbf67"
+checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"fontdb 0.16.2",
"log",
"rangemap",
@@ -3913,7 +3890,7 @@ dependencies = [
"jni",
"js-sys",
"libc",
- "mach2 0.4.2",
+ "mach2 0.4.3",
"ndk",
"ndk-context",
"num-derive",
@@ -3929,9 +3906,9 @@ dependencies = [
[[package]]
name = "cpp_demangle"
-version = "0.4.4"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d"
+checksum = "f2bb79cb74d735044c972aae58ed0aaa9a837e85b01106a54c39e42e97f62253"
dependencies = [
"cfg-if",
]
@@ -3978,7 +3955,7 @@ dependencies = [
"cranelift-control",
"cranelift-entity",
"cranelift-isle",
- "gimli",
+ "gimli 0.31.1",
"hashbrown 0.14.5",
"log",
"postcard",
@@ -3988,7 +3965,7 @@ dependencies = [
"serde_derive",
"sha2",
"smallvec",
- "target-lexicon 0.13.2",
+ "target-lexicon 0.13.3",
]
[[package]]
@@ -4035,7 +4012,7 @@ dependencies = [
"cranelift-codegen",
"log",
"smallvec",
- "target-lexicon 0.13.2",
+ "target-lexicon 0.13.3",
]
[[package]]
@@ -4052,7 +4029,7 @@ checksum = "b8dee82f3f1f2c4cba9177f1cc5e350fe98764379bcd29340caa7b01f85076c7"
dependencies = [
"cranelift-codegen",
"libc",
- "target-lexicon 0.13.2",
+ "target-lexicon 0.13.3",
]
[[package]]
@@ -4063,7 +4040,7 @@ checksum = "031ed29858d90cfdf27fe49fae28028a1f20466db97962fa2f4ea34809aeebf3"
dependencies = [
"cfg-if",
"libc",
- "mach2 0.4.2",
+ "mach2 0.4.3",
]
[[package]]
@@ -4075,7 +4052,7 @@ dependencies = [
"cfg-if",
"crash-context",
"libc",
- "mach2 0.4.2",
+ "mach2 0.4.3",
"parking_lot",
]
@@ -4086,6 +4063,7 @@ dependencies = [
"bincode",
"cfg-if",
"crash-handler",
+ "extension_host",
"log",
"mach2 0.5.0",
"minidumper",
@@ -4095,7 +4073,7 @@ dependencies = [
"serde_json",
"smol",
"system_specs",
- "workspace-hack",
+ "windows 0.61.3",
"zstd",
]
@@ -4115,32 +4093,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
-name = "crc32c"
-version = "0.6.8"
+name = "crc-fast"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47"
+checksum = "6bf62af4cc77d8fe1c22dde4e721d87f2f54056139d8c412e1366b740305f56f"
dependencies = [
- "rustc_version",
+ "crc",
+ "digest",
+ "libc",
+ "rand 0.9.2",
+ "regex",
]
[[package]]
name = "crc32fast"
-version = "1.4.2"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
+checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
dependencies = [
"cfg-if",
]
-[[package]]
-name = "crc64fast-nvme"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4955638f00a809894c947f85a024020a20815b65a5eea633798ea7924edab2b3"
-dependencies = [
- "crc",
-]
-
[[package]]
name = "credentials_provider"
version = "0.1.0"
@@ -4152,7 +4125,6 @@ dependencies = [
"release_channel",
"serde",
"serde_json",
- "workspace-hack",
]
[[package]]
@@ -4249,9 +4221,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]]
name = "crunchy"
-version = "0.2.3"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
+checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "crypto-bigint"
@@ -4295,7 +4267,7 @@ dependencies = [
"cssparser-macros",
"dtoa-short",
"itoa",
- "phf",
+ "phf 0.11.3",
"smallvec",
]
@@ -4306,14 +4278,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
dependencies = [
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "ctor"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4735f265ba6a1188052ca32d461028a7d1125868be18e287e756019da7607b5"
+checksum = "ec09e802f5081de6157da9a75701d6c713d8dc3ba52571fd4bd25f412644e8a6"
dependencies = [
"ctor-proc-macro",
"dtor",
@@ -4321,83 +4293,87 @@ dependencies = [
[[package]]
name = "ctor-proc-macro"
-version = "0.0.5"
+version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f211af61d8efdd104f96e57adf5e426ba1bc3ed7a4ead616e15e5881fd79c4d"
+checksum = "e2931af7e13dc045d8e9d26afccc6fa115d64e115c9c84b1166288b46f6782c2"
[[package]]
name = "ctrlc"
-version = "3.4.6"
+version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "697b5419f348fd5ae2478e8018cb016c00a5881c7f46c717de98ffd135a5651c"
+checksum = "881c5d0a13b2f1498e2306e82cbada78390e152d4b1378fb28a84f4dcd0dc4f3"
dependencies = [
- "nix 0.29.0",
- "windows-sys 0.59.0",
+ "dispatch",
+ "nix 0.30.1",
+ "windows-sys 0.61.2",
]
[[package]]
name = "cursor-icon"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
+checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f"
[[package]]
name = "cxx"
-version = "1.0.157"
+version = "1.0.187"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6354e975ea4ec28033ec3a36fa9baa1a02e3eb22ad740eeb4929370d4f5ba8"
+checksum = "d8465678d499296e2cbf9d3acf14307458fd69b471a31b65b3c519efe8b5e187"
dependencies = [
"cc",
+ "cxx-build",
"cxxbridge-cmd",
"cxxbridge-flags",
"cxxbridge-macro",
- "foldhash",
+ "foldhash 0.2.0",
"link-cplusplus",
]
[[package]]
name = "cxx-build"
-version = "1.0.157"
+version = "1.0.187"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b4400e26ea4b99417e4263b1ce2d8452404d750ba0809a7bd043072593d430d"
+checksum = "d74b6bcf49ebbd91f1b1875b706ea46545032a14003b5557b7dfa4bbeba6766e"
dependencies = [
"cc",
- "codespan-reporting",
+ "codespan-reporting 0.13.0",
+ "indexmap",
"proc-macro2",
"quote",
"scratch",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "cxxbridge-cmd"
-version = "1.0.157"
+version = "1.0.187"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31860c98f69fc14da5742c5deaf78983e846c7b27804ca8c8319e32eef421bde"
+checksum = "94ca2ad69673c4b35585edfa379617ac364bccd0ba0adf319811ba3a74ffa48a"
dependencies = [
"clap",
- "codespan-reporting",
+ "codespan-reporting 0.13.0",
+ "indexmap",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "cxxbridge-flags"
-version = "1.0.157"
+version = "1.0.187"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0402a66013f3b8d3d9f2d7c9994656cc81e671054822b0728d7454d9231892f"
+checksum = "d29b52102aa395386d77d322b3a0522f2035e716171c2c60aa87cc5e9466e523"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.157"
+version = "1.0.187"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64c0b38f32d68f3324a981645ee39b2d686af36d03c98a386df3716108c9feae"
+checksum = "2a8ebf0b6138325af3ec73324cb3a48b64d57721f17291b151206782e61f66cd"
dependencies = [
+ "indexmap",
"proc-macro2",
"quote",
- "rustversion",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -4410,10 +4386,12 @@ dependencies = [
"async-tar",
"async-trait",
"client",
+ "collections",
"dap-types",
"fs",
"futures 0.3.31",
"gpui",
+ "http_client",
"language",
"libc",
"log",
@@ -4421,7 +4399,7 @@ dependencies = [
"parking_lot",
"paths",
"proto",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
@@ -4431,10 +4409,7 @@ dependencies = [
"telemetry",
"tree-sitter",
"tree-sitter-go",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
+ "util",
"zlog",
]
@@ -4443,7 +4418,7 @@ name = "dap-types"
version = "0.0.1"
source = "git+https://github.com/zed-industries/dap-types?rev=1b461b310481d01e02b2603c16d7144b926339f8#1b461b310481d01e02b2603c16d7144b926339f8"
dependencies = [
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
]
@@ -4454,23 +4429,24 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
+ "collections",
"dap",
"dotenvy",
"fs",
"futures 0.3.31",
"gpui",
+ "http_client",
"json_dotpath",
"language",
"log",
+ "node_runtime",
"paths",
"serde",
"serde_json",
- "shlex",
+ "settings",
"smol",
"task",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
]
[[package]]
@@ -4494,7 +4470,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -4505,7 +4481,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -4549,9 +4525,9 @@ checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
[[package]]
name = "data-url"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a"
+checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376"
[[package]]
name = "db"
@@ -4567,20 +4543,19 @@ dependencies = [
"sqlez",
"sqlez_macros",
"tempfile",
- "workspace-hack",
- "zed-util",
+ "util",
"zed_env_vars",
]
[[package]]
name = "dbus"
-version = "0.9.7"
+version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bb21987b9fb1613058ba3843121dd18b163b254d8a6e797e144cbac14d96d1b"
+checksum = "190b6255e8ab55a7b568df5a883e9497edc3e4821c06396612048b430e5ad1e9"
dependencies = [
"libc",
"libdbus-sys",
- "winapi",
+ "windows-sys 0.59.0",
]
[[package]]
@@ -4589,13 +4564,13 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
+ "collections",
"dap",
"extension",
"gpui",
"serde_json",
"task",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
@@ -4611,9 +4586,8 @@ dependencies = [
"serde_json",
"settings",
"smol",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -4622,14 +4596,16 @@ version = "0.1.0"
dependencies = [
"alacritty_terminal",
"anyhow",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"client",
+ "collections",
"command_palette_hooks",
"dap",
"dap_adapters",
"db",
"debugger_tools",
"editor",
+ "feature_flags",
"file_icons",
"futures 0.3.31",
"fuzzy",
@@ -4648,13 +4624,12 @@ dependencies = [
"pretty_assertions",
"project",
"rpc",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"serde_json_lenient",
"settings",
- "shlex",
- "sysinfo",
+ "sysinfo 0.37.2",
"task",
"tasks_ui",
"telemetry",
@@ -4665,11 +4640,10 @@ dependencies = [
"tree-sitter-go",
"tree-sitter-json",
"ui",
+ "ui_input",
"unindent",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
"zlog",
]
@@ -4689,18 +4663,17 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
- "schemars 1.0.1",
+ "http_client",
+ "schemars",
"serde",
"serde_json",
- "workspace-hack",
- "zed-http-client",
]
[[package]]
name = "deflate64"
-version = "0.1.9"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b"
+checksum = "26bf8fc351c5ed29b5c2f0cbbac1b209b74f60ecd62e675a998df72c49af5204"
[[package]]
name = "denoise"
@@ -4712,8 +4685,7 @@ dependencies = [
"realfft",
"rodio",
"rustfft",
- "thiserror 2.0.12",
- "workspace-hack",
+ "thiserror 2.0.17",
]
[[package]]
@@ -4739,12 +4711,12 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.4.0"
+version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
+checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071"
dependencies = [
"powerfmt",
- "serde",
+ "serde_core",
]
[[package]]
@@ -4755,40 +4727,90 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "derive_more"
-version = "0.99.19"
+version = "0.99.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f"
+checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f"
dependencies = [
"convert_case 0.4.0",
"proc-macro2",
"quote",
"rustc_version",
- "syn 2.0.101",
+ "syn 2.0.106",
]
+[[package]]
+name = "derive_more"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678"
+dependencies = [
+ "derive_more-impl",
+]
+
+[[package]]
+name = "derive_more-impl"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
+ "unicode-xid",
+]
+
+[[package]]
+name = "derive_refineable"
+version = "0.1.0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
+]
+
+[[package]]
+name = "derive_setters"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae5c625eda104c228c06ecaf988d1c60e542176bd7a490e60eeda3493244c0c9"
+dependencies = [
+ "darling",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
+]
+
+[[package]]
+name = "deunicode"
+version = "1.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abd57806937c9cc163efc8ea3910e00a62e2aeb0b8119f1793a978088f8f6b04"
+
[[package]]
name = "diagnostics"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
+ "collections",
"component",
"ctor",
"editor",
"gpui",
"indoc",
+ "itertools 0.14.0",
"language",
"log",
"lsp",
"markdown",
"pretty_assertions",
"project",
- "rand 0.9.1",
+ "rand 0.9.2",
"serde",
"serde_json",
"settings",
@@ -4796,10 +4818,8 @@ dependencies = [
"theme",
"ui",
"unindent",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zlog",
]
@@ -4902,8 +4922,8 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
dependencies = [
"libc",
"option-ext",
- "redox_users 0.5.0",
- "windows-sys 0.61.0",
+ "redox_users 0.5.2",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -4918,7 +4938,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"objc2",
]
@@ -4930,7 +4950,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -4954,36 +4974,37 @@ dependencies = [
"serde",
"serde_json",
"settings",
- "workspace-hack",
+ "task",
+ "theme",
+ "util",
"zed",
- "zed-util",
"zlog",
]
[[package]]
name = "documented"
-version = "0.9.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc6db32f0995bc4553d2de888999075acd0dbeef75ba923503f6a724263dc6f3"
+checksum = "ed6b3e31251e87acd1b74911aed84071c8364fc9087972748ade2f1094ccce34"
dependencies = [
"documented-macros",
- "phf",
- "thiserror 1.0.69",
+ "phf 0.12.1",
+ "thiserror 2.0.17",
]
[[package]]
name = "documented-macros"
-version = "0.9.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a394bb35929b58f9a5fd418f7c6b17a4b616efcc1e53e6995ca123948f87e5fa"
+checksum = "1149cf7462e5e79e17a3c05fd5b1f9055092bbfa95e04c319395c3beacc9370f"
dependencies = [
- "convert_case 0.6.0",
- "itertools 0.13.0",
+ "convert_case 0.8.0",
+ "itertools 0.14.0",
"optfield",
"proc-macro2",
"quote",
- "strum 0.26.3",
- "syn 2.0.101",
+ "strum 0.27.2",
+ "syn 2.0.106",
]
[[package]]
@@ -5004,7 +5025,7 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "415b6ec780d34dcf624666747194393603d0373b7141eef01d12ee58881507d9"
dependencies = [
- "phf",
+ "phf 0.11.3",
]
[[package]]
@@ -5045,9 +5066,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
[[package]]
name = "dwrote"
-version = "0.11.3"
+version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfe1f192fcce01590bd8d839aca53ce0d11d803bf291b2a6c4ad925a8f0024be"
+checksum = "9e1b35532432acc8b19ceed096e35dfa088d3ea037fe4f3c085f1f97f33b4d02"
dependencies = [
"lazy_static",
"libc",
@@ -5057,9 +5078,9 @@ dependencies = [
[[package]]
name = "dyn-clone"
-version = "1.0.19"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
+checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
[[package]]
name = "dyn-stack"
@@ -5073,13 +5094,20 @@ dependencies = [
[[package]]
name = "dyn-stack"
-version = "0.13.0"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "490bd48eb68fffcfed519b4edbfd82c69cbe741d175b84f0e0cbe8c57cbe0bdd"
+checksum = "1c4713e43e2886ba72b8271aa66c93d722116acf7a75555cce11dcde84388fe8"
dependencies = [
"bytemuck",
+ "dyn-stack-macros",
]
+[[package]]
+name = "dyn-stack-macros"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1d926b4d407d372f141f93bb444696142c29d32962ccbd3531117cf3aa0bfa9"
+
[[package]]
name = "ec4rs"
version = "1.2.0"
@@ -5102,42 +5130,105 @@ dependencies = [
name = "edit_prediction"
version = "0.1.0"
dependencies = [
- "client",
- "gpui",
- "language",
- "workspace-hack",
-]
-
-[[package]]
-name = "edit_prediction_button"
-version = "0.1.0"
-dependencies = [
+ "ai_onboarding",
"anyhow",
+ "arrayvec",
+ "brotli",
"client",
+ "clock",
+ "cloud_api_types",
"cloud_llm_client",
+ "collections",
"copilot",
- "edit_prediction",
- "editor",
+ "ctor",
+ "db",
+ "edit_prediction_context",
+ "edit_prediction_types",
"feature_flags",
"fs",
"futures 0.3.31",
"gpui",
"indoc",
+ "itertools 0.14.0",
"language",
+ "language_model",
+ "log",
"lsp",
- "paths",
+ "menu",
+ "open_ai",
+ "parking_lot",
+ "postage",
+ "pretty_assertions",
"project",
+ "pulldown-cmark 0.12.2",
+ "rand 0.9.2",
"regex",
+ "release_channel",
+ "semver",
+ "serde",
"serde_json",
"settings",
- "supermaven",
+ "strum 0.27.2",
"telemetry",
- "theme",
+ "telemetry_events",
+ "thiserror 2.0.17",
"ui",
+ "util",
+ "uuid",
"workspace",
- "workspace-hack",
+ "worktree",
"zed_actions",
- "zeta",
+ "zeta_prompt",
+ "zlog",
+]
+
+[[package]]
+name = "edit_prediction_cli"
+version = "0.1.0"
+dependencies = [
+ "anthropic",
+ "anyhow",
+ "chrono",
+ "clap",
+ "client",
+ "cloud_llm_client",
+ "collections",
+ "debug_adapter_extension",
+ "dirs 4.0.0",
+ "edit_prediction",
+ "extension",
+ "fs",
+ "futures 0.3.31",
+ "gpui",
+ "gpui_tokio",
+ "http_client",
+ "indoc",
+ "language",
+ "language_extension",
+ "language_model",
+ "language_models",
+ "languages",
+ "libc",
+ "log",
+ "node_runtime",
+ "paths",
+ "pretty_assertions",
+ "project",
+ "prompt_store",
+ "release_channel",
+ "reqwest_client",
+ "serde",
+ "serde_json",
+ "settings",
+ "shellexpand 2.1.2",
+ "smol",
+ "sqlez",
+ "sqlez_macros",
+ "terminal_view",
+ "util",
+ "wasmtime",
+ "watch",
+ "zeta_prompt",
]
[[package]]
@@ -5145,34 +5236,82 @@ name = "edit_prediction_context"
version = "0.1.0"
dependencies = [
"anyhow",
- "arrayvec",
- "clap",
"cloud_llm_client",
+ "collections",
+ "env_logger 0.11.8",
"futures 0.3.31",
"gpui",
- "hashbrown 0.15.3",
"indoc",
- "itertools 0.14.0",
"language",
"log",
- "ordered-float 2.10.1",
- "postage",
+ "lsp",
+ "parking_lot",
"pretty_assertions",
"project",
- "regex",
"serde",
"serde_json",
"settings",
- "slotmap",
- "strum 0.27.1",
+ "smallvec",
"text",
"tree-sitter",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
+ "zeta_prompt",
"zlog",
]
+[[package]]
+name = "edit_prediction_types"
+version = "0.1.0"
+dependencies = [
+ "client",
+ "gpui",
+ "language",
+ "text",
+]
+
+[[package]]
+name = "edit_prediction_ui"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "buffer_diff",
+ "client",
+ "cloud_llm_client",
+ "codestral",
+ "command_palette_hooks",
+ "copilot",
+ "edit_prediction",
+ "edit_prediction_types",
+ "editor",
+ "feature_flags",
+ "fs",
+ "futures 0.3.31",
+ "git",
+ "gpui",
+ "indoc",
+ "language",
+ "log",
+ "lsp",
+ "markdown",
+ "menu",
+ "multi_buffer",
+ "paths",
+ "project",
+ "regex",
+ "serde_json",
+ "settings",
+ "supermaven",
+ "telemetry",
+ "text",
+ "theme",
+ "time",
+ "ui",
+ "util",
+ "workspace",
+ "zed_actions",
+ "zeta_prompt",
+]
+
[[package]]
name = "editor"
version = "0.1.0"
@@ -5183,19 +5322,22 @@ dependencies = [
"buffer_diff",
"client",
"clock",
+ "collections",
"convert_case 0.8.0",
"criterion",
"ctor",
"dap",
"db",
- "edit_prediction",
+ "edit_prediction_types",
"emojis",
+ "feature_flags",
"file_icons",
"fs",
"futures 0.3.31",
"fuzzy",
"git",
"gpui",
+ "http_client",
"indoc",
"itertools 0.14.0",
"language",
@@ -5210,26 +5352,31 @@ dependencies = [
"parking_lot",
"pretty_assertions",
"project",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
"release_channel",
+ "rope",
"rpc",
- "schemars 1.0.1",
+ "schemars",
+ "semver",
"serde",
"serde_json",
"settings",
"smallvec",
"smol",
"snippet",
+ "sum_tree",
"task",
"telemetry",
"tempfile",
"text",
"theme",
"time",
+ "tracing",
"tree-sitter-bash",
"tree-sitter-c",
"tree-sitter-html",
+ "tree-sitter-md",
"tree-sitter-python",
"tree-sitter-rust",
"tree-sitter-typescript",
@@ -5239,16 +5386,13 @@ dependencies = [
"unicode-segmentation",
"unindent",
"url",
+ "util",
"uuid",
"vim_mode_setting",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-sum-tree",
- "zed-util",
"zed_actions",
"zlog",
+ "ztracing",
]
[[package]]
@@ -5303,16 +5447,16 @@ dependencies = [
[[package]]
name = "embed-resource"
-version = "3.0.2"
+version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fbc6e0d8e0c03a655b53ca813f0463d2c956bc4db8138dbc89f120b066551e3"
+checksum = "55a075fc573c64510038d7ee9abc7990635863992f83ebc52c8b433b8411a02e"
dependencies = [
"cc",
"memchr",
"rustc_version",
- "toml 0.8.20",
+ "toml 0.9.8",
"vswhom",
- "winreg 0.52.0",
+ "winreg 0.55.0",
]
[[package]]
@@ -5333,7 +5477,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99e1f1df1f181f2539bac8bf027d31ca5ffbf9e559e3f2d09413b9107b5c02f4"
dependencies = [
- "phf",
+ "phf 0.11.3",
]
[[package]]
@@ -5366,14 +5510,14 @@ dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "enumflags2"
-version = "0.7.11"
+version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147"
+checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef"
dependencies = [
"enumflags2_derive",
"serde",
@@ -5381,20 +5525,20 @@ dependencies = [
[[package]]
name = "enumflags2_derive"
-version = "0.7.11"
+version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79"
+checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "env_filter"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
+checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2"
dependencies = [
"log",
"regex",
@@ -5435,6 +5579,26 @@ dependencies = [
"serde",
]
+[[package]]
+name = "equator"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc"
+dependencies = [
+ "equator-macro",
+]
+
+[[package]]
+name = "equator-macro"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
+]
+
[[package]]
name = "equivalent"
version = "1.0.2"
@@ -5443,11 +5607,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "erased-serde"
-version = "0.4.6"
+version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7"
+checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b"
dependencies = [
"serde",
+ "serde_core",
"typeid",
]
@@ -5464,12 +5629,12 @@ dependencies = [
[[package]]
name = "errno"
-version = "0.3.11"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e"
+checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -5516,18 +5681,18 @@ dependencies = [
name = "eval"
version = "0.1.0"
dependencies = [
+ "acp_thread",
"agent",
+ "agent-client-protocol",
"agent_settings",
"agent_ui",
"anyhow",
- "assistant_tool",
- "assistant_tools",
"async-trait",
"buffer_diff",
"chrono",
"clap",
"client",
- "cloud_llm_client",
+ "collections",
"debug_adapter_extension",
"dirs 4.0.0",
"dotenvy",
@@ -5550,6 +5715,7 @@ dependencies = [
"pretty_assertions",
"project",
"prompt_store",
+ "rand 0.9.2",
"regex",
"release_channel",
"reqwest_client",
@@ -5557,16 +5723,22 @@ dependencies = [
"serde_json",
"settings",
"shellexpand 2.1.2",
- "smol",
"telemetry",
"terminal_view",
- "toml 0.8.20",
+ "toml 0.8.23",
"unindent",
+ "util",
"uuid",
"watch",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+]
+
+[[package]]
+name = "eval_utils"
+version = "0.1.0"
+dependencies = [
+ "gpui",
+ "serde",
+ "smol",
]
[[package]]
@@ -5577,9 +5749,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "event-listener"
-version = "5.4.0"
+version = "5.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae"
+checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab"
dependencies = [
"concurrent-queue",
"parking",
@@ -5592,7 +5764,7 @@ version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
dependencies = [
- "event-listener 5.4.0",
+ "event-listener 5.4.1",
"pin-project-lite",
]
@@ -5610,10 +5782,9 @@ dependencies = [
name = "explorer_command_injector"
version = "0.1.0"
dependencies = [
- "windows 0.61.1",
- "windows-core 0.61.0",
- "windows-registry 0.5.1",
- "workspace-hack",
+ "windows 0.61.3",
+ "windows-core 0.61.2",
+ "windows-registry 0.5.3",
]
[[package]]
@@ -5642,31 +5813,31 @@ name = "extension"
version = "0.1.0"
dependencies = [
"anyhow",
- "async-compression",
- "async-tar",
"async-trait",
+ "collections",
"dap",
"fs",
"futures 0.3.31",
"gpui",
"heck 0.5.0",
+ "http_client",
+ "indoc",
"language",
"log",
"lsp",
"parking_lot",
"pretty_assertions",
+ "proto",
+ "semver",
"serde",
"serde_json",
"task",
- "toml 0.8.20",
+ "tempfile",
+ "toml 0.8.23",
"url",
+ "util",
"wasm-encoder 0.221.3",
"wasmparser 0.221.3",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-semantic-version",
- "zed-util",
]
[[package]]
@@ -5687,10 +5858,9 @@ dependencies = [
"serde_json",
"theme",
"tokio",
- "toml 0.8.20",
+ "toml 0.8.23",
"tree-sitter",
"wasmtime",
- "workspace-hack",
]
[[package]]
@@ -5702,6 +5872,7 @@ dependencies = [
"async-tar",
"async-trait",
"client",
+ "collections",
"criterion",
"ctor",
"dap",
@@ -5709,6 +5880,8 @@ dependencies = [
"fs",
"futures 0.3.31",
"gpui",
+ "gpui_tokio",
+ "http_client",
"language",
"language_extension",
"log",
@@ -5718,10 +5891,11 @@ dependencies = [
"parking_lot",
"paths",
"project",
- "rand 0.9.1",
+ "rand 0.9.2",
"release_channel",
"remote",
"reqwest_client",
+ "semver",
"serde",
"serde_json",
"serde_json_lenient",
@@ -5731,16 +5905,12 @@ dependencies = [
"tempfile",
"theme",
"theme_extension",
- "toml 0.8.20",
+ "toml 0.8.23",
"url",
+ "util",
"wasmparser 0.221.3",
"wasmtime",
"wasmtime-wasi",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-semantic-version",
- "zed-util",
"zlog",
]
@@ -5750,6 +5920,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"client",
+ "collections",
"db",
"editor",
"extension",
@@ -5763,19 +5934,17 @@ dependencies = [
"picker",
"project",
"release_channel",
+ "semver",
"serde",
"settings",
"smallvec",
- "strum 0.27.1",
+ "strum 0.27.2",
"telemetry",
"theme",
"ui",
+ "util",
"vim_mode_setting",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-semantic-version",
- "zed-util",
"zed_actions",
]
@@ -5787,22 +5956,11 @@ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
[[package]]
name = "fancy-regex"
-version = "0.13.0"
+version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2"
+checksum = "998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f"
dependencies = [
- "bit-set 0.5.3",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "fancy-regex"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e24cb5a94bcae1e5408b0effca5cd7172ea3c5755049c5f3af4cd283a165298"
-dependencies = [
- "bit-set 0.8.0",
+ "bit-set",
"regex-automata",
"regex-syntax",
]
@@ -5828,6 +5986,26 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
+[[package]]
+name = "fax"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab"
+dependencies = [
+ "fax_derive",
+]
+
+[[package]]
+name = "fax_derive"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
+]
+
[[package]]
name = "fd-lock"
version = "4.0.4"
@@ -5835,7 +6013,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78"
dependencies = [
"cfg-if",
- "rustix 1.0.7",
+ "rustix 1.1.2",
"windows-sys 0.59.0",
]
@@ -5855,7 +6033,6 @@ dependencies = [
"futures 0.3.31",
"gpui",
"smol",
- "workspace-hack",
]
[[package]]
@@ -5864,13 +6041,10 @@ version = "0.1.0"
dependencies = [
"editor",
"gpui",
- "menu",
"system_specs",
- "ui",
"urlencoding",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
"zed_actions",
]
@@ -5889,6 +6063,7 @@ name = "file_finder"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"ctor",
"editor",
"file_icons",
@@ -5900,7 +6075,7 @@ dependencies = [
"picker",
"pretty_assertions",
"project",
- "schemars 1.0.1",
+ "schemars",
"search",
"serde",
"serde_json",
@@ -5908,10 +6083,8 @@ dependencies = [
"text",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zlog",
]
@@ -5921,10 +6094,8 @@ version = "0.1.0"
dependencies = [
"gpui",
"serde",
- "settings",
"theme",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
@@ -5940,16 +6111,22 @@ dependencies = [
[[package]]
name = "filetime"
-version = "0.2.25"
+version = "0.2.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed"
dependencies = [
"cfg-if",
"libc",
"libredox",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
+[[package]]
+name = "find-msvc-tools"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844"
+
[[package]]
name = "fixedbitset"
version = "0.4.2"
@@ -5958,9 +6135,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
[[package]]
name = "flate2"
-version = "1.1.1"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece"
+checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -5986,7 +6163,7 @@ checksum = "4203231de188ebbdfb85c11f3c20ca2b063945710de04e7b59268731e728b462"
dependencies = [
"half",
"num-traits",
- "rand 0.9.1",
+ "rand 0.9.2",
"rand_distr",
]
@@ -5998,9 +6175,9 @@ checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8"
[[package]]
name = "fluent-uri"
-version = "0.3.2"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1918b65d96df47d3591bed19c5cca17e3fa5d0707318e4b5ef2eae01764df7e5"
+checksum = "bc74ac4d8359ae70623506d512209619e5cf8f347124910440dbc221714b328e"
dependencies = [
"borrow-or-share",
"ref-cast",
@@ -6016,7 +6193,7 @@ dependencies = [
"futures-core",
"futures-sink",
"nanorand",
- "spin",
+ "spin 0.9.8",
]
[[package]]
@@ -6032,19 +6209,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
-name = "font-types"
-version = "0.8.4"
+name = "foldhash"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fa6a5e5a77b5f3f7f9e32879f484aa5b3632ddfbe568a16266c904a6f32cdaf"
+checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
+
+[[package]]
+name = "font-types"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "511e2c18a516c666d27867d2f9821f76e7d591f762e9fc41dd6cc5c90fe54b0b"
dependencies = [
"bytemuck",
]
[[package]]
name = "fontconfig-parser"
-version = "0.5.7"
+version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7"
+checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646"
dependencies = [
"roxmltree",
]
@@ -6104,7 +6287,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -6121,18 +6304,18 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
[[package]]
name = "fork"
-version = "0.2.0"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05dc8b302e04a1c27f4fe694439ef0f29779ca4edc205b7b58f00db04e29656d"
+checksum = "30268f1eefccc9d72f43692e8b89e659aeb52e84016c3b32b6e7e9f1c8f38f94"
dependencies = [
"libc",
]
[[package]]
name = "form_urlencoded"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
dependencies = [
"percent-encoding",
]
@@ -6167,14 +6350,16 @@ dependencies = [
"async-tar",
"async-trait",
"cocoa 0.26.0",
+ "collections",
"fsevent",
"futures 0.3.31",
"git",
"gpui",
"ignore",
+ "is_executable",
"libc",
"log",
- "notify 8.0.0",
+ "notify 8.2.0",
"objc",
"parking_lot",
"paths",
@@ -6186,10 +6371,8 @@ dependencies = [
"tempfile",
"text",
"time",
- "windows 0.61.1",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
+ "windows 0.61.3",
]
[[package]]
@@ -6199,7 +6382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94e7099f6313ecacbe1256e8ff9d617b75d1bcb16a6fddef94866d225a01a14a"
dependencies = [
"io-lifetimes",
- "rustix 1.0.7",
+ "rustix 1.1.2",
"windows-sys 0.59.0",
]
@@ -6213,6 +6396,14 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "fs_benchmarks"
+version = "0.1.0"
+dependencies = [
+ "fs",
+ "gpui",
+]
+
[[package]]
name = "fs_extra"
version = "1.3.0"
@@ -6223,13 +6414,12 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
name = "fsevent"
version = "0.1.0"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"core-foundation 0.10.0",
"fsevent-sys 3.1.0",
"log",
"parking_lot",
"tempfile",
- "workspace-hack",
]
[[package]]
@@ -6348,9 +6538,9 @@ dependencies = [
[[package]]
name = "futures-lite"
-version = "2.6.0"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532"
+checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad"
dependencies = [
"fastrand 2.3.0",
"futures-core",
@@ -6367,7 +6557,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -6408,8 +6598,7 @@ version = "0.1.0"
dependencies = [
"gpui",
"log",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
@@ -6421,6 +6610,15 @@ dependencies = [
"thread_local",
]
+[[package]]
+name = "fxhash"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
+dependencies = [
+ "byteorder",
+]
+
[[package]]
name = "gemm"
version = "0.17.1"
@@ -6447,7 +6645,7 @@ version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab96b703d31950f1aeddded248bc95543c9efc7ac9c4a21fda8703a83ee35451"
dependencies = [
- "dyn-stack 0.13.0",
+ "dyn-stack 0.13.2",
"gemm-c32 0.18.2",
"gemm-c64 0.18.2",
"gemm-common 0.18.2",
@@ -6482,7 +6680,7 @@ version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6db9fd9f40421d00eea9dd0770045a5603b8d684654816637732463f4073847"
dependencies = [
- "dyn-stack 0.13.0",
+ "dyn-stack 0.13.2",
"gemm-common 0.18.2",
"num-complex",
"num-traits",
@@ -6512,7 +6710,7 @@ version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfcad8a3d35a43758330b635d02edad980c1e143dc2f21e6fd25f9e4eada8edf"
dependencies = [
- "dyn-stack 0.13.0",
+ "dyn-stack 0.13.2",
"gemm-common 0.18.2",
"num-complex",
"num-traits",
@@ -6548,7 +6746,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a352d4a69cbe938b9e2a9cb7a3a63b7e72f9349174a2752a558a8a563510d0f3"
dependencies = [
"bytemuck",
- "dyn-stack 0.13.0",
+ "dyn-stack 0.13.2",
"half",
"libm",
"num-complex",
@@ -6586,7 +6784,7 @@ version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cff95ae3259432f3c3410eaa919033cd03791d81cebd18018393dc147952e109"
dependencies = [
- "dyn-stack 0.13.0",
+ "dyn-stack 0.13.2",
"gemm-common 0.18.2",
"gemm-f32 0.18.2",
"half",
@@ -6619,7 +6817,7 @@ version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc8d3d4385393304f407392f754cd2dc4b315d05063f62cf09f47b58de276864"
dependencies = [
- "dyn-stack 0.13.0",
+ "dyn-stack 0.13.2",
"gemm-common 0.18.2",
"num-complex",
"num-traits",
@@ -6649,7 +6847,7 @@ version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35b2a4f76ce4b8b16eadc11ccf2e083252d8237c1b589558a49b0183545015bd"
dependencies = [
- "dyn-stack 0.13.0",
+ "dyn-stack 0.13.2",
"gemm-common 0.18.2",
"num-complex",
"num-traits",
@@ -6660,16 +6858,16 @@ dependencies = [
[[package]]
name = "generator"
-version = "0.8.5"
+version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827"
+checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2"
dependencies = [
"cc",
"cfg-if",
"libc",
"log",
"rustversion",
- "windows 0.61.1",
+ "windows 0.61.3",
]
[[package]]
@@ -6684,46 +6882,73 @@ dependencies = [
[[package]]
name = "gethostname"
-version = "0.4.3"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
+checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8"
dependencies = [
- "libc",
- "windows-targets 0.48.5",
+ "rustix 1.1.2",
+ "windows-link 0.2.1",
]
[[package]]
name = "getrandom"
-version = "0.2.15"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
+checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
dependencies = [
"cfg-if",
"js-sys",
"libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"wasm-bindgen",
]
[[package]]
name = "getrandom"
-version = "0.3.2"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
+checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
dependencies = [
"cfg-if",
"js-sys",
"libc",
"r-efi",
- "wasi 0.14.2+wasi-0.2.4",
+ "wasip2",
"wasm-bindgen",
]
+[[package]]
+name = "gh-workflow"
+version = "0.8.0"
+source = "git+https://github.com/zed-industries/gh-workflow?rev=09acfdf2bd5c1d6254abefd609c808ff73547b2c#09acfdf2bd5c1d6254abefd609c808ff73547b2c"
+dependencies = [
+ "async-trait",
+ "derive_more 2.0.1",
+ "derive_setters",
+ "gh-workflow-macros",
+ "indexmap",
+ "merge",
+ "serde",
+ "serde_json",
+ "serde_yaml",
+ "strum_macros 0.27.2",
+]
+
+[[package]]
+name = "gh-workflow-macros"
+version = "0.8.0"
+source = "git+https://github.com/zed-industries/gh-workflow?rev=09acfdf2bd5c1d6254abefd609c808ff73547b2c#09acfdf2bd5c1d6254abefd609c808ff73547b2c"
+dependencies = [
+ "heck 0.5.0",
+ "quote",
+ "syn 2.0.106",
+]
+
[[package]]
name = "gif"
-version = "0.13.1"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2"
+checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b"
dependencies = [
"color_quant",
"weezl",
@@ -6736,10 +6961,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
dependencies = [
"fallible-iterator",
- "indexmap 2.9.0",
+ "indexmap",
"stable_deref_trait",
]
+[[package]]
+name = "gimli"
+version = "0.32.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
+
[[package]]
name = "git"
version = "0.1.0"
@@ -6747,41 +6978,42 @@ dependencies = [
"anyhow",
"askpass",
"async-trait",
- "derive_more",
+ "collections",
+ "derive_more 0.99.20",
"futures 0.3.31",
"git2",
"gpui",
+ "http_client",
+ "itertools 0.14.0",
"log",
"parking_lot",
"pretty_assertions",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
"rope",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"smol",
+ "sum_tree",
"tempfile",
"text",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
"unindent",
"url",
+ "urlencoding",
+ "util",
"uuid",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-sum-tree",
- "zed-util",
]
[[package]]
name = "git2"
-version = "0.20.1"
+version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5220b8ba44c68a9a7f7a7659e864dd73692e417ef0211bea133c7b74e031eeb9"
+checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"libc",
"libgit2-sys",
"log",
@@ -6797,16 +7029,17 @@ dependencies = [
"futures 0.3.31",
"git",
"gpui",
+ "http_client",
"indoc",
+ "itertools 0.14.0",
"pretty_assertions",
"regex",
"serde",
"serde_json",
"settings",
"url",
- "workspace-hack",
- "zed-http-client",
- "zed-util",
+ "urlencoding",
+ "util",
]
[[package]]
@@ -6818,8 +7051,8 @@ dependencies = [
"askpass",
"buffer_diff",
"call",
- "chrono",
"cloud_llm_client",
+ "collections",
"command_palette_hooks",
"component",
"ctor",
@@ -6828,6 +7061,7 @@ dependencies = [
"futures 0.3.31",
"fuzzy",
"git",
+ "git_hosting_providers",
"gpui",
"indoc",
"itertools 0.14.0",
@@ -6841,42 +7075,46 @@ dependencies = [
"notifications",
"panel",
"picker",
- "postage",
"pretty_assertions",
"project",
- "schemars 1.0.1",
+ "prompt_store",
+ "rand 0.9.2",
+ "recent_projects",
+ "remote",
+ "schemars",
"serde",
"serde_json",
"settings",
- "strum 0.27.1",
+ "smol",
+ "strum 0.27.2",
"telemetry",
"theme",
"time",
"time_format",
+ "tracing",
"ui",
"unindent",
+ "util",
"watch",
- "windows 0.61.1",
+ "windows 0.61.3",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
"zeroize",
"zlog",
+ "ztracing",
]
[[package]]
name = "glob"
-version = "0.3.2"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
+checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
[[package]]
name = "globset"
-version = "0.4.16"
+version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5"
+checksum = "eab69130804d941f8075cfd713bf8848a2c3b3f201a9457a11e6f87e1ab62305"
dependencies = [
"aho-corasick",
"bstr",
@@ -6928,9 +7166,8 @@ dependencies = [
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -6950,13 +7187,12 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
- "schemars 1.0.1",
+ "http_client",
+ "schemars",
"serde",
"serde_json",
"settings",
- "strum 0.27.1",
- "workspace-hack",
- "zed-http-client",
+ "strum 0.27.2",
]
[[package]]
@@ -6965,7 +7201,7 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"gpu-alloc-types",
]
@@ -6986,12 +7222,12 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
]
[[package]]
name = "gpui"
-version = "0.1.0"
+version = "0.2.2"
dependencies = [
"anyhow",
"as-raw-xcb-connection",
@@ -6999,6 +7235,7 @@ dependencies = [
"async-task",
"backtrace",
"bindgen 0.71.1",
+ "bitflags 2.9.4",
"blade-graphics",
"blade-macros",
"blade-util",
@@ -7007,7 +7244,10 @@ dependencies = [
"calloop",
"calloop-wayland-source",
"cbindgen",
+ "circular-buffer",
"cocoa 0.26.0",
+ "cocoa-foundation 0.2.0",
+ "collections",
"core-foundation 0.10.0",
"core-foundation-sys",
"core-graphics 0.24.0",
@@ -7015,7 +7255,7 @@ dependencies = [
"core-video",
"cosmic-text",
"ctor",
- "derive_more",
+ "derive_more 0.99.20",
"embed-resource",
"env_logger 0.11.8",
"etagere",
@@ -7023,13 +7263,16 @@ dependencies = [
"flume",
"foreign-types 0.5.0",
"futures 0.3.31",
- "gpui-macros",
+ "gpui_macros",
+ "http_client",
"image",
"inventory",
"itertools 0.14.0",
"libc",
"log",
"lyon",
+ "mach2 0.5.0",
+ "media",
"metal",
"naga",
"num_cpus",
@@ -7041,26 +7284,33 @@ dependencies = [
"parking",
"parking_lot",
"pathfinder_geometry",
+ "pin-project",
"postage",
"pretty_assertions",
"profiling",
- "rand 0.9.1",
+ "rand 0.9.2",
"raw-window-handle",
+ "refineable",
"reqwest_client",
"resvg",
- "schemars 1.0.1",
+ "schemars",
"seahash",
+ "semver",
"serde",
"serde_json",
"slotmap",
"smallvec",
"smol",
+ "spin 0.10.0",
"stacksafe",
- "strum 0.27.1",
+ "strum 0.27.2",
+ "sum_tree",
"taffy",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"unicode-segmentation",
"usvg",
+ "util",
+ "util_macros",
"uuid",
"waker-fn",
"wayland-backend",
@@ -7068,37 +7318,28 @@ dependencies = [
"wayland-cursor",
"wayland-protocols 0.31.2",
"wayland-protocols-plasma",
- "windows 0.61.1",
- "windows-core 0.61.0",
+ "wayland-protocols-wlr",
+ "windows 0.61.3",
+ "windows-core 0.61.2",
"windows-numerics",
- "windows-registry 0.5.1",
- "workspace-hack",
+ "windows-registry 0.5.3",
"x11-clipboard",
"x11rb",
"xkbcommon",
- "zed-collections",
"zed-font-kit",
- "zed-http-client",
- "zed-media",
- "zed-refineable",
"zed-scap",
- "zed-semantic-version",
- "zed-sum-tree",
- "zed-util",
- "zed-util-macros",
"zed-xim",
]
[[package]]
-name = "gpui-macros"
+name = "gpui_macros"
version = "0.1.0"
dependencies = [
"gpui",
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.101",
- "workspace-hack",
+ "syn 2.0.106",
]
[[package]]
@@ -7108,8 +7349,7 @@ dependencies = [
"anyhow",
"gpui",
"tokio",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
@@ -7131,9 +7371,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.3.26"
+version = "0.3.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
+checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d"
dependencies = [
"bytes 1.10.1",
"fnv",
@@ -7141,7 +7381,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http 0.2.12",
- "indexmap 2.9.0",
+ "indexmap",
"slab",
"tokio",
"tokio-util",
@@ -7150,9 +7390,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.4.9"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75249d144030531f8dee69fe9cea04d3edf809a017ae445e2abdff6629e86633"
+checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
dependencies = [
"atomic-waker",
"bytes 1.10.1",
@@ -7160,7 +7400,7 @@ dependencies = [
"futures-core",
"futures-sink",
"http 1.3.1",
- "indexmap 2.9.0",
+ "indexmap",
"slab",
"tokio",
"tokio-util",
@@ -7169,16 +7409,17 @@ dependencies = [
[[package]]
name = "half"
-version = "2.6.0"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
+checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
dependencies = [
"bytemuck",
"cfg-if",
"crunchy",
"num-traits",
- "rand 0.9.1",
+ "rand 0.9.2",
"rand_distr",
+ "zerocopy",
]
[[package]]
@@ -7225,22 +7466,33 @@ version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
dependencies = [
- "ahash 0.8.11",
+ "ahash 0.8.12",
"allocator-api2",
]
[[package]]
name = "hashbrown"
-version = "0.15.3"
+version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
+checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
dependencies = [
"allocator-api2",
"equivalent",
- "foldhash",
+ "foldhash 0.1.5",
"serde",
]
+[[package]]
+name = "hashbrown"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
+dependencies = [
+ "allocator-api2",
+ "equivalent",
+ "foldhash 0.2.0",
+]
+
[[package]]
name = "hashlink"
version = "0.8.4"
@@ -7256,7 +7508,7 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
dependencies = [
- "hashbrown 0.15.3",
+ "hashbrown 0.15.5",
]
[[package]]
@@ -7313,7 +7565,7 @@ version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd54745cfacb7b97dee45e8fdb91814b62bccddb481debb7de0f9ee6b7bf5b43"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"byteorder",
"heed-traits",
"heed-types",
@@ -7347,15 +7599,9 @@ dependencies = [
[[package]]
name = "hermit-abi"
-version = "0.3.9"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
-[[package]]
-name = "hermit-abi"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e"
+checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
[[package]]
name = "hex"
@@ -7424,18 +7670,17 @@ dependencies = [
"markup5ever 0.12.1",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "html5ever"
-version = "0.31.0"
+version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "953cbbe631aae7fc0a112702ad5d3aaf09da38beaf45ea84610d6e1c358f569c"
+checksum = "55d958c2f74b664487a2035fe1dadb032c48718a03b63f3ab0b8537db8549ed4"
dependencies = [
"log",
- "mac",
- "markup5ever 0.16.1",
+ "markup5ever 0.35.0",
"match_token",
]
@@ -7449,7 +7694,6 @@ dependencies = [
"markup5ever_rcdom",
"pretty_assertions",
"regex",
- "workspace-hack",
]
[[package]]
@@ -7514,13 +7758,36 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f"
+[[package]]
+name = "http_client"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "async-compression",
+ "async-fs",
+ "async-tar",
+ "bytes 1.10.1",
+ "derive_more 0.99.20",
+ "futures 0.3.31",
+ "http 1.3.1",
+ "http-body 1.0.1",
+ "log",
+ "parking_lot",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sha2",
+ "tempfile",
+ "url",
+ "util",
+]
+
[[package]]
name = "http_client_tls"
version = "0.1.0"
dependencies = [
- "rustls 0.23.26",
+ "rustls 0.23.33",
"rustls-platform-verifier",
- "workspace-hack",
]
[[package]]
@@ -7543,9 +7810,9 @@ checksum = "91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e"
[[package]]
name = "humantime"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f"
+checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424"
[[package]]
name = "hyper"
@@ -7557,14 +7824,14 @@ dependencies = [
"futures-channel",
"futures-core",
"futures-util",
- "h2 0.3.26",
+ "h2 0.3.27",
"http 0.2.12",
"http-body 0.4.6",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.5.10",
"tokio",
"tower-service",
"tracing",
@@ -7573,19 +7840,21 @@ dependencies = [
[[package]]
name = "hyper"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
+checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e"
dependencies = [
+ "atomic-waker",
"bytes 1.10.1",
"futures-channel",
- "futures-util",
- "h2 0.4.9",
+ "futures-core",
+ "h2 0.4.12",
"http 1.3.1",
"http-body 1.0.1",
"httparse",
"itoa",
"pin-project-lite",
+ "pin-utils",
"smallvec",
"tokio",
"want",
@@ -7609,16 +7878,15 @@ dependencies = [
[[package]]
name = "hyper-rustls"
-version = "0.27.5"
+version = "0.27.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2"
+checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
dependencies = [
- "futures-util",
"http 1.3.1",
- "hyper 1.6.0",
+ "hyper 1.7.0",
"hyper-util",
- "rustls 0.23.26",
- "rustls-native-certs 0.8.1",
+ "rustls 0.23.33",
+ "rustls-native-certs 0.8.2",
"rustls-pki-types",
"tokio",
"tokio-rustls 0.26.2",
@@ -7640,19 +7908,23 @@ dependencies = [
[[package]]
name = "hyper-util"
-version = "0.1.11"
+version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2"
+checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8"
dependencies = [
+ "base64 0.22.1",
"bytes 1.10.1",
"futures-channel",
+ "futures-core",
"futures-util",
"http 1.3.1",
"http-body 1.0.1",
- "hyper 1.6.0",
+ "hyper 1.7.0",
+ "ipnet",
"libc",
+ "percent-encoding",
"pin-project-lite",
- "socket2",
+ "socket2 0.6.1",
"tokio",
"tower-service",
"tracing",
@@ -7660,9 +7932,9 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.63"
+version = "0.1.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
+checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb"
dependencies = [
"android_system_properties",
"core-foundation-sys",
@@ -7670,7 +7942,7 @@ dependencies = [
"js-sys",
"log",
"wasm-bindgen",
- "windows-core 0.61.0",
+ "windows-core 0.62.2",
]
[[package]]
@@ -7687,27 +7959,27 @@ name = "icons"
version = "0.1.0"
dependencies = [
"serde",
- "strum 0.27.1",
- "workspace-hack",
+ "strum 0.27.2",
]
[[package]]
name = "icu_collections"
-version = "1.5.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
+checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
dependencies = [
"displaydoc",
- "yoke",
+ "potential_utf",
+ "yoke 0.8.0",
"zerofrom",
"zerovec",
]
[[package]]
-name = "icu_locid"
-version = "1.5.0"
+name = "icu_locale_core"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
+checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
dependencies = [
"displaydoc",
"litemap",
@@ -7716,31 +7988,11 @@ dependencies = [
"zerovec",
]
-[[package]]
-name = "icu_locid_transform"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
-dependencies = [
- "displaydoc",
- "icu_locid",
- "icu_locid_transform_data",
- "icu_provider",
- "tinystr",
- "zerovec",
-]
-
-[[package]]
-name = "icu_locid_transform_data"
-version = "1.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
-
[[package]]
name = "icu_normalizer"
-version = "1.5.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
+checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
dependencies = [
"displaydoc",
"icu_collections",
@@ -7748,67 +8000,54 @@ dependencies = [
"icu_properties",
"icu_provider",
"smallvec",
- "utf16_iter",
- "utf8_iter",
- "write16",
"zerovec",
]
[[package]]
name = "icu_normalizer_data"
-version = "1.5.1"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
+checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
[[package]]
name = "icu_properties"
-version = "1.5.1"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
+checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
dependencies = [
"displaydoc",
"icu_collections",
- "icu_locid_transform",
+ "icu_locale_core",
"icu_properties_data",
"icu_provider",
- "tinystr",
+ "potential_utf",
+ "zerotrie",
"zerovec",
]
[[package]]
name = "icu_properties_data"
-version = "1.5.1"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
+checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
[[package]]
name = "icu_provider"
-version = "1.5.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
+checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
dependencies = [
"displaydoc",
- "icu_locid",
- "icu_provider_macros",
+ "icu_locale_core",
"stable_deref_trait",
"tinystr",
"writeable",
- "yoke",
+ "yoke 0.8.0",
"zerofrom",
+ "zerotrie",
"zerovec",
]
-[[package]]
-name = "icu_provider_macros"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
-]
-
[[package]]
name = "id-arena"
version = "2.2.1"
@@ -7823,9 +8062,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
-version = "1.0.3"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
+checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
dependencies = [
"idna_adapter",
"smallvec",
@@ -7834,9 +8073,9 @@ dependencies = [
[[package]]
name = "idna_adapter"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
+checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
dependencies = [
"icu_normalizer",
"icu_properties",
@@ -7844,9 +8083,9 @@ dependencies = [
[[package]]
name = "ignore"
-version = "0.4.23"
+version = "0.4.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b"
+checksum = "81776e6f9464432afcc28d03e52eb101c93b6f0566f52aef2427663e700f0403"
dependencies = [
"crossbeam-deque",
"globset",
@@ -7860,9 +8099,9 @@ dependencies = [
[[package]]
name = "image"
-version = "0.25.6"
+version = "0.25.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a"
+checksum = "529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7"
dependencies = [
"bytemuck",
"byteorder-lite",
@@ -7870,8 +8109,9 @@ dependencies = [
"exr",
"gif",
"image-webp",
+ "moxcms",
"num-traits",
- "png",
+ "png 0.18.0",
"qoi",
"ravif",
"rayon",
@@ -7883,9 +8123,9 @@ dependencies = [
[[package]]
name = "image-webp"
-version = "0.2.1"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f"
+checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3"
dependencies = [
"byteorder-lite",
"quick-error",
@@ -7907,9 +8147,8 @@ dependencies = [
"settings",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -7924,35 +8163,25 @@ version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17d34b7d42178945f775e84bc4c36dde7c1c6cdfea656d3354d009056f2bb3d2"
dependencies = [
- "hashbrown 0.15.3",
+ "hashbrown 0.15.5",
]
[[package]]
name = "imgref"
-version = "1.11.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408"
+checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8"
[[package]]
name = "indexmap"
-version = "1.9.3"
+version = "2.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
- "serde",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
+checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5"
dependencies = [
"equivalent",
- "hashbrown 0.15.3",
+ "hashbrown 0.16.1",
"serde",
+ "serde_core",
]
[[package]]
@@ -7963,13 +8192,13 @@ checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd"
[[package]]
name = "inherent"
-version = "1.0.12"
+version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c38228f24186d9cc68c729accb4d413be9eaed6ad07ff79e0270d9e56f3de13"
+checksum = "c727f80bfa4a6c6e2508d2f05b6f4bfce242030bd88ed15ae5331c5b5d30fba7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -7989,7 +8218,7 @@ version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"inotify-sys",
"libc",
]
@@ -8027,11 +8256,11 @@ dependencies = [
"serde_json",
"serde_json_lenient",
"theme",
+ "title_bar",
"ui",
+ "util",
+ "util_macros",
"workspace",
- "workspace-hack",
- "zed-util",
- "zed-util-macros",
"zed_actions",
]
@@ -8044,9 +8273,8 @@ dependencies = [
"gpui",
"release_channel",
"smol",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -8066,14 +8294,14 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "inventory"
-version = "0.3.20"
+version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab08d7cd2c5897f2c949e5383ea7c7db03fb19130ffcfbf7eda795137ae3cb83"
+checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e"
dependencies = [
"rustversion",
]
@@ -8096,15 +8324,14 @@ checksum = "06432fb54d3be7964ecd3649233cddf80db2832f47fec34c01f65b3d9d774983"
[[package]]
name = "io-surface"
-version = "0.16.0"
+version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8283575d5f0b2e7447ec0840363879d71c0fa325d4c699d5b45208ea4a51f45e"
+checksum = "554b8c5d64ec09a3a520fe58e4d48a73e00ff32899cdcbe32a4877afd4968b8e"
dependencies = [
"cgl",
"core-foundation 0.10.0",
"core-foundation-sys",
"leaky-cow",
- "libc",
]
[[package]]
@@ -8127,7 +8354,7 @@ dependencies = [
"fnv",
"lazy_static",
"libc",
- "mio 1.0.3",
+ "mio 1.1.0",
"rand 0.8.5",
"serde",
"tempfile",
@@ -8141,6 +8368,16 @@ version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
+[[package]]
+name = "iri-string"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2"
+dependencies = [
+ "memchr",
+ "serde",
+]
+
[[package]]
name = "is-docker"
version = "0.2.0"
@@ -8156,7 +8393,7 @@ version = "0.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
dependencies = [
- "hermit-abi 0.5.0",
+ "hermit-abi",
"libc",
"windows-sys 0.59.0",
]
@@ -8171,6 +8408,15 @@ dependencies = [
"once_cell",
]
+[[package]]
+name = "is_executable"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4"
+dependencies = [
+ "windows-sys 0.60.2",
+]
+
[[package]]
name = "is_terminal_polyfill"
version = "1.70.1"
@@ -8204,15 +8450,6 @@ dependencies = [
"either",
]
-[[package]]
-name = "itertools"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
-dependencies = [
- "either",
-]
-
[[package]]
name = "itertools"
version = "0.14.0"
@@ -8230,9 +8467,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
[[package]]
name = "jiff"
-version = "0.2.10"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a064218214dc6a10fbae5ec5fa888d80c45d611aba169222fc272072bf7aef6"
+checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49"
dependencies = [
"jiff-static",
"log",
@@ -8243,13 +8480,13 @@ dependencies = [
[[package]]
name = "jiff-static"
-version = "0.2.10"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "199b7932d97e325aff3a7030e141eafe7f2c6268e1d1b24859b753a627f45254"
+checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -8276,11 +8513,11 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
[[package]]
name = "jobserver"
-version = "0.1.33"
+version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a"
+checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
dependencies = [
- "getrandom 0.3.2",
+ "getrandom 0.3.4",
"libc",
]
@@ -8297,20 +8534,13 @@ dependencies = [
"settings",
"shellexpand 2.1.2",
"workspace",
- "workspace-hack",
]
-[[package]]
-name = "jpeg-decoder"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
-
[[package]]
name = "js-sys"
-version = "0.3.77"
+version = "0.3.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
+checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305"
dependencies = [
"once_cell",
"wasm-bindgen",
@@ -8339,41 +8569,41 @@ dependencies = [
"language",
"paths",
"project",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
"snippet_provider",
"task",
"theme",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
name = "jsonschema"
-version = "0.30.0"
+version = "0.37.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1b46a0365a611fbf1d2143104dcf910aada96fafd295bab16c60b802bf6fa1d"
+checksum = "73c9ffb2b5c56d58030e1b532d8e8389da94590515f118cf35b5cb68e4764a7e"
dependencies = [
- "ahash 0.8.11",
- "base64 0.22.1",
+ "ahash 0.8.12",
"bytecount",
+ "data-encoding",
"email_address",
- "fancy-regex 0.14.0",
+ "fancy-regex",
"fraction",
+ "getrandom 0.3.4",
"idna",
"itoa",
"num-cmp",
"num-traits",
- "once_cell",
"percent-encoding",
"referencing",
"regex",
"regex-syntax",
- "reqwest 0.12.15",
+ "reqwest 0.12.24",
"serde",
"serde_json",
+ "unicode-general-category",
"uuid-simd",
]
@@ -8394,23 +8624,25 @@ dependencies = [
[[package]]
name = "jupyter-protocol"
-version = "0.6.0"
-source = "git+https://github.com/ConradIrwin/runtimed?rev=7130c804216b6914355d15d0b91ea91f6babd734#7130c804216b6914355d15d0b91ea91f6babd734"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9c047f6b5e551563af2ddb13dafed833f0ec5a5b0f9621d5ad740a9ff1e1095"
dependencies = [
- "anyhow",
"async-trait",
"bytes 1.10.1",
"chrono",
"futures 0.3.31",
"serde",
"serde_json",
+ "thiserror 2.0.17",
"uuid",
]
[[package]]
name = "jupyter-websocket-client"
-version = "0.9.0"
-source = "git+https://github.com/ConradIrwin/runtimed?rev=7130c804216b6914355d15d0b91ea91f6babd734#7130c804216b6914355d15d0b91ea91f6babd734"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4197fa926a6b0bddfed7377d9fed3d00a0dec44a1501e020097bd26604699cae"
dependencies = [
"anyhow",
"async-trait",
@@ -8419,6 +8651,7 @@ dependencies = [
"jupyter-protocol",
"serde",
"serde_json",
+ "tokio",
"url",
"uuid",
]
@@ -8428,6 +8661,7 @@ name = "keymap_editor"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"command_palette",
"component",
"db",
@@ -8454,11 +8688,8 @@ dependencies = [
"tree-sitter-rust",
"ui",
"ui_input",
- "vim",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
]
@@ -8474,9 +8705,9 @@ dependencies = [
[[package]]
name = "kqueue"
-version = "1.0.8"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c"
+checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a"
dependencies = [
"kqueue-sys",
"libc",
@@ -8494,11 +8725,12 @@ dependencies = [
[[package]]
name = "kurbo"
-version = "0.11.1"
+version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89234b2cc610a7dd927ebde6b41dd1a5d4214cffaef4cf1fb2195d592f92518f"
+checksum = "c62026ae44756f8a599ba21140f350303d4f08dcdcc71b5ad9c9bb8128c13c62"
dependencies = [
"arrayvec",
+ "euclid",
"smallvec",
]
@@ -8518,6 +8750,7 @@ dependencies = [
"anyhow",
"async-trait",
"clock",
+ "collections",
"ctor",
"diffy",
"ec4rs",
@@ -8526,6 +8759,7 @@ dependencies = [
"fuzzy",
"globset",
"gpui",
+ "http_client",
"imara-diff",
"indoc",
"itertools 0.14.0",
@@ -8534,10 +8768,10 @@ dependencies = [
"parking_lot",
"postage",
"pretty_assertions",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
"rpc",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
@@ -8546,10 +8780,11 @@ dependencies = [
"smol",
"streaming-iterator",
"strsim",
+ "sum_tree",
"task",
"text",
"theme",
- "toml 0.8.20",
+ "toml 0.8.23",
"tree-sitter",
"tree-sitter-elixir",
"tree-sitter-embedded-template",
@@ -8563,12 +8798,8 @@ dependencies = [
"tree-sitter-typescript",
"unicase",
"unindent",
+ "util",
"watch",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-sum-tree",
- "zed-util",
"zlog",
]
@@ -8578,6 +8809,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
+ "collections",
"extension",
"fs",
"futures 0.3.31",
@@ -8588,9 +8820,7 @@ dependencies = [
"project",
"serde",
"serde_json",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
]
[[package]]
@@ -8603,25 +8833,26 @@ dependencies = [
"client",
"cloud_api_types",
"cloud_llm_client",
+ "collections",
+ "credentials_provider",
"futures 0.3.31",
"gpui",
+ "http_client",
"icons",
"image",
"log",
+ "open_ai",
"open_router",
"parking_lot",
"proto",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
"smol",
- "telemetry_events",
- "thiserror 2.0.12",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
+ "thiserror 2.0.17",
+ "util",
+ "zed_env_vars",
]
[[package]]
@@ -8638,6 +8869,7 @@ dependencies = [
"chrono",
"client",
"cloud_llm_client",
+ "collections",
"component",
"convert_case 0.8.0",
"copilot",
@@ -8649,6 +8881,7 @@ dependencies = [
"google_ai",
"gpui",
"gpui_tokio",
+ "http_client",
"language",
"language_model",
"lmstudio",
@@ -8661,24 +8894,21 @@ dependencies = [
"partial-json-fixer",
"project",
"release_channel",
- "schemars 1.0.1",
+ "schemars",
+ "semver",
"serde",
"serde_json",
"settings",
"smol",
- "strum 0.27.1",
- "thiserror 2.0.12",
+ "strum 0.27.2",
+ "thiserror 2.0.17",
"tiktoken-rs",
"tokio",
"ui",
"ui_input",
+ "util",
"vercel",
- "workspace-hack",
"x_ai",
- "zed-collections",
- "zed-http-client",
- "zed-util",
- "zed_env_vars",
]
[[package]]
@@ -8691,7 +8921,6 @@ dependencies = [
"project",
"ui",
"workspace",
- "workspace-hack",
]
[[package]]
@@ -8709,9 +8938,8 @@ dependencies = [
"project",
"settings",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -8720,6 +8948,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"client",
+ "collections",
"command_palette_hooks",
"copilot",
"editor",
@@ -8731,15 +8960,14 @@ dependencies = [
"project",
"proto",
"release_channel",
+ "semver",
"serde_json",
"settings",
"theme",
"tree-sitter",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
"zlog",
]
@@ -8754,8 +8982,11 @@ dependencies = [
"async-tar",
"async-trait",
"chrono",
+ "collections",
"futures 0.3.31",
+ "globset",
"gpui",
+ "http_client",
"itertools 0.14.0",
"json_schema_store",
"language",
@@ -8779,12 +9010,14 @@ dependencies = [
"serde_json",
"serde_json_lenient",
"settings",
- "shlex",
+ "smallvec",
"smol",
+ "snippet",
"task",
+ "terminal",
"text",
"theme",
- "toml 0.8.20",
+ "toml 0.8.23",
"tree-sitter",
"tree-sitter-bash",
"tree-sitter-c",
@@ -8805,11 +9038,8 @@ dependencies = [
"tree-sitter-yaml",
"unindent",
"url",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
]
[[package]]
@@ -8818,15 +9048,9 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
dependencies = [
- "spin",
+ "spin 0.9.8",
]
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
[[package]]
name = "leak"
version = "0.1.2"
@@ -8856,21 +9080,21 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
[[package]]
name = "lebe"
-version = "0.5.2"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
+checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8"
[[package]]
name = "libc"
-version = "0.2.172"
+version = "0.2.177"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
+checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
[[package]]
name = "libdbus-sys"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06085512b750d640299b79be4bad3d2fa90a9c00b1fd9e1b46364f66f0485c72"
+checksum = "5cbe856efeb50e4681f010e9aaa2bf0a644e10139e54cde10fc83a307c23bd9f"
dependencies = [
"cc",
"pkg-config",
@@ -8878,9 +9102,9 @@ dependencies = [
[[package]]
name = "libfuzzer-sys"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75"
+checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404"
dependencies = [
"arbitrary",
"cc",
@@ -8888,9 +9112,9 @@ dependencies = [
[[package]]
name = "libgit2-sys"
-version = "0.18.1+1.9.0"
+version = "0.18.2+1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e"
+checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222"
dependencies = [
"cc",
"libc",
@@ -8900,25 +9124,25 @@ dependencies = [
[[package]]
name = "libloading"
-version = "0.8.6"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
+checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
dependencies = [
"cfg-if",
- "windows-targets 0.52.6",
+ "windows-link 0.2.1",
]
[[package]]
name = "libm"
-version = "0.2.11"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
+checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
[[package]]
name = "libmimalloc-sys"
-version = "0.1.42"
+version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec9d6fac27761dabcd4ee73571cdb06b7022dc99089acbe5435691edffaac0f4"
+checksum = "667f4fec20f29dfc6bc7357c582d91796c169ad7e2fce709468aefeb2c099870"
dependencies = [
"cc",
"libc",
@@ -8926,13 +9150,13 @@ dependencies = [
[[package]]
name = "libredox"
-version = "0.1.3"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"libc",
- "redox_syscall 0.5.11",
+ "redox_syscall 0.5.18",
]
[[package]]
@@ -8991,16 +9215,15 @@ dependencies = [
"picker",
"project",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
name = "link-cplusplus"
-version = "1.0.10"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212"
+checksum = "7f78c730aaa7d0b9336a299029ea49f9ee53b0ed06e9202e8cb7db9bae7b8c82"
dependencies = [
"cc",
]
@@ -9022,15 +9245,15 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]]
name = "linux-raw-sys"
-version = "0.9.4"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
+checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
[[package]]
name = "litemap"
-version = "0.7.5"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
+checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
[[package]]
name = "livekit"
@@ -9068,7 +9291,7 @@ dependencies = [
"parking_lot",
"pbjson-types",
"prost 0.12.6",
- "rand 0.9.1",
+ "rand 0.9.2",
"reqwest 0.11.27",
"scopeguard",
"serde",
@@ -9117,7 +9340,6 @@ dependencies = [
"prost-build 0.9.0",
"prost-types 0.9.0",
"serde",
- "workspace-hack",
"zed-reqwest",
]
@@ -9128,6 +9350,7 @@ dependencies = [
"anyhow",
"async-trait",
"audio",
+ "collections",
"core-foundation 0.10.0",
"core-video",
"coreaudio-rs 0.12.1",
@@ -9155,10 +9378,8 @@ dependencies = [
"smallvec",
"tokio-tungstenite 0.26.2",
"ui",
- "workspace-hack",
- "zed-collections",
+ "util",
"zed-scap",
- "zed-util",
]
[[package]]
@@ -9178,28 +9399,26 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
- "schemars 1.0.1",
+ "http_client",
+ "schemars",
"serde",
"serde_json",
- "workspace-hack",
- "zed-http-client",
]
[[package]]
name = "lock_api"
-version = "0.4.13"
+version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
+checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
dependencies = [
- "autocfg",
"scopeguard",
]
[[package]]
name = "log"
-version = "0.4.27"
+version = "0.4.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
+checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
dependencies = [
"serde",
"value-bag",
@@ -9233,15 +9452,22 @@ version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
dependencies = [
- "hashbrown 0.15.3",
+ "hashbrown 0.15.5",
]
+[[package]]
+name = "lru-slab"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
+
[[package]]
name = "lsp"
version = "0.1.0"
dependencies = [
"anyhow",
"async-pipe",
+ "collections",
"ctor",
"futures 0.3.31",
"gpui",
@@ -9250,20 +9476,19 @@ dependencies = [
"parking_lot",
"postage",
"release_channel",
- "schemars 1.0.1",
+ "schemars",
+ "semver",
"serde",
"serde_json",
"smol",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
"zlog",
]
[[package]]
name = "lsp-types"
version = "0.95.1"
-source = "git+https://github.com/zed-industries/lsp-types?rev=0874f8742fe55b4dc94308c1e3c0069710d8eeaf#0874f8742fe55b4dc94308c1e3c0069710d8eeaf"
+source = "git+https://github.com/zed-industries/lsp-types?rev=b71ab4eeb27d9758be8092020a46fe33fbca4e33#b71ab4eeb27d9758be8092020a46fe33fbca4e33"
dependencies = [
"bitflags 1.3.2",
"serde",
@@ -9273,9 +9498,9 @@ dependencies = [
[[package]]
name = "lyon"
-version = "1.0.1"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91e7f9cda98b5430809e63ca5197b06c7d191bf7e26dfc467d5a3f0290e2a74f"
+checksum = "dbcb7d54d54c8937364c9d41902d066656817dce1e03a44e5533afebd1ef4352"
dependencies = [
"lyon_algorithms",
"lyon_extra",
@@ -9284,9 +9509,9 @@ dependencies = [
[[package]]
name = "lyon_algorithms"
-version = "1.0.5"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f13c9be19d257c7d37e70608ed858e8eab4b2afcea2e3c9a622e892acbf43c08"
+checksum = "f4c0829e28c4f336396f250d850c3987e16ce6db057ffe047ce0dd54aab6b647"
dependencies = [
"lyon_path",
"num-traits",
@@ -9304,9 +9529,9 @@ dependencies = [
[[package]]
name = "lyon_geom"
-version = "1.0.6"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8af69edc087272df438b3ee436c4bb6d7c04aa8af665cfd398feae627dbd8570"
+checksum = "4e16770d760c7848b0c1c2d209101e408207a65168109509f8483837a36cf2e7"
dependencies = [
"arrayvec",
"euclid",
@@ -9315,9 +9540,9 @@ dependencies = [
[[package]]
name = "lyon_path"
-version = "1.0.7"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0047f508cd7a85ad6bad9518f68cce7b1bf6b943fb71f6da0ee3bc1e8cb75f25"
+checksum = "1aeca86bcfd632a15984ba029b539ffb811e0a70bf55e814ef8b0f54f506fdeb"
dependencies = [
"lyon_geom",
"num-traits",
@@ -9325,9 +9550,9 @@ dependencies = [
[[package]]
name = "lyon_tessellation"
-version = "1.0.15"
+version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "579d42360a4b09846eff2feef28f538696c7d6c7439bfa65874ff3cbe0951b2c"
+checksum = "f3f586142e1280335b1bc89539f7c97dd80f08fc43e9ab1b74ef0a42b04aa353"
dependencies = [
"float_next_after",
"lyon_path",
@@ -9342,9 +9567,9 @@ checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
[[package]]
name = "mach2"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709"
+checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44"
dependencies = [
"libc",
]
@@ -9379,6 +9604,7 @@ version = "0.1.0"
dependencies = [
"assets",
"base64 0.22.1",
+ "collections",
"env_logger 0.11.8",
"fs",
"futures 0.3.31",
@@ -9390,12 +9616,10 @@ dependencies = [
"node_runtime",
"pulldown-cmark 0.12.2",
"settings",
+ "sum_tree",
"theme",
"ui",
- "workspace-hack",
- "zed-collections",
- "zed-sum-tree",
- "zed-util",
+ "util",
]
[[package]]
@@ -9404,6 +9628,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-recursion",
+ "collections",
"editor",
"fs",
"gpui",
@@ -9417,10 +9642,9 @@ dependencies = [
"settings",
"theme",
"ui",
+ "urlencoding",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
]
[[package]]
@@ -9430,7 +9654,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45"
dependencies = [
"log",
- "phf",
+ "phf 0.11.3",
"phf_codegen",
"string_cache",
"string_cache_codegen",
@@ -9439,9 +9663,9 @@ dependencies = [
[[package]]
name = "markup5ever"
-version = "0.16.1"
+version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0a8096766c229e8c88a3900c9b44b7e06aa7f7343cc229158c3e58ef8f9973a"
+checksum = "311fe69c934650f8f19652b3946075f0fc41ad8757dbb68f1ca14e7900ecc1c3"
dependencies = [
"log",
"tendril",
@@ -9462,13 +9686,13 @@ dependencies = [
[[package]]
name = "match_token"
-version = "0.1.0"
+version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b"
+checksum = "ac84fd3f360fcc43dc5f5d186f02a94192761a080e8bc58621ad4d12296a58cf"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -9548,26 +9772,40 @@ dependencies = [
"warp",
]
+[[package]]
+name = "media"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "bindgen 0.71.1",
+ "core-foundation 0.10.0",
+ "core-video",
+ "ctor",
+ "foreign-types 0.5.0",
+ "metal",
+ "objc",
+]
+
[[package]]
name = "memchr"
-version = "2.7.4"
+version = "2.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
[[package]]
name = "memfd"
-version = "0.6.4"
+version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64"
+checksum = "ad38eb12aea514a0466ea40a80fd8cc83637065948eb4a426e4aa46261175227"
dependencies = [
- "rustix 0.38.44",
+ "rustix 1.1.2",
]
[[package]]
name = "memmap2"
-version = "0.9.5"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f"
+checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7"
dependencies = [
"libc",
"stable_deref_trait",
@@ -9587,7 +9825,28 @@ name = "menu"
version = "0.1.0"
dependencies = [
"gpui",
- "workspace-hack",
+]
+
+[[package]]
+name = "merge"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10bbef93abb1da61525bbc45eeaff6473a41907d19f8f9aa5168d214e10693e9"
+dependencies = [
+ "merge_derive",
+ "num-traits",
+]
+
+[[package]]
+name = "merge_derive"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "209d075476da2e63b4b29e72a2ef627b840589588e71400a25e3565c4f849d07"
+dependencies = [
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
]
[[package]]
@@ -9596,7 +9855,7 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"block",
"core-graphics-types 0.1.3",
"foreign-types 0.5.0",
@@ -9610,25 +9869,24 @@ name = "migrator"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"convert_case 0.8.0",
"log",
"pretty_assertions",
"serde_json",
"serde_json_lenient",
- "settings",
+ "settings_json",
"streaming-iterator",
"tree-sitter",
"tree-sitter-json",
"unindent",
- "workspace-hack",
- "zed-collections",
]
[[package]]
name = "mimalloc"
-version = "0.1.46"
+version = "0.1.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "995942f432bbb4822a7e9c3faa87a695185b0d09273ba85f097b54f4e458f2af"
+checksum = "e1ee66a4b64c74f4ef288bcbb9192ad9c3feaad75193129ac8509af543894fd8"
dependencies = [
"libmimalloc-sys",
]
@@ -9655,7 +9913,7 @@ version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c4d14bcca0fd3ed165a03000480aaa364c6860c34e900cb2dafdf3b95340e77"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"debugid",
"num-derive",
"num-traits",
@@ -9670,14 +9928,14 @@ version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abcd9c8a1e6e1e9d56ce3627851f39a17ea83e17c96bc510f29d7e43d78a7d"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"byteorder",
"cfg-if",
"crash-context",
"goblin",
"libc",
"log",
- "mach2 0.4.2",
+ "mach2 0.4.3",
"memmap2",
"memoffset",
"minidump-common",
@@ -9712,11 +9970,23 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+[[package]]
+name = "miniprofiler_ui"
+version = "0.1.0"
+dependencies = [
+ "gpui",
+ "serde_json",
+ "smol",
+ "util",
+ "workspace",
+ "zed_actions",
+]
+
[[package]]
name = "miniz_oxide"
-version = "0.8.8"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
+checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
dependencies = [
"adler2",
"simd-adler32",
@@ -9736,29 +10006,29 @@ checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"log",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
"windows-sys 0.48.0",
]
[[package]]
name = "mio"
-version = "1.0.3"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
+checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873"
dependencies = [
"libc",
"log",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.52.0",
+ "wasi",
+ "windows-sys 0.61.2",
]
[[package]]
name = "miow"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044"
+checksum = "536bfad37a309d62069485248eeaba1e8d9853aaf951caaeaed0585a95346f08"
dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -9767,33 +10037,41 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
- "schemars 1.0.1",
+ "http_client",
+ "schemars",
"serde",
"serde_json",
- "strum 0.27.1",
- "workspace-hack",
- "zed-http-client",
+ "strum 0.27.2",
]
[[package]]
name = "moka"
-version = "0.12.10"
+version = "0.12.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926"
+checksum = "8261cd88c312e0004c1d51baad2980c66528dfdb2bee62003e643a4d8f86b077"
dependencies = [
"crossbeam-channel",
"crossbeam-epoch",
"crossbeam-utils",
- "loom",
+ "equivalent",
"parking_lot",
"portable-atomic",
"rustc_version",
"smallvec",
"tagptr",
- "thiserror 1.0.69",
"uuid",
]
+[[package]]
+name = "moxcms"
+version = "0.7.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40"
+dependencies = [
+ "num-traits",
+ "pxfm",
+]
+
[[package]]
name = "msvc_spectre_libs"
version = "0.1.3"
@@ -9810,6 +10088,7 @@ dependencies = [
"anyhow",
"buffer_diff",
"clock",
+ "collections",
"ctor",
"gpui",
"indoc",
@@ -9819,20 +10098,20 @@ dependencies = [
"parking_lot",
"pretty_assertions",
"project",
- "rand 0.9.1",
+ "rand 0.9.2",
"rope",
"serde",
"settings",
"smallvec",
"smol",
+ "sum_tree",
"text",
"theme",
+ "tracing",
"tree-sitter",
- "workspace-hack",
- "zed-collections",
- "zed-sum-tree",
- "zed-util",
+ "util",
"zlog",
+ "ztracing",
]
[[package]]
@@ -9841,6 +10120,12 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
+[[package]]
+name = "multimap"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084"
+
[[package]]
name = "naga"
version = "25.0.1"
@@ -9848,21 +10133,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b977c445f26e49757f9aca3631c3b8b836942cb278d69a92e7b80d3b24da632"
dependencies = [
"arrayvec",
- "bit-set 0.8.0",
- "bitflags 2.9.0",
+ "bit-set",
+ "bitflags 2.9.4",
"cfg_aliases 0.2.1",
- "codespan-reporting",
+ "codespan-reporting 0.12.0",
"half",
- "hashbrown 0.15.3",
+ "hashbrown 0.15.5",
"hexf-parse",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"num-traits",
"once_cell",
"rustc-hash 1.1.0",
"spirv",
"strum 0.26.3",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"unicode-ident",
]
@@ -9881,7 +10166,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
dependencies = [
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
]
[[package]]
@@ -9903,8 +10188,9 @@ dependencies = [
[[package]]
name = "nbformat"
-version = "0.10.0"
-source = "git+https://github.com/ConradIrwin/runtimed?rev=7130c804216b6914355d15d0b91ea91f6babd734#7130c804216b6914355d15d0b91ea91f6babd734"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89c7229d604d847227002715e1235cd84e81919285d904ccb290a42ecc409348"
dependencies = [
"anyhow",
"chrono",
@@ -9923,7 +10209,6 @@ dependencies = [
"futures 0.3.31",
"net",
"smol",
- "workspace-hack",
]
[[package]]
@@ -9932,7 +10217,7 @@ version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"jni-sys",
"log",
"ndk-sys",
@@ -9963,8 +10248,7 @@ dependencies = [
"async-io",
"smol",
"tempfile",
- "windows 0.61.1",
- "workspace-hack",
+ "windows 0.61.3",
]
[[package]]
@@ -9979,7 +10263,7 @@ version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cfg-if",
"cfg_aliases 0.1.1",
"libc",
@@ -9991,7 +10275,7 @@ version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cfg-if",
"cfg_aliases 0.2.1",
"libc",
@@ -10003,7 +10287,7 @@ version = "0.30.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cfg-if",
"cfg_aliases 0.2.1",
"libc",
@@ -10020,17 +10304,16 @@ dependencies = [
"async-tar",
"async-trait",
"futures 0.3.31",
+ "http_client",
"log",
"paths",
"semver",
"serde",
"serde_json",
"smol",
+ "util",
"watch",
"which 6.0.3",
- "workspace-hack",
- "zed-http-client",
- "zed-util",
]
[[package]]
@@ -10060,11 +10343,11 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
[[package]]
name = "normpath"
-version = "1.3.0"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8911957c4b1549ac0dc74e30db9c8b0e66ddcd6d7acc33098f4c63a64a6d7ed"
+checksum = "bf23ab2b905654b4cb177e30b629937b3868311d4e1cba859f899c041046e69b"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -10074,18 +10357,17 @@ dependencies = [
"anyhow",
"channel",
"client",
+ "collections",
"component",
"db",
"gpui",
"rpc",
"settings",
+ "sum_tree",
"time",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-sum-tree",
- "zed-util",
"zed_actions",
]
@@ -10095,7 +10377,7 @@ version = "6.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"crossbeam-channel",
"filetime",
"fsevent-sys 4.1.0",
@@ -10110,20 +10392,19 @@ dependencies = [
[[package]]
name = "notify"
-version = "8.0.0"
-source = "git+https://github.com/zed-industries/notify.git?rev=bbb9ea5ae52b253e095737847e367c30653a2e96#bbb9ea5ae52b253e095737847e367c30653a2e96"
+version = "8.2.0"
+source = "git+https://github.com/zed-industries/notify.git?rev=b4588b2e5aee68f4c0e100f140e808cbce7b1419#b4588b2e5aee68f4c0e100f140e808cbce7b1419"
dependencies = [
- "bitflags 2.9.0",
- "filetime",
+ "bitflags 2.9.4",
"fsevent-sys 4.1.0",
"inotify 0.11.0",
"kqueue",
"libc",
"log",
- "mio 1.0.3",
+ "mio 1.1.0",
"notify-types",
"walkdir",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -10140,7 +10421,7 @@ dependencies = [
[[package]]
name = "notify-types"
version = "2.0.0"
-source = "git+https://github.com/zed-industries/notify.git?rev=bbb9ea5ae52b253e095737847e367c30653a2e96#bbb9ea5ae52b253e095737847e367c30653a2e96"
+source = "git+https://github.com/zed-industries/notify.git?rev=b4588b2e5aee68f4c0e100f140e808cbce7b1419#b4588b2e5aee68f4c0e100f140e808cbce7b1419"
[[package]]
name = "ntapi"
@@ -10153,11 +10434,11 @@ dependencies = [
[[package]]
name = "nu-ansi-term"
-version = "0.50.1"
+version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399"
+checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -10186,11 +10467,10 @@ dependencies = [
[[package]]
name = "num-bigint-dig"
-version = "0.8.4"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
+checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7"
dependencies = [
- "byteorder",
"lazy_static",
"libm",
"num-integer",
@@ -10232,7 +10512,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -10288,33 +10568,34 @@ dependencies = [
[[package]]
name = "num_cpus"
-version = "1.16.0"
+version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
dependencies = [
- "hermit-abi 0.3.9",
+ "hermit-abi",
"libc",
]
[[package]]
name = "num_enum"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
+checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a"
dependencies = [
"num_enum_derive",
+ "rustversion",
]
[[package]]
name = "num_enum_derive"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
+checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -10363,9 +10644,9 @@ dependencies = [
[[package]]
name = "objc2"
-version = "0.6.1"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551"
+checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05"
dependencies = [
"objc2-encode",
]
@@ -10376,7 +10657,7 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"objc2",
"objc2-core-foundation",
"objc2-foundation",
@@ -10389,7 +10670,7 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10cbe18d879e20a4aea544f8befe38bcf52255eb63d3f23eca2842f3319e4c07"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"libc",
"objc2",
"objc2-core-audio",
@@ -10400,9 +10681,9 @@ dependencies = [
[[package]]
name = "objc2-core-audio"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca44961e888e19313b808f23497073e3f6b3c22bb485056674c8b49f3b025c82"
+checksum = "e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2"
dependencies = [
"dispatch2",
"objc2",
@@ -10412,21 +10693,21 @@ dependencies = [
[[package]]
name = "objc2-core-audio-types"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0f1cc99bb07ad2ddb6527ddf83db6a15271bb036b3eb94b801cd44fdc666ee1"
+checksum = "5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"objc2",
]
[[package]]
name = "objc2-core-foundation"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166"
+checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"dispatch2",
"objc2",
]
@@ -10443,18 +10724,28 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"objc2",
"objc2-core-foundation",
]
+[[package]]
+name = "objc2-io-kit"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
+dependencies = [
+ "libc",
+ "objc2-core-foundation",
+]
+
[[package]]
name = "objc2-metal"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f246c183239540aab1782457b35ab2040d4259175bd1d0c58e46ada7b47a874"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"block2",
"dispatch2",
"objc2",
@@ -10468,7 +10759,7 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90ffb6a0cd5f182dc964334388560b12a57f7b74b3e2dec5e2722aa2dfb2ccd5"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"objc2",
"objc2-core-foundation",
"objc2-foundation",
@@ -10481,7 +10772,7 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25b1312ad7bc8a0e92adae17aa10f90aae1fb618832f9b993b022b591027daed"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"objc2",
"objc2-core-foundation",
"objc2-foundation",
@@ -10513,8 +10804,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
dependencies = [
"crc32fast",
- "hashbrown 0.15.3",
- "indexmap 2.9.0",
+ "hashbrown 0.15.5",
+ "indexmap",
+ "memchr",
+]
+
+[[package]]
+name = "object"
+version = "0.37.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
+dependencies = [
"memchr",
]
@@ -10524,47 +10824,39 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
- "schemars 1.0.1",
+ "http_client",
+ "schemars",
"serde",
"serde_json",
"settings",
- "workspace-hack",
- "zed-http-client",
]
[[package]]
name = "onboarding"
version = "0.1.0"
dependencies = [
- "ai_onboarding",
"anyhow",
"client",
"component",
"db",
"documented",
- "editor",
"fs",
"fuzzy",
"git",
"gpui",
- "itertools 0.14.0",
- "language",
- "language_model",
"menu",
"notifications",
"picker",
"project",
- "schemars 1.0.1",
+ "schemars",
"serde",
"settings",
"telemetry",
"theme",
"ui",
- "ui_input",
+ "util",
"vim_mode_setting",
"workspace",
- "workspace-hack",
- "zed-util",
"zed_actions",
"zlog",
]
@@ -10575,6 +10867,12 @@ version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+[[package]]
+name = "once_cell_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
+
[[package]]
name = "oo7"
version = "0.5.0"
@@ -10585,22 +10883,22 @@ dependencies = [
"ashpd 0.12.0",
"async-fs",
"async-io",
- "async-lock",
+ "async-lock 3.4.1",
"blocking",
"cbc",
"cipher",
"digest",
"endi",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
"futures-util",
- "getrandom 0.3.2",
+ "getrandom 0.3.4",
"hkdf",
"hmac",
"md-5",
"num",
"num-bigint-dig",
"pbkdf2 0.12.2",
- "rand 0.9.1",
+ "rand 0.9.2",
"serde",
"sha2",
"subtle",
@@ -10633,14 +10931,14 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
+ "http_client",
"log",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
- "strum 0.27.1",
- "workspace-hack",
- "zed-http-client",
+ "strum 0.27.2",
+ "thiserror 2.0.17",
]
[[package]]
@@ -10649,14 +10947,13 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
- "schemars 1.0.1",
+ "http_client",
+ "schemars",
"serde",
"serde_json",
"settings",
- "strum 0.27.1",
- "thiserror 2.0.12",
- "workspace-hack",
- "zed-http-client",
+ "strum 0.27.2",
+ "thiserror 2.0.17",
]
[[package]]
@@ -10673,11 +10970,11 @@ dependencies = [
[[package]]
name = "openssl"
-version = "0.10.72"
+version = "0.10.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da"
+checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cfg-if",
"foreign-types 0.3.2",
"libc",
@@ -10694,7 +10991,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -10705,9 +11002,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
[[package]]
name = "openssl-sys"
-version = "0.9.107"
+version = "0.9.110"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07"
+checksum = "0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2"
dependencies = [
"cc",
"libc",
@@ -10717,13 +11014,13 @@ dependencies = [
[[package]]
name = "optfield"
-version = "0.3.0"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa59f025cde9c698fcb4fcb3533db4621795374065bee908215263488f2d2a1d"
+checksum = "969ccca8ffc4fb105bd131a228107d5c9dd89d9d627edf3295cbe979156f9712"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -10781,7 +11078,7 @@ dependencies = [
"proc-macro2",
"proc-macro2-diagnostics",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -10805,9 +11102,8 @@ dependencies = [
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
"zed_actions",
]
@@ -10816,6 +11112,7 @@ name = "outline_panel"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"db",
"editor",
"file_icons",
@@ -10836,11 +11133,9 @@ dependencies = [
"smol",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
"worktree",
- "zed-collections",
- "zed-util",
"zed_actions",
]
@@ -10891,7 +11186,7 @@ dependencies = [
"by_address",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -10904,7 +11199,6 @@ dependencies = [
"theme",
"ui",
"workspace",
- "workspace-hack",
]
[[package]]
@@ -10915,9 +11209,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
[[package]]
name = "parking_lot"
-version = "0.12.4"
+version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
+checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
dependencies = [
"lock_api",
"parking_lot_core",
@@ -10925,15 +11219,15 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.11"
+version = "0.9.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
+checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.5.11",
+ "redox_syscall 0.5.18",
"smallvec",
- "windows-targets 0.52.6",
+ "windows-link 0.2.1",
]
[[package]]
@@ -11010,8 +11304,7 @@ version = "0.1.0"
dependencies = [
"dirs 4.0.0",
"ignore",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
@@ -11081,12 +11374,12 @@ checksum = "0008e816fcdaf229cdd540e9b6ca2dc4a10d65c31624abb546c6420a02846e61"
[[package]]
name = "pem"
-version = "3.0.5"
+version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3"
+checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be"
dependencies = [
"base64 0.22.1",
- "serde",
+ "serde_core",
]
[[package]]
@@ -11100,26 +11393,34 @@ dependencies = [
[[package]]
name = "percent-encoding"
-version = "2.3.1"
+version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
+
+[[package]]
+name = "perf"
+version = "0.1.0"
+dependencies = [
+ "collections",
+ "serde",
+ "serde_json",
+]
[[package]]
name = "pest"
-version = "2.8.0"
+version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6"
+checksum = "989e7521a040efde50c3ab6bbadafbe15ab6dc042686926be59ac35d74607df4"
dependencies = [
"memchr",
- "thiserror 2.0.12",
"ucd-trie",
]
[[package]]
name = "pest_derive"
-version = "2.8.0"
+version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5"
+checksum = "187da9a3030dbafabbbfb20cb323b976dc7b7ce91fcd84f2f74d6e31d378e2de"
dependencies = [
"pest",
"pest_generator",
@@ -11127,24 +11428,23 @@ dependencies = [
[[package]]
name = "pest_generator"
-version = "2.8.0"
+version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841"
+checksum = "49b401d98f5757ebe97a26085998d6c0eecec4995cad6ab7fc30ffdf4b052843"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "pest_meta"
-version = "2.8.0"
+version = "2.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0"
+checksum = "72f27a2cfee9f9039c4d86faa5af122a0ac3851441a34865b8a043b46be0065a"
dependencies = [
- "once_cell",
"pest",
"sha2",
]
@@ -11152,7 +11452,7 @@ dependencies = [
[[package]]
name = "pet"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"clap",
"env_logger 0.10.2",
@@ -11177,6 +11477,7 @@ dependencies = [
"pet-python-utils",
"pet-reporter",
"pet-telemetry",
+ "pet-uv",
"pet-venv",
"pet-virtualenv",
"pet-virtualenvwrapper",
@@ -11189,7 +11490,7 @@ dependencies = [
[[package]]
name = "pet-conda"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"env_logger 0.10.2",
"lazy_static",
@@ -11208,7 +11509,7 @@ dependencies = [
[[package]]
name = "pet-core"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"clap",
"lazy_static",
@@ -11223,7 +11524,7 @@ dependencies = [
[[package]]
name = "pet-env-var-path"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"lazy_static",
"log",
@@ -11239,7 +11540,7 @@ dependencies = [
[[package]]
name = "pet-fs"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11248,7 +11549,7 @@ dependencies = [
[[package]]
name = "pet-global-virtualenvs"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11261,7 +11562,7 @@ dependencies = [
[[package]]
name = "pet-homebrew"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"lazy_static",
"log",
@@ -11279,7 +11580,7 @@ dependencies = [
[[package]]
name = "pet-jsonrpc"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"env_logger 0.10.2",
"log",
@@ -11292,7 +11593,7 @@ dependencies = [
[[package]]
name = "pet-linux-global-python"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11305,7 +11606,7 @@ dependencies = [
[[package]]
name = "pet-mac-commandlinetools"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11318,7 +11619,7 @@ dependencies = [
[[package]]
name = "pet-mac-python-org"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11331,7 +11632,7 @@ dependencies = [
[[package]]
name = "pet-mac-xcode"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11344,7 +11645,7 @@ dependencies = [
[[package]]
name = "pet-pipenv"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11357,7 +11658,7 @@ dependencies = [
[[package]]
name = "pet-pixi"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11369,7 +11670,7 @@ dependencies = [
[[package]]
name = "pet-poetry"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"base64 0.22.1",
"lazy_static",
@@ -11384,13 +11685,13 @@ dependencies = [
"serde",
"serde_json",
"sha2",
- "toml 0.8.20",
+ "toml 0.8.23",
]
[[package]]
name = "pet-pyenv"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"lazy_static",
"log",
@@ -11408,7 +11709,7 @@ dependencies = [
[[package]]
name = "pet-python-utils"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"env_logger 0.10.2",
"lazy_static",
@@ -11425,7 +11726,7 @@ dependencies = [
[[package]]
name = "pet-reporter"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"env_logger 0.10.2",
"log",
@@ -11439,7 +11740,7 @@ dependencies = [
[[package]]
name = "pet-telemetry"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"env_logger 0.10.2",
"lazy_static",
@@ -11451,10 +11752,22 @@ dependencies = [
"regex",
]
+[[package]]
+name = "pet-uv"
+version = "0.1.0"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
+dependencies = [
+ "log",
+ "pet-core",
+ "pet-python-utils",
+ "serde",
+ "toml 0.9.8",
+]
+
[[package]]
name = "pet-venv"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11466,7 +11779,7 @@ dependencies = [
[[package]]
name = "pet-virtualenv"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11478,7 +11791,7 @@ dependencies = [
[[package]]
name = "pet-virtualenvwrapper"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"log",
"msvc_spectre_libs",
@@ -11491,7 +11804,7 @@ dependencies = [
[[package]]
name = "pet-windows-registry"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"lazy_static",
"log",
@@ -11509,7 +11822,7 @@ dependencies = [
[[package]]
name = "pet-windows-store"
version = "0.1.0"
-source = "git+https://github.com/microsoft/python-environment-tools.git?rev=845945b830297a50de0e24020b980a65e4820559#845945b830297a50de0e24020b980a65e4820559"
+source = "git+https://github.com/microsoft/python-environment-tools.git?rev=1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da#1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da"
dependencies = [
"lazy_static",
"log",
@@ -11529,14 +11842,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
dependencies = [
"fixedbitset",
- "indexmap 2.9.0",
+ "indexmap",
]
[[package]]
name = "pgvector"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0e8871b6d7ca78348c6cd29b911b94851f3429f0cd403130ca17f26c1fb91a6"
+checksum = "fc58e2d255979a31caa7cabfa7aac654af0354220719ab7a68520ae7a91e8c0b"
dependencies = [
"serde",
]
@@ -11547,8 +11860,18 @@ version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
dependencies = [
- "phf_macros",
- "phf_shared",
+ "phf_macros 0.11.3",
+ "phf_shared 0.11.3",
+]
+
+[[package]]
+name = "phf"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7"
+dependencies = [
+ "phf_macros 0.12.1",
+ "phf_shared 0.12.1",
]
[[package]]
@@ -11557,8 +11880,8 @@ version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a"
dependencies = [
- "phf_generator",
- "phf_shared",
+ "phf_generator 0.11.3",
+ "phf_shared 0.11.3",
]
[[package]]
@@ -11567,21 +11890,44 @@ version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d"
dependencies = [
- "phf_shared",
+ "phf_shared 0.11.3",
"rand 0.8.5",
]
+[[package]]
+name = "phf_generator"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2cbb1126afed61dd6368748dae63b1ee7dc480191c6262a3b4ff1e29d86a6c5b"
+dependencies = [
+ "fastrand 2.3.0",
+ "phf_shared 0.12.1",
+]
+
[[package]]
name = "phf_macros"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216"
dependencies = [
- "phf_generator",
- "phf_shared",
+ "phf_generator 0.11.3",
+ "phf_shared 0.11.3",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
+]
+
+[[package]]
+name = "phf_macros"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d713258393a82f091ead52047ca779d37e5766226d009de21696c4e667044368"
+dependencies = [
+ "phf_generator 0.12.1",
+ "phf_shared 0.12.1",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
]
[[package]]
@@ -11593,6 +11939,15 @@ dependencies = [
"siphasher",
]
+[[package]]
+name = "phf_shared"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981"
+dependencies = [
+ "siphasher",
+]
+
[[package]]
name = "picker"
version = "0.1.0"
@@ -11603,13 +11958,12 @@ dependencies = [
"env_logger 0.11.8",
"gpui",
"menu",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"theme",
"ui",
"workspace",
- "workspace-hack",
]
[[package]]
@@ -11635,7 +11989,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -11706,13 +12060,13 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
[[package]]
name = "plist"
-version = "1.7.1"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac26e981c03a6e53e0aee43c113e3202f5581d5360dae7bd2c70e800dd0451d"
+checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07"
dependencies = [
"base64 0.22.1",
- "indexmap 2.9.0",
- "quick-xml 0.32.0",
+ "indexmap",
+ "quick-xml 0.38.3",
"serde",
"time",
]
@@ -11758,6 +12112,19 @@ dependencies = [
"miniz_oxide",
]
+[[package]]
+name = "png"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0"
+dependencies = [
+ "bitflags 2.9.4",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
[[package]]
name = "polling"
version = "3.11.0"
@@ -11766,10 +12133,10 @@ checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218"
dependencies = [
"cfg-if",
"concurrent-queue",
- "hermit-abi 0.5.0",
+ "hermit-abi",
"pin-project-lite",
- "rustix 1.0.7",
- "windows-sys 0.61.0",
+ "rustix 1.1.2",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -11779,10 +12146,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5da3b0203fd7ee5720aa0b5e790b591aa5d3f41c3ed2c34a3a393382198af2f7"
[[package]]
-name = "portable-atomic"
-version = "1.11.0"
+name = "pori"
+version = "0.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e"
+checksum = "a4a63d338dec139f56dacc692ca63ad35a6be6a797442479b55acd611d79e906"
+dependencies = [
+ "nom 7.1.3",
+]
+
+[[package]]
+name = "portable-atomic"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
[[package]]
name = "portable-atomic-util"
@@ -11833,9 +12209,9 @@ dependencies = [
[[package]]
name = "postcard"
-version = "1.1.1"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8"
+checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24"
dependencies = [
"cobs",
"embedded-io 0.4.0",
@@ -11843,6 +12219,15 @@ dependencies = [
"serde",
]
+[[package]]
+name = "potential_utf"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a"
+dependencies = [
+ "zerovec",
+]
+
[[package]]
name = "powerfmt"
version = "0.2.0"
@@ -11855,7 +12240,7 @@ version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
dependencies = [
- "zerocopy 0.8.24",
+ "zerocopy",
]
[[package]]
@@ -11869,6 +12254,7 @@ name = "prettier"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"fs",
"gpui",
"language",
@@ -11879,9 +12265,7 @@ dependencies = [
"paths",
"serde",
"serde_json",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
]
[[package]]
@@ -11896,12 +12280,12 @@ dependencies = [
[[package]]
name = "prettyplease"
-version = "0.2.32"
+version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6"
+checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
dependencies = [
"proc-macro2",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -11915,11 +12299,35 @@ dependencies = [
[[package]]
name = "proc-macro-crate"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
+checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983"
dependencies = [
- "toml_edit",
+ "toml_edit 0.23.7",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
]
[[package]]
@@ -11941,14 +12349,14 @@ dependencies = [
"proc-macro-error-attr2",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "proc-macro2"
-version = "1.0.95"
+version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
dependencies = [
"unicode-ident",
]
@@ -11961,7 +12369,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"version_check",
"yansi",
]
@@ -11972,27 +12380,27 @@ version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"hex",
]
[[package]]
name = "profiling"
-version = "1.0.16"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d"
+checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773"
dependencies = [
"profiling-procmacros",
]
[[package]]
name = "profiling-procmacros"
-version = "1.0.16"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30"
+checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
dependencies = [
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -12008,12 +12416,12 @@ dependencies = [
"circular-buffer",
"client",
"clock",
+ "collections",
"context_server",
"dap",
"dap_adapters",
"extension",
- "fancy-regex 0.14.0",
- "feature_flags",
+ "fancy-regex",
"fs",
"futures 0.3.31",
"fuzzy",
@@ -12022,8 +12430,9 @@ dependencies = [
"git_hosting_providers",
"globset",
"gpui",
+ "http_client",
"image",
- "indexmap 2.9.0",
+ "indexmap",
"itertools 0.14.0",
"language",
"log",
@@ -12035,40 +12444,56 @@ dependencies = [
"postage",
"prettier",
"pretty_assertions",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
"release_channel",
"remote",
"rpc",
- "schemars 1.0.1",
+ "schemars",
"semver",
"serde",
"serde_json",
"settings",
"sha2",
"shellexpand 2.1.2",
- "shlex",
"smallvec",
"smol",
"snippet",
"snippet_provider",
+ "sum_tree",
"task",
"tempfile",
"terminal",
"text",
- "toml 0.8.20",
+ "toml 0.8.23",
+ "tracing",
"unindent",
"url",
+ "util",
"watch",
+ "wax",
"which 6.0.3",
- "workspace-hack",
"worktree",
- "zed-collections",
- "zed-http-client",
- "zed-sum-tree",
- "zed-util",
"zeroize",
"zlog",
+ "ztracing",
+]
+
+[[package]]
+name = "project_benchmarks"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "clap",
+ "client",
+ "futures 0.3.31",
+ "gpui",
+ "http_client",
+ "language",
+ "node_runtime",
+ "project",
+ "settings",
+ "watch",
]
[[package]]
@@ -12077,6 +12502,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"client",
+ "collections",
"command_palette_hooks",
"criterion",
"db",
@@ -12090,20 +12516,19 @@ dependencies = [
"pretty_assertions",
"project",
"rayon",
- "schemars 1.0.1",
+ "schemars",
"search",
"serde",
"serde_json",
"settings",
"smallvec",
"telemetry",
+ "tempfile",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
"worktree",
- "zed-collections",
- "zed-util",
"zed_actions",
]
@@ -12122,12 +12547,12 @@ dependencies = [
"picker",
"project",
"release_channel",
+ "semver",
"serde_json",
"settings",
"theme",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -12142,7 +12567,7 @@ dependencies = [
"memchr",
"parking_lot",
"protobuf",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
]
[[package]]
@@ -12152,6 +12577,7 @@ dependencies = [
"anyhow",
"assets",
"chrono",
+ "collections",
"fs",
"futures 0.3.31",
"fuzzy",
@@ -12164,12 +12590,9 @@ dependencies = [
"paths",
"rope",
"serde",
- "serde_json",
"text",
+ "util",
"uuid",
- "workspace-hack",
- "zed-collections",
- "zed-util",
]
[[package]]
@@ -12203,7 +12626,7 @@ dependencies = [
"itertools 0.10.5",
"lazy_static",
"log",
- "multimap",
+ "multimap 0.8.3",
"petgraph",
"prost 0.9.0",
"prost-types 0.9.0",
@@ -12222,14 +12645,14 @@ dependencies = [
"heck 0.5.0",
"itertools 0.12.1",
"log",
- "multimap",
+ "multimap 0.10.1",
"once_cell",
"petgraph",
"prettyplease",
"prost 0.12.6",
"prost-types 0.12.6",
"regex",
- "syn 2.0.101",
+ "syn 2.0.106",
"tempfile",
]
@@ -12256,7 +12679,7 @@ dependencies = [
"itertools 0.12.1",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -12283,12 +12706,11 @@ name = "proto"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"prost 0.9.0",
"prost-build 0.9.0",
"serde",
"typed-path",
- "workspace-hack",
- "zed-collections",
]
[[package]]
@@ -12313,9 +12735,9 @@ dependencies = [
[[package]]
name = "psm"
-version = "0.1.25"
+version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f58e5423e24c18cc840e1c98370b3993c6649cd1678b4d24318bcf0a083cbe88"
+checksum = "e66fcd288453b748497d8fb18bccc83a16b0518e3906d4b8df0a8d42d93dbb1c"
dependencies = [
"cc",
]
@@ -12346,7 +12768,7 @@ version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76979bea66e7875e7509c4ec5300112b316af87fa7a252ca91c448b32dfe3993"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"memchr",
"pulldown-cmark-escape",
"unicase",
@@ -12358,7 +12780,7 @@ version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f86ba2052aebccc42cbbb3ed234b8b13ce76f75c3551a303cb2bcffcff12bb14"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"memchr",
"unicase",
]
@@ -12407,6 +12829,15 @@ dependencies = [
"version_check",
]
+[[package]]
+name = "pxfm"
+version = "0.1.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3cbdf373972bf78df4d3b518d07003938e2c7d1fb5891e55f9cb6df57009d84"
+dependencies = [
+ "num-traits",
+]
+
[[package]]
name = "qoi"
version = "0.4.1"
@@ -12433,27 +12864,27 @@ dependencies = [
[[package]]
name = "quick-xml"
-version = "0.32.0"
+version = "0.37.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2"
+checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb"
dependencies = [
"memchr",
]
[[package]]
name = "quick-xml"
-version = "0.37.4"
+version = "0.38.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4ce8c88de324ff838700f36fb6ab86c96df0e3c4ab6ef3a9b2044465cce1369"
+checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89"
dependencies = [
"memchr",
]
[[package]]
name = "quinn"
-version = "0.11.7"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012"
+checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
dependencies = [
"bytes 1.10.1",
"cfg_aliases 0.2.1",
@@ -12461,9 +12892,9 @@ dependencies = [
"quinn-proto",
"quinn-udp",
"rustc-hash 2.1.1",
- "rustls 0.23.26",
- "socket2",
- "thiserror 2.0.12",
+ "rustls 0.23.33",
+ "socket2 0.6.1",
+ "thiserror 2.0.17",
"tokio",
"tracing",
"web-time",
@@ -12471,19 +12902,20 @@ dependencies = [
[[package]]
name = "quinn-proto"
-version = "0.11.10"
+version = "0.11.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc"
+checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
dependencies = [
"bytes 1.10.1",
- "getrandom 0.3.2",
- "rand 0.9.1",
+ "getrandom 0.3.4",
+ "lru-slab",
+ "rand 0.9.2",
"ring",
"rustc-hash 2.1.1",
- "rustls 0.23.26",
+ "rustls 0.23.33",
"rustls-pki-types",
"slab",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"tinyvec",
"tracing",
"web-time",
@@ -12491,32 +12923,32 @@ dependencies = [
[[package]]
name = "quinn-udp"
-version = "0.5.11"
+version = "0.5.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5"
+checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd"
dependencies = [
"cfg_aliases 0.2.1",
"libc",
"once_cell",
- "socket2",
+ "socket2 0.6.1",
"tracing",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
name = "quote"
-version = "1.0.40"
+version = "1.0.41"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
dependencies = [
"proc-macro2",
]
[[package]]
name = "r-efi"
-version = "5.2.0"
+version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
+checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "radium"
@@ -12537,9 +12969,9 @@ dependencies = [
[[package]]
name = "rand"
-version = "0.9.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
+checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
"rand_chacha 0.9.0",
"rand_core 0.9.3",
@@ -12571,7 +13003,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
]
[[package]]
@@ -12580,7 +13012,7 @@ version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [
- "getrandom 0.3.2",
+ "getrandom 0.3.4",
]
[[package]]
@@ -12590,7 +13022,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463"
dependencies = [
"num-traits",
- "rand 0.9.1",
+ "rand 0.9.2",
]
[[package]]
@@ -12604,9 +13036,9 @@ dependencies = [
[[package]]
name = "rangemap"
-version = "1.5.1"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684"
+checksum = "f93e7e49bb0bf967717f7bd674458b3d6b0c5f48ec7e3038166026a69fc22223"
[[package]]
name = "rav1e"
@@ -12645,9 +13077,9 @@ dependencies = [
[[package]]
name = "ravif"
-version = "0.11.12"
+version = "0.11.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6a5f31fcf7500f9401fea858ea4ab5525c99f2322cfcee732c0e6c74208c0c6"
+checksum = "5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b"
dependencies = [
"avif-serialize",
"imgref",
@@ -12673,7 +13105,7 @@ version = "11.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
]
[[package]]
@@ -12696,9 +13128,9 @@ dependencies = [
[[package]]
name = "rayon"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
+checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
dependencies = [
"either",
"rayon-core",
@@ -12706,9 +13138,9 @@ dependencies = [
[[package]]
name = "rayon-core"
-version = "1.12.1"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
dependencies = [
"crossbeam-deque",
"crossbeam-utils",
@@ -12716,9 +13148,9 @@ dependencies = [
[[package]]
name = "read-fonts"
-version = "0.25.3"
+version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f9e8a4f503e5c8750e4cd3b32a4e090035c46374b305a15c70bad833dca05f"
+checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358"
dependencies = [
"bytemuck",
"font-types",
@@ -12747,6 +13179,7 @@ dependencies = [
"askpass",
"auto_update",
"dap",
+ "db",
"editor",
"extension_host",
"file_finder",
@@ -12758,12 +13191,14 @@ dependencies = [
"log",
"markdown",
"menu",
+ "node_runtime",
"ordered-float 2.10.1",
"paths",
"picker",
"project",
"release_channel",
"remote",
+ "semver",
"serde",
"serde_json",
"settings",
@@ -12772,10 +13207,10 @@ dependencies = [
"telemetry",
"theme",
"ui",
- "windows-registry 0.6.0",
+ "util",
+ "windows-registry 0.6.1",
"workspace",
- "workspace-hack",
- "zed-util",
+ "worktree",
"zed_actions",
]
@@ -12790,11 +13225,11 @@ dependencies = [
[[package]]
name = "redox_syscall"
-version = "0.5.11"
+version = "0.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3"
+checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
]
[[package]]
@@ -12803,56 +13238,64 @@ version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
"libredox",
"thiserror 1.0.69",
]
[[package]]
name = "redox_users"
-version = "0.5.0"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b"
+checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
dependencies = [
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
"libredox",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
]
[[package]]
name = "ref-cast"
-version = "1.0.24"
+version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf"
+checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d"
dependencies = [
"ref-cast-impl",
]
[[package]]
name = "ref-cast-impl"
-version = "1.0.24"
+version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7"
+checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "referencing"
-version = "0.30.0"
+version = "0.37.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8eff4fa778b5c2a57e85c5f2fe3a709c52f0e60d23146e2151cbef5893f420e"
+checksum = "4283168a506f0dcbdce31c9f9cce3129c924da4c6bca46e46707fcb746d2d70c"
dependencies = [
- "ahash 0.8.11",
+ "ahash 0.8.12",
"fluent-uri",
- "once_cell",
+ "getrandom 0.3.4",
+ "hashbrown 0.16.1",
"parking_lot",
"percent-encoding",
"serde_json",
]
+[[package]]
+name = "refineable"
+version = "0.1.0"
+dependencies = [
+ "derive_refineable",
+]
+
[[package]]
name = "regalloc2"
version = "0.11.2"
@@ -12861,7 +13304,7 @@ checksum = "dc06e6b318142614e4a48bc725abbf08ff166694835c43c9dae5a9009704639a"
dependencies = [
"allocator-api2",
"bumpalo",
- "hashbrown 0.15.3",
+ "hashbrown 0.15.5",
"log",
"rustc-hash 2.1.1",
"serde",
@@ -12870,9 +13313,9 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.11.1"
+version = "1.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4"
dependencies = [
"aho-corasick",
"memchr",
@@ -12882,9 +13325,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.9"
+version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c"
dependencies = [
"aho-corasick",
"memchr",
@@ -12893,22 +13336,22 @@ dependencies = [
[[package]]
name = "regex-lite"
-version = "0.1.6"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
+checksum = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da"
[[package]]
name = "regex-syntax"
-version = "0.8.5"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58"
[[package]]
name = "release_channel"
version = "0.1.0"
dependencies = [
"gpui",
- "workspace-hack",
+ "semver",
]
[[package]]
@@ -12918,6 +13361,7 @@ dependencies = [
"anyhow",
"askpass",
"async-trait",
+ "collections",
"fs",
"futures 0.3.31",
"gpui",
@@ -12927,18 +13371,17 @@ dependencies = [
"prost 0.9.0",
"release_channel",
"rpc",
+ "schemars",
+ "semver",
"serde",
"serde_json",
"settings",
- "shlex",
"smol",
"tempfile",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"urlencoding",
+ "util",
"which 6.0.3",
- "workspace-hack",
- "zed-collections",
- "zed-util",
]
[[package]]
@@ -12946,14 +13389,14 @@ name = "remote_server"
version = "0.1.0"
dependencies = [
"action_log",
+ "agent",
"anyhow",
"askpass",
- "assistant_tool",
- "assistant_tools",
"cargo_toml",
"clap",
"client",
"clock",
+ "collections",
"crash-handler",
"crashes",
"dap",
@@ -12971,6 +13414,8 @@ dependencies = [
"git_hosting_providers",
"gpui",
"gpui_tokio",
+ "http_client",
+ "image",
"json_schema_store",
"language",
"language_extension",
@@ -12984,27 +13429,30 @@ dependencies = [
"paths",
"pretty_assertions",
"project",
+ "prompt_store",
"proto",
+ "rayon",
"release_channel",
"remote",
"reqwest_client",
"rpc",
"rust-embed",
+ "semver",
"serde",
"serde_json",
"settings",
"shellexpand 2.1.2",
"smol",
- "sysinfo",
- "thiserror 2.0.12",
- "toml 0.8.20",
+ "sysinfo 0.37.2",
+ "task",
+ "theme",
+ "thiserror 2.0.17",
+ "toml 0.8.23",
"unindent",
+ "util",
"watch",
"workspace",
"worktree",
- "zed-collections",
- "zed-http-client",
- "zed-util",
"zlog",
]
@@ -13027,6 +13475,7 @@ dependencies = [
"async-tungstenite",
"base64 0.22.1",
"client",
+ "collections",
"command_palette_hooks",
"editor",
"env_logger 0.11.8",
@@ -13034,6 +13483,7 @@ dependencies = [
"file_icons",
"futures 0.3.31",
"gpui",
+ "http_client",
"image",
"indoc",
"jupyter-protocol",
@@ -13060,12 +13510,9 @@ dependencies = [
"tree-sitter-python",
"tree-sitter-typescript",
"ui",
+ "util",
"uuid",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
]
[[package]]
@@ -13079,7 +13526,7 @@ dependencies = [
"encoding_rs",
"futures-core",
"futures-util",
- "h2 0.3.26",
+ "h2 0.3.27",
"http 0.2.12",
"http-body 0.4.6",
"hyper 0.14.32",
@@ -13114,9 +13561,9 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.12.15"
+version = "0.12.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
+checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f"
dependencies = [
"base64 0.22.1",
"bytes 1.10.1",
@@ -13126,13 +13573,10 @@ dependencies = [
"http 1.3.1",
"http-body 1.0.1",
"http-body-util",
- "hyper 1.6.0",
+ "hyper 1.7.0",
"hyper-util",
- "ipnet",
"js-sys",
"log",
- "mime",
- "once_cell",
"percent-encoding",
"pin-project-lite",
"serde",
@@ -13141,12 +13585,12 @@ dependencies = [
"sync_wrapper 1.0.2",
"tokio",
"tower 0.5.2",
+ "tower-http 0.6.6",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
- "windows-registry 0.4.0",
]
[[package]]
@@ -13157,13 +13601,12 @@ dependencies = [
"bytes 1.10.1",
"futures 0.3.31",
"gpui",
+ "http_client",
"http_client_tls",
"log",
"regex",
"serde",
"tokio",
- "workspace-hack",
- "zed-http-client",
"zed-reqwest",
]
@@ -13194,9 +13637,9 @@ dependencies = [
[[package]]
name = "rgb"
-version = "0.8.50"
+version = "0.8.52"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a"
+checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce"
dependencies = [
"bytemuck",
]
@@ -13212,8 +13655,7 @@ dependencies = [
"pulldown-cmark 0.12.2",
"theme",
"ui",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
@@ -13224,9 +13666,9 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
dependencies = [
"cc",
"cfg-if",
- "getrandom 0.2.15",
+ "getrandom 0.2.16",
"libc",
- "untrusted",
+ "untrusted 0.9.0",
"windows-sys 0.52.0",
]
@@ -13283,7 +13725,7 @@ dependencies = [
[[package]]
name = "rodio"
version = "0.21.1"
-source = "git+https://github.com/RustAudio/rodio#e2074c6c2acf07b57cf717e076bdda7a9ac6e70b"
+source = "git+https://github.com/RustAudio/rodio?rev=e2074c6c2acf07b57cf717e076bdda7a9ac6e70b#e2074c6c2acf07b57cf717e076bdda7a9ac6e70b"
dependencies = [
"cpal",
"dasp_sample",
@@ -13291,7 +13733,7 @@ dependencies = [
"num-rational",
"rtrb",
"symphonia",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
]
[[package]]
@@ -13303,14 +13745,14 @@ dependencies = [
"ctor",
"gpui",
"log",
- "rand 0.9.1",
+ "rand 0.9.2",
"rayon",
- "smallvec",
+ "sum_tree",
+ "tracing",
"unicode-segmentation",
- "workspace-hack",
- "zed-sum-tree",
- "zed-util",
+ "util",
"zlog",
+ "ztracing",
]
[[package]]
@@ -13327,29 +13769,28 @@ dependencies = [
"async-tungstenite",
"base64 0.22.1",
"chrono",
+ "collections",
"futures 0.3.31",
"gpui",
"parking_lot",
"proto",
- "rand 0.9.1",
+ "rand 0.9.2",
"rsa",
"serde",
"serde_json",
"sha2",
- "strum 0.27.1",
+ "strum 0.27.2",
"tracing",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
"zlog",
"zstd",
]
[[package]]
name = "rsa"
-version = "0.9.8"
+version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b"
+checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88"
dependencies = [
"const-oid",
"digest",
@@ -13376,6 +13817,7 @@ name = "rules_library"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"editor",
"gpui",
"language",
@@ -13391,43 +13833,42 @@ dependencies = [
"theme",
"title_bar",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
]
[[package]]
name = "runtimelib"
-version = "0.25.0"
-source = "git+https://github.com/ConradIrwin/runtimed?rev=7130c804216b6914355d15d0b91ea91f6babd734#7130c804216b6914355d15d0b91ea91f6babd734"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "481b48894073a0096f28cbe9860af01fc1b861e55b3bc96afafc645ee3de62dc"
dependencies = [
- "anyhow",
"async-dispatcher",
"async-std",
+ "aws-lc-rs",
"base64 0.22.1",
"bytes 1.10.1",
"chrono",
"data-encoding",
- "dirs 5.0.1",
+ "dirs 6.0.0",
"futures 0.3.31",
"glob",
"jupyter-protocol",
- "ring",
"serde",
"serde_json",
"shellexpand 3.1.1",
"smol",
+ "thiserror 2.0.17",
"uuid",
"zeromq",
]
[[package]]
name = "rust-embed"
-version = "8.7.0"
+version = "8.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5fbc0ee50fcb99af7cebb442e5df7b5b45e9460ffa3f8f549cd26b862bec49d"
+checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a"
dependencies = [
"rust-embed-impl",
"rust-embed-utils",
@@ -13436,22 +13877,22 @@ dependencies = [
[[package]]
name = "rust-embed-impl"
-version = "8.7.0"
+version = "8.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bf418c9a2e3f6663ca38b8a7134cc2c2167c9d69688860e8961e3faa731702e"
+checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c"
dependencies = [
"proc-macro2",
"quote",
"rust-embed-utils",
- "syn 2.0.101",
+ "syn 2.0.106",
"walkdir",
]
[[package]]
name = "rust-embed-utils"
-version = "8.7.0"
+version = "8.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d55b95147fe01265d06b3955db798bdaed52e60e2211c41137701b3aba8e21"
+checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594"
dependencies = [
"globset",
"sha2",
@@ -13459,10 +13900,20 @@ dependencies = [
]
[[package]]
-name = "rust_decimal"
-version = "1.38.0"
+name = "rust-stemmers"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8975fc98059f365204d635119cf9c5a60ae67b841ed49b5422a9a7e56cdfac0"
+checksum = "e46a2036019fdb888131db7a4c847a1063a7493f971ed94ea82c67eada63ca54"
+dependencies = [
+ "serde",
+ "serde_derive",
+]
+
+[[package]]
+name = "rust_decimal"
+version = "1.39.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35affe401787a9bd846712274d97654355d21b2a2c092a3139aabe31e9022282"
dependencies = [
"arrayvec",
"borsh",
@@ -13476,9 +13927,9 @@ dependencies = [
[[package]]
name = "rustc-demangle"
-version = "0.1.24"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
+checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace"
[[package]]
name = "rustc-hash"
@@ -13503,9 +13954,9 @@ dependencies = [
[[package]]
name = "rustfft"
-version = "6.4.0"
+version = "6.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6f140db74548f7c9d7cce60912c9ac414e74df5e718dc947d514b051b42f3f4"
+checksum = "21db5f9893e91f41798c88680037dba611ca6674703c1a18601b01a72c8adb89"
dependencies = [
"num-complex",
"num-integer",
@@ -13521,8 +13972,8 @@ version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
- "bitflags 2.9.0",
- "errno 0.3.11",
+ "bitflags 2.9.4",
+ "errno 0.3.14",
"libc",
"linux-raw-sys 0.4.15",
"windows-sys 0.59.0",
@@ -13530,15 +13981,15 @@ dependencies = [
[[package]]
name = "rustix"
-version = "1.0.7"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
+checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e"
dependencies = [
- "bitflags 2.9.0",
- "errno 0.3.11",
+ "bitflags 2.9.4",
+ "errno 0.3.14",
"libc",
- "linux-raw-sys 0.9.4",
- "windows-sys 0.59.0",
+ "linux-raw-sys 0.11.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -13548,7 +13999,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fc84bf7e9aa16c4f2c758f27412dc9841341e16aa682d9c7ac308fe3ee12056"
dependencies = [
"once_cell",
- "rustix 1.0.7",
+ "rustix 1.1.2",
]
[[package]]
@@ -13557,9 +14008,9 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1de16c7c59892b870a6336f185dc10943517f1327447096bbb7bb32cd85e2393"
dependencies = [
- "errno 0.3.11",
+ "errno 0.3.14",
"libc",
- "rustix 1.0.7",
+ "rustix 1.1.2",
]
[[package]]
@@ -13576,16 +14027,16 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.23.26"
+version = "0.23.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0"
+checksum = "751e04a496ca00bb97a5e043158d23d66b5aabf2e1d5aa2a0aaebb1aafe6f82c"
dependencies = [
"aws-lc-rs",
"log",
"once_cell",
"ring",
"rustls-pki-types",
- "rustls-webpki 0.103.1",
+ "rustls-webpki 0.103.7",
"subtle",
"zeroize",
]
@@ -13604,14 +14055,14 @@ dependencies = [
[[package]]
name = "rustls-native-certs"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3"
+checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923"
dependencies = [
"openssl-probe",
"rustls-pki-types",
"schannel",
- "security-framework 3.2.0",
+ "security-framework 3.5.1",
]
[[package]]
@@ -13644,20 +14095,20 @@ dependencies = [
[[package]]
name = "rustls-platform-verifier"
-version = "0.5.1"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a5467026f437b4cb2a533865eaa73eb840019a0916f4b9ec563c6e617e086c9"
+checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1"
dependencies = [
"core-foundation 0.10.0",
"core-foundation-sys",
"jni",
"log",
"once_cell",
- "rustls 0.23.26",
- "rustls-native-certs 0.8.1",
+ "rustls 0.23.33",
+ "rustls-native-certs 0.8.2",
"rustls-platform-verifier-android",
- "rustls-webpki 0.103.1",
- "security-framework 3.2.0",
+ "rustls-webpki 0.103.7",
+ "security-framework 3.5.1",
"security-framework-sys",
"webpki-root-certs",
"windows-sys 0.59.0",
@@ -13676,26 +14127,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
dependencies = [
"ring",
- "untrusted",
+ "untrusted 0.9.0",
]
[[package]]
name = "rustls-webpki"
-version = "0.103.1"
+version = "0.103.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03"
+checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf"
dependencies = [
"aws-lc-rs",
"ring",
"rustls-pki-types",
- "untrusted",
+ "untrusted 0.9.0",
]
[[package]]
name = "rustversion"
-version = "1.0.20"
+version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
+checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "rustybuzz"
@@ -13703,7 +14154,7 @@ version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"bytemuck",
"libm",
"smallvec",
@@ -13720,7 +14171,7 @@ version = "0.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"bytemuck",
"core_maths",
"log",
@@ -13768,11 +14219,11 @@ dependencies = [
[[package]]
name = "schannel"
-version = "0.1.27"
+version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d"
+checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -13784,8 +14235,7 @@ dependencies = [
"chrono",
"futures 0.3.31",
"parking_lot",
- "rand 0.9.1",
- "workspace-hack",
+ "rand 0.9.2",
]
[[package]]
@@ -13795,33 +14245,20 @@ dependencies = [
"anyhow",
"clap",
"env_logger 0.11.8",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"theme",
- "workspace-hack",
]
[[package]]
name = "schemars"
-version = "0.9.0"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f"
+checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0"
dependencies = [
"dyn-clone",
- "ref-cast",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "schemars"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe8c9d1c68d67dd9f97ecbc6f932b60eb289c5dbddd8aa1405484a8fd2fcd984"
-dependencies = [
- "dyn-clone",
- "indexmap 2.9.0",
+ "indexmap",
"ref-cast",
"schemars_derive",
"serde",
@@ -13830,14 +14267,14 @@ dependencies = [
[[package]]
name = "schemars_derive"
-version = "1.0.1"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ca9fcb757952f8e8629b9ab066fc62da523c46c2b247b1708a3be06dd82530b"
+checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -13854,9 +14291,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "scratch"
-version = "1.0.8"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f6280af86e5f559536da57a45ebc84948833b3bee313a7dd25232e09c878a52"
+checksum = "d68f2ec51b097e4c1a75b681a8bec621909b5e91f15bb7b840c4f2f7b01148b2"
[[package]]
name = "screencapturekit"
@@ -13898,7 +14335,7 @@ checksum = "1783eabc414609e28a5ba76aee5ddd52199f7107a0b24c2e9746a1ecc34a683d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -13920,7 +14357,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
dependencies = [
"ring",
- "untrusted",
+ "untrusted 0.9.0",
]
[[package]]
@@ -13933,7 +14370,7 @@ dependencies = [
"proc-macro-error2",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -13958,7 +14395,7 @@ dependencies = [
"serde_json",
"sqlx",
"strum 0.26.3",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
"tracing",
"url",
@@ -13975,15 +14412,15 @@ dependencies = [
"proc-macro2",
"quote",
"sea-bae",
- "syn 2.0.101",
+ "syn 2.0.106",
"unicode-ident",
]
[[package]]
name = "sea-query"
-version = "0.32.4"
+version = "0.32.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d99447c24da0cded00089e2021e1624af90878c65f7534319448d01da3df869d"
+checksum = "8a5d1c518eaf5eda38e5773f902b26ab6d5e9e9e2bb2349ca6c64cf96f80448c"
dependencies = [
"bigdecimal",
"chrono",
@@ -14023,27 +14460,32 @@ version = "0.1.0"
dependencies = [
"any_vec",
"anyhow",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"client",
+ "collections",
"editor",
"futures 0.3.31",
"gpui",
+ "itertools 0.14.0",
"language",
+ "lsp",
"menu",
+ "pretty_assertions",
"project",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
"smol",
"theme",
+ "tracing",
"ui",
"unindent",
+ "util",
+ "util_macros",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
+ "ztracing",
]
[[package]]
@@ -14066,7 +14508,7 @@ version = "2.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"core-foundation 0.9.4",
"core-foundation-sys",
"libc",
@@ -14075,11 +14517,11 @@ dependencies = [
[[package]]
name = "security-framework"
-version = "3.2.0"
+version = "3.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316"
+checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"core-foundation 0.10.0",
"core-foundation-sys",
"libc",
@@ -14088,9 +14530,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.14.0"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32"
+checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0"
dependencies = [
"core-foundation-sys",
"libc",
@@ -14104,11 +14546,12 @@ checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749"
[[package]]
name = "semver"
-version = "1.0.26"
+version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
+checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
dependencies = [
"serde",
+ "serde_core",
]
[[package]]
@@ -14119,9 +14562,9 @@ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
[[package]]
name = "serde"
-version = "1.0.221"
+version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "341877e04a22458705eb4e131a1508483c877dca2792b3781d4e5d8a6019ec43"
+checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
dependencies = [
"serde_core",
"serde_derive",
@@ -14129,22 +14572,22 @@ dependencies = [
[[package]]
name = "serde_core"
-version = "1.0.221"
+version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c459bc0a14c840cb403fc14b148620de1e0778c96ecd6e0c8c3cacb6d8d00fe"
+checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.221"
+version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6185cf75117e20e62b1ff867b9518577271e58abe0037c40bb4794969355ab0"
+checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -14155,7 +14598,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -14169,14 +14612,15 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.144"
+version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56177480b00303e689183f110b4e727bb4211d692c62d4fcd16d02be93077d40"
+checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
dependencies = [
- "indexmap 2.9.0",
+ "indexmap",
"itoa",
"memchr",
"ryu",
+ "serde",
"serde_core",
]
@@ -14186,7 +14630,7 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e033097bf0d2b59a62b42c18ebbb797503839b26afdda2c4e1415cb6c813540"
dependencies = [
- "indexmap 2.9.0",
+ "indexmap",
"itoa",
"memchr",
"ryu",
@@ -14195,12 +14639,13 @@ dependencies = [
[[package]]
name = "serde_path_to_error"
-version = "0.1.17"
+version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a"
+checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
dependencies = [
"itoa",
"serde",
+ "serde_core",
]
[[package]]
@@ -14211,18 +14656,27 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "serde_spanned"
-version = "0.6.8"
+version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
+checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
dependencies = [
"serde",
]
+[[package]]
+name = "serde_spanned"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392"
+dependencies = [
+ "serde_core",
+]
+
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
@@ -14236,41 +14690,23 @@ dependencies = [
]
[[package]]
-name = "serde_with"
-version = "3.13.0"
+name = "serde_yaml"
+version = "0.9.34+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf65a400f8f66fb7b0552869ad70157166676db75ed8181f8104ea91cf9d0b42"
+checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
dependencies = [
- "base64 0.22.1",
- "chrono",
- "hex",
- "indexmap 1.9.3",
- "indexmap 2.9.0",
- "schemars 0.9.0",
+ "indexmap",
+ "itoa",
+ "ryu",
"serde",
- "serde_derive",
- "serde_json",
- "serde_with_macros",
- "time",
-]
-
-[[package]]
-name = "serde_with_macros"
-version = "3.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81679d9ed988d5e9a5e6531dc3f2c28efbd639cbd1dfb628df08edea6004da77"
-dependencies = [
- "darling",
- "proc-macro2",
- "quote",
- "syn 2.0.101",
+ "unsafe-libyaml",
]
[[package]]
name = "serial2"
-version = "0.2.29"
+version = "0.2.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7d1d08630509d69f90eff4afcd02c3bd974d979225cbd815ff5942351b14375"
+checksum = "8cc76fa68e25e771492ca1e3c53d447ef0be3093e05cd3b47f4b712ba10c6f3c"
dependencies = [
"cfg-if",
"libc",
@@ -14284,9 +14720,8 @@ dependencies = [
"db",
"gpui",
"serde_json",
+ "util",
"uuid",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -14294,7 +14729,8 @@ name = "settings"
version = "0.1.0"
dependencies = [
"anyhow",
- "derive_more",
+ "collections",
+ "derive_more 0.99.20",
"ec4rs",
"fs",
"futures 0.3.31",
@@ -14302,27 +14738,39 @@ dependencies = [
"indoc",
"inventory",
"log",
+ "migrator",
"paths",
"pretty_assertions",
"release_channel",
"rust-embed",
- "schemars 1.0.1",
+ "schemars",
+ "serde",
+ "serde_json",
+ "serde_json_lenient",
+ "serde_repr",
+ "settings_json",
+ "settings_macros",
+ "smallvec",
+ "strum 0.27.2",
+ "unindent",
+ "util",
+ "zlog",
+]
+
+[[package]]
+name = "settings_json"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "pretty_assertions",
"serde",
"serde_json",
"serde_json_lenient",
"serde_path_to_error",
- "serde_repr",
- "serde_with",
- "settings_macros",
- "smallvec",
- "strum 0.27.1",
"tree-sitter",
"tree-sitter-json",
"unindent",
- "workspace-hack",
- "zed-collections",
- "zed-util",
- "zlog",
+ "util",
]
[[package]]
@@ -14331,8 +14779,7 @@ version = "0.1.0"
dependencies = [
"quote",
"settings",
- "syn 2.0.101",
- "workspace-hack",
+ "syn 2.0.106",
]
[[package]]
@@ -14352,7 +14799,6 @@ dependencies = [
"theme",
"ui",
"workspace",
- "workspace-hack",
"zed_actions",
]
@@ -14362,8 +14808,10 @@ version = "0.1.0"
dependencies = [
"anyhow",
"assets",
+ "bm25",
"client",
- "command_palette_hooks",
+ "copilot",
+ "edit_prediction",
"editor",
"feature_flags",
"fs",
@@ -14372,23 +14820,28 @@ dependencies = [
"gpui",
"heck 0.5.0",
"language",
+ "language_models",
+ "log",
"menu",
"node_runtime",
"paths",
+ "picker",
"pretty_assertions",
"project",
- "schemars 1.0.1",
+ "release_channel",
+ "schemars",
"search",
"serde",
"session",
"settings",
- "strum 0.27.1",
+ "strum 0.27.2",
+ "telemetry",
"theme",
+ "title_bar",
"ui",
"ui_input",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
"zed_actions",
"zlog",
]
@@ -14472,9 +14925,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "signal-hook"
-version = "0.3.17"
+version = "0.3.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
+checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2"
dependencies = [
"libc",
"signal-hook-registry",
@@ -14482,9 +14935,9 @@ dependencies = [
[[package]]
name = "signal-hook-registry"
-version = "1.4.5"
+version = "1.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410"
+checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b"
dependencies = [
"libc",
]
@@ -14538,7 +14991,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb"
dependencies = [
"num-bigint",
"num-traits",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
]
@@ -14570,9 +15023,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
[[package]]
name = "skrifa"
-version = "0.26.6"
+version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cc1aa86c26dbb1b63875a7180aa0819709b33348eb5b1491e4321fae388179d"
+checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841"
dependencies = [
"bytemuck",
"read-fonts",
@@ -14580,12 +15033,9 @@ dependencies = [
[[package]]
name = "slab"
-version = "0.4.9"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
+checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
[[package]]
name = "slash_commands_example"
@@ -14605,9 +15055,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.15.0"
+version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
+checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
dependencies = [
"serde",
]
@@ -14620,7 +15070,7 @@ checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -14629,15 +15079,15 @@ version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f"
dependencies = [
- "async-channel 2.3.1",
+ "async-channel 2.5.0",
"async-executor",
"async-fs",
"async-io",
- "async-lock",
+ "async-lock 3.4.1",
"async-net",
"async-process",
"blocking",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
]
[[package]]
@@ -14652,7 +15102,6 @@ version = "0.1.0"
dependencies = [
"anyhow",
"smallvec",
- "workspace-hack",
]
[[package]]
@@ -14660,6 +15109,7 @@ name = "snippet_provider"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"extension",
"fs",
"futures 0.3.31",
@@ -14667,14 +15117,12 @@ dependencies = [
"indoc",
"parking_lot",
"paths",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"serde_json_lenient",
"snippet",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
]
[[package]]
@@ -14690,26 +15138,35 @@ dependencies = [
"picker",
"settings",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
name = "socket2"
-version = "0.5.9"
+version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
+checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
dependencies = [
"libc",
"windows-sys 0.52.0",
]
[[package]]
-name = "spdx"
-version = "0.10.8"
+name = "socket2"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58b69356da67e2fc1f542c71ea7e654a361a79c938e4424392ecf4fa065d2193"
+checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881"
+dependencies = [
+ "libc",
+ "windows-sys 0.60.2",
+]
+
+[[package]]
+name = "spdx"
+version = "0.10.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3e17e880bafaeb362a7b751ec46bdc5b61445a188f80e0606e68167cd540fa3"
dependencies = [
"smallvec",
]
@@ -14723,13 +15180,22 @@ dependencies = [
"lock_api",
]
+[[package]]
+name = "spin"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591"
+dependencies = [
+ "lock_api",
+]
+
[[package]]
name = "spirv"
version = "0.3.0+sdk-1.3.268.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
]
[[package]]
@@ -14763,6 +15229,7 @@ name = "sqlez"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"futures 0.3.31",
"indoc",
"libsqlite3-sys",
@@ -14771,10 +15238,8 @@ dependencies = [
"smol",
"sqlformat",
"thread_local",
+ "util",
"uuid",
- "workspace-hack",
- "zed-collections",
- "zed-util",
]
[[package]]
@@ -14783,8 +15248,7 @@ version = "0.1.0"
dependencies = [
"sqlez",
"sqlformat",
- "syn 2.0.101",
- "workspace-hack",
+ "syn 2.0.106",
]
[[package]]
@@ -14799,9 +15263,9 @@ dependencies = [
[[package]]
name = "sqlx"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3c3a85280daca669cfd3bcb68a337882a8bc57ec882f72c5d13a430613a738e"
+checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc"
dependencies = [
"sqlx-core",
"sqlx-macros",
@@ -14812,9 +15276,9 @@ dependencies = [
[[package]]
name = "sqlx-core"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f743f2a3cea30a58cd479013f75550e879009e3a02f616f18ca699335aa248c3"
+checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
dependencies = [
"base64 0.22.1",
"bigdecimal",
@@ -14823,25 +15287,25 @@ dependencies = [
"crc",
"crossbeam-queue",
"either",
- "event-listener 5.4.0",
+ "event-listener 5.4.1",
"futures-core",
"futures-intrusive",
"futures-io",
"futures-util",
- "hashbrown 0.15.3",
+ "hashbrown 0.15.5",
"hashlink 0.10.0",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"memchr",
"once_cell",
"percent-encoding",
"rust_decimal",
- "rustls 0.23.26",
+ "rustls 0.23.33",
"serde",
"serde_json",
"sha2",
"smallvec",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
"tokio",
"tokio-stream",
@@ -14853,22 +15317,22 @@ dependencies = [
[[package]]
name = "sqlx-macros"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4200e0fde19834956d4252347c12a083bdcb237d7a1a1446bffd8768417dce"
+checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d"
dependencies = [
"proc-macro2",
"quote",
"sqlx-core",
"sqlx-macros-core",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "sqlx-macros-core"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "882ceaa29cade31beca7129b6beeb05737f44f82dbe2a9806ecea5a7093d00b7"
+checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b"
dependencies = [
"dotenvy",
"either",
@@ -14884,22 +15348,21 @@ dependencies = [
"sqlx-mysql",
"sqlx-postgres",
"sqlx-sqlite",
- "syn 2.0.101",
- "tempfile",
+ "syn 2.0.106",
"tokio",
"url",
]
[[package]]
name = "sqlx-mysql"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0afdd3aa7a629683c2d750c2df343025545087081ab5942593a5288855b1b7a7"
+checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526"
dependencies = [
"atoi",
"base64 0.22.1",
"bigdecimal",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"byteorder",
"bytes 1.10.1",
"chrono",
@@ -14930,7 +15393,7 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
"tracing",
"uuid",
@@ -14939,14 +15402,14 @@ dependencies = [
[[package]]
name = "sqlx-postgres"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0bedbe1bbb5e2615ef347a5e9d8cd7680fb63e77d9dafc0f29be15e53f1ebe6"
+checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46"
dependencies = [
"atoi",
"base64 0.22.1",
"bigdecimal",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"byteorder",
"chrono",
"crc",
@@ -14973,7 +15436,7 @@ dependencies = [
"smallvec",
"sqlx-core",
"stringprep",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
"tracing",
"uuid",
@@ -14982,9 +15445,9 @@ dependencies = [
[[package]]
name = "sqlx-sqlite"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c26083e9a520e8eb87a06b12347679b142dc2ea29e6e409f805644a7a979a5bc"
+checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea"
dependencies = [
"atoi",
"chrono",
@@ -15000,7 +15463,7 @@ dependencies = [
"serde",
"serde_urlencoded",
"sqlx-core",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"time",
"tracing",
"url",
@@ -15009,15 +15472,15 @@ dependencies = [
[[package]]
name = "stable_deref_trait"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
[[package]]
name = "stacker"
-version = "0.1.21"
+version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cddb07e32ddb770749da91081d8d0ac3a16f1a569a18b20348cd371f5dead06b"
+checksum = "e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59"
dependencies = [
"cc",
"cfg-if",
@@ -15044,7 +15507,7 @@ checksum = "172175341049678163e979d9107ca3508046d4d2a7c6682bee46ac541b17db69"
dependencies = [
"proc-macro-error2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -15053,6 +15516,15 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+[[package]]
+name = "stop-words"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "645a3d441ccf4bf47f2e4b7681461986681a6eeea9937d4c3bc9febd61d17c71"
+dependencies = [
+ "serde_json",
+]
+
[[package]]
name = "story"
version = "0.1.0"
@@ -15060,7 +15532,6 @@ dependencies = [
"gpui",
"itertools 0.14.0",
"smallvec",
- "workspace-hack",
]
[[package]]
@@ -15080,18 +15551,15 @@ dependencies = [
"log",
"menu",
"picker",
- "project",
"reqwest_client",
"rust-embed",
"settings",
"simplelog",
"story",
- "strum 0.27.1",
+ "strum 0.27.2",
"theme",
"title_bar",
"ui",
- "workspace",
- "workspace-hack",
]
[[package]]
@@ -15105,10 +15573,9 @@ name = "streaming_diff"
version = "0.1.0"
dependencies = [
"ordered-float 2.10.1",
- "rand 0.9.1",
+ "rand 0.9.2",
"rope",
- "workspace-hack",
- "zed-util",
+ "util",
]
[[package]]
@@ -15134,7 +15601,7 @@ checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f"
dependencies = [
"new_debug_unreachable",
"parking_lot",
- "phf_shared",
+ "phf_shared 0.11.3",
"precomputed-hash",
"serde",
]
@@ -15145,8 +15612,8 @@ version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0"
dependencies = [
- "phf_generator",
- "phf_shared",
+ "phf_generator 0.11.3",
+ "phf_shared 0.11.3",
"proc-macro2",
"quote",
]
@@ -15179,11 +15646,11 @@ dependencies = [
[[package]]
name = "strum"
-version = "0.27.1"
+version = "0.27.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32"
+checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf"
dependencies = [
- "strum_macros 0.27.1",
+ "strum_macros 0.27.2",
]
[[package]]
@@ -15196,20 +15663,19 @@ dependencies = [
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "strum_macros"
-version = "0.27.1"
+version = "0.27.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8"
+checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "rustversion",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -15218,17 +15684,33 @@ version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
+[[package]]
+name = "sum_tree"
+version = "0.1.0"
+dependencies = [
+ "arrayvec",
+ "ctor",
+ "log",
+ "rand 0.9.2",
+ "rayon",
+ "tracing",
+ "zlog",
+ "ztracing",
+]
+
[[package]]
name = "supermaven"
version = "0.1.0"
dependencies = [
"anyhow",
"client",
- "edit_prediction",
+ "collections",
+ "edit_prediction_types",
"editor",
"env_logger 0.11.8",
"futures 0.3.31",
"gpui",
+ "http_client",
"language",
"log",
"postage",
@@ -15242,10 +15724,7 @@ dependencies = [
"theme",
"ui",
"unicode-segmentation",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
+ "util",
]
[[package]]
@@ -15254,26 +15733,25 @@ version = "0.1.0"
dependencies = [
"anyhow",
"futures 0.3.31",
+ "http_client",
"paths",
"serde",
"serde_json",
"smol",
- "workspace-hack",
- "zed-http-client",
- "zed-util",
+ "util",
]
[[package]]
name = "sval"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cc9739f56c5d0c44a5ed45473ec868af02eb896af8c05f616673a31e1d1bb09"
+checksum = "d94c4464e595f0284970fd9c7e9013804d035d4a61ab74b113242c874c05814d"
[[package]]
name = "sval_buffer"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f39b07436a8c271b34dad5070c634d1d3d76d6776e938ee97b4a66a5e8003d0b"
+checksum = "a0f46e34b20a39e6a2bf02b926983149b3af6609fd1ee8a6e63f6f340f3e2164"
dependencies = [
"sval",
"sval_ref",
@@ -15281,18 +15759,18 @@ dependencies = [
[[package]]
name = "sval_dynamic"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffcb072d857431bf885580dacecf05ed987bac931230736739a79051dbf3499b"
+checksum = "03d0970e53c92ab5381d3b2db1828da8af945954d4234225f6dd9c3afbcef3f5"
dependencies = [
"sval",
]
[[package]]
name = "sval_fmt"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f214f427ad94a553e5ca5514c95c6be84667cbc5568cce957f03f3477d03d5c"
+checksum = "43e5e6e1613e1e7fc2e1a9fdd709622e54c122ceb067a60d170d75efd491a839"
dependencies = [
"itoa",
"ryu",
@@ -15301,9 +15779,9 @@ dependencies = [
[[package]]
name = "sval_json"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389ed34b32e638dec9a99c8ac92d0aa1220d40041026b625474c2b6a4d6f4feb"
+checksum = "aec382f7bfa6e367b23c9611f129b94eb7daaf3d8fae45a8d0a0211eb4d4c8e6"
dependencies = [
"itoa",
"ryu",
@@ -15312,9 +15790,9 @@ dependencies = [
[[package]]
name = "sval_nested"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14bae8fcb2f24fee2c42c1f19037707f7c9a29a0cda936d2188d48a961c4bb2a"
+checksum = "3049d0f99ce6297f8f7d9953b35a0103b7584d8f638de40e64edb7105fa578ae"
dependencies = [
"sval",
"sval_buffer",
@@ -15323,20 +15801,20 @@ dependencies = [
[[package]]
name = "sval_ref"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a4eaea3821d3046dcba81d4b8489421da42961889902342691fb7eab491d79e"
+checksum = "f88913e77506085c0a8bf6912bb6558591a960faf5317df6c1d9b227224ca6e1"
dependencies = [
"sval",
]
[[package]]
name = "sval_serde"
-version = "2.14.1"
+version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "172dd4aa8cb3b45c8ac8f3b4111d644cd26938b0643ede8f93070812b87fb339"
+checksum = "f579fd7254f4be6cd7b450034f856b78523404655848789c451bacc6aa8b387d"
dependencies = [
- "serde",
+ "serde_core",
"sval",
"sval_nested",
]
@@ -15351,13 +15829,12 @@ checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb"
name = "svg_preview"
version = "0.1.0"
dependencies = [
- "editor",
"file_icons",
"gpui",
+ "language",
"multi_buffer",
"ui",
"workspace",
- "workspace-hack",
]
[[package]]
@@ -15372,9 +15849,9 @@ dependencies = [
[[package]]
name = "swash"
-version = "0.2.2"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fae9a562c7b46107d9c78cd78b75bbe1e991c16734c0aee8ff0ee711fb8b620a"
+checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a"
dependencies = [
"skrifa",
"yazi",
@@ -15383,9 +15860,9 @@ dependencies = [
[[package]]
name = "symphonia"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9"
+checksum = "5773a4c030a19d9bfaa090f49746ff35c75dfddfa700df7a5939d5e076a57039"
dependencies = [
"lazy_static",
"symphonia-bundle-flac",
@@ -15402,9 +15879,9 @@ dependencies = [
[[package]]
name = "symphonia-bundle-flac"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72e34f34298a7308d4397a6c7fbf5b84c5d491231ce3dd379707ba673ab3bd97"
+checksum = "c91565e180aea25d9b80a910c546802526ffd0072d0b8974e3ebe59b686c9976"
dependencies = [
"log",
"symphonia-core",
@@ -15414,9 +15891,9 @@ dependencies = [
[[package]]
name = "symphonia-bundle-mp3"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c01c2aae70f0f1fb096b6f0ff112a930b1fb3626178fba3ae68b09dce71706d4"
+checksum = "4872dd6bb56bf5eac799e3e957aa1981086c3e613b27e0ac23b176054f7c57ed"
dependencies = [
"lazy_static",
"log",
@@ -15426,9 +15903,9 @@ dependencies = [
[[package]]
name = "symphonia-codec-aac"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdbf25b545ad0d3ee3e891ea643ad115aff4ca92f6aec472086b957a58522f70"
+checksum = "4c263845aa86881416849c1729a54c7f55164f8b96111dba59de46849e73a790"
dependencies = [
"lazy_static",
"log",
@@ -15437,9 +15914,9 @@ dependencies = [
[[package]]
name = "symphonia-codec-pcm"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f395a67057c2ebc5e84d7bb1be71cce1a7ba99f64e0f0f0e303a03f79116f89b"
+checksum = "4e89d716c01541ad3ebe7c91ce4c8d38a7cf266a3f7b2f090b108fb0cb031d95"
dependencies = [
"log",
"symphonia-core",
@@ -15447,9 +15924,9 @@ dependencies = [
[[package]]
name = "symphonia-codec-vorbis"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a98765fb46a0a6732b007f7e2870c2129b6f78d87db7987e6533c8f164a9f30"
+checksum = "f025837c309cd69ffef572750b4a2257b59552c5399a5e49707cc5b1b85d1c73"
dependencies = [
"log",
"symphonia-core",
@@ -15458,9 +15935,9 @@ dependencies = [
[[package]]
name = "symphonia-core"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "798306779e3dc7d5231bd5691f5a813496dc79d3f56bf82e25789f2094e022c3"
+checksum = "ea00cc4f79b7f6bb7ff87eddc065a1066f3a43fe1875979056672c9ef948c2af"
dependencies = [
"arrayvec",
"bitflags 1.3.2",
@@ -15471,9 +15948,9 @@ dependencies = [
[[package]]
name = "symphonia-format-isomp4"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abfdf178d697e50ce1e5d9b982ba1b94c47218e03ec35022d9f0e071a16dc844"
+checksum = "243739585d11f81daf8dac8d9f3d18cc7898f6c09a259675fc364b382c30e0a5"
dependencies = [
"encoding_rs",
"log",
@@ -15484,9 +15961,9 @@ dependencies = [
[[package]]
name = "symphonia-format-ogg"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ada3505789516bcf00fc1157c67729eded428b455c27ca370e41f4d785bfa931"
+checksum = "2b4955c67c1ed3aa8ae8428d04ca8397fbef6a19b2b051e73b5da8b1435639cb"
dependencies = [
"log",
"symphonia-core",
@@ -15496,9 +15973,9 @@ dependencies = [
[[package]]
name = "symphonia-format-riff"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f7be232f962f937f4b7115cbe62c330929345434c834359425e043bfd15f50"
+checksum = "c2d7c3df0e7d94efb68401d81906eae73c02b40d5ec1a141962c592d0f11a96f"
dependencies = [
"extended",
"log",
@@ -15508,9 +15985,9 @@ dependencies = [
[[package]]
name = "symphonia-metadata"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc622b9841a10089c5b18e99eb904f4341615d5aa55bbf4eedde1be721a4023c"
+checksum = "36306ff42b9ffe6e5afc99d49e121e0bd62fe79b9db7b9681d48e29fa19e6b16"
dependencies = [
"encoding_rs",
"lazy_static",
@@ -15520,9 +15997,9 @@ dependencies = [
[[package]]
name = "symphonia-utils-xiph"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "484472580fa49991afda5f6550ece662237b00c6f562c7d9638d1b086ed010fe"
+checksum = "ee27c85ab799a338446b68eec77abf42e1a6f1bb490656e121c6e27bfbab9f16"
dependencies = [
"symphonia-core",
"symphonia-metadata",
@@ -15541,9 +16018,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.101"
+version = "2.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
+checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
dependencies = [
"proc-macro2",
"quote",
@@ -15576,13 +16053,13 @@ dependencies = [
[[package]]
name = "synstructure"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
+checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -15600,7 +16077,7 @@ version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"byteorder",
"enum-as-inner",
"libc",
@@ -15614,7 +16091,7 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01198a2debb237c62b6826ec7081082d951f46dbb64b0e8c7649a452230d1dfc"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"byteorder",
"enum-as-inner",
"libc",
@@ -15636,6 +16113,20 @@ dependencies = [
"windows 0.57.0",
]
+[[package]]
+name = "sysinfo"
+version = "0.37.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f"
+dependencies = [
+ "libc",
+ "memchr",
+ "ntapi",
+ "objc2-core-foundation",
+ "objc2-io-kit",
+ "windows 0.61.3",
+]
+
[[package]]
name = "system-configuration"
version = "0.5.1"
@@ -15653,7 +16144,7 @@ version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"core-foundation 0.9.4",
"system-configuration-sys 0.6.0",
]
@@ -15687,7 +16178,7 @@ dependencies = [
"cfg-expr",
"heck 0.5.0",
"pkg-config",
- "toml 0.8.20",
+ "toml 0.8.23",
"version-compare",
]
@@ -15697,7 +16188,7 @@ version = "0.27.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc4592f674ce18521c2a81483873a49596655b179f71c5e05d10c1fe66c78745"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cap-fs-ext",
"cap-std",
"fd-lock",
@@ -15717,9 +16208,9 @@ dependencies = [
"human_bytes",
"pciid-parser",
"release_channel",
+ "semver",
"serde",
- "sysinfo",
- "workspace-hack",
+ "sysinfo 0.37.2",
]
[[package]]
@@ -15727,6 +16218,7 @@ name = "tab_switcher"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"ctor",
"editor",
"fuzzy",
@@ -15735,17 +16227,15 @@ dependencies = [
"menu",
"picker",
"project",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"settings",
"smol",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zlog",
]
@@ -15799,15 +16289,16 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
[[package]]
name = "target-lexicon"
-version = "0.13.2"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
+checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
[[package]]
name = "task"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"futures 0.3.31",
"gpui",
"hex",
@@ -15815,15 +16306,13 @@ dependencies = [
"parking_lot",
"pretty_assertions",
"proto",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"serde_json_lenient",
"sha2",
"shellexpand 2.1.2",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
"zed_actions",
]
@@ -15832,6 +16321,7 @@ name = "tasks_ui"
version = "0.1.0"
dependencies = [
"anyhow",
+ "collections",
"editor",
"file_icons",
"fuzzy",
@@ -15847,10 +16337,8 @@ dependencies = [
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
]
@@ -15862,30 +16350,28 @@ dependencies = [
"serde",
"serde_json",
"telemetry_events",
- "workspace-hack",
]
[[package]]
name = "telemetry_events"
version = "0.1.0"
dependencies = [
+ "semver",
"serde",
"serde_json",
- "workspace-hack",
- "zed-semantic-version",
]
[[package]]
name = "tempfile"
-version = "3.20.0"
+version = "3.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1"
+checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
dependencies = [
"fastrand 2.3.0",
- "getrandom 0.3.2",
+ "getrandom 0.3.4",
"once_cell",
- "rustix 1.0.7",
- "windows-sys 0.59.0",
+ "rustix 1.1.2",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -15914,38 +16400,39 @@ version = "0.1.0"
dependencies = [
"alacritty_terminal",
"anyhow",
+ "collections",
"futures 0.3.31",
"gpui",
"itertools 0.14.0",
"libc",
"log",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
"release_channel",
- "schemars 1.0.1",
+ "schemars",
"serde",
+ "serde_json",
"settings",
"smol",
- "sysinfo",
+ "sysinfo 0.37.2",
"task",
"theme",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
"url",
"urlencoding",
- "windows 0.61.1",
- "workspace-hack",
- "zed-collections",
- "zed-util",
+ "util",
+ "util_macros",
+ "windows 0.61.3",
]
[[package]]
name = "terminal_size"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed"
+checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0"
dependencies = [
- "rustix 1.0.7",
- "windows-sys 0.59.0",
+ "rustix 1.1.2",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -15957,6 +16444,7 @@ dependencies = [
"async-recursion",
"breadcrumbs",
"client",
+ "collections",
"db",
"dirs 4.0.0",
"editor",
@@ -15967,23 +16455,20 @@ dependencies = [
"log",
"pretty_assertions",
"project",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
- "schemars 1.0.1",
+ "schemars",
"search",
"serde",
"serde_json",
"settings",
"shellexpand 2.1.2",
- "smol",
"task",
"terminal",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
"zed_actions",
]
@@ -15993,20 +16478,19 @@ version = "0.1.0"
dependencies = [
"anyhow",
"clock",
+ "collections",
"ctor",
"gpui",
+ "http_client",
"log",
"parking_lot",
"postage",
- "rand 0.9.1",
+ "rand 0.9.2",
"regex",
"rope",
"smallvec",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-sum-tree",
- "zed-util",
+ "sum_tree",
+ "util",
"zlog",
]
@@ -16015,25 +16499,24 @@ name = "theme"
version = "0.1.0"
dependencies = [
"anyhow",
- "derive_more",
+ "collections",
+ "derive_more 0.99.20",
"fs",
"futures 0.3.31",
"gpui",
"log",
"palette",
"parking_lot",
- "schemars 1.0.1",
+ "refineable",
+ "schemars",
"serde",
"serde_json",
"serde_json_lenient",
"settings",
- "strum 0.27.1",
- "thiserror 2.0.12",
+ "strum 0.27.2",
+ "thiserror 2.0.17",
+ "util",
"uuid",
- "workspace-hack",
- "zed-collections",
- "zed-refineable",
- "zed-util",
]
[[package]]
@@ -16045,7 +16528,6 @@ dependencies = [
"fs",
"gpui",
"theme",
- "workspace-hack",
]
[[package]]
@@ -16054,19 +16536,18 @@ version = "0.1.0"
dependencies = [
"anyhow",
"clap",
+ "collections",
"gpui",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"palette",
"serde",
"serde_json",
"serde_json_lenient",
"simplelog",
- "strum 0.27.1",
+ "strum 0.27.2",
"theme",
"vscode_theme",
- "workspace-hack",
- "zed-collections",
]
[[package]]
@@ -16083,9 +16564,8 @@ dependencies = [
"telemetry",
"theme",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
"zed_actions",
]
@@ -16100,11 +16580,11 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "2.0.12"
+version = "2.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
+checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
dependencies = [
- "thiserror-impl 2.0.12",
+ "thiserror-impl 2.0.17",
]
[[package]]
@@ -16115,50 +16595,52 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "thiserror-impl"
-version = "2.0.12"
+version = "2.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
+checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "thread_local"
-version = "1.1.8"
+version = "1.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
+checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
dependencies = [
"cfg-if",
- "once_cell",
]
[[package]]
name = "tiff"
-version = "0.9.1"
+version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
+checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f"
dependencies = [
+ "fax",
"flate2",
- "jpeg-decoder",
+ "half",
+ "quick-error",
"weezl",
+ "zune-jpeg",
]
[[package]]
name = "tiktoken-rs"
-version = "0.8.0"
-source = "git+https://github.com/zed-industries/tiktoken-rs?rev=30c32a4522751699adeda0d5840c71c3b75ae73d#30c32a4522751699adeda0d5840c71c3b75ae73d"
+version = "0.9.1"
+source = "git+https://github.com/zed-industries/tiktoken-rs?rev=2570c4387a8505fb8f1d3f3557454b474f1e8271#2570c4387a8505fb8f1d3f3557454b474f1e8271"
dependencies = [
"anyhow",
"base64 0.22.1",
"bstr",
- "fancy-regex 0.13.0",
+ "fancy-regex",
"lazy_static",
"regex",
"rustc-hash 1.1.0",
@@ -16166,9 +16648,9 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.41"
+version = "0.3.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
+checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d"
dependencies = [
"deranged",
"itoa",
@@ -16183,15 +16665,15 @@ dependencies = [
[[package]]
name = "time-core"
-version = "0.1.4"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
+checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b"
[[package]]
name = "time-macros"
-version = "0.2.22"
+version = "0.2.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
+checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3"
dependencies = [
"num-conv",
"time-core",
@@ -16205,7 +16687,6 @@ dependencies = [
"core-foundation-sys",
"sys-locale",
"time",
- "workspace-hack",
]
[[package]]
@@ -16228,7 +16709,7 @@ dependencies = [
"bytemuck",
"cfg-if",
"log",
- "png",
+ "png 0.17.16",
"tiny-skia-path",
]
@@ -16258,9 +16739,9 @@ dependencies = [
[[package]]
name = "tinystr"
-version = "0.7.6"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
+checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
dependencies = [
"displaydoc",
"zerovec",
@@ -16278,9 +16759,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.9.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
+checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa"
dependencies = [
"tinyvec_macros",
]
@@ -16298,17 +16779,20 @@ dependencies = [
"anyhow",
"auto_update",
"call",
+ "channel",
"chrono",
"client",
"cloud_llm_client",
+ "collections",
"db",
"gpui",
+ "http_client",
"notifications",
"pretty_assertions",
"project",
"remote",
"rpc",
- "schemars 1.0.1",
+ "schemars",
"serde",
"settings",
"smallvec",
@@ -16317,31 +16801,27 @@ dependencies = [
"theme",
"tree-sitter-md",
"ui",
- "windows 0.61.1",
+ "util",
+ "windows 0.61.3",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
"zed_actions",
]
[[package]]
name = "tokio"
-version = "1.44.2"
+version = "1.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48"
+checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408"
dependencies = [
- "backtrace",
"bytes 1.10.1",
"libc",
- "mio 1.0.3",
+ "mio 1.1.0",
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "socket2",
+ "socket2 0.6.1",
"tokio-macros",
- "windows-sys 0.52.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -16357,13 +16837,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.5.0"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
+checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -16392,7 +16872,7 @@ version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
dependencies = [
- "rustls 0.23.26",
+ "rustls 0.23.33",
"tokio",
]
@@ -16452,7 +16932,7 @@ checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084"
dependencies = [
"futures-util",
"log",
- "rustls 0.23.26",
+ "rustls 0.23.33",
"rustls-pki-types",
"tokio",
"tokio-rustls 0.26.2",
@@ -16461,9 +16941,9 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.14"
+version = "0.7.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034"
+checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5"
dependencies = [
"bytes 1.10.1",
"futures-core",
@@ -16484,44 +16964,95 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.20"
+version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
+checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
dependencies = [
"serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit",
+ "serde_spanned 0.6.9",
+ "toml_datetime 0.6.11",
+ "toml_edit 0.22.27",
+]
+
+[[package]]
+name = "toml"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8"
+dependencies = [
+ "indexmap",
+ "serde_core",
+ "serde_spanned 1.0.3",
+ "toml_datetime 0.7.3",
+ "toml_parser",
+ "toml_writer",
+ "winnow",
]
[[package]]
name = "toml_datetime"
-version = "0.6.9"
+version = "0.6.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
+checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
dependencies = [
"serde",
]
[[package]]
-name = "toml_edit"
-version = "0.22.26"
+name = "toml_datetime"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
+checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533"
dependencies = [
- "indexmap 2.9.0",
+ "serde_core",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.22.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
+dependencies = [
+ "indexmap",
"serde",
- "serde_spanned",
- "toml_datetime",
+ "serde_spanned 0.6.9",
+ "toml_datetime 0.6.11",
"toml_write",
"winnow",
]
[[package]]
-name = "toml_write"
-version = "0.1.1"
+name = "toml_edit"
+version = "0.23.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
+checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d"
+dependencies = [
+ "indexmap",
+ "toml_datetime 0.7.3",
+ "toml_parser",
+ "winnow",
+]
+
+[[package]]
+name = "toml_parser"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e"
+dependencies = [
+ "winnow",
+]
+
+[[package]]
+name = "toml_write"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
+
+[[package]]
+name = "toml_writer"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2"
[[package]]
name = "toolchain_selector"
@@ -16539,9 +17070,8 @@ dependencies = [
"picker",
"project",
"ui",
+ "util",
"workspace",
- "workspace-hack",
- "zed-util",
]
[[package]]
@@ -16605,7 +17135,7 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"bytes 1.10.1",
"futures-core",
"futures-util",
@@ -16618,6 +17148,24 @@ dependencies = [
"tracing",
]
+[[package]]
+name = "tower-http"
+version = "0.6.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
+dependencies = [
+ "bitflags 2.9.4",
+ "bytes 1.10.1",
+ "futures-util",
+ "http 1.3.1",
+ "http-body 1.0.1",
+ "iri-string",
+ "pin-project-lite",
+ "tower 0.5.2",
+ "tower-layer",
+ "tower-service",
+]
+
[[package]]
name = "tower-layer"
version = "0.3.3"
@@ -16632,9 +17180,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "tracing"
-version = "0.1.41"
+version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
+checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647"
dependencies = [
"log",
"pin-project-lite",
@@ -16644,20 +17192,20 @@ dependencies = [
[[package]]
name = "tracing-attributes"
-version = "0.1.28"
+version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
+checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "tracing-core"
-version = "0.1.33"
+version = "0.1.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
+checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c"
dependencies = [
"once_cell",
"valuable",
@@ -16686,9 +17234,9 @@ dependencies = [
[[package]]
name = "tracing-subscriber"
-version = "0.3.20"
+version = "0.3.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
+checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e"
dependencies = [
"matchers",
"nu-ansi-term",
@@ -16705,6 +17253,38 @@ dependencies = [
"tracing-serde",
]
+[[package]]
+name = "tracing-tracy"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eaa1852afa96e0fe9e44caa53dc0bd2d9d05e0f2611ce09f97f8677af56e4ba"
+dependencies = [
+ "tracing-core",
+ "tracing-subscriber",
+ "tracy-client",
+]
+
+[[package]]
+name = "tracy-client"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91d722a05fe49b31fef971c4732a7d4aa6a18283d9ba46abddab35f484872947"
+dependencies = [
+ "loom",
+ "once_cell",
+ "tracy-client-sys",
+]
+
+[[package]]
+name = "tracy-client-sys"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fb391ac70462b3097a755618fbf9c8f95ecc1eb379a414f7b46f202ed10db1f"
+dependencies = [
+ "cc",
+ "windows-targets 0.52.6",
+]
+
[[package]]
name = "trait-variant"
version = "0.1.2"
@@ -16713,7 +17293,7 @@ checksum = "70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -16743,9 +17323,9 @@ dependencies = [
[[package]]
name = "tree-sitter-bash"
-version = "0.25.0"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "871b0606e667e98a1237ebdc1b0d7056e0aebfdc3141d12b399865d4cb6ed8a6"
+checksum = "9e5ec769279cc91b561d3df0d8a5deb26b0ad40d183127f409494d6d8fc53062"
dependencies = [
"cc",
"tree-sitter-language",
@@ -16832,7 +17412,7 @@ dependencies = [
[[package]]
name = "tree-sitter-gomod"
version = "1.1.1"
-source = "git+https://github.com/camdencheek/tree-sitter-go-mod?rev=6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c#6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c"
+source = "git+https://github.com/camdencheek/tree-sitter-go-mod?rev=2e886870578eeba1927a2dc4bd2e2b3f598c5f9a#2e886870578eeba1927a2dc4bd2e2b3f598c5f9a"
dependencies = [
"cc",
"tree-sitter-language",
@@ -16944,8 +17524,7 @@ dependencies = [
[[package]]
name = "tree-sitter-typescript"
version = "0.23.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c5f76ed8d947a75cc446d5fccd8b602ebf0cde64ccf2ffa434d873d7a575eff"
+source = "git+https://github.com/zed-industries/tree-sitter-typescript?rev=e2c53597d6a5d9cf7bbe8dccde576fe1e46c5899#e2c53597d6a5d9cf7bbe8dccde576fe1e46c5899"
dependencies = [
"cc",
"tree-sitter-language",
@@ -17036,11 +17615,30 @@ dependencies = [
"http 1.3.1",
"httparse",
"log",
- "rand 0.9.1",
- "rustls 0.23.26",
+ "rand 0.9.2",
+ "rustls 0.23.33",
"rustls-pki-types",
"sha1",
- "thiserror 2.0.12",
+ "thiserror 2.0.17",
+ "utf-8",
+]
+
+[[package]]
+name = "tungstenite"
+version = "0.27.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d"
+dependencies = [
+ "bytes 1.10.1",
+ "data-encoding",
+ "http 1.3.1",
+ "httparse",
+ "log",
+ "rand 0.9.2",
+ "rustls 0.23.33",
+ "rustls-pki-types",
+ "sha1",
+ "thiserror 2.0.17",
"utf-8",
]
@@ -17058,9 +17656,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"
[[package]]
name = "typenum"
-version = "1.18.0"
+version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
+checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
[[package]]
name = "ucd-trie"
@@ -17106,7 +17704,7 @@ dependencies = [
"serde",
"thiserror 1.0.69",
"tracing",
- "yoke",
+ "yoke 0.7.5",
]
[[package]]
@@ -17117,21 +17715,20 @@ dependencies = [
"component",
"documented",
"gpui",
- "gpui-macros",
+ "gpui_macros",
"icons",
"itertools 0.14.0",
"menu",
- "schemars 1.0.1",
+ "schemars",
"serde",
"settings",
"smallvec",
"story",
- "strum 0.27.1",
+ "strum 0.27.2",
"theme",
"ui_macros",
- "windows 0.61.1",
- "workspace-hack",
- "zed-util",
+ "util",
+ "windows 0.61.3",
]
[[package]]
@@ -17140,14 +17737,11 @@ version = "0.1.0"
dependencies = [
"component",
"editor",
- "fuzzy",
"gpui",
"menu",
- "picker",
"settings",
"theme",
"ui",
- "workspace-hack",
]
[[package]]
@@ -17156,9 +17750,8 @@ version = "0.1.0"
dependencies = [
"component",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"ui",
- "workspace-hack",
]
[[package]]
@@ -17172,7 +17765,6 @@ dependencies = [
"theme",
"ui",
"workspace",
- "workspace-hack",
]
[[package]]
@@ -17212,10 +17804,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e"
[[package]]
-name = "unicode-ident"
-version = "1.0.18"
+name = "unicode-general-category"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
[[package]]
name = "unicode-linebreak"
@@ -17258,9 +17856,9 @@ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
[[package]]
name = "unicode-width"
-version = "0.2.0"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
[[package]]
name = "unicode-xid"
@@ -17280,6 +17878,18 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
+[[package]]
+name = "unsafe-libyaml"
+version = "0.2.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
[[package]]
name = "untrusted"
version = "0.9.0"
@@ -17288,9 +17898,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "url"
-version = "2.5.4"
+version = "2.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
+checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b"
dependencies = [
"form_urlencoded",
"idna",
@@ -17337,12 +17947,6 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-[[package]]
-name = "utf16_iter"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
-
[[package]]
name = "utf8_iter"
version = "1.0.4"
@@ -17356,14 +17960,65 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
-name = "uuid"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
+name = "util"
+version = "0.1.0"
dependencies = [
- "getrandom 0.3.2",
+ "anyhow",
+ "async-fs",
+ "async_zip",
+ "collections",
+ "command-fds",
+ "dirs 4.0.0",
+ "dunce",
+ "futures 0.3.31",
+ "futures-lite 1.13.0",
+ "git2",
+ "globset",
+ "indoc",
+ "itertools 0.14.0",
+ "libc",
+ "log",
+ "mach2 0.5.0",
+ "nix 0.29.0",
+ "pretty_assertions",
+ "rand 0.9.2",
+ "regex",
+ "rust-embed",
+ "schemars",
+ "serde",
+ "serde_json",
+ "serde_json_lenient",
+ "shlex",
+ "smol",
+ "take-until",
+ "tempfile",
+ "tendril",
+ "unicase",
+ "util_macros",
+ "walkdir",
+ "which 6.0.3",
+]
+
+[[package]]
+name = "util_macros"
+version = "0.1.0"
+dependencies = [
+ "perf",
+ "quote",
+ "syn 2.0.106",
+]
+
+[[package]]
+name = "uuid"
+version = "1.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2"
+dependencies = [
+ "getrandom 0.3.4",
+ "js-sys",
"serde",
"sha1_smol",
+ "wasm-bindgen",
]
[[package]]
@@ -17373,15 +18028,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23b082222b4f6619906941c17eb2297fff4c2fb96cb60164170522942a200bd8"
dependencies = [
"outref",
- "uuid",
"vsimd",
]
[[package]]
name = "v_frame"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b"
+checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2"
dependencies = [
"aligned-vec",
"num-traits",
@@ -17441,10 +18095,9 @@ name = "vercel"
version = "0.1.0"
dependencies = [
"anyhow",
- "schemars 1.0.1",
+ "schemars",
"serde",
- "strum 0.27.1",
- "workspace-hack",
+ "strum 0.27.2",
]
[[package]]
@@ -17467,12 +18120,14 @@ dependencies = [
"assets",
"async-compat",
"async-trait",
+ "collections",
"command_palette",
"command_palette_hooks",
"db",
"editor",
"env_logger 0.11.8",
"futures 0.3.31",
+ "fuzzy",
"git_ui",
"gpui",
"indoc",
@@ -17480,32 +18135,34 @@ dependencies = [
"language",
"log",
"lsp",
+ "markdown_preview",
"menu",
"multi_buffer",
"nvim-rs",
+ "outline_panel",
"parking_lot",
+ "perf",
"picker",
"project",
"project_panel",
"regex",
"release_channel",
- "schemars 1.0.1",
+ "schemars",
"search",
+ "semver",
"serde",
"serde_json",
"settings",
+ "settings_ui",
"task",
"text",
"theme",
"tokio",
"ui",
+ "util",
+ "util_macros",
"vim_mode_setting",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-perf",
- "zed-util",
- "zed-util-macros",
"zed_actions",
]
@@ -17513,9 +18170,7 @@ dependencies = [
name = "vim_mode_setting"
version = "0.1.0"
dependencies = [
- "gpui",
"settings",
- "workspace-hack",
]
[[package]]
@@ -17560,7 +18215,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5924018406ce0063cd67f8e008104968b74b563ee1b85dde3ed1f7cb87d3dbd"
dependencies = [
"arrayvec",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"cursor-icon",
"log",
"memchr",
@@ -17622,17 +18277,17 @@ dependencies = [
[[package]]
name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
+version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
-name = "wasi"
-version = "0.14.2+wasi-0.2.4"
+name = "wasip2"
+version = "1.0.1+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
+checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
dependencies = [
- "wit-bindgen-rt 0.39.0",
+ "wit-bindgen 0.46.0",
]
[[package]]
@@ -17643,35 +18298,36 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
[[package]]
name = "wasm-bindgen"
-version = "0.2.100"
+version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
+checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d"
dependencies = [
"cfg-if",
"once_cell",
"rustversion",
"wasm-bindgen-macro",
+ "wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.100"
+version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
+checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19"
dependencies = [
"bumpalo",
"log",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.50"
+version = "0.4.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
+checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c"
dependencies = [
"cfg-if",
"js-sys",
@@ -17682,9 +18338,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.100"
+version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
+checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -17692,22 +18348,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.100"
+version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
+checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.100"
+version = "0.2.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
+checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1"
dependencies = [
"unicode-ident",
]
@@ -17748,7 +18404,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fd83062c17b9f4985d438603cde0a5e8c5c8198201a6937f778b607924c7da2"
dependencies = [
"anyhow",
- "indexmap 2.9.0",
+ "indexmap",
"serde",
"serde_derive",
"serde_json",
@@ -17766,7 +18422,7 @@ dependencies = [
"anyhow",
"auditable-serde",
"flate2",
- "indexmap 2.9.0",
+ "indexmap",
"serde",
"serde_derive",
"serde_json",
@@ -17795,8 +18451,8 @@ version = "0.201.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84e5df6dba6c0d7fafc63a450f1738451ed7a0b52295d83e868218fa286bf708"
dependencies = [
- "bitflags 2.9.0",
- "indexmap 2.9.0",
+ "bitflags 2.9.4",
+ "indexmap",
"semver",
]
@@ -17806,9 +18462,9 @@ version = "0.221.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d06bfa36ab3ac2be0dee563380147a5b81ba10dd8885d7fbbc9eb574be67d185"
dependencies = [
- "bitflags 2.9.0",
- "hashbrown 0.15.3",
- "indexmap 2.9.0",
+ "bitflags 2.9.4",
+ "hashbrown 0.15.5",
+ "indexmap",
"semver",
"serde",
]
@@ -17819,9 +18475,9 @@ version = "0.227.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f51cad774fb3c9461ab9bccc9c62dfb7388397b5deda31bf40e8108ccd678b2"
dependencies = [
- "bitflags 2.9.0",
- "hashbrown 0.15.3",
- "indexmap 2.9.0",
+ "bitflags 2.9.4",
+ "hashbrown 0.15.5",
+ "indexmap",
"semver",
]
@@ -17844,18 +18500,18 @@ checksum = "11976a250672556d1c4c04c6d5d7656ac9192ac9edc42a4587d6c21460010e69"
dependencies = [
"anyhow",
"async-trait",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"bumpalo",
"cc",
"cfg-if",
"encoding_rs",
"hashbrown 0.14.5",
- "indexmap 2.9.0",
+ "indexmap",
"libc",
"log",
- "mach2 0.4.2",
+ "mach2 0.4.3",
"memfd",
- "object",
+ "object 0.36.7",
"once_cell",
"paste",
"postcard",
@@ -17868,7 +18524,7 @@ dependencies = [
"serde_derive",
"smallvec",
"sptr",
- "target-lexicon 0.13.2",
+ "target-lexicon 0.13.3",
"trait-variant",
"wasmparser 0.221.3",
"wasmtime-asm-macros",
@@ -17926,7 +18582,7 @@ dependencies = [
"anyhow",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"wasmtime-component-util",
"wasmtime-wit-bindgen",
"wit-parser 0.221.3",
@@ -17951,12 +18607,12 @@ dependencies = [
"cranelift-entity",
"cranelift-frontend",
"cranelift-native",
- "gimli",
+ "gimli 0.31.1",
"itertools 0.12.1",
"log",
- "object",
+ "object 0.36.7",
"smallvec",
- "target-lexicon 0.13.2",
+ "target-lexicon 0.13.3",
"thiserror 1.0.69",
"wasmparser 0.221.3",
"wasmtime-environ",
@@ -17973,17 +18629,17 @@ dependencies = [
"cpp_demangle",
"cranelift-bitset",
"cranelift-entity",
- "gimli",
- "indexmap 2.9.0",
+ "gimli 0.31.1",
+ "indexmap",
"log",
- "object",
+ "object 0.36.7",
"postcard",
"rustc-demangle",
"semver",
"serde",
"serde_derive",
"smallvec",
- "target-lexicon 0.13.2",
+ "target-lexicon 0.13.3",
"wasm-encoder 0.221.3",
"wasmparser 0.221.3",
"wasmprinter",
@@ -18040,7 +18696,7 @@ checksum = "86ff86db216dc0240462de40c8290887a613dddf9685508eb39479037ba97b5b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -18051,7 +18707,7 @@ checksum = "8d1be69bfcab1bdac74daa7a1f9695ab992b9c8e21b9b061e7d66434097e0ca4"
dependencies = [
"anyhow",
"async-trait",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"bytes 1.10.1",
"cap-fs-ext",
"cap-net-ext",
@@ -18082,9 +18738,9 @@ checksum = "fdbabfb8f20502d5e1d81092b9ead3682ae59988487aafcd7567387b7a43cf8f"
dependencies = [
"anyhow",
"cranelift-codegen",
- "gimli",
- "object",
- "target-lexicon 0.13.2",
+ "gimli 0.31.1",
+ "object 0.36.7",
+ "target-lexicon 0.13.3",
"wasmparser 0.221.3",
"wasmtime-cranelift",
"wasmtime-environ",
@@ -18099,7 +18755,7 @@ checksum = "8358319c2dd1e4db79e3c1c5d3a5af84956615343f9f89f4e4996a36816e06e6"
dependencies = [
"anyhow",
"heck 0.5.0",
- "indexmap 2.9.0",
+ "indexmap",
"wit-parser 0.221.3",
]
@@ -18120,20 +18776,34 @@ dependencies = [
"futures 0.3.31",
"gpui",
"parking_lot",
- "rand 0.9.1",
- "workspace-hack",
+ "rand 0.9.2",
"zlog",
]
[[package]]
-name = "wayland-backend"
-version = "0.3.8"
+name = "wax"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7208998eaa3870dad37ec8836979581506e0c5c64c20c9e79e9d2a10d6f47bf"
+checksum = "8d12a78aa0bab22d2f26ed1a96df7ab58e8a93506a3e20adb47c51a93b4e1357"
+dependencies = [
+ "const_format",
+ "itertools 0.11.0",
+ "nom 7.1.3",
+ "pori",
+ "regex",
+ "thiserror 1.0.69",
+ "walkdir",
+]
+
+[[package]]
+name = "wayland-backend"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35"
dependencies = [
"cc",
"downcast-rs",
- "rustix 0.38.44",
+ "rustix 1.1.2",
"scoped-tls",
"smallvec",
"wayland-sys",
@@ -18141,23 +18811,23 @@ dependencies = [
[[package]]
name = "wayland-client"
-version = "0.31.8"
+version = "0.31.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2120de3d33638aaef5b9f4472bff75f07c56379cf76ea320bd3a3d65ecaf73f"
+checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d"
dependencies = [
- "bitflags 2.9.0",
- "rustix 0.38.44",
+ "bitflags 2.9.4",
+ "rustix 1.1.2",
"wayland-backend",
"wayland-scanner",
]
[[package]]
name = "wayland-cursor"
-version = "0.31.8"
+version = "0.31.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a93029cbb6650748881a00e4922b076092a6a08c11e7fbdb923f064b23968c5d"
+checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29"
dependencies = [
- "rustix 0.38.44",
+ "rustix 1.1.2",
"wayland-client",
"xcursor",
]
@@ -18168,7 +18838,7 @@ version = "0.31.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"wayland-backend",
"wayland-client",
"wayland-scanner",
@@ -18176,11 +18846,11 @@ dependencies = [
[[package]]
name = "wayland-protocols"
-version = "0.32.6"
+version = "0.32.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0781cf46869b37e36928f7b432273c0995aa8aed9552c556fb18754420541efc"
+checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"wayland-backend",
"wayland-client",
"wayland-scanner",
@@ -18192,7 +18862,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"wayland-backend",
"wayland-client",
"wayland-protocols 0.31.2",
@@ -18200,21 +18870,34 @@ dependencies = [
]
[[package]]
-name = "wayland-scanner"
-version = "0.31.6"
+name = "wayland-protocols-wlr"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484"
+checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec"
+dependencies = [
+ "bitflags 2.9.4",
+ "wayland-backend",
+ "wayland-client",
+ "wayland-protocols 0.32.9",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-scanner"
+version = "0.31.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3"
dependencies = [
"proc-macro2",
- "quick-xml 0.37.4",
+ "quick-xml 0.37.5",
"quote",
]
[[package]]
name = "wayland-sys"
-version = "0.31.6"
+version = "0.31.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615"
+checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142"
dependencies = [
"dlib",
"log",
@@ -18224,9 +18907,9 @@ dependencies = [
[[package]]
name = "web-sys"
-version = "0.3.77"
+version = "0.3.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
+checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -18244,11 +18927,11 @@ dependencies = [
[[package]]
name = "web_atoms"
-version = "0.1.0"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "954c5a41f2bcb7314344079d0891505458cc2f4b422bdea1d5bfbe6d1a04903b"
+checksum = "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414"
dependencies = [
- "phf",
+ "phf 0.11.3",
"phf_codegen",
"string_cache",
"string_cache_codegen",
@@ -18260,10 +18943,9 @@ version = "0.1.0"
dependencies = [
"anyhow",
"cloud_llm_client",
+ "collections",
"gpui",
"serde",
- "workspace-hack",
- "zed-collections",
]
[[package]]
@@ -18275,12 +18957,11 @@ dependencies = [
"cloud_llm_client",
"futures 0.3.31",
"gpui",
+ "http_client",
"language_model",
"serde",
"serde_json",
"web_search",
- "workspace-hack",
- "zed-http-client",
]
[[package]]
@@ -18329,9 +19010,9 @@ dependencies = [
[[package]]
name = "weezl"
-version = "0.1.8"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
[[package]]
name = "which"
@@ -18359,11 +19040,11 @@ dependencies = [
[[package]]
name = "whoami"
-version = "1.6.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7"
+checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d"
dependencies = [
- "redox_syscall 0.5.11",
+ "libredox",
"wasite",
]
@@ -18375,7 +19056,7 @@ checksum = "4b9af35bc9629c52c261465320a9a07959164928b4241980ba1cf923b9e6751d"
dependencies = [
"anyhow",
"async-trait",
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"thiserror 1.0.69",
"tracing",
"wasmtime",
@@ -18393,7 +19074,7 @@ dependencies = [
"proc-macro2",
"quote",
"shellexpand 2.1.2",
- "syn 2.0.101",
+ "syn 2.0.106",
"witx",
]
@@ -18405,7 +19086,7 @@ checksum = "08c5c473d4198e6c2d377f3809f713ff0c110cab88a0805ae099a82119ee250c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"wiggle-generate",
]
@@ -18427,11 +19108,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
-version = "0.1.9"
+version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -18448,10 +19129,10 @@ checksum = "2f849ef2c5f46cb0a20af4b4487aaa239846e52e2c03f13fa3c784684552859c"
dependencies = [
"anyhow",
"cranelift-codegen",
- "gimli",
+ "gimli 0.31.1",
"regalloc2",
"smallvec",
- "target-lexicon 0.13.2",
+ "target-lexicon 0.13.3",
"thiserror 1.0.69",
"wasmparser 0.221.3",
"wasmtime-cranelift",
@@ -18490,14 +19171,14 @@ dependencies = [
[[package]]
name = "windows"
-version = "0.61.1"
+version = "0.61.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419"
+checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
dependencies = [
"windows-collections",
- "windows-core 0.61.0",
+ "windows-core 0.61.2",
"windows-future",
- "windows-link 0.1.1",
+ "windows-link 0.1.3",
"windows-numerics",
]
@@ -18510,8 +19191,8 @@ dependencies = [
"ctrlc",
"parking_lot",
"rayon",
- "thiserror 2.0.12",
- "windows 0.61.1",
+ "thiserror 2.0.17",
+ "windows 0.61.3",
"windows-future",
]
@@ -18521,7 +19202,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
dependencies = [
- "windows-core 0.61.0",
+ "windows-core 0.61.2",
]
[[package]]
@@ -18561,25 +19242,39 @@ dependencies = [
[[package]]
name = "windows-core"
-version = "0.61.0"
+version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980"
+checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
dependencies = [
- "windows-implement 0.60.0",
- "windows-interface 0.59.1",
- "windows-link 0.1.1",
- "windows-result 0.3.2",
- "windows-strings 0.4.0",
+ "windows-implement 0.60.2",
+ "windows-interface 0.59.3",
+ "windows-link 0.1.3",
+ "windows-result 0.3.4",
+ "windows-strings 0.4.2",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.62.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
+dependencies = [
+ "windows-implement 0.60.2",
+ "windows-interface 0.59.3",
+ "windows-link 0.2.1",
+ "windows-result 0.4.1",
+ "windows-strings 0.5.1",
]
[[package]]
name = "windows-future"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a1d6bbefcb7b60acd19828e1bc965da6fcf18a7e39490c5f8be71e54a19ba32"
+checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
dependencies = [
- "windows-core 0.61.0",
- "windows-link 0.1.1",
+ "windows-core 0.61.2",
+ "windows-link 0.1.3",
+ "windows-threading",
]
[[package]]
@@ -18590,7 +19285,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -18601,18 +19296,18 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "windows-implement"
-version = "0.60.0"
+version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
+checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -18623,7 +19318,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -18634,31 +19329,31 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "windows-interface"
-version = "0.59.1"
+version = "0.59.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
+checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
name = "windows-link"
-version = "0.1.1"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
+checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
[[package]]
name = "windows-link"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
+checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-numerics"
@@ -18666,8 +19361,8 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
dependencies = [
- "windows-core 0.61.0",
- "windows-link 0.1.1",
+ "windows-core 0.61.2",
+ "windows-link 0.1.3",
]
[[package]]
@@ -18676,31 +19371,31 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3"
dependencies = [
- "windows-result 0.3.2",
+ "windows-result 0.3.4",
"windows-strings 0.3.1",
- "windows-targets 0.53.2",
+ "windows-targets 0.53.5",
]
[[package]]
name = "windows-registry"
-version = "0.5.1"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad1da3e436dc7653dfdf3da67332e22bff09bb0e28b0239e1624499c7830842e"
+checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e"
dependencies = [
- "windows-link 0.1.1",
- "windows-result 0.3.2",
- "windows-strings 0.4.0",
+ "windows-link 0.1.3",
+ "windows-result 0.3.4",
+ "windows-strings 0.4.2",
]
[[package]]
name = "windows-registry"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f91f87ce112ffb7275000ea98eb1940912c21c1567c9312fde20261f3eadd29"
+checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720"
dependencies = [
- "windows-link 0.2.0",
- "windows-result 0.4.0",
- "windows-strings 0.5.0",
+ "windows-link 0.2.1",
+ "windows-result 0.4.1",
+ "windows-strings 0.5.1",
]
[[package]]
@@ -18723,20 +19418,20 @@ dependencies = [
[[package]]
name = "windows-result"
-version = "0.3.2"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252"
+checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
- "windows-link 0.1.1",
+ "windows-link 0.1.3",
]
[[package]]
name = "windows-result"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f"
+checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
dependencies = [
- "windows-link 0.2.0",
+ "windows-link 0.2.1",
]
[[package]]
@@ -18755,25 +19450,25 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
dependencies = [
- "windows-link 0.1.1",
+ "windows-link 0.1.3",
]
[[package]]
name = "windows-strings"
-version = "0.4.0"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97"
+checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
dependencies = [
- "windows-link 0.1.1",
+ "windows-link 0.1.3",
]
[[package]]
name = "windows-strings"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda"
+checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
dependencies = [
- "windows-link 0.2.0",
+ "windows-link 0.2.1",
]
[[package]]
@@ -18818,16 +19513,16 @@ version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
dependencies = [
- "windows-targets 0.53.2",
+ "windows-targets 0.53.5",
]
[[package]]
name = "windows-sys"
-version = "0.61.0"
+version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa"
+checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
- "windows-link 0.2.0",
+ "windows-link 0.2.1",
]
[[package]]
@@ -18878,18 +19573,28 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.53.2"
+version = "0.53.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
+checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
dependencies = [
- "windows_aarch64_gnullvm 0.53.0",
- "windows_aarch64_msvc 0.53.0",
- "windows_i686_gnu 0.53.0",
- "windows_i686_gnullvm 0.53.0",
- "windows_i686_msvc 0.53.0",
- "windows_x86_64_gnu 0.53.0",
- "windows_x86_64_gnullvm 0.53.0",
- "windows_x86_64_msvc 0.53.0",
+ "windows-link 0.2.1",
+ "windows_aarch64_gnullvm 0.53.1",
+ "windows_aarch64_msvc 0.53.1",
+ "windows_i686_gnu 0.53.1",
+ "windows_i686_gnullvm 0.53.1",
+ "windows_i686_msvc 0.53.1",
+ "windows_x86_64_gnu 0.53.1",
+ "windows_x86_64_gnullvm 0.53.1",
+ "windows_x86_64_msvc 0.53.1",
+]
+
+[[package]]
+name = "windows-threading"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
+dependencies = [
+ "windows-link 0.1.3",
]
[[package]]
@@ -18912,9 +19617,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
+checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
[[package]]
name = "windows_aarch64_msvc"
@@ -18936,9 +19641,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
+checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
[[package]]
name = "windows_i686_gnu"
@@ -18960,9 +19665,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnu"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
+checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
[[package]]
name = "windows_i686_gnullvm"
@@ -18972,9 +19677,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_gnullvm"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
+checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
[[package]]
name = "windows_i686_msvc"
@@ -18996,9 +19701,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_i686_msvc"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
+checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
[[package]]
name = "windows_x86_64_gnu"
@@ -19020,9 +19725,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
+checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
[[package]]
name = "windows_x86_64_gnullvm"
@@ -19044,9 +19749,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
+checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
[[package]]
name = "windows_x86_64_msvc"
@@ -19068,15 +19773,15 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
+checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "winnow"
-version = "0.7.6"
+version = "0.7.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10"
+checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf"
dependencies = [
"memchr",
]
@@ -19100,16 +19805,6 @@ dependencies = [
"windows-sys 0.48.0",
]
-[[package]]
-name = "winreg"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
-dependencies = [
- "cfg-if",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "winreg"
version = "0.55.0"
@@ -19122,11 +19817,11 @@ dependencies = [
[[package]]
name = "winresource"
-version = "0.1.20"
+version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba4a67c78ee5782c0c1cb41bebc7e12c6e79644daa1650ebbc1de5d5b08593f7"
+checksum = "edcacf11b6f48dd21b9ba002f991bdd5de29b2da8cc2800412f4b80f677e4957"
dependencies = [
- "toml 0.8.20",
+ "toml 0.8.23",
"version_check",
]
@@ -19142,7 +19837,7 @@ version = "0.36.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f3fd376f71958b862e7afb20cfe5a22830e1963462f3a17f49d82a6c1d1f42d"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"windows-sys 0.59.0",
]
@@ -19161,7 +19856,7 @@ version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "288f992ea30e6b5c531b52cdd5f3be81c148554b09ea416f058d16556ba92c27"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"wit-bindgen-rt 0.22.0",
"wit-bindgen-rust-macro 0.22.0",
]
@@ -19176,6 +19871,12 @@ dependencies = [
"wit-bindgen-rust-macro 0.41.0",
]
+[[package]]
+name = "wit-bindgen"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
+
[[package]]
name = "wit-bindgen-core"
version = "0.22.0"
@@ -19203,22 +19904,13 @@ version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb8738270f32a2d6739973cbbb7c1b6dd8959ce515578a6e19165853272ee64"
-[[package]]
-name = "wit-bindgen-rt"
-version = "0.39.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
-dependencies = [
- "bitflags 2.9.0",
-]
-
[[package]]
name = "wit-bindgen-rt"
version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4db52a11d4dfb0a59f194c064055794ee6564eb1ced88c25da2cf76e50c5621"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"futures 0.3.31",
"once_cell",
]
@@ -19231,7 +19923,7 @@ checksum = "d8a39a15d1ae2077688213611209849cad40e9e5cccf6e61951a425850677ff3"
dependencies = [
"anyhow",
"heck 0.4.1",
- "indexmap 2.9.0",
+ "indexmap",
"wasm-metadata 0.201.0",
"wit-bindgen-core 0.22.0",
"wit-component 0.201.0",
@@ -19245,9 +19937,9 @@ checksum = "9d0809dc5ba19e2e98661bf32fc0addc5a3ca5bf3a6a7083aa6ba484085ff3ce"
dependencies = [
"anyhow",
"heck 0.5.0",
- "indexmap 2.9.0",
+ "indexmap",
"prettyplease",
- "syn 2.0.101",
+ "syn 2.0.106",
"wasm-metadata 0.227.1",
"wit-bindgen-core 0.41.0",
"wit-component 0.227.1",
@@ -19262,7 +19954,7 @@ dependencies = [
"anyhow",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"wit-bindgen-core 0.22.0",
"wit-bindgen-rust 0.22.0",
]
@@ -19277,7 +19969,7 @@ dependencies = [
"prettyplease",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"wit-bindgen-core 0.41.0",
"wit-bindgen-rust 0.41.0",
]
@@ -19289,8 +19981,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "421c0c848a0660a8c22e2fd217929a0191f14476b68962afd2af89fd22e39825"
dependencies = [
"anyhow",
- "bitflags 2.9.0",
- "indexmap 2.9.0",
+ "bitflags 2.9.4",
+ "indexmap",
"log",
"serde",
"serde_derive",
@@ -19308,8 +20000,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "635c3adc595422cbf2341a17fb73a319669cc8d33deed3a48368a841df86b676"
dependencies = [
"anyhow",
- "bitflags 2.9.0",
- "indexmap 2.9.0",
+ "bitflags 2.9.4",
+ "indexmap",
"log",
"serde",
"serde_derive",
@@ -19328,7 +20020,7 @@ checksum = "196d3ecfc4b759a8573bf86a9b3f8996b304b3732e4c7de81655f875f6efdca6"
dependencies = [
"anyhow",
"id-arena",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"semver",
"serde",
@@ -19346,7 +20038,7 @@ checksum = "896112579ed56b4a538b07a3d16e562d101ff6265c46b515ce0c701eef16b2ac"
dependencies = [
"anyhow",
"id-arena",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"semver",
"serde",
@@ -19364,7 +20056,7 @@ checksum = "ddf445ed5157046e4baf56f9138c124a0824d4d1657e7204d71886ad8ce2fc11"
dependencies = [
"anyhow",
"id-arena",
- "indexmap 2.9.0",
+ "indexmap",
"log",
"semver",
"serde",
@@ -19396,12 +20088,15 @@ dependencies = [
"call",
"client",
"clock",
+ "collections",
"component",
"dap",
"db",
+ "feature_flags",
"fs",
"futures 0.3.31",
"gpui",
+ "http_client",
"itertools 0.14.0",
"language",
"log",
@@ -19412,237 +20107,41 @@ dependencies = [
"pretty_assertions",
"project",
"remote",
- "schemars 1.0.1",
+ "schemars",
"serde",
"serde_json",
"session",
"settings",
"smallvec",
"sqlez",
- "strum 0.27.1",
+ "strum 0.27.2",
"task",
"telemetry",
"tempfile",
"theme",
"ui",
+ "util",
"uuid",
- "windows 0.61.1",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-util",
+ "windows 0.61.3",
"zed_actions",
"zlog",
]
-[[package]]
-name = "workspace-hack"
-version = "0.1.0"
-dependencies = [
- "aes",
- "ahash 0.8.11",
- "aho-corasick",
- "anstream",
- "arrayvec",
- "ashpd 0.11.0",
- "async-compression",
- "async-std",
- "async-tungstenite",
- "aws-config",
- "aws-credential-types",
- "aws-runtime",
- "aws-sigv4",
- "aws-smithy-async",
- "aws-smithy-http",
- "aws-smithy-runtime",
- "aws-smithy-runtime-api",
- "aws-smithy-types",
- "base64 0.22.1",
- "base64ct",
- "bigdecimal",
- "bit-set 0.8.0",
- "bit-vec 0.8.0",
- "bitflags 2.9.0",
- "bstr",
- "bytemuck",
- "byteorder",
- "bytes 1.10.1",
- "cc",
- "chrono",
- "cipher",
- "clap",
- "clap_builder",
- "codespan-reporting",
- "concurrent-queue",
- "core-foundation 0.9.4",
- "core-foundation-sys",
- "cranelift-codegen",
- "crossbeam-channel",
- "crossbeam-epoch",
- "crossbeam-utils",
- "crypto-common",
- "deranged",
- "digest",
- "either",
- "euclid",
- "event-listener 5.4.0",
- "event-listener-strategy",
- "flate2",
- "flume",
- "foldhash",
- "form_urlencoded",
- "futures 0.3.31",
- "futures-channel",
- "futures-core",
- "futures-executor",
- "futures-io",
- "futures-sink",
- "futures-task",
- "futures-util",
- "getrandom 0.2.15",
- "getrandom 0.3.2",
- "gimli",
- "half",
- "handlebars 4.5.0",
- "hashbrown 0.14.5",
- "hashbrown 0.15.3",
- "heck 0.4.1",
- "hmac",
- "hyper 0.14.32",
- "hyper-rustls 0.27.5",
- "idna",
- "indexmap 2.9.0",
- "inout",
- "itertools 0.12.1",
- "itertools 0.13.0",
- "lazy_static",
- "libc",
- "libsqlite3-sys",
- "linux-raw-sys 0.4.15",
- "linux-raw-sys 0.9.4",
- "livekit-runtime",
- "log",
- "lyon",
- "lyon_path",
- "md-5",
- "memchr",
- "memmap2",
- "mime_guess",
- "miniz_oxide",
- "mio 1.0.3",
- "naga",
- "nix 0.28.0",
- "nix 0.29.0",
- "nix 0.30.1",
- "nom 7.1.3",
- "num-bigint",
- "num-bigint-dig",
- "num-complex",
- "num-integer",
- "num-iter",
- "num-rational",
- "num-traits",
- "objc2",
- "objc2-core-foundation",
- "objc2-foundation",
- "objc2-metal",
- "object",
- "once_cell",
- "percent-encoding",
- "phf",
- "phf_shared",
- "prettyplease",
- "proc-macro2",
- "prost 0.12.6",
- "prost 0.9.0",
- "prost-types 0.9.0",
- "quote",
- "rand 0.8.5",
- "rand 0.9.1",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
- "rand_distr",
- "regalloc2",
- "regex",
- "regex-automata",
- "regex-syntax",
- "ring",
- "rust_decimal",
- "rustc-hash 1.1.0",
- "rustix 0.38.44",
- "rustix 1.0.7",
- "rustls 0.23.26",
- "rustls-webpki 0.103.1",
- "scopeguard",
- "sea-orm",
- "sea-query-binder",
- "security-framework 3.2.0",
- "security-framework-sys",
- "semver",
- "serde",
- "serde_core",
- "serde_json",
- "simd-adler32",
- "smallvec",
- "spin",
- "sqlx",
- "sqlx-macros",
- "sqlx-macros-core",
- "sqlx-postgres",
- "sqlx-sqlite",
- "stable_deref_trait",
- "strum 0.26.3",
- "subtle",
- "syn 1.0.109",
- "syn 2.0.101",
- "sync_wrapper 1.0.2",
- "thiserror 2.0.12",
- "time",
- "time-macros",
- "tokio",
- "tokio-rustls 0.26.2",
- "tokio-socks",
- "tokio-stream",
- "tokio-util",
- "toml_datetime",
- "toml_edit",
- "tower 0.5.2",
- "tracing",
- "tracing-core",
- "tungstenite 0.26.2",
- "unicode-properties",
- "url",
- "uuid",
- "wasmparser 0.221.3",
- "wasmtime",
- "wasmtime-cranelift",
- "wasmtime-environ",
- "wayland-backend",
- "wayland-sys",
- "winapi",
- "windows-core 0.61.0",
- "windows-numerics",
- "windows-sys 0.48.0",
- "windows-sys 0.52.0",
- "windows-sys 0.59.0",
- "windows-sys 0.61.0",
- "zbus_macros",
- "zeroize",
- "zvariant",
-]
-
[[package]]
name = "worktree"
version = "0.1.0"
dependencies = [
"anyhow",
+ "async-lock 2.8.0",
"clock",
+ "collections",
"fs",
"futures 0.3.31",
"fuzzy",
"git",
"git2",
"gpui",
+ "http_client",
"ignore",
"language",
"log",
@@ -19650,33 +20149,24 @@ dependencies = [
"paths",
"postage",
"pretty_assertions",
- "rand 0.9.1",
+ "rand 0.9.2",
"rpc",
"serde",
"serde_json",
"settings",
"smallvec",
"smol",
+ "sum_tree",
"text",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
- "zed-sum-tree",
- "zed-util",
+ "util",
"zlog",
]
-[[package]]
-name = "write16"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
-
[[package]]
name = "writeable"
-version = "0.5.5"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
+checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
[[package]]
name = "wyz"
@@ -19709,32 +20199,32 @@ dependencies = [
[[package]]
name = "x11rb"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12"
+checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414"
dependencies = [
"as-raw-xcb-connection",
"gethostname",
"libc",
- "rustix 0.38.44",
+ "rustix 1.1.2",
"x11rb-protocol",
+ "xcursor",
]
[[package]]
name = "x11rb-protocol"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
+checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd"
[[package]]
name = "x_ai"
version = "0.1.0"
dependencies = [
"anyhow",
- "schemars 1.0.1",
+ "schemars",
"serde",
- "strum 0.27.1",
- "workspace-hack",
+ "strum 0.27.2",
]
[[package]]
@@ -19760,9 +20250,9 @@ dependencies = [
[[package]]
name = "xcursor"
-version = "0.3.8"
+version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61"
+checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b"
[[package]]
name = "xim-ctext"
@@ -19777,7 +20267,7 @@ name = "xim-parser"
version = "0.2.1"
source = "git+https://github.com/zed-industries/xim-rs.git?rev=16f35a2c881b815a2b6cdfd6687988e84f8447d8#16f35a2c881b815a2b6cdfd6687988e84f8447d8"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
]
[[package]]
@@ -19826,13 +20316,17 @@ name = "xtask"
version = "0.1.0"
dependencies = [
"anyhow",
+ "backtrace",
"cargo_metadata",
"cargo_toml",
"clap",
+ "gh-workflow",
+ "indexmap",
"indoc",
- "toml 0.8.20",
- "toml_edit",
- "workspace-hack",
+ "serde",
+ "serde_json",
+ "toml 0.8.23",
+ "toml_edit 0.22.27",
]
[[package]]
@@ -19863,7 +20357,7 @@ dependencies = [
"flate2",
"futures 0.3.31",
"http-body-util",
- "hyper 1.6.0",
+ "hyper 1.7.0",
"hyper-util",
"js-sys",
"nom 8.0.0",
@@ -19906,7 +20400,19 @@ checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
dependencies = [
"serde",
"stable_deref_trait",
- "yoke-derive",
+ "yoke-derive 0.7.5",
+ "zerofrom",
+]
+
+[[package]]
+name = "yoke"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
+dependencies = [
+ "serde",
+ "stable_deref_trait",
+ "yoke-derive 0.8.0",
"zerofrom",
]
@@ -19918,29 +20424,41 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
+ "synstructure",
+]
+
+[[package]]
+name = "yoke-derive"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.106",
"synstructure",
]
[[package]]
name = "zbus"
-version = "5.11.0"
+version = "5.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d07e46d035fb8e375b2ce63ba4e4ff90a7f73cf2ffb0138b29e1158d2eaadf7"
+checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91"
dependencies = [
"async-broadcast",
"async-executor",
"async-io",
- "async-lock",
+ "async-lock 3.4.1",
"async-process",
"async-recursion",
"async-task",
"async-trait",
"blocking",
"enumflags2",
- "event-listener 5.4.0",
+ "event-listener 5.4.1",
"futures-core",
- "futures-lite 2.6.0",
+ "futures-lite 2.6.1",
"hex",
"nix 0.30.1",
"ordered-stream",
@@ -19948,7 +20466,8 @@ dependencies = [
"serde_repr",
"tracing",
"uds_windows",
- "windows-sys 0.60.2",
+ "uuid",
+ "windows-sys 0.61.2",
"winnow",
"zbus_macros",
"zbus_names",
@@ -19957,14 +20476,14 @@ dependencies = [
[[package]]
name = "zbus_macros"
-version = "5.11.0"
+version = "5.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57e797a9c847ed3ccc5b6254e8bcce056494b375b511b3d6edcec0aeb4defaca"
+checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"zbus_names",
"zvariant",
"zvariant_utils",
@@ -19984,30 +20503,31 @@ dependencies = [
[[package]]
name = "zed"
-version = "0.208.0"
+version = "0.218.0"
dependencies = [
"acp_tools",
"activity_indicator",
- "agent",
"agent_settings",
"agent_ui",
+ "agent_ui_v2",
"anyhow",
"ashpd 0.11.0",
"askpass",
"assets",
- "assistant_tools",
"audio",
"auto_update",
"auto_update_ui",
- "backtrace",
"bincode",
"breadcrumbs",
"call",
"channel",
+ "chrono",
"clap",
"cli",
"client",
+ "codestral",
"collab_ui",
+ "collections",
"command_palette",
"component",
"copilot",
@@ -20019,7 +20539,8 @@ dependencies = [
"debugger_tools",
"debugger_ui",
"diagnostics",
- "edit_prediction_button",
+ "edit_prediction",
+ "edit_prediction_ui",
"editor",
"env_logger 0.11.8",
"extension",
@@ -20036,6 +20557,7 @@ dependencies = [
"go_to_line",
"gpui",
"gpui_tokio",
+ "http_client",
"image_viewer",
"inspector_ui",
"install_cli",
@@ -20058,8 +20580,8 @@ dependencies = [
"menu",
"migrator",
"mimalloc",
+ "miniprofiler_ui",
"nc",
- "nix 0.29.0",
"node_runtime",
"notifications",
"onboarding",
@@ -20075,6 +20597,7 @@ dependencies = [
"project_symbols",
"prompt_store",
"proto",
+ "rayon",
"recent_projects",
"release_channel",
"remote",
@@ -20082,6 +20605,7 @@ dependencies = [
"reqwest_client",
"rope",
"search",
+ "semver",
"serde",
"serde_json",
"session",
@@ -20094,13 +20618,12 @@ dependencies = [
"snippets_ui",
"supermaven",
"svg_preview",
- "sysinfo",
+ "sysinfo 0.37.2",
"system_specs",
"tab_switcher",
"task",
"tasks_ui",
"telemetry",
- "telemetry_events",
"terminal_view",
"theme",
"theme_extension",
@@ -20108,6 +20631,7 @@ dependencies = [
"time",
"title_bar",
"toolchain_selector",
+ "tracing",
"tree-sitter-md",
"tree-sitter-rust",
"ui",
@@ -20115,46 +20639,22 @@ dependencies = [
"ui_prompt",
"url",
"urlencoding",
+ "util",
"uuid",
"vim",
"vim_mode_setting",
"watch",
"web_search",
"web_search_providers",
- "windows 0.61.1",
+ "windows 0.61.3",
"winresource",
"workspace",
- "workspace-hack",
- "zed-collections",
- "zed-http-client",
"zed-reqwest",
- "zed-util",
"zed_actions",
"zed_env_vars",
- "zeta",
- "zeta2",
- "zeta2_tools",
"zlog",
"zlog_settings",
-]
-
-[[package]]
-name = "zed-collections"
-version = "0.1.0"
-dependencies = [
- "indexmap 2.9.0",
- "rustc-hash 2.1.1",
- "workspace-hack",
-]
-
-[[package]]
-name = "zed-derive-refineable"
-version = "0.1.0"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
- "workspace-hack",
+ "ztracing",
]
[[package]]
@@ -20162,7 +20662,7 @@ name = "zed-font-kit"
version = "0.14.1-zed"
source = "git+https://github.com/zed-industries/font-kit?rev=110523127440aefb11ce0cf280ae7c5071337ec5#110523127440aefb11ce0cf280ae7c5071337ec5"
dependencies = [
- "bitflags 2.9.0",
+ "bitflags 2.9.4",
"byteorder",
"core-foundation 0.10.0",
"core-graphics 0.24.0",
@@ -20181,64 +20681,6 @@ dependencies = [
"yeslogic-fontconfig-sys",
]
-[[package]]
-name = "zed-http-client"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "async-compression",
- "async-fs",
- "async-tar",
- "bytes 1.10.1",
- "derive_more",
- "futures 0.3.31",
- "http 1.3.1",
- "http-body 1.0.1",
- "log",
- "parking_lot",
- "serde",
- "serde_json",
- "sha2",
- "tempfile",
- "url",
- "workspace-hack",
- "zed-reqwest",
- "zed-util",
-]
-
-[[package]]
-name = "zed-media"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "bindgen 0.71.1",
- "core-foundation 0.10.0",
- "core-video",
- "ctor",
- "foreign-types 0.5.0",
- "metal",
- "objc",
- "workspace-hack",
-]
-
-[[package]]
-name = "zed-perf"
-version = "0.1.0"
-dependencies = [
- "serde",
- "serde_json",
- "workspace-hack",
- "zed-collections",
-]
-
-[[package]]
-name = "zed-refineable"
-version = "0.1.0"
-dependencies = [
- "workspace-hack",
- "zed-derive-refineable",
-]
-
[[package]]
name = "zed-reqwest"
version = "0.12.15-zed"
@@ -20249,12 +20691,12 @@ dependencies = [
"encoding_rs",
"futures-core",
"futures-util",
- "h2 0.4.9",
+ "h2 0.4.12",
"http 1.3.1",
"http-body 1.0.1",
"http-body-util",
- "hyper 1.6.0",
- "hyper-rustls 0.27.5",
+ "hyper 1.7.0",
+ "hyper-rustls 0.27.7",
"hyper-util",
"ipnet",
"js-sys",
@@ -20265,8 +20707,8 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"quinn",
- "rustls 0.23.26",
- "rustls-native-certs 0.8.1",
+ "rustls 0.23.33",
+ "rustls-native-certs 0.8.2",
"rustls-pemfile 2.2.0",
"rustls-pki-types",
"serde",
@@ -20301,92 +20743,20 @@ dependencies = [
"rand 0.8.5",
"screencapturekit",
"screencapturekit-sys",
- "sysinfo",
+ "sysinfo 0.31.4",
"tao-core-video-sys",
- "windows 0.61.1",
+ "windows 0.61.3",
"windows-capture",
"x11",
"xcb",
]
-[[package]]
-name = "zed-semantic-version"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "serde",
- "workspace-hack",
-]
-
-[[package]]
-name = "zed-sum-tree"
-version = "0.1.0"
-dependencies = [
- "arrayvec",
- "ctor",
- "log",
- "rand 0.9.1",
- "rayon",
- "workspace-hack",
- "zlog",
-]
-
-[[package]]
-name = "zed-util"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "async-fs",
- "async_zip",
- "command-fds",
- "dirs 4.0.0",
- "dunce",
- "futures 0.3.31",
- "futures-lite 1.13.0",
- "git2",
- "globset",
- "indoc",
- "itertools 0.14.0",
- "libc",
- "log",
- "nix 0.29.0",
- "pretty_assertions",
- "rand 0.9.1",
- "regex",
- "rust-embed",
- "schemars 1.0.1",
- "serde",
- "serde_json",
- "serde_json_lenient",
- "shlex",
- "smol",
- "take-until",
- "tempfile",
- "tendril",
- "unicase",
- "walkdir",
- "which 6.0.3",
- "workspace-hack",
- "zed-collections",
- "zed-util-macros",
-]
-
-[[package]]
-name = "zed-util-macros"
-version = "0.1.0"
-dependencies = [
- "quote",
- "syn 2.0.101",
- "workspace-hack",
- "zed-perf",
-]
-
[[package]]
name = "zed-xim"
version = "0.4.0-zed"
source = "git+https://github.com/zed-industries/xim-rs.git?rev=16f35a2c881b815a2b6cdfd6687988e84f8447d8#16f35a2c881b815a2b6cdfd6687988e84f8447d8"
dependencies = [
- "ahash 0.8.11",
+ "ahash 0.8.12",
"hashbrown 0.14.5",
"log",
"x11rb",
@@ -20399,10 +20769,9 @@ name = "zed_actions"
version = "0.1.0"
dependencies = [
"gpui",
- "schemars 1.0.1",
+ "schemars",
"serde",
"uuid",
- "workspace-hack",
]
[[package]]
@@ -20410,7 +20779,6 @@ name = "zed_env_vars"
version = "0.1.0"
dependencies = [
"gpui",
- "workspace-hack",
]
[[package]]
@@ -20427,6 +20795,8 @@ dependencies = [
[[package]]
name = "zed_extension_api"
version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0729d50b4ca0a7e28e590bbe32e3ca0194d97ef654961451a424c661a366fca0"
dependencies = [
"serde",
"serde_json",
@@ -20435,9 +20805,7 @@ dependencies = [
[[package]]
name = "zed_extension_api"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0729d50b4ca0a7e28e590bbe32e3ca0194d97ef654961451a424c661a366fca0"
+version = "0.8.0"
dependencies = [
"serde",
"serde_json",
@@ -20453,69 +20821,49 @@ dependencies = [
[[package]]
name = "zed_html"
-version = "0.2.3"
+version = "0.3.0"
dependencies = [
- "zed_extension_api 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "zed_extension_api 0.7.0",
]
[[package]]
name = "zed_proto"
-version = "0.2.2"
+version = "0.3.0"
dependencies = [
- "zed_extension_api 0.1.0",
+ "zed_extension_api 0.7.0",
]
[[package]]
name = "zed_test_extension"
version = "0.1.0"
dependencies = [
- "zed_extension_api 0.7.0",
+ "zed_extension_api 0.8.0",
]
[[package]]
name = "zeno"
-version = "0.3.2"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc0de2315dc13d00e5df3cd6b8d2124a6eaec6a2d4b6a1c5f37b7efad17fcc17"
+checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524"
[[package]]
name = "zerocopy"
-version = "0.7.35"
+version = "0.8.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c"
dependencies = [
- "zerocopy-derive 0.7.35",
-]
-
-[[package]]
-name = "zerocopy"
-version = "0.8.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
-dependencies = [
- "zerocopy-derive 0.8.24",
+ "zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.7.35"
+version = "0.8.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.8.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -20535,15 +20883,15 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"synstructure",
]
[[package]]
name = "zeroize"
-version = "1.8.1"
+version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
+checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
dependencies = [
"zeroize_derive",
]
@@ -20556,7 +20904,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
@@ -20584,190 +20932,43 @@ dependencies = [
]
[[package]]
-name = "zerovec"
-version = "0.10.4"
+name = "zerotrie"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
+checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
dependencies = [
- "yoke",
+ "displaydoc",
+ "yoke 0.8.0",
+ "zerofrom",
+]
+
+[[package]]
+name = "zerovec"
+version = "0.11.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
+dependencies = [
+ "yoke 0.8.0",
"zerofrom",
"zerovec-derive",
]
[[package]]
name = "zerovec-derive"
-version = "0.10.3"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
+checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
]
[[package]]
-name = "zeta"
+name = "zeta_prompt"
version = "0.1.0"
dependencies = [
- "ai_onboarding",
- "anyhow",
- "arrayvec",
- "call",
- "client",
- "clock",
- "cloud_api_types",
- "cloud_llm_client",
- "command_palette_hooks",
- "copilot",
- "ctor",
- "db",
- "edit_prediction",
- "editor",
- "feature_flags",
- "fs",
- "futures 0.3.31",
- "gpui",
- "indoc",
- "itertools 0.14.0",
- "language",
- "language_model",
- "log",
- "menu",
- "parking_lot",
- "postage",
- "project",
- "rand 0.9.1",
- "regex",
- "release_channel",
- "reqwest_client",
- "rpc",
"serde",
- "serde_json",
- "settings",
- "strum 0.27.1",
- "telemetry",
- "telemetry_events",
- "theme",
- "thiserror 2.0.12",
- "tree-sitter-go",
- "tree-sitter-rust",
- "ui",
- "uuid",
- "workspace",
- "workspace-hack",
- "worktree",
- "zed-collections",
- "zed-http-client",
- "zed-util",
- "zed_actions",
- "zlog",
-]
-
-[[package]]
-name = "zeta2"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "arrayvec",
- "chrono",
- "client",
- "clock",
- "cloud_llm_client",
- "cloud_zeta2_prompt",
- "edit_prediction",
- "edit_prediction_context",
- "futures 0.3.31",
- "gpui",
- "indoc",
- "language",
- "language_model",
- "log",
- "lsp",
- "pretty_assertions",
- "project",
- "release_channel",
- "serde_json",
- "settings",
- "thiserror 2.0.12",
- "uuid",
- "workspace",
- "workspace-hack",
- "worktree",
- "zed-util",
-]
-
-[[package]]
-name = "zeta2_tools"
-version = "0.1.0"
-dependencies = [
- "chrono",
- "clap",
- "client",
- "cloud_llm_client",
- "edit_prediction_context",
- "editor",
- "futures 0.3.31",
- "gpui",
- "indoc",
- "language",
- "log",
- "pretty_assertions",
- "project",
- "serde",
- "serde_json",
- "settings",
- "text",
- "ui",
- "ui_input",
- "workspace",
- "workspace-hack",
- "zed-collections",
- "zed-util",
- "zeta2",
- "zlog",
-]
-
-[[package]]
-name = "zeta_cli"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "clap",
- "client",
- "cloud_llm_client",
- "cloud_zeta2_prompt",
- "debug_adapter_extension",
- "edit_prediction_context",
- "extension",
- "fs",
- "futures 0.3.31",
- "gpui",
- "gpui_tokio",
- "language",
- "language_extension",
- "language_model",
- "language_models",
- "languages",
- "log",
- "node_runtime",
- "ordered-float 2.10.1",
- "paths",
- "project",
- "prompt_store",
- "release_channel",
- "reqwest_client",
- "serde",
- "serde_json",
- "settings",
- "shellexpand 2.1.2",
- "smol",
- "terminal_view",
- "watch",
- "workspace-hack",
- "zed-util",
- "zeta",
- "zeta2",
- "zlog",
]
[[package]]
@@ -20800,7 +21001,7 @@ dependencies = [
"crc32fast",
"crossbeam-utils",
"displaydoc",
- "indexmap 2.9.0",
+ "indexmap",
"num_enum",
"thiserror 1.0.69",
]
@@ -20811,20 +21012,18 @@ version = "0.1.0"
dependencies = [
"anyhow",
"chrono",
+ "collections",
"log",
"tempfile",
- "workspace-hack",
- "zed-collections",
]
[[package]]
name = "zlog_settings"
version = "0.1.0"
dependencies = [
+ "collections",
"gpui",
"settings",
- "workspace-hack",
- "zed-collections",
"zlog",
]
@@ -20849,14 +21048,29 @@ dependencies = [
[[package]]
name = "zstd-sys"
-version = "2.0.15+zstd.1.5.7"
+version = "2.0.16+zstd.1.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237"
+checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748"
dependencies = [
"cc",
"pkg-config",
]
+[[package]]
+name = "ztracing"
+version = "0.1.0"
+dependencies = [
+ "tracing",
+ "tracing-subscriber",
+ "tracing-tracy",
+ "zlog",
+ "ztracing_macro",
+]
+
+[[package]]
+name = "ztracing_macro"
+version = "0.1.0"
+
[[package]]
name = "zune-core"
version = "0.4.12"
@@ -20874,18 +21088,18 @@ dependencies = [
[[package]]
name = "zune-jpeg"
-version = "0.4.14"
+version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028"
+checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713"
dependencies = [
"zune-core",
]
[[package]]
name = "zvariant"
-version = "5.7.0"
+version = "5.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "999dd3be73c52b1fccd109a4a81e4fcd20fab1d3599c8121b38d04e1419498db"
+checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c"
dependencies = [
"endi",
"enumflags2",
@@ -20898,27 +21112,26 @@ dependencies = [
[[package]]
name = "zvariant_derive"
-version = "5.7.0"
+version = "5.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6643fd0b26a46d226bd90d3f07c1b5321fe9bb7f04673cb37ac6d6883885b68e"
+checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.101",
+ "syn 2.0.106",
"zvariant_utils",
]
[[package]]
name = "zvariant_utils"
-version = "3.2.0"
+version = "3.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34"
+checksum = "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599"
dependencies = [
"proc-macro2",
"quote",
"serde",
- "static_assertions",
- "syn 2.0.101",
+ "syn 2.0.106",
"winnow",
]
diff --git a/Cargo.toml b/Cargo.toml
index da7a892515..903d17fc33 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -6,19 +6,17 @@ members = [
"crates/action_log",
"crates/activity_indicator",
"crates/agent",
- "crates/agent2",
"crates/agent_servers",
"crates/agent_settings",
"crates/agent_ui",
+ "crates/agent_ui_v2",
"crates/ai_onboarding",
"crates/anthropic",
"crates/askpass",
"crates/assets",
- "crates/assistant_context",
+ "crates/assistant_text_thread",
"crates/assistant_slash_command",
"crates/assistant_slash_commands",
- "crates/assistant_tool",
- "crates/assistant_tools",
"crates/audio",
"crates/auto_update",
"crates/auto_update_helper",
@@ -35,7 +33,6 @@ members = [
"crates/cloud_api_client",
"crates/cloud_api_types",
"crates/cloud_llm_client",
- "crates/cloud_zeta2_prompt",
"crates/collab",
"crates/collab_ui",
"crates/collections",
@@ -57,11 +54,12 @@ members = [
"crates/diagnostics",
"crates/docs_preprocessor",
"crates/edit_prediction",
- "crates/edit_prediction_button",
+ "crates/edit_prediction_types",
+ "crates/edit_prediction_ui",
"crates/edit_prediction_context",
- "crates/zeta2_tools",
"crates/editor",
"crates/eval",
+ "crates/eval_utils",
"crates/explorer_command_injector",
"crates/extension",
"crates/extension_api",
@@ -73,6 +71,7 @@ members = [
"crates/file_finder",
"crates/file_icons",
"crates/fs",
+ "crates/fs_benchmarks",
"crates/fsevent",
"crates/fuzzy",
"crates/git",
@@ -112,6 +111,7 @@ members = [
"crates/menu",
"crates/migrator",
"crates/mistral",
+ "crates/miniprofiler_ui",
"crates/multi_buffer",
"crates/nc",
"crates/net",
@@ -128,6 +128,7 @@ members = [
"crates/picker",
"crates/prettier",
"crates/project",
+ "crates/project_benchmarks",
"crates/project_panel",
"crates/project_symbols",
"crates/prompt_store",
@@ -147,9 +148,9 @@ members = [
"crates/rules_library",
"crates/schema_generator",
"crates/search",
- "crates/semantic_version",
"crates/session",
"crates/settings",
+ "crates/settings_json",
"crates/settings_macros",
"crates/settings_profile_selector",
"crates/settings_ui",
@@ -164,6 +165,7 @@ members = [
"crates/sum_tree",
"crates/supermaven",
"crates/supermaven_api",
+ "crates/codestral",
"crates/svg_preview",
"crates/system_specs",
"crates/tab_switcher",
@@ -199,11 +201,12 @@ members = [
"crates/zed",
"crates/zed_actions",
"crates/zed_env_vars",
- "crates/zeta",
- "crates/zeta2",
- "crates/zeta_cli",
+ "crates/edit_prediction_cli",
+ "crates/zeta_prompt",
"crates/zlog",
"crates/zlog_settings",
+ "crates/ztracing",
+ "crates/ztracing_macro",
#
# Extensions
@@ -220,7 +223,6 @@ members = [
#
"tooling/perf",
- "tooling/workspace-hack",
"tooling/xtask",
]
default-members = ["crates/zed"]
@@ -239,24 +241,20 @@ acp_tools = { path = "crates/acp_tools" }
acp_thread = { path = "crates/acp_thread" }
action_log = { path = "crates/action_log" }
agent = { path = "crates/agent" }
-agent2 = { path = "crates/agent2" }
activity_indicator = { path = "crates/activity_indicator" }
agent_ui = { path = "crates/agent_ui" }
+agent_ui_v2 = { path = "crates/agent_ui_v2" }
agent_settings = { path = "crates/agent_settings" }
agent_servers = { path = "crates/agent_servers" }
-ai = { path = "crates/ai" }
ai_onboarding = { path = "crates/ai_onboarding" }
anthropic = { path = "crates/anthropic" }
askpass = { path = "crates/askpass" }
assets = { path = "crates/assets" }
-assistant_context = { path = "crates/assistant_context" }
+assistant_text_thread = { path = "crates/assistant_text_thread" }
assistant_slash_command = { path = "crates/assistant_slash_command" }
assistant_slash_commands = { path = "crates/assistant_slash_commands" }
-assistant_tool = { path = "crates/assistant_tool" }
-assistant_tools = { path = "crates/assistant_tools" }
audio = { path = "crates/audio" }
auto_update = { path = "crates/auto_update" }
-auto_update_helper = { path = "crates/auto_update_helper" }
auto_update_ui = { path = "crates/auto_update_ui" }
aws_http_client = { path = "crates/aws_http_client" }
bedrock = { path = "crates/bedrock" }
@@ -270,10 +268,8 @@ clock = { path = "crates/clock" }
cloud_api_client = { path = "crates/cloud_api_client" }
cloud_api_types = { path = "crates/cloud_api_types" }
cloud_llm_client = { path = "crates/cloud_llm_client" }
-cloud_zeta2_prompt = { path = "crates/cloud_zeta2_prompt" }
-collab = { path = "crates/collab" }
collab_ui = { path = "crates/collab_ui" }
-collections = { path = "crates/collections", package = "zed-collections", version = "0.1.0" }
+collections = { path = "crates/collections", version = "0.1.0" }
command_palette = { path = "crates/command_palette" }
command_palette_hooks = { path = "crates/command_palette_hooks" }
component = { path = "crates/component" }
@@ -289,9 +285,10 @@ debug_adapter_extension = { path = "crates/debug_adapter_extension" }
debugger_tools = { path = "crates/debugger_tools" }
debugger_ui = { path = "crates/debugger_ui" }
deepseek = { path = "crates/deepseek" }
-derive_refineable = { path = "crates/refineable/derive_refineable", package = "zed-derive-refineable", version = "0.1.0" }
+derive_refineable = { path = "crates/refineable/derive_refineable" }
diagnostics = { path = "crates/diagnostics" }
editor = { path = "crates/editor" }
+eval_utils = { path = "crates/eval_utils" }
extension = { path = "crates/extension" }
extension_host = { path = "crates/extension_host" }
extensions_ui = { path = "crates/extensions_ui" }
@@ -308,17 +305,16 @@ git_ui = { path = "crates/git_ui" }
go_to_line = { path = "crates/go_to_line" }
google_ai = { path = "crates/google_ai" }
gpui = { path = "crates/gpui", default-features = false }
-gpui_macros = { path = "crates/gpui_macros", package = "gpui-macros", version = "0.1.0" }
+gpui_macros = { path = "crates/gpui_macros" }
gpui_tokio = { path = "crates/gpui_tokio" }
html_to_markdown = { path = "crates/html_to_markdown" }
-http_client = { path = "crates/http_client", package = "zed-http-client", version = "0.1.0" }
+http_client = { path = "crates/http_client" }
http_client_tls = { path = "crates/http_client_tls" }
icons = { path = "crates/icons" }
image_viewer = { path = "crates/image_viewer" }
-edit_prediction = { path = "crates/edit_prediction" }
-edit_prediction_button = { path = "crates/edit_prediction_button" }
+edit_prediction_types = { path = "crates/edit_prediction_types" }
+edit_prediction_ui = { path = "crates/edit_prediction_ui" }
edit_prediction_context = { path = "crates/edit_prediction_context" }
-zeta2_tools = { path = "crates/zeta2_tools" }
inspector_ui = { path = "crates/inspector_ui" }
install_cli = { path = "crates/install_cli" }
journal = { path = "crates/journal" }
@@ -340,11 +336,12 @@ lsp = { path = "crates/lsp" }
markdown = { path = "crates/markdown" }
markdown_preview = { path = "crates/markdown_preview" }
svg_preview = { path = "crates/svg_preview" }
-media = { path = "crates/media", package = "zed-media", version = "0.1.0" }
+media = { path = "crates/media" }
menu = { path = "crates/menu" }
migrator = { path = "crates/migrator" }
mistral = { path = "crates/mistral" }
multi_buffer = { path = "crates/multi_buffer" }
+miniprofiler_ui = { path = "crates/miniprofiler_ui" }
nc = { path = "crates/nc" }
net = { path = "crates/net" }
node_runtime = { path = "crates/node_runtime" }
@@ -357,10 +354,8 @@ outline = { path = "crates/outline" }
outline_panel = { path = "crates/outline_panel" }
panel = { path = "crates/panel" }
paths = { path = "crates/paths" }
-perf = { path = "tooling/perf", package = "zed-perf", version = "0.1.0" }
+perf = { path = "tooling/perf" }
picker = { path = "crates/picker" }
-plugin = { path = "crates/plugin" }
-plugin_macros = { path = "crates/plugin_macros" }
prettier = { path = "crates/prettier" }
settings_profile_selector = { path = "crates/settings_profile_selector" }
project = { path = "crates/project" }
@@ -369,22 +364,20 @@ project_symbols = { path = "crates/project_symbols" }
prompt_store = { path = "crates/prompt_store" }
proto = { path = "crates/proto" }
recent_projects = { path = "crates/recent_projects" }
-refineable = { path = "crates/refineable", package = "zed-refineable", version = "0.1.0" }
+refineable = { path = "crates/refineable" }
release_channel = { path = "crates/release_channel" }
-scheduler = { path = "crates/scheduler" }
remote = { path = "crates/remote" }
remote_server = { path = "crates/remote_server" }
repl = { path = "crates/repl" }
reqwest_client = { path = "crates/reqwest_client" }
-rich_text = { path = "crates/rich_text" }
-rodio = { git = "https://github.com/RustAudio/rodio" }
+rodio = { git = "https://github.com/RustAudio/rodio", rev ="e2074c6c2acf07b57cf717e076bdda7a9ac6e70b", features = ["wav", "playback", "wav_output", "recording"] }
rope = { path = "crates/rope" }
rpc = { path = "crates/rpc" }
rules_library = { path = "crates/rules_library" }
search = { path = "crates/search" }
-semantic_version = { path = "crates/semantic_version", package = "zed-semantic-version", version = "0.1.0" }
session = { path = "crates/session" }
settings = { path = "crates/settings" }
+settings_json = { path = "crates/settings_json" }
settings_macros = { path = "crates/settings_macros" }
settings_ui = { path = "crates/settings_ui" }
snippet = { path = "crates/snippet" }
@@ -393,11 +386,11 @@ snippets_ui = { path = "crates/snippets_ui" }
sqlez = { path = "crates/sqlez" }
sqlez_macros = { path = "crates/sqlez_macros" }
story = { path = "crates/story" }
-storybook = { path = "crates/storybook" }
streaming_diff = { path = "crates/streaming_diff" }
-sum_tree = { path = "crates/sum_tree", package = "zed-sum-tree", version = "0.1.0" }
+sum_tree = { path = "crates/sum_tree" }
supermaven = { path = "crates/supermaven" }
supermaven_api = { path = "crates/supermaven_api" }
+codestral = { path = "crates/codestral" }
system_specs = { path = "crates/system_specs" }
tab_switcher = { path = "crates/tab_switcher" }
task = { path = "crates/task" }
@@ -409,7 +402,6 @@ terminal_view = { path = "crates/terminal_view" }
text = { path = "crates/text" }
theme = { path = "crates/theme" }
theme_extension = { path = "crates/theme_extension" }
-theme_importer = { path = "crates/theme_importer" }
theme_selector = { path = "crates/theme_selector" }
time_format = { path = "crates/time_format" }
title_bar = { path = "crates/title_bar" }
@@ -418,8 +410,8 @@ ui = { path = "crates/ui" }
ui_input = { path = "crates/ui_input" }
ui_macros = { path = "crates/ui_macros" }
ui_prompt = { path = "crates/ui_prompt" }
-util = { path = "crates/util", package = "zed-util", version = "0.1.0" }
-util_macros = { path = "crates/util_macros", package = "zed-util-macros", version = "0.1.0" }
+util = { path = "crates/util" }
+util_macros = { path = "crates/util_macros" }
vercel = { path = "crates/vercel" }
vim = { path = "crates/vim" }
vim_mode_setting = { path = "crates/vim_mode_setting" }
@@ -433,16 +425,18 @@ x_ai = { path = "crates/x_ai" }
zed = { path = "crates/zed" }
zed_actions = { path = "crates/zed_actions" }
zed_env_vars = { path = "crates/zed_env_vars" }
-zeta = { path = "crates/zeta" }
-zeta2 = { path = "crates/zeta2" }
+edit_prediction = { path = "crates/edit_prediction" }
+zeta_prompt = { path = "crates/zeta_prompt" }
zlog = { path = "crates/zlog" }
zlog_settings = { path = "crates/zlog_settings" }
+ztracing = { path = "crates/ztracing" }
+ztracing_macro = { path = "crates/ztracing_macro" }
#
# External crates
#
-agent-client-protocol = { version = "0.4.3", features = ["unstable"] }
+agent-client-protocol = { version = "=0.9.0", features = ["unstable"] }
aho-corasick = "1.1"
alacritty_terminal = "0.25.1-rc1"
any_vec = "0.14"
@@ -453,13 +447,14 @@ async-compat = "0.2.1"
async-compression = { version = "0.4", features = ["gzip", "futures-io"] }
async-dispatcher = "0.1"
async-fs = "2.1"
+async-lock = "2.1"
async-pipe = { git = "https://github.com/zed-industries/async-pipe-rs", rev = "82d00a04211cf4e1236029aa03e6b6ce2a74c553" }
async-recursion = "1.0.0"
-async-tar = "0.5.0"
+async-tar = "0.5.1"
async-task = "4.7"
async-trait = "0.1"
-async-tungstenite = "0.29.1"
-async_zip = { version = "0.0.17", features = ["deflate", "deflate64"] }
+async-tungstenite = "0.31.0"
+async_zip = { version = "0.0.18", features = ["deflate", "deflate64"] }
aws-config = { version = "1.6.1", features = ["behavior-version-latest"] }
aws-credential-types = { version = "1.2.2", features = [
"hardcoded-credentials",
@@ -476,6 +471,7 @@ bitflags = "2.6.0"
blade-graphics = { version = "0.7.0" }
blade-macros = { version = "0.3.0" }
blade-util = { version = "0.3.0" }
+brotli = "8.0.2"
bytes = "1.0"
cargo_metadata = "0.19"
cargo_toml = "0.21"
@@ -483,11 +479,11 @@ cfg-if = "1.0.3"
chrono = { version = "0.4", features = ["serde"] }
ciborium = "0.2"
circular-buffer = "1.0"
-clap = { version = "4.4", features = ["derive"] }
-cocoa = "0.26"
-cocoa-foundation = "0.2.0"
+clap = { version = "4.4", features = ["derive", "wrap_help"] }
+cocoa = "=0.26.0"
+cocoa-foundation = "=0.2.0"
convert_case = "0.8.0"
-core-foundation = "0.10.0"
+core-foundation = "=0.10.0"
core-foundation-sys = "0.8.6"
core-video = { version = "0.4.3", features = ["metal"] }
cpal = "0.16"
@@ -504,15 +500,14 @@ ec4rs = "1.1"
emojis = "0.6.1"
env_logger = "0.11"
exec = "0.3.1"
-fancy-regex = "0.14.0"
-fork = "0.2.0"
+fancy-regex = "0.16.0"
+fork = "0.4.0"
futures = "0.3"
-futures-batch = "0.6.1"
futures-lite = "1.13"
+gh-workflow = { git = "https://github.com/zed-industries/gh-workflow", rev = "09acfdf2bd5c1d6254abefd609c808ff73547b2c" }
git2 = { version = "0.20.1", default-features = false }
globset = "0.4"
handlebars = "4.3"
-hashbrown = "0.15.3"
heck = "0.5"
heed = { version = "0.21.0", features = ["read-txn-no-tls"] }
hex = "0.4.3"
@@ -529,15 +524,15 @@ indoc = "2"
inventory = "0.3.19"
itertools = "0.14.0"
json_dotpath = "1.1"
-jsonschema = "0.30.0"
+jsonschema = "0.37.0"
jsonwebtoken = "9.3"
-jupyter-protocol = { git = "https://github.com/ConradIrwin/runtimed", rev = "7130c804216b6914355d15d0b91ea91f6babd734" }
-jupyter-websocket-client = { git = "https://github.com/ConradIrwin/runtimed" ,rev = "7130c804216b6914355d15d0b91ea91f6babd734" }
+jupyter-protocol = "0.10.0"
+jupyter-websocket-client = "0.15.0"
libc = "0.2"
libsqlite3-sys = { version = "0.30.1", features = ["bundled"] }
linkify = "0.10.0"
log = { version = "0.4.16", features = ["kv_unstable_serde", "serde"] }
-lsp-types = { git = "https://github.com/zed-industries/lsp-types", rev = "0874f8742fe55b4dc94308c1e3c0069710d8eeaf" }
+lsp-types = { git = "https://github.com/zed-industries/lsp-types", rev = "b71ab4eeb27d9758be8092020a46fe33fbca4e33" }
mach2 = "0.5"
markup5ever_rcdom = "0.3.0"
metal = "0.29"
@@ -545,12 +540,11 @@ minidumper = "0.8"
moka = { version = "0.12.10", features = ["sync"] }
naga = { version = "25.0", features = ["wgsl-in"] }
nanoid = "0.4"
-nbformat = { git = "https://github.com/ConradIrwin/runtimed", rev = "7130c804216b6914355d15d0b91ea91f6babd734" }
+nbformat = "0.15.0"
nix = "0.29"
num-format = "0.4.4"
-num-traits = "0.2"
objc = "0.2"
-objc2-foundation = { version = "0.3", default-features = false, features = [
+objc2-foundation = { version = "=0.3.1", default-features = false, features = [
"NSArray",
"NSAttributedString",
"NSBundle",
@@ -583,14 +577,13 @@ partial-json-fixer = "0.5.3"
parse_int = "0.9"
pciid-parser = "0.8.0"
pathdiff = "0.2"
-pet = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
-pet-conda = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
-pet-core = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
-pet-fs = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
-pet-pixi = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
-pet-poetry = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
-pet-reporter = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
-pet-virtualenv = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "845945b830297a50de0e24020b980a65e4820559" }
+pet = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da" }
+pet-conda = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da" }
+pet-core = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da" }
+pet-fs = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da" }
+pet-poetry = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da" }
+pet-reporter = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da" }
+pet-virtualenv = { git = "https://github.com/microsoft/python-environment-tools.git", rev = "1e86914c3ce2f3a08c0cedbcb0615a7f9fa7a5da" }
portable-pty = "0.9.0"
postage = { version = "0.5", features = ["futures-traits"] }
pretty_assertions = { version = "1.3.0", features = ["unstable"] }
@@ -603,7 +596,6 @@ pulldown-cmark = { version = "0.12.0", default-features = false }
quote = "1.0.9"
rand = "0.9"
rayon = "1.8"
-ref-cast = "1.0.24"
regex = "1.5"
# WARNING: If you change this, you must also publish a new version of zed-reqwest to crates.io
reqwest = { git = "https://github.com/zed-industries/reqwest.git", rev = "c15662463bda39148ba154100dd44d3fba5873a4", default-features = false, features = [
@@ -616,8 +608,8 @@ reqwest = { git = "https://github.com/zed-industries/reqwest.git", rev = "c15662
"stream",
], package = "zed-reqwest", version = "0.12.15-zed" }
rsa = "0.9.6"
-runtimelib = { git = "https://github.com/ConradIrwin/runtimed", rev = "7130c804216b6914355d15d0b91ea91f6babd734", default-features = false, features = [
- "async-dispatcher-runtime",
+runtimelib = { version = "0.30.0", default-features = false, features = [
+ "async-dispatcher-runtime", "aws-lc-rs"
] }
rust-embed = { version = "8.4", features = ["include-exclude"] }
rustc-hash = "2.1.0"
@@ -626,7 +618,7 @@ rustls-platform-verifier = "0.5.0"
# WARNING: If you change this, you must also publish a new version of zed-scap to crates.io
scap = { git = "https://github.com/zed-industries/scap", rev = "4afea48c3b002197176fb19cd0f9b180dd36eaac", default-features = false, package = "zed-scap", version = "0.0.8-zed" }
schemars = { version = "1.0", features = ["indexmap2"] }
-semver = "1.0"
+semver = { version = "1.0", features = ["serde"] }
serde = { version = "1.0.221", features = ["derive", "rc"] }
serde_json = { version = "1.0.144", features = ["preserve_order", "raw_value"] }
serde_json_lenient = { version = "0.2", features = [
@@ -636,42 +628,43 @@ serde_json_lenient = { version = "0.2", features = [
serde_path_to_error = "0.1.17"
serde_repr = "0.1"
serde_urlencoded = "0.7"
-serde_with = "3.4.0"
sha2 = "0.10"
shellexpand = "2.1.0"
shlex = "1.3.0"
simplelog = "0.12.2"
slotmap = "1.0.6"
-smallvec = { version = "1.6", features = ["union"] }
+smallvec = { version = "1.6", features = ["union", "const_new"] }
smol = "2.0"
sqlformat = "0.2"
stacksafe = "0.1"
streaming-iterator = "0.1"
strsim = "0.11"
-strum = { version = "0.27.0", features = ["derive"] }
+strum = { version = "0.27.2", features = ["derive"] }
subtle = "2.5.0"
syn = { version = "2.0.101", features = ["full", "extra-traits", "visit-mut"] }
sys-locale = "0.3.1"
-sysinfo = "0.31.0"
+sysinfo = "0.37.0"
take-until = "0.2.0"
tempfile = "3.20.0"
thiserror = "2.0.12"
-tiktoken-rs = { git = "https://github.com/zed-industries/tiktoken-rs", rev = "30c32a4522751699adeda0d5840c71c3b75ae73d" }
+tiktoken-rs = { git = "https://github.com/zed-industries/tiktoken-rs", rev = "2570c4387a8505fb8f1d3f3557454b474f1e8271" }
time = { version = "0.3", features = [
"macros",
"parsing",
"serde",
"serde-well-known",
"formatting",
+ "local-offset",
] }
tiny_http = "0.8"
tokio = { version = "1" }
tokio-tungstenite = { version = "0.26", features = ["__rustls-tls"] }
+tokio-socks = { version = "0.5.2", default-features = false, features = ["futures-io", "tokio"] }
toml = "0.8"
toml_edit = { version = "0.22", default-features = false, features = ["display", "parse", "serde"] }
tower-http = "0.4.4"
tree-sitter = { version = "0.25.10", features = ["wasm"] }
-tree-sitter-bash = "0.25.0"
+tree-sitter-bash = "0.25.1"
tree-sitter-c = "0.23"
tree-sitter-cpp = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "5cb9b693cfd7bfacab1d9ff4acac1a4150700609" }
tree-sitter-css = "0.23"
@@ -680,7 +673,7 @@ tree-sitter-elixir = "0.3"
tree-sitter-embedded-template = "0.23.0"
tree-sitter-gitcommit = { git = "https://github.com/zed-industries/tree-sitter-git-commit", rev = "88309716a69dd13ab83443721ba6e0b491d37ee9" }
tree-sitter-go = "0.23"
-tree-sitter-go-mod = { git = "https://github.com/camdencheek/tree-sitter-go-mod", rev = "6efb59652d30e0e9cd5f3b3a669afd6f1a926d3c", package = "tree-sitter-gomod" }
+tree-sitter-go-mod = { git = "https://github.com/camdencheek/tree-sitter-go-mod", rev = "2e886870578eeba1927a2dc4bd2e2b3f598c5f9a", package = "tree-sitter-gomod" }
tree-sitter-gowork = { git = "https://github.com/zed-industries/tree-sitter-go-work", rev = "acb0617bf7f4fda02c6217676cc64acb89536dc7" }
tree-sitter-heex = { git = "https://github.com/zed-industries/tree-sitter-heex", rev = "1dd45142fbb05562e35b2040c6129c9bca346592" }
tree-sitter-html = "0.23"
@@ -691,8 +684,9 @@ tree-sitter-python = "0.25"
tree-sitter-regex = "0.24"
tree-sitter-ruby = "0.23"
tree-sitter-rust = "0.24"
-tree-sitter-typescript = "0.23"
+tree-sitter-typescript = { git = "https://github.com/zed-industries/tree-sitter-typescript", rev = "e2c53597d6a5d9cf7bbe8dccde576fe1e46c5899" } # https://github.com/tree-sitter/tree-sitter-typescript/pull/347
tree-sitter-yaml = { git = "https://github.com/zed-industries/tree-sitter-yaml", rev = "baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a" }
+tracing = "0.1.40"
unicase = "2.6"
unicode-script = "0.5.7"
unicode-segmentation = "1.10"
@@ -713,14 +707,14 @@ wasmtime = { version = "29", default-features = false, features = [
"parallel-compilation",
] }
wasmtime-wasi = "29"
+wax = "0.6"
which = "6.0.0"
windows-core = "0.61"
-wit-component = "0.221"
-workspace-hack = "0.1.0"
yawc = "0.2.5"
zeroize = "1.8"
zstd = "0.11"
+
[workspace.dependencies.windows]
version = "0.61"
features = [
@@ -773,15 +767,15 @@ features = [
]
[patch.crates-io]
-notify = { git = "https://github.com/zed-industries/notify.git", rev = "bbb9ea5ae52b253e095737847e367c30653a2e96" }
-notify-types = { git = "https://github.com/zed-industries/notify.git", rev = "bbb9ea5ae52b253e095737847e367c30653a2e96" }
+notify = { git = "https://github.com/zed-industries/notify.git", rev = "b4588b2e5aee68f4c0e100f140e808cbce7b1419" }
+notify-types = { git = "https://github.com/zed-industries/notify.git", rev = "b4588b2e5aee68f4c0e100f140e808cbce7b1419" }
windows-capture = { git = "https://github.com/zed-industries/windows-capture.git", rev = "f0d6c1b6691db75461b732f6d5ff56eed002eeb9" }
-
-# Makes the workspace hack crate refer to the local one, but only when you're building locally
-workspace-hack = { path = "tooling/workspace-hack" }
+calloop = { git = "https://github.com/zed-industries/calloop" }
[profile.dev]
split-debuginfo = "unpacked"
+# https://github.com/rust-lang/cargo/issues/16104
+incremental = false
codegen-units = 16
# mirror configuration for crates compiled for the build platform
@@ -790,28 +784,33 @@ codegen-units = 16
codegen-units = 16
[profile.dev.package]
+# proc-macros start
+gpui_macros = { opt-level = 3 }
+derive_refineable = { opt-level = 3 }
+settings_macros = { opt-level = 3 }
+sqlez_macros = { opt-level = 3, codegen-units = 1 }
+ui_macros = { opt-level = 3 }
+util_macros = { opt-level = 3 }
+quote = { opt-level = 3 }
+syn = { opt-level = 3 }
+proc-macro2 = { opt-level = 3 }
+# proc-macros end
+
taffy = { opt-level = 3 }
-cranelift-codegen = { opt-level = 3 }
-cranelift-codegen-meta = { opt-level = 3 }
-cranelift-codegen-shared = { opt-level = 3 }
resvg = { opt-level = 3 }
-rustybuzz = { opt-level = 3 }
-ttf-parser = { opt-level = 3 }
-wasmtime-cranelift = { opt-level = 3 }
wasmtime = { opt-level = 3 }
# Build single-source-file crates with cg=1 as it helps make `cargo build` of a whole workspace a bit faster
activity_indicator = { codegen-units = 1 }
assets = { codegen-units = 1 }
breadcrumbs = { codegen-units = 1 }
-zed-collections = { codegen-units = 1 }
+collections = { codegen-units = 1 }
command_palette = { codegen-units = 1 }
command_palette_hooks = { codegen-units = 1 }
-extension_cli = { codegen-units = 1 }
feature_flags = { codegen-units = 1 }
file_icons = { codegen-units = 1 }
fsevent = { codegen-units = 1 }
image_viewer = { codegen-units = 1 }
-edit_prediction_button = { codegen-units = 1 }
+edit_prediction_ui = { codegen-units = 1 }
install_cli = { codegen-units = 1 }
journal = { codegen-units = 1 }
json_schema_store = { codegen-units = 1 }
@@ -823,15 +822,12 @@ outline = { codegen-units = 1 }
paths = { codegen-units = 1 }
prettier = { codegen-units = 1 }
project_symbols = { codegen-units = 1 }
-zed-refineable = { codegen-units = 1 }
+refineable = { codegen-units = 1 }
release_channel = { codegen-units = 1 }
reqwest_client = { codegen-units = 1 }
-rich_text = { codegen-units = 1 }
-zed-semantic-version = { codegen-units = 1 }
session = { codegen-units = 1 }
snippet = { codegen-units = 1 }
snippets_ui = { codegen-units = 1 }
-sqlez_macros = { codegen-units = 1 }
story = { codegen-units = 1 }
supermaven_api = { codegen-units = 1 }
telemetry_events = { codegen-units = 1 }
@@ -861,8 +857,6 @@ unexpected_cfgs = { level = "allow" }
dbg_macro = "deny"
todo = "deny"
-# This is not a style lint, see https://github.com/rust-lang/rust-clippy/pull/15454
-# Remove when the lint gets promoted to `suspicious`.
declare_interior_mutable_const = "deny"
redundant_clone = "deny"
@@ -907,5 +901,5 @@ ignored = [
"serde",
"component",
"documented",
- "workspace-hack",
+ "sea-orm-macros",
]
diff --git a/Cross.toml b/Cross.toml
deleted file mode 100644
index b5f0f1103a..0000000000
--- a/Cross.toml
+++ /dev/null
@@ -1,2 +0,0 @@
-[build]
-dockerfile = "Dockerfile-cross"
diff --git a/Dockerfile-collab b/Dockerfile-collab
index a85fe93f19..68f898618a 100644
--- a/Dockerfile-collab
+++ b/Dockerfile-collab
@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.2
-FROM rust:1.90-bookworm as builder
+FROM rust:1.91.1-bookworm as builder
WORKDIR app
COPY . .
@@ -34,8 +34,4 @@ RUN apt-get update; \
linux-perf binutils
WORKDIR app
COPY --from=builder /app/collab /app/collab
-COPY --from=builder /app/crates/collab/migrations /app/migrations
-COPY --from=builder /app/crates/collab/migrations_llm /app/migrations_llm
-ENV MIGRATIONS_PATH=/app/migrations
-ENV LLM_DATABASE_MIGRATIONS_PATH=/app/migrations_llm
ENTRYPOINT ["/app/collab"]
diff --git a/Dockerfile-cross b/Dockerfile-cross
deleted file mode 100644
index 488309641c..0000000000
--- a/Dockerfile-cross
+++ /dev/null
@@ -1,17 +0,0 @@
-# syntax=docker/dockerfile:1
-
-ARG CROSS_BASE_IMAGE
-FROM ${CROSS_BASE_IMAGE}
-WORKDIR /app
-ARG TZ=Etc/UTC \
- LANG=C.UTF-8 \
- LC_ALL=C.UTF-8 \
- DEBIAN_FRONTEND=noninteractive
-ENV CARGO_TERM_COLOR=always
-
-COPY script/install-mold script/
-RUN ./script/install-mold "2.34.0"
-COPY script/remote-server script/
-RUN ./script/remote-server
-
-COPY . .
diff --git a/Procfile.postgrest b/Procfile.postgrest
deleted file mode 100644
index acab58e086..0000000000
--- a/Procfile.postgrest
+++ /dev/null
@@ -1,2 +0,0 @@
-app: postgrest crates/collab/postgrest_app.conf
-llm: postgrest crates/collab/postgrest_llm.conf
diff --git a/Procfile.web b/Procfile.web
index 8140555144..63190fc2ee 100644
--- a/Procfile.web
+++ b/Procfile.web
@@ -1,2 +1 @@
-postgrest_llm: postgrest crates/collab/postgrest_llm.conf
website: cd ../zed.dev; npm run dev -- --port=3000
diff --git a/README.md b/README.md
index 38547c1ca4..d3a5fd2052 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# Zed
[](https://zed.dev)
-[](https://github.com/zed-industries/zed/actions/workflows/ci.yml)
+[](https://github.com/zed-industries/zed/actions/workflows/run_tests.yml)
Welcome to Zed, a high-performance, multiplayer code editor from the creators of [Atom](https://github.com/atom/atom) and [Tree-sitter](https://github.com/tree-sitter/tree-sitter).
@@ -9,11 +9,10 @@ Welcome to Zed, a high-performance, multiplayer code editor from the creators of
### Installation
-On macOS and Linux you can [download Zed directly](https://zed.dev/download) or [install Zed via your local package manager](https://zed.dev/docs/linux#installing-via-a-package-manager).
+On macOS, Linux, and Windows you can [download Zed directly](https://zed.dev/download) or install Zed via your local package manager ([macOS](https://zed.dev/docs/installation#macos)/[Linux](https://zed.dev/docs/linux#installing-via-a-package-manager)/[Windows](https://zed.dev/docs/windows#package-managers)).
Other platforms are not yet available:
-- Windows ([tracking issue](https://github.com/zed-industries/zed/issues/5394))
- Web ([tracking issue](https://github.com/zed-industries/zed/issues/5396))
### Developing Zed
diff --git a/REVIEWERS.conl b/REVIEWERS.conl
new file mode 100644
index 0000000000..45155ba346
--- /dev/null
+++ b/REVIEWERS.conl
@@ -0,0 +1,133 @@
+; This file contains a list of people who're interested in reviewing pull requests
+; to certain parts of the code-base.
+;
+; This is mostly used internally for PR assignment, and may change over time.
+;
+; If you have permission to merge PRs (mostly equivalent to "do you work at Zed Industries"),
+; we strongly encourage you to put your name in the "all" bucket, but you can also add yourself
+; to other areas too.
+
+
+ = @cole-miller
+ = @ConradIrwin
+ = @danilo-leal
+ = @dinocosta
+ = @HactarCE
+ = @kubkon
+ = @maxdeviant
+ = @p1n3appl3
+ = @probably-neb
+ = @smitbarmase
+ = @SomeoneToIgnore
+ = @Veykril
+
+ai
+ = @benbrandt
+ = @bennetbo
+ = @danilo-leal
+ = @rtfeldman
+
+audio
+ = @dvdsk
+
+crashes
+ = @p1n3appl3
+ = @Veykril
+
+debugger
+ = @Anthony-Eid
+ = @kubkon
+ = @osiewicz
+
+design
+ = @danilo-leal
+
+docs
+ = @miguelraz
+ = @probably-neb
+ = @yeskunall
+
+extension
+ = @kubkon
+
+git
+ = @cole-miller
+ = @danilo-leal
+ = @dvdsk
+ = @kubkon
+ = @Anthony-Eid
+ = @cameron1024
+
+gpui
+ = @Anthony-Eid
+ = @cameron1024
+ = @mikayla-maki
+ = @probably-neb
+
+helix
+ = @kubkon
+
+languages
+ = @osiewicz
+ = @probably-neb
+ = @smitbarmase
+ = @SomeoneToIgnore
+ = @Veykril
+
+linux
+ = @cole-miller
+ = @dvdsk
+ = @p1n3appl3
+ = @probably-neb
+ = @smitbarmase
+
+lsp
+ = @osiewicz
+ = @smitbarmase
+ = @SomeoneToIgnore
+ = @Veykril
+
+multi_buffer
+ = @Veykril
+ = @SomeoneToIgnore
+
+pickers
+ = @dvdsk
+ = @p1n3appl3
+ = @SomeoneToIgnore
+
+project_panel
+ = @smitbarmase
+
+settings_ui
+ = @Anthony-Eid
+ = @danilo-leal
+ = @probably-neb
+
+sum_tree
+ = @Veykril
+
+support
+ = @miguelraz
+
+tasks
+ = @SomeoneToIgnore
+ = @Veykril
+
+terminal
+ = @kubkon
+ = @Veykril
+
+text
+ = @Veykril
+
+vim
+ = @ConradIrwin
+ = @dinocosta
+ = @p1n3appl3
+ = @probably-neb
+
+windows
+ = @localcc
+ = @reflectronic
+ = @Veykril
diff --git a/assets/icons/at_sign.svg b/assets/icons/at_sign.svg
new file mode 100644
index 0000000000..531c10c8dc
--- /dev/null
+++ b/assets/icons/at_sign.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/icons/box.svg b/assets/icons/box.svg
new file mode 100644
index 0000000000..7e1276c629
--- /dev/null
+++ b/assets/icons/box.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/icons/chevron_down_up.svg b/assets/icons/chevron_down_up.svg
new file mode 100644
index 0000000000..340b8d1ad9
--- /dev/null
+++ b/assets/icons/chevron_down_up.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/icons/debug_step_back.svg b/assets/icons/debug_step_back.svg
deleted file mode 100644
index 61d45866f6..0000000000
--- a/assets/icons/debug_step_back.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/assets/icons/debug_step_into.svg b/assets/icons/debug_step_into.svg
index 9a517fc7ca..0a58823543 100644
--- a/assets/icons/debug_step_into.svg
+++ b/assets/icons/debug_step_into.svg
@@ -1 +1,5 @@
-
+
diff --git a/assets/icons/debug_step_out.svg b/assets/icons/debug_step_out.svg
index 147a44f930..c128f56111 100644
--- a/assets/icons/debug_step_out.svg
+++ b/assets/icons/debug_step_out.svg
@@ -1 +1,5 @@
-
+
diff --git a/assets/icons/debug_step_over.svg b/assets/icons/debug_step_over.svg
index 336abc11de..5d8ccd5b7a 100644
--- a/assets/icons/debug_step_over.svg
+++ b/assets/icons/debug_step_over.svg
@@ -1 +1,5 @@
-
+
diff --git a/assets/icons/editor_cursor.svg b/assets/icons/editor_cursor.svg
index 338697be8a..e20013917d 100644
--- a/assets/icons/editor_cursor.svg
+++ b/assets/icons/editor_cursor.svg
@@ -1,9 +1,3 @@
diff --git a/assets/icons/file_icons/odin.svg b/assets/icons/file_icons/odin.svg
new file mode 100644
index 0000000000..3b4ef89319
--- /dev/null
+++ b/assets/icons/file_icons/odin.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/icons/git_branch_plus.svg b/assets/icons/git_branch_plus.svg
new file mode 100644
index 0000000000..cf60ce66b4
--- /dev/null
+++ b/assets/icons/git_branch_plus.svg
@@ -0,0 +1,8 @@
+
diff --git a/assets/icons/inception.svg b/assets/icons/inception.svg
new file mode 100644
index 0000000000..77a96c0b39
--- /dev/null
+++ b/assets/icons/inception.svg
@@ -0,0 +1,11 @@
+
diff --git a/assets/icons/link.svg b/assets/icons/link.svg
new file mode 100644
index 0000000000..739d41b231
--- /dev/null
+++ b/assets/icons/link.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/icons/sweep_ai.svg b/assets/icons/sweep_ai.svg
new file mode 100644
index 0000000000..bf3459c7ea
--- /dev/null
+++ b/assets/icons/sweep_ai.svg
@@ -0,0 +1,32 @@
+
diff --git a/assets/icons/undo.svg b/assets/icons/undo.svg
index c714b58747..ccd45e246c 100644
--- a/assets/icons/undo.svg
+++ b/assets/icons/undo.svg
@@ -1 +1,4 @@
-
+
diff --git a/assets/icons/zed_agent_two.svg b/assets/icons/zed_agent_two.svg
new file mode 100644
index 0000000000..c352be84d2
--- /dev/null
+++ b/assets/icons/zed_agent_two.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/icons/zed_mcp_custom.svg b/assets/icons/zed_src_custom.svg
similarity index 100%
rename from assets/icons/zed_mcp_custom.svg
rename to assets/icons/zed_src_custom.svg
diff --git a/assets/icons/zed_mcp_extension.svg b/assets/icons/zed_src_extension.svg
similarity index 100%
rename from assets/icons/zed_mcp_extension.svg
rename to assets/icons/zed_src_extension.svg
diff --git a/assets/keymaps/default-linux.json b/assets/keymaps/default-linux.json
index 1176faf03f..aac9dcf706 100644
--- a/assets/keymaps/default-linux.json
+++ b/assets/keymaps/default-linux.json
@@ -25,13 +25,14 @@
"ctrl-shift-w": "workspace::CloseWindow",
"shift-escape": "workspace::ToggleZoom",
"open": "workspace::Open",
- "ctrl-o": "workspace::Open",
+ "ctrl-o": "workspace::OpenFiles",
+ "ctrl-k ctrl-o": "workspace::Open",
"ctrl-=": ["zed::IncreaseBufferFontSize", { "persist": false }],
"ctrl-+": ["zed::IncreaseBufferFontSize", { "persist": false }],
"ctrl--": ["zed::DecreaseBufferFontSize", { "persist": false }],
"ctrl-0": ["zed::ResetBufferFontSize", { "persist": false }],
- "ctrl-,": "zed::OpenSettingsEditor",
- "ctrl-alt-,": "zed::OpenSettings",
+ "ctrl-,": "zed::OpenSettings",
+ "ctrl-alt-,": "zed::OpenSettingsFile",
"ctrl-q": "zed::Quit",
"f4": "debugger::Start",
"shift-f5": "debugger::Stop",
@@ -41,17 +42,17 @@
"ctrl-f11": "debugger::StepInto",
"shift-f11": "debugger::StepOut",
"f11": "zed::ToggleFullScreen",
- "ctrl-alt-z": "edit_prediction::RateCompletions",
+ "ctrl-alt-z": "edit_prediction::RatePredictions",
"ctrl-alt-shift-i": "edit_prediction::ToggleMenu",
- "ctrl-alt-l": "lsp_tool::ToggleMenu"
- }
+ "ctrl-alt-l": "lsp_tool::ToggleMenu",
+ },
},
{
"context": "Picker || menu",
"bindings": {
"up": "menu::SelectPrevious",
- "down": "menu::SelectNext"
- }
+ "down": "menu::SelectNext",
+ },
},
{
"context": "Editor",
@@ -62,7 +63,6 @@
"delete": "editor::Delete",
"tab": "editor::Tab",
"shift-tab": "editor::Backtab",
- "ctrl-k": "editor::CutToEndOfLine",
"ctrl-k ctrl-q": "editor::Rewrap",
"ctrl-k q": "editor::Rewrap",
"ctrl-backspace": ["editor::DeleteToPreviousWordStart", { "ignore_newlines": false, "ignore_brackets": false }],
@@ -124,8 +124,8 @@
"shift-f10": "editor::OpenContextMenu",
"ctrl-alt-shift-e": "editor::ToggleEditPrediction",
"f9": "editor::ToggleBreakpoint",
- "shift-f9": "editor::EditLogBreakpoint"
- }
+ "shift-f9": "editor::EditLogBreakpoint",
+ },
},
{
"context": "Editor && mode == full",
@@ -139,49 +139,49 @@
"find": "buffer_search::Deploy",
"ctrl-f": "buffer_search::Deploy",
"ctrl-h": "buffer_search::DeployReplace",
- "ctrl->": "agent::QuoteSelection",
+ "ctrl->": "agent::AddSelectionToThread",
"ctrl-<": "assistant::InsertIntoEditor",
"ctrl-alt-e": "editor::SelectEnclosingSymbol",
"ctrl-shift-backspace": "editor::GoToPreviousChange",
"ctrl-shift-alt-backspace": "editor::GoToNextChange",
- "alt-enter": "editor::OpenSelectionsInMultibuffer"
- }
+ "alt-enter": "editor::OpenSelectionsInMultibuffer",
+ },
},
{
"context": "Editor && mode == full && edit_prediction",
"bindings": {
"alt-]": "editor::NextEditPrediction",
- "alt-[": "editor::PreviousEditPrediction"
- }
+ "alt-[": "editor::PreviousEditPrediction",
+ },
},
{
"context": "Editor && !edit_prediction",
"bindings": {
- "alt-\\": "editor::ShowEditPrediction"
- }
+ "alt-\\": "editor::ShowEditPrediction",
+ },
},
{
"context": "Editor && mode == auto_height",
"bindings": {
"ctrl-enter": "editor::Newline",
"shift-enter": "editor::Newline",
- "ctrl-shift-enter": "editor::NewlineBelow"
- }
+ "ctrl-shift-enter": "editor::NewlineBelow",
+ },
},
{
"context": "Markdown",
"bindings": {
"copy": "markdown::Copy",
"ctrl-insert": "markdown::Copy",
- "ctrl-c": "markdown::Copy"
- }
+ "ctrl-c": "markdown::Copy",
+ },
},
{
"context": "Editor && jupyter && !ContextEditor",
"bindings": {
"ctrl-shift-enter": "repl::Run",
- "ctrl-alt-enter": "repl::RunInPlace"
- }
+ "ctrl-alt-enter": "repl::RunInPlace",
+ },
},
{
"context": "Editor && !agent_diff",
@@ -189,8 +189,8 @@
"ctrl-k ctrl-r": "git::Restore",
"ctrl-alt-y": "git::ToggleStaged",
"alt-y": "git::StageAndNext",
- "alt-shift-y": "git::UnstageAndNext"
- }
+ "alt-shift-y": "git::UnstageAndNext",
+ },
},
{
"context": "Editor && editor_agent_diff",
@@ -199,8 +199,8 @@
"ctrl-n": "agent::Reject",
"ctrl-shift-y": "agent::KeepAll",
"ctrl-shift-n": "agent::RejectAll",
- "shift-ctrl-r": "agent::OpenAgentDiff"
- }
+ "shift-ctrl-r": "agent::OpenAgentDiff",
+ },
},
{
"context": "AgentDiff",
@@ -208,8 +208,8 @@
"ctrl-y": "agent::Keep",
"ctrl-n": "agent::Reject",
"ctrl-shift-y": "agent::KeepAll",
- "ctrl-shift-n": "agent::RejectAll"
- }
+ "ctrl-shift-n": "agent::RejectAll",
+ },
},
{
"context": "ContextEditor > Editor",
@@ -225,8 +225,8 @@
"ctrl-k c": "assistant::CopyCode",
"ctrl-g": "search::SelectNextMatch",
"ctrl-shift-g": "search::SelectPreviousMatch",
- "ctrl-k l": "agent::OpenRulesLibrary"
- }
+ "ctrl-k l": "agent::OpenRulesLibrary",
+ },
},
{
"context": "AgentPanel",
@@ -235,53 +235,52 @@
"ctrl-alt-n": "agent::NewTextThread",
"ctrl-shift-h": "agent::OpenHistory",
"ctrl-alt-c": "agent::OpenSettings",
- "ctrl-alt-p": "agent::OpenRulesLibrary",
+ "ctrl-alt-p": "agent::ManageProfiles",
+ "ctrl-alt-l": "agent::OpenRulesLibrary",
"ctrl-i": "agent::ToggleProfileSelector",
"ctrl-alt-/": "agent::ToggleModelSelector",
- "ctrl-shift-a": "agent::ToggleContextPicker",
"ctrl-shift-j": "agent::ToggleNavigationMenu",
- "ctrl-shift-i": "agent::ToggleOptionsMenu",
+ "ctrl-alt-i": "agent::ToggleOptionsMenu",
"ctrl-alt-shift-n": "agent::ToggleNewThreadMenu",
"shift-alt-escape": "agent::ExpandMessageEditor",
- "ctrl->": "agent::QuoteSelection",
- "ctrl-alt-e": "agent::RemoveAllContext",
+ "ctrl->": "agent::AddSelectionToThread",
"ctrl-shift-e": "project_panel::ToggleFocus",
"ctrl-shift-enter": "agent::ContinueThread",
"super-ctrl-b": "agent::ToggleBurnMode",
"alt-enter": "agent::ContinueWithBurnMode",
"ctrl-y": "agent::AllowOnce",
"ctrl-alt-y": "agent::AllowAlways",
- "ctrl-alt-z": "agent::RejectOnce"
- }
+ "ctrl-alt-z": "agent::RejectOnce",
+ },
},
{
"context": "AgentPanel > NavigationMenu",
"bindings": {
- "shift-backspace": "agent::DeleteRecentlyOpenThread"
- }
+ "shift-backspace": "agent::DeleteRecentlyOpenThread",
+ },
},
{
"context": "AgentPanel > Markdown",
"bindings": {
"copy": "markdown::CopyAsMarkdown",
"ctrl-insert": "markdown::CopyAsMarkdown",
- "ctrl-c": "markdown::CopyAsMarkdown"
- }
+ "ctrl-c": "markdown::CopyAsMarkdown",
+ },
},
{
- "context": "AgentPanel && prompt_editor",
+ "context": "AgentPanel && text_thread",
"bindings": {
"ctrl-n": "agent::NewTextThread",
- "ctrl-alt-t": "agent::NewThread"
- }
+ "ctrl-alt-t": "agent::NewThread",
+ },
},
{
- "context": "AgentPanel && external_agent_thread",
+ "context": "AgentPanel && acp_thread",
"use_key_equivalents": true,
"bindings": {
"ctrl-n": "agent::NewExternalAgentThread",
- "ctrl-alt-t": "agent::NewThread"
- }
+ "ctrl-alt-t": "agent::NewThread",
+ },
},
{
"context": "MessageEditor && !Picker > Editor && !use_modifier_to_send",
@@ -291,8 +290,8 @@
"ctrl-i": "agent::ToggleProfileSelector",
"shift-ctrl-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
- "ctrl-shift-n": "agent::RejectAll"
- }
+ "ctrl-shift-n": "agent::RejectAll",
+ },
},
{
"context": "MessageEditor && !Picker > Editor && use_modifier_to_send",
@@ -302,41 +301,30 @@
"ctrl-i": "agent::ToggleProfileSelector",
"shift-ctrl-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
- "ctrl-shift-n": "agent::RejectAll"
- }
+ "ctrl-shift-n": "agent::RejectAll",
+ },
},
{
"context": "EditMessageEditor > Editor",
"bindings": {
"escape": "menu::Cancel",
"enter": "menu::Confirm",
- "alt-enter": "editor::Newline"
- }
+ "alt-enter": "editor::Newline",
+ },
},
{
"context": "AgentFeedbackMessageEditor > Editor",
"bindings": {
"escape": "menu::Cancel",
"enter": "menu::Confirm",
- "alt-enter": "editor::Newline"
- }
- },
- {
- "context": "ContextStrip",
- "bindings": {
- "up": "agent::FocusUp",
- "right": "agent::FocusRight",
- "left": "agent::FocusLeft",
- "down": "agent::FocusDown",
- "backspace": "agent::RemoveFocusedContext",
- "enter": "agent::AcceptSuggestedContext"
- }
+ "alt-enter": "editor::Newline",
+ },
},
{
"context": "AcpThread > ModeSelector",
"bindings": {
- "ctrl-enter": "menu::Confirm"
- }
+ "ctrl-enter": "menu::Confirm",
+ },
},
{
"context": "AcpThread > Editor && !use_modifier_to_send",
@@ -345,8 +333,8 @@
"enter": "agent::Chat",
"shift-ctrl-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
- "ctrl-shift-n": "agent::RejectAll"
- }
+ "ctrl-shift-n": "agent::RejectAll",
+ },
},
{
"context": "AcpThread > Editor && use_modifier_to_send",
@@ -356,23 +344,23 @@
"shift-ctrl-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
"ctrl-shift-n": "agent::RejectAll",
- "shift-tab": "agent::CycleModeSelector"
- }
+ "shift-tab": "agent::CycleModeSelector",
+ },
},
{
"context": "ThreadHistory",
"bindings": {
- "backspace": "agent::RemoveSelectedThread"
- }
+ "backspace": "agent::RemoveSelectedThread",
+ },
},
{
- "context": "PromptLibrary",
+ "context": "RulesLibrary",
"bindings": {
"new": "rules_library::NewRule",
"ctrl-n": "rules_library::NewRule",
"ctrl-shift-s": "rules_library::ToggleDefaultRule",
- "ctrl-w": "workspace::CloseWindow"
- }
+ "ctrl-w": "workspace::CloseWindow",
+ },
},
{
"context": "BufferSearchBar",
@@ -385,47 +373,48 @@
"find": "search::FocusSearch",
"ctrl-f": "search::FocusSearch",
"ctrl-h": "search::ToggleReplace",
- "ctrl-l": "search::ToggleSelection"
- }
+ "ctrl-l": "search::ToggleSelection",
+ },
},
{
"context": "BufferSearchBar && in_replace > Editor",
"bindings": {
"enter": "search::ReplaceNext",
- "ctrl-enter": "search::ReplaceAll"
- }
+ "ctrl-enter": "search::ReplaceAll",
+ },
},
{
"context": "BufferSearchBar && !in_replace > Editor",
"bindings": {
"up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
+ "down": "search::NextHistoryQuery",
+ },
},
{
"context": "ProjectSearchBar",
"bindings": {
"escape": "project_search::ToggleFocus",
"shift-find": "search::FocusSearch",
+ "shift-enter": "project_search::ToggleAllSearchResults",
"ctrl-shift-f": "search::FocusSearch",
"ctrl-shift-h": "search::ToggleReplace",
"alt-ctrl-g": "search::ToggleRegex",
- "alt-ctrl-x": "search::ToggleRegex"
- }
+ "alt-ctrl-x": "search::ToggleRegex",
+ },
},
{
"context": "ProjectSearchBar > Editor",
"bindings": {
"up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
+ "down": "search::NextHistoryQuery",
+ },
},
{
"context": "ProjectSearchBar && in_replace > Editor",
"bindings": {
"enter": "search::ReplaceNext",
- "ctrl-alt-enter": "search::ReplaceAll"
- }
+ "ctrl-alt-enter": "search::ReplaceAll",
+ },
},
{
"context": "ProjectSearchView",
@@ -433,8 +422,8 @@
"escape": "project_search::ToggleFocus",
"ctrl-shift-h": "search::ToggleReplace",
"alt-ctrl-g": "search::ToggleRegex",
- "alt-ctrl-x": "search::ToggleRegex"
- }
+ "alt-ctrl-x": "search::ToggleRegex",
+ },
},
{
"context": "Pane",
@@ -479,11 +468,12 @@
"alt-w": "search::ToggleWholeWord",
"alt-find": "project_search::ToggleFilters",
"alt-ctrl-f": "project_search::ToggleFilters",
+ "shift-enter": "project_search::ToggleAllSearchResults",
"ctrl-alt-shift-r": "search::ToggleRegex",
"ctrl-alt-shift-x": "search::ToggleRegex",
"alt-r": "search::ToggleRegex",
- "ctrl-k shift-enter": "pane::TogglePinTab"
- }
+ "ctrl-k shift-enter": "pane::TogglePinTab",
+ },
},
// Bindings from VS Code
{
@@ -491,8 +481,8 @@
"bindings": {
"ctrl-[": "editor::Outdent",
"ctrl-]": "editor::Indent",
- "shift-alt-up": "editor::AddSelectionAbove", // Insert Cursor Above
- "shift-alt-down": "editor::AddSelectionBelow", // Insert Cursor Below
+ "shift-alt-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": true }], // Insert Cursor Above
+ "shift-alt-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": true }], // Insert Cursor Below
"ctrl-shift-k": "editor::DeleteLine",
"alt-up": "editor::MoveLineUp",
"alt-down": "editor::MoveLineDown",
@@ -510,6 +500,7 @@
"ctrl-k ctrl-i": "editor::Hover",
"ctrl-k ctrl-b": "editor::BlameHover",
"ctrl-/": ["editor::ToggleComments", { "advance_downwards": false }],
+ "ctrl-k ctrl-c": ["editor::ToggleComments", { "advance_downwards": false }],
"f8": ["editor::GoToDiagnostic", { "severity": { "min": "hint", "max": "error" } }],
"shift-f8": ["editor::GoToPreviousDiagnostic", { "severity": { "min": "hint", "max": "error" } }],
"f2": "editor::Rename",
@@ -527,15 +518,15 @@
"ctrl-k ctrl-l": "editor::ToggleFold",
"ctrl-k ctrl-[": "editor::FoldRecursive",
"ctrl-k ctrl-]": "editor::UnfoldRecursive",
- "ctrl-k ctrl-1": ["editor::FoldAtLevel", 1],
- "ctrl-k ctrl-2": ["editor::FoldAtLevel", 2],
- "ctrl-k ctrl-3": ["editor::FoldAtLevel", 3],
- "ctrl-k ctrl-4": ["editor::FoldAtLevel", 4],
- "ctrl-k ctrl-5": ["editor::FoldAtLevel", 5],
- "ctrl-k ctrl-6": ["editor::FoldAtLevel", 6],
- "ctrl-k ctrl-7": ["editor::FoldAtLevel", 7],
- "ctrl-k ctrl-8": ["editor::FoldAtLevel", 8],
- "ctrl-k ctrl-9": ["editor::FoldAtLevel", 9],
+ "ctrl-k ctrl-1": "editor::FoldAtLevel_1",
+ "ctrl-k ctrl-2": "editor::FoldAtLevel_2",
+ "ctrl-k ctrl-3": "editor::FoldAtLevel_3",
+ "ctrl-k ctrl-4": "editor::FoldAtLevel_4",
+ "ctrl-k ctrl-5": "editor::FoldAtLevel_5",
+ "ctrl-k ctrl-6": "editor::FoldAtLevel_6",
+ "ctrl-k ctrl-7": "editor::FoldAtLevel_7",
+ "ctrl-k ctrl-8": "editor::FoldAtLevel_8",
+ "ctrl-k ctrl-9": "editor::FoldAtLevel_9",
"ctrl-k ctrl-0": "editor::FoldAll",
"ctrl-k ctrl-j": "editor::UnfoldAll",
"ctrl-space": "editor::ShowCompletions",
@@ -546,31 +537,31 @@
"ctrl-\\": "pane::SplitRight",
"ctrl-alt-shift-c": "editor::DisplayCursorNames",
"alt-.": "editor::GoToHunk",
- "alt-,": "editor::GoToPreviousHunk"
- }
+ "alt-,": "editor::GoToPreviousHunk",
+ },
},
{
"context": "Editor && extension == md",
"use_key_equivalents": true,
"bindings": {
"ctrl-k v": "markdown::OpenPreviewToTheSide",
- "ctrl-shift-v": "markdown::OpenPreview"
- }
+ "ctrl-shift-v": "markdown::OpenPreview",
+ },
},
{
"context": "Editor && extension == svg",
"use_key_equivalents": true,
"bindings": {
"ctrl-k v": "svg::OpenPreviewToTheSide",
- "ctrl-shift-v": "svg::OpenPreview"
- }
+ "ctrl-shift-v": "svg::OpenPreview",
+ },
},
{
"context": "Editor && mode == full",
"bindings": {
"ctrl-shift-o": "outline::Toggle",
- "ctrl-g": "go_to_line::Toggle"
- }
+ "ctrl-g": "go_to_line::Toggle",
+ },
},
{
"context": "Workspace",
@@ -609,7 +600,7 @@
"ctrl-alt-b": "workspace::ToggleRightDock",
"ctrl-b": "workspace::ToggleLeftDock",
"ctrl-j": "workspace::ToggleBottomDock",
- "ctrl-alt-y": "workspace::CloseAllDocks",
+ "ctrl-alt-y": "workspace::ToggleAllDocks",
"ctrl-alt-0": "workspace::ResetActiveDockSize",
// For 0px parameter, uses UI font size value.
"ctrl-alt--": ["workspace::DecreaseActiveDockSize", { "px": 0 }],
@@ -621,13 +612,13 @@
"ctrl-shift-f": "pane::DeploySearch",
"ctrl-shift-h": ["pane::DeploySearch", { "replace_enabled": true }],
"ctrl-shift-t": "pane::ReopenClosedItem",
- "ctrl-k ctrl-s": "zed::OpenKeymapEditor",
+ "ctrl-k ctrl-s": "zed::OpenKeymap",
"ctrl-k ctrl-t": "theme_selector::Toggle",
"ctrl-alt-super-p": "settings_profile_selector::Toggle",
"ctrl-t": "project_symbols::Toggle",
"ctrl-p": "file_finder::Toggle",
- "ctrl-tab": "tab_switcher::Toggle",
"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }],
+ "ctrl-tab": "tab_switcher::Toggle",
"ctrl-e": "file_finder::Toggle",
"f1": "command_palette::Toggle",
"ctrl-shift-p": "command_palette::Toggle",
@@ -664,28 +655,28 @@
// "foo-bar": ["task::Spawn", { "task_tag": "MyTag" }],
"f5": "debugger::Rerun",
"ctrl-f4": "workspace::CloseActiveDock",
- "ctrl-w": "workspace::CloseActiveDock"
- }
+ "ctrl-w": "workspace::CloseActiveDock",
+ },
},
{
"context": "Workspace && debugger_running",
"bindings": {
- "f5": "zed::NoAction"
- }
+ "f5": "zed::NoAction",
+ },
},
{
"context": "Workspace && debugger_stopped",
"bindings": {
- "f5": "debugger::Continue"
- }
+ "f5": "debugger::Continue",
+ },
},
{
"context": "ApplicationMenu",
"bindings": {
"f10": "menu::Cancel",
"left": "app_menu::ActivateMenuLeft",
- "right": "app_menu::ActivateMenuRight"
- }
+ "right": "app_menu::ActivateMenuRight",
+ },
},
// Bindings from Sublime Text
{
@@ -703,8 +694,8 @@
"ctrl-alt-shift-left": "editor::SelectToPreviousSubwordStart",
"ctrl-alt-shift-b": "editor::SelectToPreviousSubwordStart",
"ctrl-alt-shift-right": "editor::SelectToNextSubwordEnd",
- "ctrl-alt-shift-f": "editor::SelectToNextSubwordEnd"
- }
+ "ctrl-alt-shift-f": "editor::SelectToNextSubwordEnd",
+ },
},
// Bindings from Atom
{
@@ -713,23 +704,37 @@
"ctrl-k up": "pane::SplitUp",
"ctrl-k down": "pane::SplitDown",
"ctrl-k left": "pane::SplitLeft",
- "ctrl-k right": "pane::SplitRight"
- }
+ "ctrl-k right": "pane::SplitRight",
+ },
},
// Bindings that should be unified with bindings for more general actions
{
"context": "Editor && renaming",
"bindings": {
- "enter": "editor::ConfirmRename"
- }
+ "enter": "editor::ConfirmRename",
+ },
},
{
"context": "Editor && showing_completions",
"bindings": {
"enter": "editor::ConfirmCompletion",
"shift-enter": "editor::ConfirmCompletionReplace",
- "tab": "editor::ComposeCompletion"
- }
+ "tab": "editor::ComposeCompletion",
+ },
+ },
+ {
+ "context": "Editor && in_snippet && has_next_tabstop && !showing_completions",
+ "use_key_equivalents": true,
+ "bindings": {
+ "tab": "editor::NextSnippetTabstop",
+ },
+ },
+ {
+ "context": "Editor && in_snippet && has_previous_tabstop && !showing_completions",
+ "use_key_equivalents": true,
+ "bindings": {
+ "shift-tab": "editor::PreviousSnippetTabstop",
+ },
},
// Bindings for accepting edit predictions
//
@@ -741,22 +746,24 @@
"alt-tab": "editor::AcceptEditPrediction",
"alt-l": "editor::AcceptEditPrediction",
"tab": "editor::AcceptEditPrediction",
- "alt-right": "editor::AcceptPartialEditPrediction"
- }
+ "alt-right": "editor::AcceptNextWordEditPrediction",
+ "alt-down": "editor::AcceptNextLineEditPrediction",
+ },
},
{
"context": "Editor && edit_prediction_conflict",
"bindings": {
"alt-tab": "editor::AcceptEditPrediction",
"alt-l": "editor::AcceptEditPrediction",
- "alt-right": "editor::AcceptPartialEditPrediction"
- }
+ "alt-right": "editor::AcceptNextWordEditPrediction",
+ "alt-down": "editor::AcceptNextLineEditPrediction",
+ },
},
{
"context": "Editor && showing_code_actions",
"bindings": {
- "enter": "editor::ConfirmCodeAction"
- }
+ "enter": "editor::ConfirmCodeAction",
+ },
},
{
"context": "Editor && (showing_code_actions || showing_completions)",
@@ -766,29 +773,29 @@
"ctrl-n": "editor::ContextMenuNext",
"down": "editor::ContextMenuNext",
"pageup": "editor::ContextMenuFirst",
- "pagedown": "editor::ContextMenuLast"
- }
+ "pagedown": "editor::ContextMenuLast",
+ },
},
{
"context": "Editor && showing_signature_help && !showing_completions",
"bindings": {
"up": "editor::SignatureHelpPrevious",
- "down": "editor::SignatureHelpNext"
- }
+ "down": "editor::SignatureHelpNext",
+ },
},
// Custom bindings
{
"bindings": {
"ctrl-alt-shift-f": "workspace::FollowNextCollaborator",
// Only available in debug builds: opens an element inspector for development.
- "ctrl-alt-i": "dev::ToggleInspector"
- }
+ "ctrl-alt-i": "dev::ToggleInspector",
+ },
},
{
"context": "!Terminal",
"bindings": {
- "ctrl-shift-c": "collab_panel::ToggleFocus"
- }
+ "ctrl-shift-c": "collab_panel::ToggleFocus",
+ },
},
{
"context": "!ContextEditor > Editor && mode == full",
@@ -800,16 +807,17 @@
"ctrl-f8": "editor::GoToHunk",
"ctrl-shift-f8": "editor::GoToPreviousHunk",
"ctrl-enter": "assistant::InlineAssist",
- "ctrl-:": "editor::ToggleInlayHints"
- }
+ "ctrl-:": "editor::ToggleInlayHints",
+ },
},
{
"context": "PromptEditor",
"bindings": {
"ctrl-[": "agent::CyclePreviousInlineAssist",
"ctrl-]": "agent::CycleNextInlineAssist",
- "ctrl-alt-e": "agent::RemoveAllContext"
- }
+ "ctrl-shift-enter": "inline_assistant::ThumbsUpResult",
+ "ctrl-shift-backspace": "inline_assistant::ThumbsDownResult",
+ },
},
{
"context": "Prompt",
@@ -817,14 +825,14 @@
"left": "menu::SelectPrevious",
"right": "menu::SelectNext",
"h": "menu::SelectPrevious",
- "l": "menu::SelectNext"
- }
+ "l": "menu::SelectNext",
+ },
},
{
"context": "ProjectSearchBar && !in_replace",
"bindings": {
- "ctrl-enter": "project_search::SearchInNew"
- }
+ "ctrl-enter": "project_search::SearchInNew",
+ },
},
{
"context": "OutlinePanel && not_editing",
@@ -841,13 +849,14 @@
"shift-down": "menu::SelectNext",
"shift-up": "menu::SelectPrevious",
"alt-enter": "editor::OpenExcerpts",
- "ctrl-alt-enter": "editor::OpenExcerptsSplit"
- }
+ "ctrl-alt-enter": "editor::OpenExcerptsSplit",
+ },
},
{
"context": "ProjectPanel",
"bindings": {
"left": "project_panel::CollapseSelectedEntry",
+ "ctrl-left": "project_panel::CollapseAllEntries",
"right": "project_panel::ExpandSelectedEntry",
"new": "project_panel::NewFile",
"ctrl-n": "project_panel::NewFile",
@@ -879,14 +888,14 @@
"ctrl-alt-shift-f": "project_panel::NewSearchInDirectory",
"shift-down": "menu::SelectNext",
"shift-up": "menu::SelectPrevious",
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "ProjectPanel && not_editing",
"bindings": {
- "space": "project_panel::Open"
- }
+ "space": "project_panel::Open",
+ },
},
{
"context": "GitPanel && ChangesList",
@@ -907,15 +916,15 @@
"backspace": ["git::RestoreFile", { "skip_prompt": false }],
"shift-delete": ["git::RestoreFile", { "skip_prompt": false }],
"ctrl-backspace": ["git::RestoreFile", { "skip_prompt": false }],
- "ctrl-delete": ["git::RestoreFile", { "skip_prompt": false }]
- }
+ "ctrl-delete": ["git::RestoreFile", { "skip_prompt": false }],
+ },
},
{
"context": "GitPanel && CommitEditor",
"use_key_equivalents": true,
"bindings": {
- "escape": "git::Cancel"
- }
+ "escape": "git::Cancel",
+ },
},
{
"context": "GitCommit > Editor",
@@ -924,8 +933,8 @@
"enter": "editor::Newline",
"ctrl-enter": "git::Commit",
"ctrl-shift-enter": "git::Amend",
- "alt-l": "git::GenerateCommitMessage"
- }
+ "alt-l": "git::GenerateCommitMessage",
+ },
},
{
"context": "GitPanel",
@@ -933,6 +942,7 @@
"ctrl-g ctrl-g": "git::Fetch",
"ctrl-g up": "git::Push",
"ctrl-g down": "git::Pull",
+ "ctrl-g shift-down": "git::PullRebase",
"ctrl-g shift-up": "git::ForcePush",
"ctrl-g d": "git::Diff",
"ctrl-g backspace": "git::RestoreTrackedFiles",
@@ -940,8 +950,8 @@
"ctrl-space": "git::StageAll",
"ctrl-shift-space": "git::UnstageAll",
"ctrl-enter": "git::Commit",
- "ctrl-shift-enter": "git::Amend"
- }
+ "ctrl-shift-enter": "git::Amend",
+ },
},
{
"context": "GitDiff > Editor",
@@ -949,14 +959,14 @@
"ctrl-enter": "git::Commit",
"ctrl-shift-enter": "git::Amend",
"ctrl-space": "git::StageAll",
- "ctrl-shift-space": "git::UnstageAll"
- }
+ "ctrl-shift-space": "git::UnstageAll",
+ },
},
{
"context": "AskPass > Editor",
"bindings": {
- "enter": "menu::Confirm"
- }
+ "enter": "menu::Confirm",
+ },
},
{
"context": "CommitEditor > Editor",
@@ -968,16 +978,16 @@
"ctrl-enter": "git::Commit",
"ctrl-shift-enter": "git::Amend",
"alt-up": "git_panel::FocusChanges",
- "alt-l": "git::GenerateCommitMessage"
- }
+ "alt-l": "git::GenerateCommitMessage",
+ },
},
{
"context": "DebugPanel",
"bindings": {
"ctrl-t": "debugger::ToggleThreadPicker",
"ctrl-i": "debugger::ToggleSessionPicker",
- "shift-alt-escape": "debugger::ToggleExpandItem"
- }
+ "shift-alt-escape": "debugger::ToggleExpandItem",
+ },
},
{
"context": "VariableList",
@@ -989,8 +999,8 @@
"ctrl-alt-c": "variable_list::CopyVariableName",
"delete": "variable_list::RemoveWatch",
"backspace": "variable_list::RemoveWatch",
- "alt-enter": "variable_list::AddWatch"
- }
+ "alt-enter": "variable_list::AddWatch",
+ },
},
{
"context": "BreakpointList",
@@ -998,34 +1008,35 @@
"space": "debugger::ToggleEnableBreakpoint",
"backspace": "debugger::UnsetBreakpoint",
"left": "debugger::PreviousBreakpointProperty",
- "right": "debugger::NextBreakpointProperty"
- }
+ "right": "debugger::NextBreakpointProperty",
+ },
},
{
"context": "CollabPanel && not_editing",
"bindings": {
"ctrl-backspace": "collab_panel::Remove",
- "space": "menu::Confirm"
- }
+ "space": "menu::Confirm",
+ },
},
{
"context": "CollabPanel",
"bindings": {
"alt-up": "collab_panel::MoveChannelUp",
- "alt-down": "collab_panel::MoveChannelDown"
- }
+ "alt-down": "collab_panel::MoveChannelDown",
+ "alt-enter": "collab_panel::OpenSelectedChannelNotes",
+ },
},
{
"context": "(CollabPanel && editing) > Editor",
"bindings": {
- "space": "collab_panel::InsertSpace"
- }
+ "space": "collab_panel::InsertSpace",
+ },
},
{
"context": "ChannelModal",
"bindings": {
- "tab": "channel_modal::ToggleMode"
- }
+ "tab": "channel_modal::ToggleMode",
+ },
},
{
"context": "Picker > Editor",
@@ -1034,29 +1045,29 @@
"up": "menu::SelectPrevious",
"down": "menu::SelectNext",
"tab": "picker::ConfirmCompletion",
- "alt-enter": ["picker::ConfirmInput", { "secondary": false }]
- }
+ "alt-enter": ["picker::ConfirmInput", { "secondary": false }],
+ },
},
{
"context": "ChannelModal > Picker > Editor",
"bindings": {
- "tab": "channel_modal::ToggleMode"
- }
+ "tab": "channel_modal::ToggleMode",
+ },
},
{
"context": "ToolchainSelector",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-a": "toolchain::AddToolchain"
- }
+ "ctrl-shift-a": "toolchain::AddToolchain",
+ },
},
{
"context": "FileFinder || (FileFinder > Picker > Editor)",
"bindings": {
"ctrl-p": "file_finder::Toggle",
"ctrl-shift-a": "file_finder::ToggleSplitMenu",
- "ctrl-shift-i": "file_finder::ToggleFilterMenu"
- }
+ "ctrl-shift-i": "file_finder::ToggleFilterMenu",
+ },
},
{
"context": "FileFinder || (FileFinder > Picker > Editor) || (FileFinder > Picker > menu)",
@@ -1065,8 +1076,8 @@
"ctrl-j": "pane::SplitDown",
"ctrl-k": "pane::SplitUp",
"ctrl-h": "pane::SplitLeft",
- "ctrl-l": "pane::SplitRight"
- }
+ "ctrl-l": "pane::SplitRight",
+ },
},
{
"context": "TabSwitcher",
@@ -1074,14 +1085,15 @@
"ctrl-shift-tab": "menu::SelectPrevious",
"ctrl-up": "menu::SelectPrevious",
"ctrl-down": "menu::SelectNext",
- "ctrl-backspace": "tab_switcher::CloseSelectedItem"
- }
+ "ctrl-backspace": "tab_switcher::CloseSelectedItem",
+ },
},
{
"context": "StashList || (StashList > Picker > Editor)",
"bindings": {
- "ctrl-shift-backspace": "stash_picker::DropStashItem"
- }
+ "ctrl-shift-backspace": "stash_picker::DropStashItem",
+ "ctrl-shift-v": "stash_picker::ShowStashItem",
+ },
},
{
"context": "Terminal",
@@ -1125,65 +1137,70 @@
"ctrl-shift-space": "terminal::ToggleViMode",
"ctrl-shift-r": "terminal::RerunTask",
"ctrl-alt-r": "terminal::RerunTask",
- "alt-t": "terminal::RerunTask"
- }
+ "alt-t": "terminal::RerunTask",
+ "ctrl-shift-5": "pane::SplitRight",
+ },
},
{
"context": "ZedPredictModal",
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "ConfigureContextServerModal > Editor",
"bindings": {
"escape": "menu::Cancel",
"enter": "editor::Newline",
- "ctrl-enter": "menu::Confirm"
- }
+ "ctrl-enter": "menu::Confirm",
+ },
},
{
"context": "ContextServerToolsModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "OnboardingAiConfigurationModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "Diagnostics",
"use_key_equivalents": true,
"bindings": {
- "ctrl-r": "diagnostics::ToggleDiagnosticsRefresh"
- }
+ "ctrl-r": "diagnostics::ToggleDiagnosticsRefresh",
+ },
},
{
"context": "DebugConsole > Editor",
"use_key_equivalents": true,
"bindings": {
"enter": "menu::Confirm",
- "alt-enter": "console::WatchExpression"
- }
+ "alt-enter": "console::WatchExpression",
+ },
},
{
"context": "RunModal",
"bindings": {
"ctrl-tab": "pane::ActivateNextItem",
- "ctrl-shift-tab": "pane::ActivatePreviousItem"
- }
+ "ctrl-shift-tab": "pane::ActivatePreviousItem",
+ },
},
{
"context": "MarkdownPreview",
"bindings": {
- "pageup": "markdown::MovePageUp",
- "pagedown": "markdown::MovePageDown"
- }
+ "pageup": "markdown::ScrollPageUp",
+ "pagedown": "markdown::ScrollPageDown",
+ "up": "markdown::ScrollUp",
+ "down": "markdown::ScrollDown",
+ "alt-up": "markdown::ScrollUpByItem",
+ "alt-down": "markdown::ScrollDownByItem",
+ },
},
{
"context": "KeymapEditor",
@@ -1197,8 +1214,8 @@
"alt-enter": "keymap_editor::CreateBinding",
"ctrl-c": "keymap_editor::CopyAction",
"ctrl-shift-c": "keymap_editor::CopyContext",
- "ctrl-t": "keymap_editor::ShowMatchingKeybinds"
- }
+ "ctrl-t": "keymap_editor::ShowMatchingKeybinds",
+ },
},
{
"context": "KeystrokeInput",
@@ -1206,50 +1223,73 @@
"bindings": {
"enter": "keystroke_input::StartRecording",
"escape escape escape": "keystroke_input::StopRecording",
- "delete": "keystroke_input::ClearKeystrokes"
- }
+ "delete": "keystroke_input::ClearKeystrokes",
+ },
},
{
"context": "KeybindEditorModal",
"use_key_equivalents": true,
"bindings": {
"ctrl-enter": "menu::Confirm",
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "KeybindEditorModal > Editor",
"use_key_equivalents": true,
"bindings": {
"up": "menu::SelectPrevious",
- "down": "menu::SelectNext"
- }
+ "down": "menu::SelectNext",
+ },
},
{
"context": "Onboarding",
"use_key_equivalents": true,
"bindings": {
- "ctrl-1": "onboarding::ActivateBasicsPage",
- "ctrl-2": "onboarding::ActivateEditingPage",
- "ctrl-3": "onboarding::ActivateAISetupPage",
+ "ctrl-=": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl-+": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl--": ["zed::DecreaseUiFontSize", { "persist": false }],
+ "ctrl-0": ["zed::ResetUiFontSize", { "persist": false }],
"ctrl-enter": "onboarding::Finish",
"alt-shift-l": "onboarding::SignIn",
- "alt-shift-a": "onboarding::OpenAccount"
- }
+ "alt-shift-a": "onboarding::OpenAccount",
+ },
+ },
+ {
+ "context": "Welcome",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-=": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl-+": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl--": ["zed::DecreaseUiFontSize", { "persist": false }],
+ "ctrl-0": ["zed::ResetUiFontSize", { "persist": false }],
+ },
},
{
"context": "InvalidBuffer",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-enter": "workspace::OpenWithSystem"
- }
+ "ctrl-shift-enter": "workspace::OpenWithSystem",
+ },
+ },
+ {
+ "context": "GitWorktreeSelector || (GitWorktreeSelector > Picker > Editor)",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-shift-space": "git::WorktreeFromDefaultOnWindow",
+ "ctrl-space": "git::WorktreeFromDefault",
+ },
},
{
"context": "SettingsWindow",
"use_key_equivalents": true,
"bindings": {
"ctrl-w": "workspace::CloseWindow",
+ "escape": "workspace::CloseWindow",
+ "ctrl-m": "settings_editor::Minimize",
"ctrl-f": "search::FocusSearch",
+ "ctrl-,": "settings_editor::OpenCurrentFile",
+ "left": "settings_editor::ToggleFocusNav",
"ctrl-shift-e": "settings_editor::ToggleFocusNav",
// todo(settings_ui): cut this down based on the max files and overflow UI
"ctrl-1": ["settings_editor::FocusFile", 0],
@@ -1263,7 +1303,46 @@
"ctrl-9": ["settings_editor::FocusFile", 8],
"ctrl-0": ["settings_editor::FocusFile", 9],
"ctrl-pageup": "settings_editor::FocusPreviousFile",
- "ctrl-pagedown": "settings_editor::FocusNextFile"
- }
- }
+ "ctrl-pagedown": "settings_editor::FocusNextFile",
+ },
+ },
+ {
+ "context": "StashDiff > Editor",
+ "bindings": {
+ "ctrl-space": "git::ApplyCurrentStash",
+ "ctrl-shift-space": "git::PopCurrentStash",
+ "ctrl-shift-backspace": "git::DropCurrentStash",
+ },
+ },
+ {
+ "context": "SettingsWindow > NavigationMenu",
+ "use_key_equivalents": true,
+ "bindings": {
+ "up": "settings_editor::FocusPreviousNavEntry",
+ "shift-tab": "settings_editor::FocusPreviousNavEntry",
+ "down": "settings_editor::FocusNextNavEntry",
+ "tab": "settings_editor::FocusNextNavEntry",
+ "right": "settings_editor::ExpandNavEntry",
+ "left": "settings_editor::CollapseNavEntry",
+ "pageup": "settings_editor::FocusPreviousRootNavEntry",
+ "pagedown": "settings_editor::FocusNextRootNavEntry",
+ "home": "settings_editor::FocusFirstNavEntry",
+ "end": "settings_editor::FocusLastNavEntry",
+ },
+ },
+ {
+ "context": "EditPredictionContext > Editor",
+ "bindings": {
+ "alt-left": "dev::EditPredictionContextGoBack",
+ "alt-right": "dev::EditPredictionContextGoForward",
+ },
+ },
+ {
+ "context": "GitBranchSelector || (GitBranchSelector > Picker > Editor)",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-shift-backspace": "branch_picker::DeleteBranch",
+ "ctrl-shift-i": "branch_picker::FilterRemotes",
+ },
+ },
]
diff --git a/assets/keymaps/default-macos.json b/assets/keymaps/default-macos.json
index f2b0c0d318..224f675546 100644
--- a/assets/keymaps/default-macos.json
+++ b/assets/keymaps/default-macos.json
@@ -39,18 +39,19 @@
"cmd-+": ["zed::IncreaseBufferFontSize", { "persist": false }],
"cmd--": ["zed::DecreaseBufferFontSize", { "persist": false }],
"cmd-0": ["zed::ResetBufferFontSize", { "persist": false }],
- "cmd-,": "zed::OpenSettingsEditor",
- "cmd-alt-,": "zed::OpenSettings",
+ "cmd-,": "zed::OpenSettings",
+ "cmd-alt-,": "zed::OpenSettingsFile",
"cmd-q": "zed::Quit",
"cmd-h": "zed::Hide",
"alt-cmd-h": "zed::HideOthers",
"cmd-m": "zed::Minimize",
"fn-f": "zed::ToggleFullScreen",
"ctrl-cmd-f": "zed::ToggleFullScreen",
- "ctrl-cmd-z": "edit_prediction::RateCompletions",
+ "ctrl-cmd-z": "edit_prediction::RatePredictions",
"ctrl-cmd-i": "edit_prediction::ToggleMenu",
- "ctrl-cmd-l": "lsp_tool::ToggleMenu"
- }
+ "ctrl-cmd-l": "lsp_tool::ToggleMenu",
+ "ctrl-cmd-c": "editor::DisplayCursorNames",
+ },
},
{
"context": "Editor",
@@ -147,8 +148,8 @@
"shift-f9": "editor::EditLogBreakpoint",
"ctrl-f12": "editor::GoToDeclaration",
"alt-ctrl-f12": "editor::GoToDeclarationSplit",
- "ctrl-cmd-e": "editor::ToggleEditPrediction"
- }
+ "ctrl-cmd-e": "editor::ToggleEditPrediction",
+ },
},
{
"context": "Editor && mode == full",
@@ -163,11 +164,11 @@
"cmd-alt-f": "buffer_search::DeployReplace",
"cmd-alt-l": ["buffer_search::Deploy", { "selection_search_enabled": true }],
"cmd-e": ["buffer_search::Deploy", { "focus": false }],
- "cmd->": "agent::QuoteSelection",
+ "cmd->": "agent::AddSelectionToThread",
"cmd-<": "assistant::InsertIntoEditor",
"cmd-alt-e": "editor::SelectEnclosingSymbol",
- "alt-enter": "editor::OpenSelectionsInMultibuffer"
- }
+ "alt-enter": "editor::OpenSelectionsInMultibuffer",
+ },
},
{
"context": "Editor && multibuffer",
@@ -176,23 +177,23 @@
"cmd-up": "editor::MoveToStartOfExcerpt",
"cmd-down": "editor::MoveToStartOfNextExcerpt",
"cmd-shift-up": "editor::SelectToStartOfExcerpt",
- "cmd-shift-down": "editor::SelectToStartOfNextExcerpt"
- }
+ "cmd-shift-down": "editor::SelectToStartOfNextExcerpt",
+ },
},
{
"context": "Editor && mode == full && edit_prediction",
"use_key_equivalents": true,
"bindings": {
"alt-tab": "editor::NextEditPrediction",
- "alt-shift-tab": "editor::PreviousEditPrediction"
- }
+ "alt-shift-tab": "editor::PreviousEditPrediction",
+ },
},
{
"context": "Editor && !edit_prediction",
"use_key_equivalents": true,
"bindings": {
- "alt-tab": "editor::ShowEditPrediction"
- }
+ "alt-tab": "editor::ShowEditPrediction",
+ },
},
{
"context": "Editor && mode == auto_height",
@@ -200,23 +201,23 @@
"bindings": {
"ctrl-enter": "editor::Newline",
"shift-enter": "editor::Newline",
- "ctrl-shift-enter": "editor::NewlineBelow"
- }
+ "ctrl-shift-enter": "editor::NewlineBelow",
+ },
},
{
"context": "Markdown",
"use_key_equivalents": true,
"bindings": {
- "cmd-c": "markdown::Copy"
- }
+ "cmd-c": "markdown::Copy",
+ },
},
{
"context": "Editor && jupyter && !ContextEditor",
"use_key_equivalents": true,
"bindings": {
"ctrl-shift-enter": "repl::Run",
- "ctrl-alt-enter": "repl::RunInPlace"
- }
+ "ctrl-alt-enter": "repl::RunInPlace",
+ },
},
{
"context": "Editor && !agent_diff && !AgentPanel",
@@ -225,8 +226,8 @@
"cmd-alt-z": "git::Restore",
"cmd-alt-y": "git::ToggleStaged",
"cmd-y": "git::StageAndNext",
- "cmd-shift-y": "git::UnstageAndNext"
- }
+ "cmd-shift-y": "git::UnstageAndNext",
+ },
},
{
"context": "AgentDiff",
@@ -235,8 +236,8 @@
"cmd-y": "agent::Keep",
"cmd-n": "agent::Reject",
"cmd-shift-y": "agent::KeepAll",
- "cmd-shift-n": "agent::RejectAll"
- }
+ "cmd-shift-n": "agent::RejectAll",
+ },
},
{
"context": "Editor && editor_agent_diff",
@@ -246,8 +247,8 @@
"cmd-n": "agent::Reject",
"cmd-shift-y": "agent::KeepAll",
"cmd-shift-n": "agent::RejectAll",
- "shift-ctrl-r": "agent::OpenAgentDiff"
- }
+ "shift-ctrl-r": "agent::OpenAgentDiff",
+ },
},
{
"context": "ContextEditor > Editor",
@@ -263,8 +264,8 @@
"cmd-k c": "assistant::CopyCode",
"cmd-g": "search::SelectNextMatch",
"cmd-shift-g": "search::SelectPreviousMatch",
- "cmd-k l": "agent::OpenRulesLibrary"
- }
+ "cmd-k l": "agent::OpenRulesLibrary",
+ },
},
{
"context": "AgentPanel",
@@ -274,53 +275,52 @@
"cmd-alt-n": "agent::NewTextThread",
"cmd-shift-h": "agent::OpenHistory",
"cmd-alt-c": "agent::OpenSettings",
- "cmd-alt-p": "agent::OpenRulesLibrary",
+ "cmd-alt-l": "agent::OpenRulesLibrary",
+ "cmd-alt-p": "agent::ManageProfiles",
"cmd-i": "agent::ToggleProfileSelector",
"cmd-alt-/": "agent::ToggleModelSelector",
- "cmd-shift-a": "agent::ToggleContextPicker",
"cmd-shift-j": "agent::ToggleNavigationMenu",
- "cmd-shift-i": "agent::ToggleOptionsMenu",
+ "cmd-alt-m": "agent::ToggleOptionsMenu",
"cmd-alt-shift-n": "agent::ToggleNewThreadMenu",
"shift-alt-escape": "agent::ExpandMessageEditor",
- "cmd->": "agent::QuoteSelection",
- "cmd-alt-e": "agent::RemoveAllContext",
+ "cmd->": "agent::AddSelectionToThread",
"cmd-shift-e": "project_panel::ToggleFocus",
"cmd-ctrl-b": "agent::ToggleBurnMode",
"cmd-shift-enter": "agent::ContinueThread",
"alt-enter": "agent::ContinueWithBurnMode",
"cmd-y": "agent::AllowOnce",
"cmd-alt-y": "agent::AllowAlways",
- "cmd-alt-z": "agent::RejectOnce"
- }
+ "cmd-alt-z": "agent::RejectOnce",
+ },
},
{
"context": "AgentPanel > NavigationMenu",
"bindings": {
- "shift-backspace": "agent::DeleteRecentlyOpenThread"
- }
+ "shift-backspace": "agent::DeleteRecentlyOpenThread",
+ },
},
{
"context": "AgentPanel > Markdown",
"use_key_equivalents": true,
"bindings": {
- "cmd-c": "markdown::CopyAsMarkdown"
- }
+ "cmd-c": "markdown::CopyAsMarkdown",
+ },
},
{
- "context": "AgentPanel && prompt_editor",
+ "context": "AgentPanel && text_thread",
"use_key_equivalents": true,
"bindings": {
"cmd-n": "agent::NewTextThread",
- "cmd-alt-t": "agent::NewThread"
- }
+ "cmd-alt-n": "agent::NewExternalAgentThread",
+ },
},
{
- "context": "AgentPanel && external_agent_thread",
+ "context": "AgentPanel && acp_thread",
"use_key_equivalents": true,
"bindings": {
"cmd-n": "agent::NewExternalAgentThread",
- "cmd-alt-t": "agent::NewThread"
- }
+ "cmd-alt-t": "agent::NewThread",
+ },
},
{
"context": "MessageEditor && !Picker > Editor && !use_modifier_to_send",
@@ -331,8 +331,8 @@
"cmd-i": "agent::ToggleProfileSelector",
"shift-ctrl-r": "agent::OpenAgentDiff",
"cmd-shift-y": "agent::KeepAll",
- "cmd-shift-n": "agent::RejectAll"
- }
+ "cmd-shift-n": "agent::RejectAll",
+ },
},
{
"context": "MessageEditor && !Picker > Editor && use_modifier_to_send",
@@ -343,8 +343,8 @@
"cmd-i": "agent::ToggleProfileSelector",
"shift-ctrl-r": "agent::OpenAgentDiff",
"cmd-shift-y": "agent::KeepAll",
- "cmd-shift-n": "agent::RejectAll"
- }
+ "cmd-shift-n": "agent::RejectAll",
+ },
},
{
"context": "EditMessageEditor > Editor",
@@ -352,8 +352,8 @@
"bindings": {
"escape": "menu::Cancel",
"enter": "menu::Confirm",
- "alt-enter": "editor::Newline"
- }
+ "alt-enter": "editor::Newline",
+ },
},
{
"context": "AgentFeedbackMessageEditor > Editor",
@@ -361,32 +361,20 @@
"bindings": {
"escape": "menu::Cancel",
"enter": "menu::Confirm",
- "alt-enter": "editor::Newline"
- }
- },
- {
- "context": "ContextStrip",
- "use_key_equivalents": true,
- "bindings": {
- "up": "agent::FocusUp",
- "right": "agent::FocusRight",
- "left": "agent::FocusLeft",
- "down": "agent::FocusDown",
- "backspace": "agent::RemoveFocusedContext",
- "enter": "agent::AcceptSuggestedContext"
- }
+ "alt-enter": "editor::Newline",
+ },
},
{
"context": "AgentConfiguration",
"bindings": {
- "ctrl--": "pane::GoBack"
- }
+ "ctrl--": "pane::GoBack",
+ },
},
{
"context": "AcpThread > ModeSelector",
"bindings": {
- "cmd-enter": "menu::Confirm"
- }
+ "cmd-enter": "menu::Confirm",
+ },
},
{
"context": "AcpThread > Editor && !use_modifier_to_send",
@@ -396,8 +384,8 @@
"shift-ctrl-r": "agent::OpenAgentDiff",
"cmd-shift-y": "agent::KeepAll",
"cmd-shift-n": "agent::RejectAll",
- "shift-tab": "agent::CycleModeSelector"
- }
+ "shift-tab": "agent::CycleModeSelector",
+ },
},
{
"context": "AcpThread > Editor && use_modifier_to_send",
@@ -407,29 +395,29 @@
"shift-ctrl-r": "agent::OpenAgentDiff",
"cmd-shift-y": "agent::KeepAll",
"cmd-shift-n": "agent::RejectAll",
- "shift-tab": "agent::CycleModeSelector"
- }
+ "shift-tab": "agent::CycleModeSelector",
+ },
},
{
"context": "ThreadHistory",
"bindings": {
- "ctrl--": "pane::GoBack"
- }
+ "ctrl--": "pane::GoBack",
+ },
},
{
"context": "ThreadHistory > Editor",
"bindings": {
- "shift-backspace": "agent::RemoveSelectedThread"
- }
+ "shift-backspace": "agent::RemoveSelectedThread",
+ },
},
{
- "context": "PromptLibrary",
+ "context": "RulesLibrary",
"use_key_equivalents": true,
"bindings": {
"cmd-n": "rules_library::NewRule",
"cmd-shift-s": "rules_library::ToggleDefaultRule",
- "cmd-w": "workspace::CloseWindow"
- }
+ "cmd-w": "workspace::CloseWindow",
+ },
},
{
"context": "BufferSearchBar",
@@ -443,24 +431,24 @@
"cmd-f": "search::FocusSearch",
"cmd-alt-f": "search::ToggleReplace",
"cmd-alt-l": "search::ToggleSelection",
- "cmd-shift-o": "outline::Toggle"
- }
+ "cmd-shift-o": "outline::Toggle",
+ },
},
{
"context": "BufferSearchBar && in_replace > Editor",
"use_key_equivalents": true,
"bindings": {
"enter": "search::ReplaceNext",
- "cmd-enter": "search::ReplaceAll"
- }
+ "cmd-enter": "search::ReplaceAll",
+ },
},
{
"context": "BufferSearchBar && !in_replace > Editor",
"use_key_equivalents": true,
"bindings": {
"up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
+ "down": "search::NextHistoryQuery",
+ },
},
{
"context": "ProjectSearchBar",
@@ -468,27 +456,28 @@
"bindings": {
"escape": "project_search::ToggleFocus",
"cmd-shift-j": "project_search::ToggleFilters",
+ "shift-enter": "project_search::ToggleAllSearchResults",
"cmd-shift-f": "search::FocusSearch",
"cmd-shift-h": "search::ToggleReplace",
"alt-cmd-g": "search::ToggleRegex",
- "alt-cmd-x": "search::ToggleRegex"
- }
+ "alt-cmd-x": "search::ToggleRegex",
+ },
},
{
"context": "ProjectSearchBar > Editor",
"use_key_equivalents": true,
"bindings": {
"up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
+ "down": "search::NextHistoryQuery",
+ },
},
{
"context": "ProjectSearchBar && in_replace > Editor",
"use_key_equivalents": true,
"bindings": {
"enter": "search::ReplaceNext",
- "cmd-enter": "search::ReplaceAll"
- }
+ "cmd-enter": "search::ReplaceAll",
+ },
},
{
"context": "ProjectSearchView",
@@ -496,10 +485,11 @@
"bindings": {
"escape": "project_search::ToggleFocus",
"cmd-shift-j": "project_search::ToggleFilters",
+ "shift-enter": "project_search::ToggleAllSearchResults",
"cmd-shift-h": "search::ToggleReplace",
"alt-cmd-g": "search::ToggleRegex",
- "alt-cmd-x": "search::ToggleRegex"
- }
+ "alt-cmd-x": "search::ToggleRegex",
+ },
},
{
"context": "Pane",
@@ -529,8 +519,8 @@
"alt-cmd-w": "search::ToggleWholeWord",
"alt-cmd-f": "project_search::ToggleFilters",
"alt-cmd-x": "search::ToggleRegex",
- "cmd-k shift-enter": "pane::TogglePinTab"
- }
+ "cmd-k shift-enter": "pane::TogglePinTab",
+ },
},
// Bindings from VS Code
{
@@ -539,10 +529,10 @@
"bindings": {
"cmd-[": "editor::Outdent",
"cmd-]": "editor::Indent",
- "cmd-ctrl-p": "editor::AddSelectionAbove", // Insert cursor above
- "cmd-alt-up": "editor::AddSelectionAbove",
- "cmd-ctrl-n": "editor::AddSelectionBelow", // Insert cursor below
- "cmd-alt-down": "editor::AddSelectionBelow",
+ "cmd-ctrl-p": ["editor::AddSelectionAbove", { "skip_soft_wrap": false }], // Insert cursor above
+ "cmd-alt-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": true }],
+ "cmd-ctrl-n": ["editor::AddSelectionBelow", { "skip_soft_wrap": false }], // Insert cursor below
+ "cmd-alt-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": true }],
"cmd-shift-k": "editor::DeleteLine",
"alt-up": "editor::MoveLineUp",
"alt-down": "editor::MoveLineDown",
@@ -582,15 +572,15 @@
"cmd-k cmd-l": "editor::ToggleFold",
"cmd-k cmd-[": "editor::FoldRecursive",
"cmd-k cmd-]": "editor::UnfoldRecursive",
- "cmd-k cmd-1": ["editor::FoldAtLevel", 1],
- "cmd-k cmd-2": ["editor::FoldAtLevel", 2],
- "cmd-k cmd-3": ["editor::FoldAtLevel", 3],
- "cmd-k cmd-4": ["editor::FoldAtLevel", 4],
- "cmd-k cmd-5": ["editor::FoldAtLevel", 5],
- "cmd-k cmd-6": ["editor::FoldAtLevel", 6],
- "cmd-k cmd-7": ["editor::FoldAtLevel", 7],
- "cmd-k cmd-8": ["editor::FoldAtLevel", 8],
- "cmd-k cmd-9": ["editor::FoldAtLevel", 9],
+ "cmd-k cmd-1": "editor::FoldAtLevel_1",
+ "cmd-k cmd-2": "editor::FoldAtLevel_2",
+ "cmd-k cmd-3": "editor::FoldAtLevel_3",
+ "cmd-k cmd-4": "editor::FoldAtLevel_4",
+ "cmd-k cmd-5": "editor::FoldAtLevel_5",
+ "cmd-k cmd-6": "editor::FoldAtLevel_6",
+ "cmd-k cmd-7": "editor::FoldAtLevel_7",
+ "cmd-k cmd-8": "editor::FoldAtLevel_8",
+ "cmd-k cmd-9": "editor::FoldAtLevel_9",
"cmd-k cmd-0": "editor::FoldAll",
"cmd-k cmd-j": "editor::UnfoldAll",
// Using `ctrl-space` / `ctrl-shift-space` in Zed requires disabling the macOS global shortcut.
@@ -601,24 +591,23 @@
"cmd-k r": "editor::RevealInFileManager",
"cmd-k p": "editor::CopyPath",
"cmd-\\": "pane::SplitRight",
- "ctrl-cmd-c": "editor::DisplayCursorNames"
- }
+ },
},
{
"context": "Editor && extension == md",
"use_key_equivalents": true,
"bindings": {
"cmd-k v": "markdown::OpenPreviewToTheSide",
- "cmd-shift-v": "markdown::OpenPreview"
- }
+ "cmd-shift-v": "markdown::OpenPreview",
+ },
},
{
"context": "Editor && extension == svg",
"use_key_equivalents": true,
"bindings": {
"cmd-k v": "svg::OpenPreviewToTheSide",
- "cmd-shift-v": "svg::OpenPreview"
- }
+ "cmd-shift-v": "svg::OpenPreview",
+ },
},
{
"context": "Editor && mode == full",
@@ -627,8 +616,8 @@
"cmd-shift-o": "outline::Toggle",
"ctrl-g": "go_to_line::Toggle",
"cmd-shift-backspace": "editor::GoToPreviousChange",
- "cmd-shift-alt-backspace": "editor::GoToNextChange"
- }
+ "cmd-shift-alt-backspace": "editor::GoToNextChange",
+ },
},
{
"context": "Pane",
@@ -646,8 +635,8 @@
"ctrl-0": "pane::ActivateLastItem",
"ctrl--": "pane::GoBack",
"ctrl-_": "pane::GoForward",
- "cmd-shift-f": "pane::DeploySearch"
- }
+ "cmd-shift-f": "pane::DeploySearch",
+ },
},
{
"context": "Workspace",
@@ -679,7 +668,7 @@
"cmd-alt-b": "workspace::ToggleRightDock",
"cmd-r": "workspace::ToggleRightDock",
"cmd-j": "workspace::ToggleBottomDock",
- "alt-cmd-y": "workspace::CloseAllDocks",
+ "alt-cmd-y": "workspace::ToggleAllDocks",
// For 0px parameter, uses UI font size value.
"ctrl-alt-0": "workspace::ResetActiveDockSize",
"ctrl-alt--": ["workspace::DecreaseActiveDockSize", { "px": 0 }],
@@ -690,13 +679,13 @@
"cmd-shift-f": "pane::DeploySearch",
"cmd-shift-h": ["pane::DeploySearch", { "replace_enabled": true }],
"cmd-shift-t": "pane::ReopenClosedItem",
- "cmd-k cmd-s": "zed::OpenKeymapEditor",
+ "cmd-k cmd-s": "zed::OpenKeymap",
"cmd-k cmd-t": "theme_selector::Toggle",
"ctrl-alt-cmd-p": "settings_profile_selector::Toggle",
"cmd-t": "project_symbols::Toggle",
"cmd-p": "file_finder::Toggle",
- "ctrl-tab": "tab_switcher::Toggle",
"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }],
+ "ctrl-tab": "tab_switcher::Toggle",
"cmd-shift-p": "command_palette::Toggle",
"cmd-shift-m": "diagnostics::Deploy",
"cmd-shift-e": "project_panel::ToggleFocus",
@@ -718,8 +707,8 @@
"cmd-k shift-down": "workspace::SwapPaneDown",
"cmd-shift-x": "zed::Extensions",
"f5": "debugger::Rerun",
- "cmd-w": "workspace::CloseActiveDock"
- }
+ "cmd-w": "workspace::CloseActiveDock",
+ },
},
{
"context": "Workspace && !Terminal",
@@ -730,26 +719,27 @@
// All task parameters are captured and unchanged between reruns by default.
// Use the `"reevaluate_context"` parameter to control this.
"cmd-alt-r": ["task::Rerun", { "reevaluate_context": false }],
- "ctrl-alt-shift-r": ["task::Spawn", { "reveal_target": "center" }]
+ "ctrl-alt-shift-r": ["task::Spawn", { "reveal_target": "center" }],
// also possible to spawn tasks by name:
// "foo-bar": ["task::Spawn", { "task_name": "MyTask", "reveal_target": "dock" }]
// or by tag:
// "foo-bar": ["task::Spawn", { "task_tag": "MyTag" }],
- }
+ },
},
{
"context": "Workspace && debugger_running",
"use_key_equivalents": true,
"bindings": {
- "f5": "zed::NoAction"
- }
+ "f5": "zed::NoAction",
+ "f11": "debugger::StepInto",
+ },
},
{
"context": "Workspace && debugger_stopped",
"use_key_equivalents": true,
"bindings": {
- "f5": "debugger::Continue"
- }
+ "f5": "debugger::Continue",
+ },
},
// Bindings from Sublime Text
{
@@ -770,8 +760,8 @@
"ctrl-alt-shift-left": "editor::SelectToPreviousSubwordStart",
"ctrl-alt-shift-b": "editor::SelectToPreviousSubwordStart",
"ctrl-alt-shift-right": "editor::SelectToNextSubwordEnd",
- "ctrl-alt-shift-f": "editor::SelectToNextSubwordEnd"
- }
+ "ctrl-alt-shift-f": "editor::SelectToNextSubwordEnd",
+ },
},
// Bindings from Atom
{
@@ -781,16 +771,16 @@
"cmd-k up": "pane::SplitUp",
"cmd-k down": "pane::SplitDown",
"cmd-k left": "pane::SplitLeft",
- "cmd-k right": "pane::SplitRight"
- }
+ "cmd-k right": "pane::SplitRight",
+ },
},
// Bindings that should be unified with bindings for more general actions
{
"context": "Editor && renaming",
"use_key_equivalents": true,
"bindings": {
- "enter": "editor::ConfirmRename"
- }
+ "enter": "editor::ConfirmRename",
+ },
},
{
"context": "Editor && showing_completions",
@@ -798,31 +788,47 @@
"bindings": {
"enter": "editor::ConfirmCompletion",
"shift-enter": "editor::ConfirmCompletionReplace",
- "tab": "editor::ComposeCompletion"
- }
+ "tab": "editor::ComposeCompletion",
+ },
+ },
+ {
+ "context": "Editor && in_snippet && has_next_tabstop && !showing_completions",
+ "use_key_equivalents": true,
+ "bindings": {
+ "tab": "editor::NextSnippetTabstop",
+ },
+ },
+ {
+ "context": "Editor && in_snippet && has_previous_tabstop && !showing_completions",
+ "use_key_equivalents": true,
+ "bindings": {
+ "shift-tab": "editor::PreviousSnippetTabstop",
+ },
},
{
"context": "Editor && edit_prediction",
"bindings": {
"alt-tab": "editor::AcceptEditPrediction",
"tab": "editor::AcceptEditPrediction",
- "ctrl-cmd-right": "editor::AcceptPartialEditPrediction"
- }
+ "ctrl-cmd-right": "editor::AcceptNextWordEditPrediction",
+ "ctrl-cmd-down": "editor::AcceptNextLineEditPrediction",
+ },
},
{
"context": "Editor && edit_prediction_conflict",
"use_key_equivalents": true,
"bindings": {
"alt-tab": "editor::AcceptEditPrediction",
- "ctrl-cmd-right": "editor::AcceptPartialEditPrediction"
- }
+ "ctrl-cmd-right": "editor::AcceptNextWordEditPrediction",
+ "ctrl-cmd-down": "editor::AcceptNextLineEditPrediction",
+ },
},
{
"context": "Editor && showing_code_actions",
"use_key_equivalents": true,
"bindings": {
- "enter": "editor::ConfirmCodeAction"
- }
+ "enter": "editor::ConfirmCodeAction",
+ },
},
{
"context": "Editor && (showing_code_actions || showing_completions)",
@@ -833,15 +839,15 @@
"down": "editor::ContextMenuNext",
"ctrl-n": "editor::ContextMenuNext",
"pageup": "editor::ContextMenuFirst",
- "pagedown": "editor::ContextMenuLast"
- }
+ "pagedown": "editor::ContextMenuLast",
+ },
},
{
"context": "Editor && showing_signature_help && !showing_completions",
"bindings": {
"up": "editor::SignatureHelpPrevious",
- "down": "editor::SignatureHelpNext"
- }
+ "down": "editor::SignatureHelpNext",
+ },
},
// Custom bindings
{
@@ -851,8 +857,8 @@
// TODO: Move this to a dock open action
"cmd-shift-c": "collab_panel::ToggleFocus",
// Only available in debug builds: opens an element inspector for development.
- "cmd-alt-i": "dev::ToggleInspector"
- }
+ "cmd-alt-i": "dev::ToggleInspector",
+ },
},
{
"context": "!ContextEditor > Editor && mode == full",
@@ -865,19 +871,19 @@
"cmd-f8": "editor::GoToHunk",
"cmd-shift-f8": "editor::GoToPreviousHunk",
"ctrl-enter": "assistant::InlineAssist",
- "ctrl-:": "editor::ToggleInlayHints"
- }
+ "ctrl-:": "editor::ToggleInlayHints",
+ },
},
{
"context": "PromptEditor",
"use_key_equivalents": true,
"bindings": {
- "cmd-shift-a": "agent::ToggleContextPicker",
"cmd-alt-/": "agent::ToggleModelSelector",
- "cmd-alt-e": "agent::RemoveAllContext",
"ctrl-[": "agent::CyclePreviousInlineAssist",
- "ctrl-]": "agent::CycleNextInlineAssist"
- }
+ "ctrl-]": "agent::CycleNextInlineAssist",
+ "cmd-shift-enter": "inline_assistant::ThumbsUpResult",
+ "cmd-shift-backspace": "inline_assistant::ThumbsDownResult",
+ },
},
{
"context": "Prompt",
@@ -886,15 +892,15 @@
"left": "menu::SelectPrevious",
"right": "menu::SelectNext",
"h": "menu::SelectPrevious",
- "l": "menu::SelectNext"
- }
+ "l": "menu::SelectNext",
+ },
},
{
"context": "ProjectSearchBar && !in_replace",
"use_key_equivalents": true,
"bindings": {
- "cmd-enter": "project_search::SearchInNew"
- }
+ "cmd-enter": "project_search::SearchInNew",
+ },
},
{
"context": "OutlinePanel && not_editing",
@@ -910,14 +916,15 @@
"shift-down": "menu::SelectNext",
"shift-up": "menu::SelectPrevious",
"alt-enter": "editor::OpenExcerpts",
- "cmd-alt-enter": "editor::OpenExcerptsSplit"
- }
+ "cmd-alt-enter": "editor::OpenExcerptsSplit",
+ },
},
{
"context": "ProjectPanel",
"use_key_equivalents": true,
"bindings": {
"left": "project_panel::CollapseSelectedEntry",
+ "cmd-left": "project_panel::CollapseAllEntries",
"right": "project_panel::ExpandSelectedEntry",
"cmd-n": "project_panel::NewFile",
"cmd-d": "project_panel::Duplicate",
@@ -940,15 +947,15 @@
"cmd-alt-shift-f": "project_panel::NewSearchInDirectory",
"shift-down": "menu::SelectNext",
"shift-up": "menu::SelectPrevious",
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "ProjectPanel && not_editing",
"use_key_equivalents": true,
"bindings": {
- "space": "project_panel::Open"
- }
+ "space": "project_panel::Open",
+ },
},
{
"context": "VariableList",
@@ -961,8 +968,8 @@
"cmd-alt-c": "variable_list::CopyVariableName",
"delete": "variable_list::RemoveWatch",
"backspace": "variable_list::RemoveWatch",
- "alt-enter": "variable_list::AddWatch"
- }
+ "alt-enter": "variable_list::AddWatch",
+ },
},
{
"context": "GitPanel && ChangesList",
@@ -985,15 +992,15 @@
"backspace": ["git::RestoreFile", { "skip_prompt": false }],
"delete": ["git::RestoreFile", { "skip_prompt": false }],
"cmd-backspace": ["git::RestoreFile", { "skip_prompt": true }],
- "cmd-delete": ["git::RestoreFile", { "skip_prompt": true }]
- }
+ "cmd-delete": ["git::RestoreFile", { "skip_prompt": true }],
+ },
},
{
"context": "GitPanel && CommitEditor",
"use_key_equivalents": true,
"bindings": {
- "escape": "git::Cancel"
- }
+ "escape": "git::Cancel",
+ },
},
{
"context": "GitDiff > Editor",
@@ -1002,8 +1009,8 @@
"cmd-enter": "git::Commit",
"cmd-shift-enter": "git::Amend",
"cmd-ctrl-y": "git::StageAll",
- "cmd-ctrl-shift-y": "git::UnstageAll"
- }
+ "cmd-ctrl-shift-y": "git::UnstageAll",
+ },
},
{
"context": "CommitEditor > Editor",
@@ -1016,8 +1023,8 @@
"shift-tab": "git_panel::FocusChanges",
"alt-up": "git_panel::FocusChanges",
"shift-escape": "git::ExpandCommitEditor",
- "alt-tab": "git::GenerateCommitMessage"
- }
+ "alt-tab": "git::GenerateCommitMessage",
+ },
},
{
"context": "GitPanel",
@@ -1026,6 +1033,7 @@
"ctrl-g ctrl-g": "git::Fetch",
"ctrl-g up": "git::Push",
"ctrl-g down": "git::Pull",
+ "ctrl-g shift-down": "git::PullRebase",
"ctrl-g shift-up": "git::ForcePush",
"ctrl-g d": "git::Diff",
"ctrl-g backspace": "git::RestoreTrackedFiles",
@@ -1033,8 +1041,8 @@
"cmd-ctrl-y": "git::StageAll",
"cmd-ctrl-shift-y": "git::UnstageAll",
"cmd-enter": "git::Commit",
- "cmd-shift-enter": "git::Amend"
- }
+ "cmd-shift-enter": "git::Amend",
+ },
},
{
"context": "GitCommit > Editor",
@@ -1044,16 +1052,16 @@
"escape": "menu::Cancel",
"cmd-enter": "git::Commit",
"cmd-shift-enter": "git::Amend",
- "alt-tab": "git::GenerateCommitMessage"
- }
+ "alt-tab": "git::GenerateCommitMessage",
+ },
},
{
"context": "DebugPanel",
"bindings": {
"cmd-t": "debugger::ToggleThreadPicker",
"cmd-i": "debugger::ToggleSessionPicker",
- "shift-alt-escape": "debugger::ToggleExpandItem"
- }
+ "shift-alt-escape": "debugger::ToggleExpandItem",
+ },
},
{
"context": "BreakpointList",
@@ -1061,38 +1069,39 @@
"space": "debugger::ToggleEnableBreakpoint",
"backspace": "debugger::UnsetBreakpoint",
"left": "debugger::PreviousBreakpointProperty",
- "right": "debugger::NextBreakpointProperty"
- }
+ "right": "debugger::NextBreakpointProperty",
+ },
},
{
"context": "CollabPanel && not_editing",
"use_key_equivalents": true,
"bindings": {
"ctrl-backspace": "collab_panel::Remove",
- "space": "menu::Confirm"
- }
+ "space": "menu::Confirm",
+ },
},
{
"context": "CollabPanel",
"use_key_equivalents": true,
"bindings": {
"alt-up": "collab_panel::MoveChannelUp",
- "alt-down": "collab_panel::MoveChannelDown"
- }
+ "alt-down": "collab_panel::MoveChannelDown",
+ "alt-enter": "collab_panel::OpenSelectedChannelNotes",
+ },
},
{
"context": "(CollabPanel && editing) > Editor",
"use_key_equivalents": true,
"bindings": {
- "space": "collab_panel::InsertSpace"
- }
+ "space": "collab_panel::InsertSpace",
+ },
},
{
"context": "ChannelModal",
"use_key_equivalents": true,
"bindings": {
- "tab": "channel_modal::ToggleMode"
- }
+ "tab": "channel_modal::ToggleMode",
+ },
},
{
"context": "Picker > Editor",
@@ -1103,30 +1112,30 @@
"down": "menu::SelectNext",
"tab": "picker::ConfirmCompletion",
"alt-enter": ["picker::ConfirmInput", { "secondary": false }],
- "cmd-alt-enter": ["picker::ConfirmInput", { "secondary": true }]
- }
+ "cmd-alt-enter": ["picker::ConfirmInput", { "secondary": true }],
+ },
},
{
"context": "ChannelModal > Picker > Editor",
"use_key_equivalents": true,
"bindings": {
- "tab": "channel_modal::ToggleMode"
- }
+ "tab": "channel_modal::ToggleMode",
+ },
},
{
"context": "ToolchainSelector",
"use_key_equivalents": true,
"bindings": {
- "cmd-shift-a": "toolchain::AddToolchain"
- }
+ "cmd-shift-a": "toolchain::AddToolchain",
+ },
},
{
"context": "FileFinder || (FileFinder > Picker > Editor)",
"use_key_equivalents": true,
"bindings": {
"cmd-shift-a": "file_finder::ToggleSplitMenu",
- "cmd-shift-i": "file_finder::ToggleFilterMenu"
- }
+ "cmd-shift-i": "file_finder::ToggleFilterMenu",
+ },
},
{
"context": "FileFinder || (FileFinder > Picker > Editor) || (FileFinder > Picker > menu)",
@@ -1136,8 +1145,8 @@
"cmd-j": "pane::SplitDown",
"cmd-k": "pane::SplitUp",
"cmd-h": "pane::SplitLeft",
- "cmd-l": "pane::SplitRight"
- }
+ "cmd-l": "pane::SplitRight",
+ },
},
{
"context": "TabSwitcher",
@@ -1146,15 +1155,16 @@
"ctrl-shift-tab": "menu::SelectPrevious",
"ctrl-up": "menu::SelectPrevious",
"ctrl-down": "menu::SelectNext",
- "ctrl-backspace": "tab_switcher::CloseSelectedItem"
- }
+ "ctrl-backspace": "tab_switcher::CloseSelectedItem",
+ },
},
{
"context": "StashList || (StashList > Picker > Editor)",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-backspace": "stash_picker::DropStashItem"
- }
+ "ctrl-shift-backspace": "stash_picker::DropStashItem",
+ "ctrl-shift-v": "stash_picker::ShowStashItem",
+ },
},
{
"context": "Terminal",
@@ -1208,35 +1218,36 @@
"ctrl-alt-down": "pane::SplitDown",
"ctrl-alt-left": "pane::SplitLeft",
"ctrl-alt-right": "pane::SplitRight",
- "cmd-alt-r": "terminal::RerunTask"
- }
+ "cmd-d": "pane::SplitRight",
+ "cmd-alt-r": "terminal::RerunTask",
+ },
},
{
- "context": "RateCompletionModal",
+ "context": "RatePredictionsModal",
"use_key_equivalents": true,
"bindings": {
- "cmd-shift-enter": "zeta::ThumbsUpActiveCompletion",
- "cmd-shift-backspace": "zeta::ThumbsDownActiveCompletion",
+ "cmd-shift-enter": "zeta::ThumbsUpActivePrediction",
+ "cmd-shift-backspace": "zeta::ThumbsDownActivePrediction",
"shift-down": "zeta::NextEdit",
"shift-up": "zeta::PreviousEdit",
- "right": "zeta::PreviewCompletion"
- }
+ "right": "zeta::PreviewPrediction",
+ },
},
{
- "context": "RateCompletionModal > Editor",
+ "context": "RatePredictionsModal > Editor",
"use_key_equivalents": true,
"bindings": {
- "escape": "zeta::FocusCompletions",
- "cmd-shift-enter": "zeta::ThumbsUpActiveCompletion",
- "cmd-shift-backspace": "zeta::ThumbsDownActiveCompletion"
- }
+ "escape": "zeta::FocusPredictions",
+ "cmd-shift-enter": "zeta::ThumbsUpActivePrediction",
+ "cmd-shift-backspace": "zeta::ThumbsDownActivePrediction",
+ },
},
{
"context": "ZedPredictModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "ConfigureContextServerModal > Editor",
@@ -1244,52 +1255,56 @@
"bindings": {
"escape": "menu::Cancel",
"enter": "editor::Newline",
- "cmd-enter": "menu::Confirm"
- }
+ "cmd-enter": "menu::Confirm",
+ },
},
{
"context": "ContextServerToolsModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "OnboardingAiConfigurationModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "Diagnostics",
"use_key_equivalents": true,
"bindings": {
- "ctrl-r": "diagnostics::ToggleDiagnosticsRefresh"
- }
+ "ctrl-r": "diagnostics::ToggleDiagnosticsRefresh",
+ },
},
{
"context": "DebugConsole > Editor",
"use_key_equivalents": true,
"bindings": {
"enter": "menu::Confirm",
- "alt-enter": "console::WatchExpression"
- }
+ "alt-enter": "console::WatchExpression",
+ },
},
{
"context": "RunModal",
"use_key_equivalents": true,
"bindings": {
"ctrl-tab": "pane::ActivateNextItem",
- "ctrl-shift-tab": "pane::ActivatePreviousItem"
- }
+ "ctrl-shift-tab": "pane::ActivatePreviousItem",
+ },
},
{
"context": "MarkdownPreview",
"bindings": {
- "pageup": "markdown::MovePageUp",
- "pagedown": "markdown::MovePageDown"
- }
+ "pageup": "markdown::ScrollPageUp",
+ "pagedown": "markdown::ScrollPageDown",
+ "up": "markdown::ScrollUp",
+ "down": "markdown::ScrollDown",
+ "alt-up": "markdown::ScrollUpByItem",
+ "alt-down": "markdown::ScrollDownByItem",
+ },
},
{
"context": "KeymapEditor",
@@ -1302,8 +1317,8 @@
"alt-enter": "keymap_editor::CreateBinding",
"cmd-c": "keymap_editor::CopyAction",
"cmd-shift-c": "keymap_editor::CopyContext",
- "cmd-t": "keymap_editor::ShowMatchingKeybinds"
- }
+ "cmd-t": "keymap_editor::ShowMatchingKeybinds",
+ },
},
{
"context": "KeystrokeInput",
@@ -1311,50 +1326,73 @@
"bindings": {
"enter": "keystroke_input::StartRecording",
"escape escape escape": "keystroke_input::StopRecording",
- "delete": "keystroke_input::ClearKeystrokes"
- }
+ "delete": "keystroke_input::ClearKeystrokes",
+ },
},
{
"context": "KeybindEditorModal",
"use_key_equivalents": true,
"bindings": {
"cmd-enter": "menu::Confirm",
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "KeybindEditorModal > Editor",
"use_key_equivalents": true,
"bindings": {
"up": "menu::SelectPrevious",
- "down": "menu::SelectNext"
- }
+ "down": "menu::SelectNext",
+ },
},
{
"context": "Onboarding",
"use_key_equivalents": true,
"bindings": {
- "cmd-1": "onboarding::ActivateBasicsPage",
- "cmd-2": "onboarding::ActivateEditingPage",
- "cmd-3": "onboarding::ActivateAISetupPage",
- "cmd-escape": "onboarding::Finish",
+ "cmd-=": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "cmd-+": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "cmd--": ["zed::DecreaseUiFontSize", { "persist": false }],
+ "cmd-0": ["zed::ResetUiFontSize", { "persist": false }],
+ "cmd-enter": "onboarding::Finish",
"alt-tab": "onboarding::SignIn",
- "alt-shift-a": "onboarding::OpenAccount"
- }
+ "alt-shift-a": "onboarding::OpenAccount",
+ },
+ },
+ {
+ "context": "Welcome",
+ "use_key_equivalents": true,
+ "bindings": {
+ "cmd-=": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "cmd-+": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "cmd--": ["zed::DecreaseUiFontSize", { "persist": false }],
+ "cmd-0": ["zed::ResetUiFontSize", { "persist": false }],
+ },
},
{
"context": "InvalidBuffer",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-enter": "workspace::OpenWithSystem"
- }
+ "ctrl-shift-enter": "workspace::OpenWithSystem",
+ },
+ },
+ {
+ "context": "GitWorktreeSelector || (GitWorktreeSelector > Picker > Editor)",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-shift-space": "git::WorktreeFromDefaultOnWindow",
+ "ctrl-space": "git::WorktreeFromDefault",
+ },
},
{
"context": "SettingsWindow",
"use_key_equivalents": true,
"bindings": {
"cmd-w": "workspace::CloseWindow",
+ "escape": "workspace::CloseWindow",
+ "cmd-m": "settings_editor::Minimize",
"cmd-f": "search::FocusSearch",
+ "cmd-,": "settings_editor::OpenCurrentFile",
+ "left": "settings_editor::ToggleFocusNav",
"cmd-shift-e": "settings_editor::ToggleFocusNav",
// todo(settings_ui): cut this down based on the max files and overflow UI
"ctrl-1": ["settings_editor::FocusFile", 0],
@@ -1368,7 +1406,47 @@
"ctrl-9": ["settings_editor::FocusFile", 8],
"ctrl-0": ["settings_editor::FocusFile", 9],
"cmd-{": "settings_editor::FocusPreviousFile",
- "cmd-}": "settings_editor::FocusNextFile"
- }
- }
+ "cmd-}": "settings_editor::FocusNextFile",
+ },
+ },
+ {
+ "context": "StashDiff > Editor",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-space": "git::ApplyCurrentStash",
+ "ctrl-shift-space": "git::PopCurrentStash",
+ "ctrl-shift-backspace": "git::DropCurrentStash",
+ },
+ },
+ {
+ "context": "SettingsWindow > NavigationMenu",
+ "use_key_equivalents": true,
+ "bindings": {
+ "up": "settings_editor::FocusPreviousNavEntry",
+ "shift-tab": "settings_editor::FocusPreviousNavEntry",
+ "down": "settings_editor::FocusNextNavEntry",
+ "tab": "settings_editor::FocusNextNavEntry",
+ "right": "settings_editor::ExpandNavEntry",
+ "left": "settings_editor::CollapseNavEntry",
+ "pageup": "settings_editor::FocusPreviousRootNavEntry",
+ "pagedown": "settings_editor::FocusNextRootNavEntry",
+ "home": "settings_editor::FocusFirstNavEntry",
+ "end": "settings_editor::FocusLastNavEntry",
+ },
+ },
+ {
+ "context": "EditPredictionContext > Editor",
+ "bindings": {
+ "alt-left": "dev::EditPredictionContextGoBack",
+ "alt-right": "dev::EditPredictionContextGoForward",
+ },
+ },
+ {
+ "context": "GitBranchSelector || (GitBranchSelector > Picker > Editor)",
+ "use_key_equivalents": true,
+ "bindings": {
+ "cmd-shift-backspace": "branch_picker::DeleteBranch",
+ "cmd-shift-i": "branch_picker::FilterRemotes",
+ },
+ },
]
diff --git a/assets/keymaps/default-windows.json b/assets/keymaps/default-windows.json
index d5c93e0da4..5626309ecb 100644
--- a/assets/keymaps/default-windows.json
+++ b/assets/keymaps/default-windows.json
@@ -24,33 +24,34 @@
"ctrl-alt-enter": ["picker::ConfirmInput", { "secondary": true }],
"ctrl-shift-w": "workspace::CloseWindow",
"shift-escape": "workspace::ToggleZoom",
- "ctrl-o": "workspace::Open",
+ "ctrl-o": "workspace::OpenFiles",
+ "ctrl-k ctrl-o": "workspace::Open",
"ctrl-=": ["zed::IncreaseBufferFontSize", { "persist": false }],
"ctrl-shift-=": ["zed::IncreaseBufferFontSize", { "persist": false }],
"ctrl--": ["zed::DecreaseBufferFontSize", { "persist": false }],
"ctrl-0": ["zed::ResetBufferFontSize", { "persist": false }],
- "ctrl-,": "zed::OpenSettingsEditor",
- "ctrl-alt-,": "zed::OpenSettings",
+ "ctrl-,": "zed::OpenSettings",
+ "ctrl-alt-,": "zed::OpenSettingsFile",
"ctrl-q": "zed::Quit",
"f4": "debugger::Start",
"shift-f5": "debugger::Stop",
"ctrl-shift-f5": "debugger::RerunSession",
"f6": "debugger::Pause",
- "f7": "debugger::StepOver",
- "ctrl-f11": "debugger::StepInto",
+ "f10": "debugger::StepOver",
"shift-f11": "debugger::StepOut",
"f11": "zed::ToggleFullScreen",
"ctrl-shift-i": "edit_prediction::ToggleMenu",
- "shift-alt-l": "lsp_tool::ToggleMenu"
- }
+ "shift-alt-l": "lsp_tool::ToggleMenu",
+ "ctrl-shift-alt-c": "editor::DisplayCursorNames",
+ },
},
{
"context": "Picker || menu",
"use_key_equivalents": true,
"bindings": {
"up": "menu::SelectPrevious",
- "down": "menu::SelectNext"
- }
+ "down": "menu::SelectNext",
+ },
},
{
"context": "Editor",
@@ -62,7 +63,6 @@
"delete": "editor::Delete",
"tab": "editor::Tab",
"shift-tab": "editor::Backtab",
- "ctrl-k": "editor::CutToEndOfLine",
"ctrl-k ctrl-q": "editor::Rewrap",
"ctrl-k q": "editor::Rewrap",
"ctrl-backspace": ["editor::DeleteToPreviousWordStart", { "ignore_newlines": false, "ignore_brackets": false }],
@@ -117,10 +117,10 @@
"alt-g m": "git::OpenModifiedFiles",
"menu": "editor::OpenContextMenu",
"shift-f10": "editor::OpenContextMenu",
- "ctrl-shift-e": "editor::ToggleEditPrediction",
+ "ctrl-alt-e": "editor::ToggleEditPrediction",
"f9": "editor::ToggleBreakpoint",
- "shift-f9": "editor::EditLogBreakpoint"
- }
+ "shift-f9": "editor::EditLogBreakpoint",
+ },
},
{
"context": "Editor && mode == full",
@@ -134,28 +134,28 @@
"ctrl-k z": "editor::ToggleSoftWrap",
"ctrl-f": "buffer_search::Deploy",
"ctrl-h": "buffer_search::DeployReplace",
- "ctrl-shift-.": "assistant::QuoteSelection",
+ "ctrl-shift-.": "agent::AddSelectionToThread",
"ctrl-shift-,": "assistant::InsertIntoEditor",
"shift-alt-e": "editor::SelectEnclosingSymbol",
"ctrl-shift-backspace": "editor::GoToPreviousChange",
"ctrl-shift-alt-backspace": "editor::GoToNextChange",
- "alt-enter": "editor::OpenSelectionsInMultibuffer"
- }
+ "alt-enter": "editor::OpenSelectionsInMultibuffer",
+ },
},
{
"context": "Editor && mode == full && edit_prediction",
"use_key_equivalents": true,
"bindings": {
"alt-]": "editor::NextEditPrediction",
- "alt-[": "editor::PreviousEditPrediction"
- }
+ "alt-[": "editor::PreviousEditPrediction",
+ },
},
{
"context": "Editor && !edit_prediction",
"use_key_equivalents": true,
"bindings": {
- "alt-\\": "editor::ShowEditPrediction"
- }
+ "alt-\\": "editor::ShowEditPrediction",
+ },
},
{
"context": "Editor && mode == auto_height",
@@ -163,23 +163,23 @@
"bindings": {
"ctrl-enter": "editor::Newline",
"shift-enter": "editor::Newline",
- "ctrl-shift-enter": "editor::NewlineBelow"
- }
+ "ctrl-shift-enter": "editor::NewlineBelow",
+ },
},
{
"context": "Markdown",
"use_key_equivalents": true,
"bindings": {
- "ctrl-c": "markdown::Copy"
- }
+ "ctrl-c": "markdown::Copy",
+ },
},
{
"context": "Editor && jupyter && !ContextEditor",
"use_key_equivalents": true,
"bindings": {
"ctrl-shift-enter": "repl::Run",
- "ctrl-alt-enter": "repl::RunInPlace"
- }
+ "ctrl-alt-enter": "repl::RunInPlace",
+ },
},
{
"context": "Editor && !agent_diff",
@@ -187,8 +187,8 @@
"bindings": {
"ctrl-k ctrl-r": "git::Restore",
"alt-y": "git::StageAndNext",
- "shift-alt-y": "git::UnstageAndNext"
- }
+ "shift-alt-y": "git::UnstageAndNext",
+ },
},
{
"context": "Editor && editor_agent_diff",
@@ -198,8 +198,8 @@
"ctrl-n": "agent::Reject",
"ctrl-shift-y": "agent::KeepAll",
"ctrl-shift-n": "agent::RejectAll",
- "ctrl-shift-r": "agent::OpenAgentDiff"
- }
+ "ctrl-shift-r": "agent::OpenAgentDiff",
+ },
},
{
"context": "AgentDiff",
@@ -208,14 +208,14 @@
"ctrl-y": "agent::Keep",
"ctrl-n": "agent::Reject",
"ctrl-shift-y": "agent::KeepAll",
- "ctrl-shift-n": "agent::RejectAll"
- }
+ "ctrl-shift-n": "agent::RejectAll",
+ },
},
{
"context": "ContextEditor > Editor",
"use_key_equivalents": true,
"bindings": {
- "ctrl-enter": "assistant::Assist",
+ "ctrl-i": "assistant::Assist",
"ctrl-s": "workspace::Save",
"ctrl-shift-,": "assistant::InsertIntoEditor",
"shift-enter": "assistant::Split",
@@ -225,8 +225,8 @@
"ctrl-k c": "assistant::CopyCode",
"ctrl-g": "search::SelectNextMatch",
"ctrl-shift-g": "search::SelectPreviousMatch",
- "ctrl-k l": "agent::OpenRulesLibrary"
- }
+ "ctrl-k l": "agent::OpenRulesLibrary",
+ },
},
{
"context": "AgentPanel",
@@ -236,54 +236,53 @@
"shift-alt-n": "agent::NewTextThread",
"ctrl-shift-h": "agent::OpenHistory",
"shift-alt-c": "agent::OpenSettings",
- "shift-alt-p": "agent::OpenRulesLibrary",
+ "shift-alt-l": "agent::OpenRulesLibrary",
+ "shift-alt-p": "agent::ManageProfiles",
"ctrl-i": "agent::ToggleProfileSelector",
"shift-alt-/": "agent::ToggleModelSelector",
- "ctrl-shift-a": "agent::ToggleContextPicker",
- "ctrl-shift-j": "agent::ToggleNavigationMenu",
- "ctrl-shift-i": "agent::ToggleOptionsMenu",
- // "ctrl-shift-alt-n": "agent::ToggleNewThreadMenu",
+ "shift-alt-j": "agent::ToggleNavigationMenu",
+ "shift-alt-i": "agent::ToggleOptionsMenu",
+ "ctrl-shift-alt-n": "agent::ToggleNewThreadMenu",
"shift-alt-escape": "agent::ExpandMessageEditor",
- "ctrl-shift-.": "assistant::QuoteSelection",
- "shift-alt-e": "agent::RemoveAllContext",
+ "ctrl-shift-.": "agent::AddSelectionToThread",
"ctrl-shift-e": "project_panel::ToggleFocus",
"ctrl-shift-enter": "agent::ContinueThread",
"super-ctrl-b": "agent::ToggleBurnMode",
"alt-enter": "agent::ContinueWithBurnMode",
- "ctrl-y": "agent::AllowOnce",
+ "shift-alt-a": "agent::AllowOnce",
"ctrl-alt-y": "agent::AllowAlways",
- "ctrl-alt-z": "agent::RejectOnce"
- }
+ "shift-alt-z": "agent::RejectOnce",
+ },
},
{
"context": "AgentPanel > NavigationMenu",
"use_key_equivalents": true,
"bindings": {
- "shift-backspace": "agent::DeleteRecentlyOpenThread"
- }
+ "shift-backspace": "agent::DeleteRecentlyOpenThread",
+ },
},
{
"context": "AgentPanel > Markdown",
"use_key_equivalents": true,
"bindings": {
- "ctrl-c": "markdown::CopyAsMarkdown"
- }
+ "ctrl-c": "markdown::CopyAsMarkdown",
+ },
},
{
- "context": "AgentPanel && prompt_editor",
+ "context": "AgentPanel && text_thread",
"use_key_equivalents": true,
"bindings": {
"ctrl-n": "agent::NewTextThread",
- "ctrl-alt-t": "agent::NewThread"
- }
+ "ctrl-alt-t": "agent::NewThread",
+ },
},
{
- "context": "AgentPanel && external_agent_thread",
+ "context": "AgentPanel && acp_thread",
"use_key_equivalents": true,
"bindings": {
"ctrl-n": "agent::NewExternalAgentThread",
- "ctrl-alt-t": "agent::NewThread"
- }
+ "ctrl-alt-t": "agent::NewThread",
+ },
},
{
"context": "MessageEditor && !Picker > Editor && !use_modifier_to_send",
@@ -294,8 +293,8 @@
"ctrl-i": "agent::ToggleProfileSelector",
"ctrl-shift-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
- "ctrl-shift-n": "agent::RejectAll"
- }
+ "ctrl-shift-n": "agent::RejectAll",
+ },
},
{
"context": "MessageEditor && !Picker > Editor && use_modifier_to_send",
@@ -306,8 +305,8 @@
"ctrl-i": "agent::ToggleProfileSelector",
"ctrl-shift-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
- "ctrl-shift-n": "agent::RejectAll"
- }
+ "ctrl-shift-n": "agent::RejectAll",
+ },
},
{
"context": "EditMessageEditor > Editor",
@@ -315,8 +314,8 @@
"bindings": {
"escape": "menu::Cancel",
"enter": "menu::Confirm",
- "alt-enter": "editor::Newline"
- }
+ "alt-enter": "editor::Newline",
+ },
},
{
"context": "AgentFeedbackMessageEditor > Editor",
@@ -324,26 +323,14 @@
"bindings": {
"escape": "menu::Cancel",
"enter": "menu::Confirm",
- "alt-enter": "editor::Newline"
- }
- },
- {
- "context": "ContextStrip",
- "use_key_equivalents": true,
- "bindings": {
- "up": "agent::FocusUp",
- "right": "agent::FocusRight",
- "left": "agent::FocusLeft",
- "down": "agent::FocusDown",
- "backspace": "agent::RemoveFocusedContext",
- "enter": "agent::AcceptSuggestedContext"
- }
+ "alt-enter": "editor::Newline",
+ },
},
{
"context": "AcpThread > ModeSelector",
"bindings": {
- "ctrl-enter": "menu::Confirm"
- }
+ "ctrl-enter": "menu::Confirm",
+ },
},
{
"context": "AcpThread > Editor && !use_modifier_to_send",
@@ -353,8 +340,8 @@
"ctrl-shift-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
"ctrl-shift-n": "agent::RejectAll",
- "shift-tab": "agent::CycleModeSelector"
- }
+ "shift-tab": "agent::CycleModeSelector",
+ },
},
{
"context": "AcpThread > Editor && use_modifier_to_send",
@@ -364,24 +351,24 @@
"ctrl-shift-r": "agent::OpenAgentDiff",
"ctrl-shift-y": "agent::KeepAll",
"ctrl-shift-n": "agent::RejectAll",
- "shift-tab": "agent::CycleModeSelector"
- }
+ "shift-tab": "agent::CycleModeSelector",
+ },
},
{
"context": "ThreadHistory",
"use_key_equivalents": true,
"bindings": {
- "backspace": "agent::RemoveSelectedThread"
- }
+ "backspace": "agent::RemoveSelectedThread",
+ },
},
{
- "context": "PromptLibrary",
+ "context": "RulesLibrary",
"use_key_equivalents": true,
"bindings": {
"ctrl-n": "rules_library::NewRule",
"ctrl-shift-s": "rules_library::ToggleDefaultRule",
- "ctrl-w": "workspace::CloseWindow"
- }
+ "ctrl-w": "workspace::CloseWindow",
+ },
},
{
"context": "BufferSearchBar",
@@ -394,24 +381,24 @@
"alt-enter": "search::SelectAllMatches",
"ctrl-f": "search::FocusSearch",
"ctrl-h": "search::ToggleReplace",
- "ctrl-l": "search::ToggleSelection"
- }
+ "ctrl-l": "search::ToggleSelection",
+ },
},
{
"context": "BufferSearchBar && in_replace > Editor",
"use_key_equivalents": true,
"bindings": {
"enter": "search::ReplaceNext",
- "ctrl-enter": "search::ReplaceAll"
- }
+ "ctrl-enter": "search::ReplaceAll",
+ },
},
{
"context": "BufferSearchBar && !in_replace > Editor",
"use_key_equivalents": true,
"bindings": {
"up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
+ "down": "search::NextHistoryQuery",
+ },
},
{
"context": "ProjectSearchBar",
@@ -420,24 +407,24 @@
"escape": "project_search::ToggleFocus",
"ctrl-shift-f": "search::FocusSearch",
"ctrl-shift-h": "search::ToggleReplace",
- "alt-r": "search::ToggleRegex" // vscode
- }
+ "alt-r": "search::ToggleRegex", // vscode
+ },
},
{
"context": "ProjectSearchBar > Editor",
"use_key_equivalents": true,
"bindings": {
"up": "search::PreviousHistoryQuery",
- "down": "search::NextHistoryQuery"
- }
+ "down": "search::NextHistoryQuery",
+ },
},
{
"context": "ProjectSearchBar && in_replace > Editor",
"use_key_equivalents": true,
"bindings": {
"enter": "search::ReplaceNext",
- "ctrl-alt-enter": "search::ReplaceAll"
- }
+ "ctrl-alt-enter": "search::ReplaceAll",
+ },
},
{
"context": "ProjectSearchView",
@@ -445,8 +432,8 @@
"bindings": {
"escape": "project_search::ToggleFocus",
"ctrl-shift-h": "search::ToggleReplace",
- "alt-r": "search::ToggleRegex" // vscode
- }
+ "alt-r": "search::ToggleRegex", // vscode
+ },
},
{
"context": "Pane",
@@ -477,8 +464,10 @@
"ctrl-k ctrl-w": "workspace::CloseAllItemsAndPanes",
"back": "pane::GoBack",
"alt--": "pane::GoBack",
+ "alt-left": "pane::GoBack",
"forward": "pane::GoForward",
"alt-=": "pane::GoForward",
+ "alt-right": "pane::GoForward",
"f3": "search::SelectNextMatch",
"shift-f3": "search::SelectPreviousMatch",
"ctrl-shift-f": "project_search::ToggleFocus",
@@ -488,10 +477,11 @@
"alt-c": "search::ToggleCaseSensitive",
"alt-w": "search::ToggleWholeWord",
"alt-f": "project_search::ToggleFilters",
+ "shift-enter": "project_search::ToggleAllSearchResults",
"alt-r": "search::ToggleRegex",
// "ctrl-shift-alt-x": "search::ToggleRegex",
- "ctrl-k shift-enter": "pane::TogglePinTab"
- }
+ "ctrl-k shift-enter": "pane::TogglePinTab",
+ },
},
// Bindings from VS Code
{
@@ -500,8 +490,8 @@
"bindings": {
"ctrl-[": "editor::Outdent",
"ctrl-]": "editor::Indent",
- "ctrl-shift-alt-up": "editor::AddSelectionAbove", // Insert Cursor Above
- "ctrl-shift-alt-down": "editor::AddSelectionBelow", // Insert Cursor Below
+ "ctrl-alt-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": true }], // Insert Cursor Above
+ "ctrl-alt-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": true }], // Insert Cursor Below
"ctrl-shift-k": "editor::DeleteLine",
"alt-up": "editor::MoveLineUp",
"alt-down": "editor::MoveLineDown",
@@ -512,39 +502,36 @@
"ctrl-shift-l": "editor::SelectAllMatches", // Select all occurrences of current selection
"ctrl-f2": "editor::SelectAllMatches", // Select all occurrences of current word
"ctrl-d": ["editor::SelectNext", { "replace_newest": false }], // editor.action.addSelectionToNextFindMatch / find_under_expand
- "ctrl-shift-down": ["editor::SelectNext", { "replace_newest": false }], // editor.action.addSelectionToNextFindMatch
- "ctrl-shift-up": ["editor::SelectPrevious", { "replace_newest": false }], // editor.action.addSelectionToPreviousFindMatch
+ "ctrl-f3": ["editor::SelectNext", { "replace_newest": false }], // editor.action.addSelectionToNextFindMatch / find_under_expand
"ctrl-k ctrl-d": ["editor::SelectNext", { "replace_newest": true }], // editor.action.moveSelectionToNextFindMatch / find_under_expand_skip
- "ctrl-k ctrl-shift-d": ["editor::SelectPrevious", { "replace_newest": true }], // editor.action.moveSelectionToPreviousFindMatch
+ "ctrl-shift-f3": ["editor::SelectPrevious", { "replace_newest": false }], // editor.action.addSelectionToNextFindMatch / find_under_expand
"ctrl-k ctrl-i": "editor::Hover",
"ctrl-k ctrl-b": "editor::BlameHover",
+ "ctrl-k ctrl-f": "editor::FormatSelections",
"ctrl-/": ["editor::ToggleComments", { "advance_downwards": false }],
+ "ctrl-k ctrl-c": ["editor::ToggleComments", { "advance_downwards": false }],
"f8": ["editor::GoToDiagnostic", { "severity": { "min": "hint", "max": "error" } }],
"shift-f8": ["editor::GoToPreviousDiagnostic", { "severity": { "min": "hint", "max": "error" } }],
"f2": "editor::Rename",
"f12": "editor::GoToDefinition",
"alt-f12": "editor::GoToDefinitionSplit",
- "ctrl-shift-f10": "editor::GoToDefinitionSplit",
"ctrl-f12": "editor::GoToImplementation",
- "shift-f12": "editor::GoToTypeDefinition",
- "ctrl-alt-f12": "editor::GoToTypeDefinitionSplit",
"shift-alt-f12": "editor::FindAllReferences",
- "ctrl-m": "editor::MoveToEnclosingBracket", // from jetbrains
"ctrl-shift-\\": "editor::MoveToEnclosingBracket",
"ctrl-shift-[": "editor::Fold",
"ctrl-shift-]": "editor::UnfoldLines",
"ctrl-k ctrl-l": "editor::ToggleFold",
"ctrl-k ctrl-[": "editor::FoldRecursive",
"ctrl-k ctrl-]": "editor::UnfoldRecursive",
- "ctrl-k ctrl-1": ["editor::FoldAtLevel", 1],
- "ctrl-k ctrl-2": ["editor::FoldAtLevel", 2],
- "ctrl-k ctrl-3": ["editor::FoldAtLevel", 3],
- "ctrl-k ctrl-4": ["editor::FoldAtLevel", 4],
- "ctrl-k ctrl-5": ["editor::FoldAtLevel", 5],
- "ctrl-k ctrl-6": ["editor::FoldAtLevel", 6],
- "ctrl-k ctrl-7": ["editor::FoldAtLevel", 7],
- "ctrl-k ctrl-8": ["editor::FoldAtLevel", 8],
- "ctrl-k ctrl-9": ["editor::FoldAtLevel", 9],
+ "ctrl-k ctrl-1": "editor::FoldAtLevel_1",
+ "ctrl-k ctrl-2": "editor::FoldAtLevel_2",
+ "ctrl-k ctrl-3": "editor::FoldAtLevel_3",
+ "ctrl-k ctrl-4": "editor::FoldAtLevel_4",
+ "ctrl-k ctrl-5": "editor::FoldAtLevel_5",
+ "ctrl-k ctrl-6": "editor::FoldAtLevel_6",
+ "ctrl-k ctrl-7": "editor::FoldAtLevel_7",
+ "ctrl-k ctrl-8": "editor::FoldAtLevel_8",
+ "ctrl-k ctrl-9": "editor::FoldAtLevel_9",
"ctrl-k ctrl-0": "editor::FoldAll",
"ctrl-k ctrl-j": "editor::UnfoldAll",
"ctrl-space": "editor::ShowCompletions",
@@ -553,34 +540,33 @@
"ctrl-k r": "editor::RevealInFileManager",
"ctrl-k p": "editor::CopyPath",
"ctrl-\\": "pane::SplitRight",
- "ctrl-shift-alt-c": "editor::DisplayCursorNames",
"alt-.": "editor::GoToHunk",
- "alt-,": "editor::GoToPreviousHunk"
- }
+ "alt-,": "editor::GoToPreviousHunk",
+ },
},
{
"context": "Editor && extension == md",
"use_key_equivalents": true,
"bindings": {
"ctrl-k v": "markdown::OpenPreviewToTheSide",
- "ctrl-shift-v": "markdown::OpenPreview"
- }
+ "ctrl-shift-v": "markdown::OpenPreview",
+ },
},
{
"context": "Editor && extension == svg",
"use_key_equivalents": true,
"bindings": {
"ctrl-k v": "svg::OpenPreviewToTheSide",
- "ctrl-shift-v": "svg::OpenPreview"
- }
+ "ctrl-shift-v": "svg::OpenPreview",
+ },
},
{
"context": "Editor && mode == full",
"use_key_equivalents": true,
"bindings": {
"ctrl-shift-o": "outline::Toggle",
- "ctrl-g": "go_to_line::Toggle"
- }
+ "ctrl-g": "go_to_line::Toggle",
+ },
},
{
"context": "Workspace",
@@ -614,7 +600,7 @@
"ctrl-alt-b": "workspace::ToggleRightDock",
"ctrl-b": "workspace::ToggleLeftDock",
"ctrl-j": "workspace::ToggleBottomDock",
- "ctrl-shift-y": "workspace::CloseAllDocks",
+ "ctrl-shift-y": "workspace::ToggleAllDocks",
"alt-r": "workspace::ResetActiveDockSize",
// For 0px parameter, uses UI font size value.
"shift-alt--": ["workspace::DecreaseActiveDockSize", { "px": 0 }],
@@ -623,13 +609,13 @@
"ctrl-shift-f": "pane::DeploySearch",
"ctrl-shift-h": ["pane::DeploySearch", { "replace_enabled": true }],
"ctrl-shift-t": "pane::ReopenClosedItem",
- "ctrl-k ctrl-s": "zed::OpenKeymapEditor",
+ "ctrl-k ctrl-s": "zed::OpenKeymap",
"ctrl-k ctrl-t": "theme_selector::Toggle",
"ctrl-alt-super-p": "settings_profile_selector::Toggle",
"ctrl-t": "project_symbols::Toggle",
"ctrl-p": "file_finder::Toggle",
- "ctrl-tab": "tab_switcher::Toggle",
"ctrl-shift-tab": ["tab_switcher::Toggle", { "select_last": true }],
+ "ctrl-tab": "tab_switcher::Toggle",
"ctrl-e": "file_finder::Toggle",
"f1": "command_palette::Toggle",
"ctrl-shift-p": "command_palette::Toggle",
@@ -664,22 +650,22 @@
// "foo-bar": ["task::Spawn", { "task_tag": "MyTag" }],
"f5": "debugger::Rerun",
"ctrl-f4": "workspace::CloseActiveDock",
- "ctrl-w": "workspace::CloseActiveDock"
- }
+ "ctrl-w": "workspace::CloseActiveDock",
+ },
},
{
"context": "Workspace && debugger_running",
"use_key_equivalents": true,
"bindings": {
- "f5": "zed::NoAction"
- }
+ "f5": "zed::NoAction",
+ },
},
{
"context": "Workspace && debugger_stopped",
"use_key_equivalents": true,
"bindings": {
- "f5": "debugger::Continue"
- }
+ "f5": "debugger::Continue",
+ },
},
{
"context": "ApplicationMenu",
@@ -687,8 +673,8 @@
"bindings": {
"f10": "menu::Cancel",
"left": "app_menu::ActivateMenuLeft",
- "right": "app_menu::ActivateMenuRight"
- }
+ "right": "app_menu::ActivateMenuRight",
+ },
},
// Bindings from Sublime Text
{
@@ -705,8 +691,8 @@
"ctrl-alt-left": "editor::MoveToPreviousSubwordStart",
"ctrl-alt-right": "editor::MoveToNextSubwordEnd",
"ctrl-shift-alt-left": "editor::SelectToPreviousSubwordStart",
- "ctrl-shift-alt-right": "editor::SelectToNextSubwordEnd"
- }
+ "ctrl-shift-alt-right": "editor::SelectToNextSubwordEnd",
+ },
},
// Bindings from Atom
{
@@ -716,16 +702,16 @@
"ctrl-k up": "pane::SplitUp",
"ctrl-k down": "pane::SplitDown",
"ctrl-k left": "pane::SplitLeft",
- "ctrl-k right": "pane::SplitRight"
- }
+ "ctrl-k right": "pane::SplitRight",
+ },
},
// Bindings that should be unified with bindings for more general actions
{
"context": "Editor && renaming",
"use_key_equivalents": true,
"bindings": {
- "enter": "editor::ConfirmRename"
- }
+ "enter": "editor::ConfirmRename",
+ },
},
{
"context": "Editor && showing_completions",
@@ -733,8 +719,22 @@
"bindings": {
"enter": "editor::ConfirmCompletion",
"shift-enter": "editor::ConfirmCompletionReplace",
- "tab": "editor::ComposeCompletion"
- }
+ "tab": "editor::ComposeCompletion",
+ },
+ },
+ {
+ "context": "Editor && in_snippet && has_next_tabstop && !showing_completions",
+ "use_key_equivalents": true,
+ "bindings": {
+ "tab": "editor::NextSnippetTabstop",
+ },
+ },
+ {
+ "context": "Editor && in_snippet && has_previous_tabstop && !showing_completions",
+ "use_key_equivalents": true,
+ "bindings": {
+ "shift-tab": "editor::PreviousSnippetTabstop",
+ },
},
// Bindings for accepting edit predictions
//
@@ -747,8 +747,9 @@
"alt-tab": "editor::AcceptEditPrediction",
"alt-l": "editor::AcceptEditPrediction",
"tab": "editor::AcceptEditPrediction",
- "alt-right": "editor::AcceptPartialEditPrediction"
- }
+ "alt-right": "editor::AcceptNextWordEditPrediction",
+ "alt-down": "editor::AcceptNextLineEditPrediction",
+ },
},
{
"context": "Editor && edit_prediction_conflict",
@@ -756,15 +757,16 @@
"bindings": {
"alt-tab": "editor::AcceptEditPrediction",
"alt-l": "editor::AcceptEditPrediction",
- "alt-right": "editor::AcceptPartialEditPrediction"
- }
+ "alt-right": "editor::AcceptNextWordEditPrediction",
+ "alt-down": "editor::AcceptNextLineEditPrediction",
+ },
},
{
"context": "Editor && showing_code_actions",
"use_key_equivalents": true,
"bindings": {
- "enter": "editor::ConfirmCodeAction"
- }
+ "enter": "editor::ConfirmCodeAction",
+ },
},
{
"context": "Editor && (showing_code_actions || showing_completions)",
@@ -775,16 +777,16 @@
"ctrl-n": "editor::ContextMenuNext",
"down": "editor::ContextMenuNext",
"pageup": "editor::ContextMenuFirst",
- "pagedown": "editor::ContextMenuLast"
- }
+ "pagedown": "editor::ContextMenuLast",
+ },
},
{
"context": "Editor && showing_signature_help && !showing_completions",
"use_key_equivalents": true,
"bindings": {
"up": "editor::SignatureHelpPrevious",
- "down": "editor::SignatureHelpNext"
- }
+ "down": "editor::SignatureHelpNext",
+ },
},
// Custom bindings
{
@@ -792,15 +794,15 @@
"bindings": {
"ctrl-shift-alt-f": "workspace::FollowNextCollaborator",
// Only available in debug builds: opens an element inspector for development.
- "shift-alt-i": "dev::ToggleInspector"
- }
+ "shift-alt-i": "dev::ToggleInspector",
+ },
},
{
"context": "!Terminal",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-c": "collab_panel::ToggleFocus"
- }
+ "ctrl-shift-c": "collab_panel::ToggleFocus",
+ },
},
{
"context": "!ContextEditor > Editor && mode == full",
@@ -813,8 +815,8 @@
"ctrl-f8": "editor::GoToHunk",
"ctrl-shift-f8": "editor::GoToPreviousHunk",
"ctrl-enter": "assistant::InlineAssist",
- "ctrl-shift-;": "editor::ToggleInlayHints"
- }
+ "ctrl-shift-;": "editor::ToggleInlayHints",
+ },
},
{
"context": "PromptEditor",
@@ -822,8 +824,9 @@
"bindings": {
"ctrl-[": "agent::CyclePreviousInlineAssist",
"ctrl-]": "agent::CycleNextInlineAssist",
- "shift-alt-e": "agent::RemoveAllContext"
- }
+ "ctrl-shift-enter": "inline_assistant::ThumbsUpResult",
+ "ctrl-shift-delete": "inline_assistant::ThumbsDownResult",
+ },
},
{
"context": "Prompt",
@@ -832,15 +835,15 @@
"left": "menu::SelectPrevious",
"right": "menu::SelectNext",
"h": "menu::SelectPrevious",
- "l": "menu::SelectNext"
- }
+ "l": "menu::SelectNext",
+ },
},
{
"context": "ProjectSearchBar && !in_replace",
"use_key_equivalents": true,
"bindings": {
- "ctrl-enter": "project_search::SearchInNew"
- }
+ "ctrl-enter": "project_search::SearchInNew",
+ },
},
{
"context": "OutlinePanel && not_editing",
@@ -855,14 +858,15 @@
"shift-down": "menu::SelectNext",
"shift-up": "menu::SelectPrevious",
"alt-enter": "editor::OpenExcerpts",
- "ctrl-alt-enter": "editor::OpenExcerptsSplit"
- }
+ "ctrl-alt-enter": "editor::OpenExcerptsSplit",
+ },
},
{
"context": "ProjectPanel",
"use_key_equivalents": true,
"bindings": {
"left": "project_panel::CollapseSelectedEntry",
+ "ctrl-left": "project_panel::CollapseAllEntries",
"right": "project_panel::ExpandSelectedEntry",
"ctrl-n": "project_panel::NewFile",
"alt-n": "project_panel::NewDirectory",
@@ -886,15 +890,15 @@
"ctrl-k ctrl-shift-f": "project_panel::NewSearchInDirectory",
"shift-down": "menu::SelectNext",
"shift-up": "menu::SelectPrevious",
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "ProjectPanel && not_editing",
"use_key_equivalents": true,
"bindings": {
- "space": "project_panel::Open"
- }
+ "space": "project_panel::Open",
+ },
},
{
"context": "GitPanel && ChangesList",
@@ -915,15 +919,15 @@
"backspace": ["git::RestoreFile", { "skip_prompt": false }],
"shift-delete": ["git::RestoreFile", { "skip_prompt": false }],
"ctrl-backspace": ["git::RestoreFile", { "skip_prompt": false }],
- "ctrl-delete": ["git::RestoreFile", { "skip_prompt": false }]
- }
+ "ctrl-delete": ["git::RestoreFile", { "skip_prompt": false }],
+ },
},
{
"context": "GitPanel && CommitEditor",
"use_key_equivalents": true,
"bindings": {
- "escape": "git::Cancel"
- }
+ "escape": "git::Cancel",
+ },
},
{
"context": "GitCommit > Editor",
@@ -933,8 +937,8 @@
"enter": "editor::Newline",
"ctrl-enter": "git::Commit",
"ctrl-shift-enter": "git::Amend",
- "alt-l": "git::GenerateCommitMessage"
- }
+ "alt-l": "git::GenerateCommitMessage",
+ },
},
{
"context": "GitPanel",
@@ -943,6 +947,7 @@
"ctrl-g ctrl-g": "git::Fetch",
"ctrl-g up": "git::Push",
"ctrl-g down": "git::Pull",
+ "ctrl-g shift-down": "git::PullRebase",
"ctrl-g shift-up": "git::ForcePush",
"ctrl-g d": "git::Diff",
"ctrl-g backspace": "git::RestoreTrackedFiles",
@@ -950,8 +955,8 @@
"ctrl-space": "git::StageAll",
"ctrl-shift-space": "git::UnstageAll",
"ctrl-enter": "git::Commit",
- "ctrl-shift-enter": "git::Amend"
- }
+ "ctrl-shift-enter": "git::Amend",
+ },
},
{
"context": "GitDiff > Editor",
@@ -960,15 +965,15 @@
"ctrl-enter": "git::Commit",
"ctrl-shift-enter": "git::Amend",
"ctrl-space": "git::StageAll",
- "ctrl-shift-space": "git::UnstageAll"
- }
+ "ctrl-shift-space": "git::UnstageAll",
+ },
},
{
"context": "AskPass > Editor",
"use_key_equivalents": true,
"bindings": {
- "enter": "menu::Confirm"
- }
+ "enter": "menu::Confirm",
+ },
},
{
"context": "CommitEditor > Editor",
@@ -981,8 +986,8 @@
"ctrl-enter": "git::Commit",
"ctrl-shift-enter": "git::Amend",
"alt-up": "git_panel::FocusChanges",
- "alt-l": "git::GenerateCommitMessage"
- }
+ "alt-l": "git::GenerateCommitMessage",
+ },
},
{
"context": "DebugPanel",
@@ -990,8 +995,8 @@
"bindings": {
"ctrl-t": "debugger::ToggleThreadPicker",
"ctrl-i": "debugger::ToggleSessionPicker",
- "shift-alt-escape": "debugger::ToggleExpandItem"
- }
+ "shift-alt-escape": "debugger::ToggleExpandItem",
+ },
},
{
"context": "VariableList",
@@ -1004,8 +1009,8 @@
"ctrl-alt-c": "variable_list::CopyVariableName",
"delete": "variable_list::RemoveWatch",
"backspace": "variable_list::RemoveWatch",
- "alt-enter": "variable_list::AddWatch"
- }
+ "alt-enter": "variable_list::AddWatch",
+ },
},
{
"context": "BreakpointList",
@@ -1014,38 +1019,39 @@
"space": "debugger::ToggleEnableBreakpoint",
"backspace": "debugger::UnsetBreakpoint",
"left": "debugger::PreviousBreakpointProperty",
- "right": "debugger::NextBreakpointProperty"
- }
+ "right": "debugger::NextBreakpointProperty",
+ },
},
{
"context": "CollabPanel && not_editing",
"use_key_equivalents": true,
"bindings": {
"ctrl-backspace": "collab_panel::Remove",
- "space": "menu::Confirm"
- }
+ "space": "menu::Confirm",
+ },
},
{
"context": "CollabPanel",
"use_key_equivalents": true,
"bindings": {
"alt-up": "collab_panel::MoveChannelUp",
- "alt-down": "collab_panel::MoveChannelDown"
- }
+ "alt-down": "collab_panel::MoveChannelDown",
+ "alt-enter": "collab_panel::OpenSelectedChannelNotes",
+ },
},
{
"context": "(CollabPanel && editing) > Editor",
"use_key_equivalents": true,
"bindings": {
- "space": "collab_panel::InsertSpace"
- }
+ "space": "collab_panel::InsertSpace",
+ },
},
{
"context": "ChannelModal",
"use_key_equivalents": true,
"bindings": {
- "tab": "channel_modal::ToggleMode"
- }
+ "tab": "channel_modal::ToggleMode",
+ },
},
{
"context": "Picker > Editor",
@@ -1055,22 +1061,22 @@
"up": "menu::SelectPrevious",
"down": "menu::SelectNext",
"tab": "picker::ConfirmCompletion",
- "alt-enter": ["picker::ConfirmInput", { "secondary": false }]
- }
+ "alt-enter": ["picker::ConfirmInput", { "secondary": false }],
+ },
},
{
"context": "ChannelModal > Picker > Editor",
"use_key_equivalents": true,
"bindings": {
- "tab": "channel_modal::ToggleMode"
- }
+ "tab": "channel_modal::ToggleMode",
+ },
},
{
"context": "ToolchainSelector",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-a": "toolchain::AddToolchain"
- }
+ "ctrl-shift-a": "toolchain::AddToolchain",
+ },
},
{
"context": "FileFinder || (FileFinder > Picker > Editor)",
@@ -1078,8 +1084,8 @@
"bindings": {
"ctrl-p": "file_finder::Toggle",
"ctrl-shift-a": "file_finder::ToggleSplitMenu",
- "ctrl-shift-i": "file_finder::ToggleFilterMenu"
- }
+ "ctrl-shift-i": "file_finder::ToggleFilterMenu",
+ },
},
{
"context": "FileFinder || (FileFinder > Picker > Editor) || (FileFinder > Picker > menu)",
@@ -1089,8 +1095,8 @@
"ctrl-j": "pane::SplitDown",
"ctrl-k": "pane::SplitUp",
"ctrl-h": "pane::SplitLeft",
- "ctrl-l": "pane::SplitRight"
- }
+ "ctrl-l": "pane::SplitRight",
+ },
},
{
"context": "TabSwitcher",
@@ -1099,15 +1105,16 @@
"ctrl-shift-tab": "menu::SelectPrevious",
"ctrl-up": "menu::SelectPrevious",
"ctrl-down": "menu::SelectNext",
- "ctrl-backspace": "tab_switcher::CloseSelectedItem"
- }
+ "ctrl-backspace": "tab_switcher::CloseSelectedItem",
+ },
},
{
"context": "StashList || (StashList > Picker > Editor)",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-backspace": "stash_picker::DropStashItem"
- }
+ "ctrl-shift-backspace": "stash_picker::DropStashItem",
+ "ctrl-shift-v": "stash_picker::ShowStashItem",
+ },
},
{
"context": "Terminal",
@@ -1117,8 +1124,9 @@
"ctrl-insert": "terminal::Copy",
"ctrl-shift-c": "terminal::Copy",
"shift-insert": "terminal::Paste",
+ "ctrl-v": "terminal::Paste",
"ctrl-shift-v": "terminal::Paste",
- "ctrl-enter": "assistant::InlineAssist",
+ "ctrl-i": "assistant::InlineAssist",
"alt-b": ["terminal::SendText", "\u001bb"],
"alt-f": ["terminal::SendText", "\u001bf"],
"alt-.": ["terminal::SendText", "\u001b."],
@@ -1130,6 +1138,8 @@
"ctrl-e": ["terminal::SendKeystroke", "ctrl-e"],
"ctrl-o": ["terminal::SendKeystroke", "ctrl-o"],
"ctrl-w": ["terminal::SendKeystroke", "ctrl-w"],
+ "ctrl-q": ["terminal::SendKeystroke", "ctrl-q"],
+ "ctrl-r": ["terminal::SendKeystroke", "ctrl-r"],
"ctrl-backspace": ["terminal::SendKeystroke", "ctrl-w"],
"ctrl-shift-a": "editor::SelectAll",
"ctrl-shift-f": "buffer_search::Deploy",
@@ -1150,15 +1160,22 @@
"ctrl-shift-space": "terminal::ToggleViMode",
"ctrl-shift-r": "terminal::RerunTask",
"ctrl-alt-r": "terminal::RerunTask",
- "alt-t": "terminal::RerunTask"
- }
+ "alt-t": "terminal::RerunTask",
+ "ctrl-shift-5": "pane::SplitRight",
+ },
+ },
+ {
+ "context": "Terminal && selection",
+ "bindings": {
+ "ctrl-c": "terminal::Copy",
+ },
},
{
"context": "ZedPredictModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "ConfigureContextServerModal > Editor",
@@ -1166,53 +1183,57 @@
"bindings": {
"escape": "menu::Cancel",
"enter": "editor::Newline",
- "ctrl-enter": "menu::Confirm"
- }
+ "ctrl-enter": "menu::Confirm",
+ },
},
{
"context": "ContextServerToolsModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "OnboardingAiConfigurationModal",
"use_key_equivalents": true,
"bindings": {
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "Diagnostics",
"use_key_equivalents": true,
"bindings": {
- "ctrl-r": "diagnostics::ToggleDiagnosticsRefresh"
- }
+ "ctrl-r": "diagnostics::ToggleDiagnosticsRefresh",
+ },
},
{
"context": "DebugConsole > Editor",
"use_key_equivalents": true,
"bindings": {
"enter": "menu::Confirm",
- "alt-enter": "console::WatchExpression"
- }
+ "alt-enter": "console::WatchExpression",
+ },
},
{
"context": "RunModal",
"use_key_equivalents": true,
"bindings": {
"ctrl-tab": "pane::ActivateNextItem",
- "ctrl-shift-tab": "pane::ActivatePreviousItem"
- }
+ "ctrl-shift-tab": "pane::ActivatePreviousItem",
+ },
},
{
"context": "MarkdownPreview",
"use_key_equivalents": true,
"bindings": {
- "pageup": "markdown::MovePageUp",
- "pagedown": "markdown::MovePageDown"
- }
+ "pageup": "markdown::ScrollPageUp",
+ "pagedown": "markdown::ScrollPageDown",
+ "up": "markdown::ScrollUp",
+ "down": "markdown::ScrollDown",
+ "alt-up": "markdown::ScrollUpByItem",
+ "alt-down": "markdown::ScrollDownByItem",
+ },
},
{
"context": "KeymapEditor",
@@ -1225,8 +1246,8 @@
"alt-enter": "keymap_editor::CreateBinding",
"ctrl-c": "keymap_editor::CopyAction",
"ctrl-shift-c": "keymap_editor::CopyContext",
- "ctrl-t": "keymap_editor::ShowMatchingKeybinds"
- }
+ "ctrl-t": "keymap_editor::ShowMatchingKeybinds",
+ },
},
{
"context": "KeystrokeInput",
@@ -1234,43 +1255,66 @@
"bindings": {
"enter": "keystroke_input::StartRecording",
"escape escape escape": "keystroke_input::StopRecording",
- "delete": "keystroke_input::ClearKeystrokes"
- }
+ "delete": "keystroke_input::ClearKeystrokes",
+ },
},
{
"context": "KeybindEditorModal",
"use_key_equivalents": true,
"bindings": {
"ctrl-enter": "menu::Confirm",
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "KeybindEditorModal > Editor",
"use_key_equivalents": true,
"bindings": {
"up": "menu::SelectPrevious",
- "down": "menu::SelectNext"
- }
+ "down": "menu::SelectNext",
+ },
},
{
"context": "Onboarding",
"use_key_equivalents": true,
"bindings": {
- "ctrl-1": "onboarding::ActivateBasicsPage",
- "ctrl-2": "onboarding::ActivateEditingPage",
- "ctrl-3": "onboarding::ActivateAISetupPage",
+ "ctrl-=": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl-+": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl--": ["zed::DecreaseUiFontSize", { "persist": false }],
+ "ctrl-0": ["zed::ResetUiFontSize", { "persist": false }],
"ctrl-enter": "onboarding::Finish",
"alt-shift-l": "onboarding::SignIn",
- "shift-alt-a": "onboarding::OpenAccount"
- }
+ "shift-alt-a": "onboarding::OpenAccount",
+ },
+ },
+ {
+ "context": "Welcome",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-=": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl-+": ["zed::IncreaseUiFontSize", { "persist": false }],
+ "ctrl--": ["zed::DecreaseUiFontSize", { "persist": false }],
+ "ctrl-0": ["zed::ResetUiFontSize", { "persist": false }],
+ },
+ },
+ {
+ "context": "GitWorktreeSelector || (GitWorktreeSelector > Picker > Editor)",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-shift-space": "git::WorktreeFromDefaultOnWindow",
+ "ctrl-space": "git::WorktreeFromDefault",
+ },
},
{
"context": "SettingsWindow",
"use_key_equivalents": true,
"bindings": {
"ctrl-w": "workspace::CloseWindow",
+ "escape": "workspace::CloseWindow",
+ "ctrl-m": "settings_editor::Minimize",
"ctrl-f": "search::FocusSearch",
+ "ctrl-,": "settings_editor::OpenCurrentFile",
+ "left": "settings_editor::ToggleFocusNav",
"ctrl-shift-e": "settings_editor::ToggleFocusNav",
// todo(settings_ui): cut this down based on the max files and overflow UI
"ctrl-1": ["settings_editor::FocusFile", 0],
@@ -1284,7 +1328,47 @@
"ctrl-9": ["settings_editor::FocusFile", 8],
"ctrl-0": ["settings_editor::FocusFile", 9],
"ctrl-pageup": "settings_editor::FocusPreviousFile",
- "ctrl-pagedown": "settings_editor::FocusNextFile"
- }
- }
+ "ctrl-pagedown": "settings_editor::FocusNextFile",
+ },
+ },
+ {
+ "context": "StashDiff > Editor",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-space": "git::ApplyCurrentStash",
+ "ctrl-shift-space": "git::PopCurrentStash",
+ "ctrl-shift-backspace": "git::DropCurrentStash",
+ },
+ },
+ {
+ "context": "SettingsWindow > NavigationMenu",
+ "use_key_equivalents": true,
+ "bindings": {
+ "up": "settings_editor::FocusPreviousNavEntry",
+ "shift-tab": "settings_editor::FocusPreviousNavEntry",
+ "down": "settings_editor::FocusNextNavEntry",
+ "tab": "settings_editor::FocusNextNavEntry",
+ "right": "settings_editor::ExpandNavEntry",
+ "left": "settings_editor::CollapseNavEntry",
+ "pageup": "settings_editor::FocusPreviousRootNavEntry",
+ "pagedown": "settings_editor::FocusNextRootNavEntry",
+ "home": "settings_editor::FocusFirstNavEntry",
+ "end": "settings_editor::FocusLastNavEntry",
+ },
+ },
+ {
+ "context": "EditPredictionContext > Editor",
+ "bindings": {
+ "alt-left": "dev::EditPredictionContextGoBack",
+ "alt-right": "dev::EditPredictionContextGoForward",
+ },
+ },
+ {
+ "context": "GitBranchSelector || (GitBranchSelector > Picker > Editor)",
+ "use_key_equivalents": true,
+ "bindings": {
+ "ctrl-shift-backspace": "branch_picker::DeleteBranch",
+ "ctrl-shift-i": "branch_picker::FilterRemotes",
+ },
+ },
]
diff --git a/assets/keymaps/initial.json b/assets/keymaps/initial.json
index 8e4fe59f44..3a8d7f382a 100644
--- a/assets/keymaps/initial.json
+++ b/assets/keymaps/initial.json
@@ -10,12 +10,12 @@
"context": "Workspace",
"bindings": {
// "shift shift": "file_finder::Toggle"
- }
+ },
},
{
"context": "Editor && vim_mode == insert",
"bindings": {
// "j k": "vim::NormalBefore"
- }
- }
+ },
+ },
]
diff --git a/assets/keymaps/linux/atom.json b/assets/keymaps/linux/atom.json
index 86ee068b06..a15d4877aa 100644
--- a/assets/keymaps/linux/atom.json
+++ b/assets/keymaps/linux/atom.json
@@ -4,15 +4,15 @@
"bindings": {
"ctrl-shift-f5": "workspace::Reload", // window:reload
"ctrl-k ctrl-n": "workspace::ActivatePreviousPane", // window:focus-next-pane
- "ctrl-k ctrl-p": "workspace::ActivateNextPane" // window:focus-previous-pane
- }
+ "ctrl-k ctrl-p": "workspace::ActivateNextPane", // window:focus-previous-pane
+ },
},
{
"context": "Editor",
"bindings": {
"ctrl-k ctrl-u": "editor::ConvertToUpperCase", // editor:upper-case
- "ctrl-k ctrl-l": "editor::ConvertToLowerCase" // editor:lower-case
- }
+ "ctrl-k ctrl-l": "editor::ConvertToLowerCase", // editor:lower-case
+ },
},
{
"context": "Editor && mode == full",
@@ -24,16 +24,16 @@
"ctrl-<": "editor::ScrollCursorCenter", // editor:scroll-to-cursor
"f3": ["editor::SelectNext", { "replace_newest": true }], // find-and-replace:find-next
"shift-f3": ["editor::SelectPrevious", { "replace_newest": true }], //find-and-replace:find-previous
- "alt-shift-down": "editor::AddSelectionBelow", // editor:add-selection-below
- "alt-shift-up": "editor::AddSelectionAbove", // editor:add-selection-above
+ "alt-shift-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": true }], // editor:add-selection-below
+ "alt-shift-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": true }], // editor:add-selection-above
"ctrl-j": "editor::JoinLines", // editor:join-lines
"ctrl-shift-d": "editor::DuplicateLineDown", // editor:duplicate-lines
"ctrl-up": "editor::MoveLineUp", // editor:move-line-up
"ctrl-down": "editor::MoveLineDown", // editor:move-line-down
"ctrl-\\": "workspace::ToggleLeftDock", // tree-view:toggle
"ctrl-shift-m": "markdown::OpenPreviewToTheSide", // markdown-preview:toggle
- "ctrl-r": "outline::Toggle" // symbols-view:toggle-project-symbols
- }
+ "ctrl-r": "outline::Toggle", // symbols-view:toggle-project-symbols
+ },
},
{
"context": "BufferSearchBar",
@@ -41,8 +41,8 @@
"f3": ["editor::SelectNext", { "replace_newest": true }], // find-and-replace:find-next
"shift-f3": ["editor::SelectPrevious", { "replace_newest": true }], //find-and-replace:find-previous
"ctrl-f3": "search::SelectNextMatch", // find-and-replace:find-next-selected
- "ctrl-shift-f3": "search::SelectPreviousMatch" // find-and-replace:find-previous-selected
- }
+ "ctrl-shift-f3": "search::SelectPreviousMatch", // find-and-replace:find-previous-selected
+ },
},
{
"context": "Workspace",
@@ -50,8 +50,8 @@
"ctrl-\\": "workspace::ToggleLeftDock", // tree-view:toggle
"ctrl-k ctrl-b": "workspace::ToggleLeftDock", // tree-view:toggle
"ctrl-t": "file_finder::Toggle", // fuzzy-finder:toggle-file-finder
- "ctrl-r": "project_symbols::Toggle" // symbols-view:toggle-project-symbols
- }
+ "ctrl-r": "project_symbols::Toggle", // symbols-view:toggle-project-symbols
+ },
},
{
"context": "Pane",
@@ -65,8 +65,8 @@
"ctrl-6": ["pane::ActivateItem", 5], // tree-view:open-selected-entry-in-pane-6
"ctrl-7": ["pane::ActivateItem", 6], // tree-view:open-selected-entry-in-pane-7
"ctrl-8": ["pane::ActivateItem", 7], // tree-view:open-selected-entry-in-pane-8
- "ctrl-9": ["pane::ActivateItem", 8] // tree-view:open-selected-entry-in-pane-9
- }
+ "ctrl-9": ["pane::ActivateItem", 8], // tree-view:open-selected-entry-in-pane-9
+ },
},
{
"context": "ProjectPanel",
@@ -75,8 +75,8 @@
"backspace": ["project_panel::Trash", { "skip_prompt": false }],
"ctrl-x": "project_panel::Cut", // tree-view:cut
"ctrl-c": "project_panel::Copy", // tree-view:copy
- "ctrl-v": "project_panel::Paste" // tree-view:paste
- }
+ "ctrl-v": "project_panel::Paste", // tree-view:paste
+ },
},
{
"context": "ProjectPanel && not_editing",
@@ -90,7 +90,7 @@
"d": "project_panel::Duplicate", // tree-view:duplicate
"home": "menu::SelectFirst", // core:move-to-top
"end": "menu::SelectLast", // core:move-to-bottom
- "shift-a": "project_panel::NewDirectory" // tree-view:add-folder
- }
- }
+ "shift-a": "project_panel::NewDirectory", // tree-view:add-folder
+ },
+ },
]
diff --git a/assets/keymaps/linux/cursor.json b/assets/keymaps/linux/cursor.json
index 2e27158e11..53f38234bb 100644
--- a/assets/keymaps/linux/cursor.json
+++ b/assets/keymaps/linux/cursor.json
@@ -8,8 +8,8 @@
"ctrl-shift-i": "agent::ToggleFocus",
"ctrl-l": "agent::ToggleFocus",
"ctrl-shift-l": "agent::ToggleFocus",
- "ctrl-shift-j": "agent::OpenSettings"
- }
+ "ctrl-shift-j": "agent::OpenSettings",
+ },
},
{
"context": "Editor && mode == full",
@@ -17,21 +17,21 @@
"bindings": {
"ctrl-i": "agent::ToggleFocus",
"ctrl-shift-i": "agent::ToggleFocus",
- "ctrl-shift-l": "agent::QuoteSelection", // In cursor uses "Ask" mode
- "ctrl-l": "agent::QuoteSelection", // In cursor uses "Agent" mode
+ "ctrl-shift-l": "agent::AddSelectionToThread", // In cursor uses "Ask" mode
+ "ctrl-l": "agent::AddSelectionToThread", // In cursor uses "Agent" mode
"ctrl-k": "assistant::InlineAssist",
- "ctrl-shift-k": "assistant::InsertIntoEditor"
- }
+ "ctrl-shift-k": "assistant::InsertIntoEditor",
+ },
},
{
"context": "InlineAssistEditor",
"use_key_equivalents": true,
"bindings": {
- "ctrl-shift-backspace": "editor::Cancel"
+ "ctrl-shift-backspace": "editor::Cancel",
// "alt-enter": // Quick Question
// "ctrl-shift-enter": // Full File Context
// "ctrl-shift-k": // Toggle input focus (editor <> inline assist)
- }
+ },
},
{
"context": "AgentPanel || ContextEditor || (MessageEditor > Editor)",
@@ -47,7 +47,7 @@
"ctrl-shift-backspace": "editor::Cancel",
"ctrl-r": "agent::NewThread",
"ctrl-shift-v": "editor::Paste",
- "ctrl-shift-k": "assistant::InsertIntoEditor"
+ "ctrl-shift-k": "assistant::InsertIntoEditor",
// "escape": "agent::ToggleFocus"
///// Enable when Zed supports multiple thread tabs
// "ctrl-t": // new thread tab
@@ -56,28 +56,28 @@
///// Enable if Zed adds support for keyboard navigation of thread elements
// "tab": // cycle to next message
// "shift-tab": // cycle to previous message
- }
+ },
},
{
"context": "Editor && editor_agent_diff",
"use_key_equivalents": true,
"bindings": {
"ctrl-enter": "agent::KeepAll",
- "ctrl-backspace": "agent::RejectAll"
- }
+ "ctrl-backspace": "agent::RejectAll",
+ },
},
{
"context": "Editor && mode == full && edit_prediction",
"use_key_equivalents": true,
"bindings": {
- "ctrl-right": "editor::AcceptPartialEditPrediction"
- }
+ "ctrl-right": "editor::AcceptPartialEditPrediction",
+ },
},
{
"context": "Terminal",
"use_key_equivalents": true,
"bindings": {
- "ctrl-k": "assistant::InlineAssist"
- }
- }
+ "ctrl-k": "assistant::InlineAssist",
+ },
+ },
]
diff --git a/assets/keymaps/linux/emacs.json b/assets/keymaps/linux/emacs.json
index 0f936ba2f9..5b6f841de0 100755
--- a/assets/keymaps/linux/emacs.json
+++ b/assets/keymaps/linux/emacs.json
@@ -5,14 +5,26 @@
[
{
"bindings": {
- "ctrl-g": "menu::Cancel"
- }
+ "ctrl-g": "menu::Cancel",
+ },
+ },
+ {
+ // Workaround to avoid falling back to default bindings.
+ // Unbind so Zed ignores these keys and lets emacs handle them.
+ // NOTE: must be declared before the `Editor` override.
+ // NOTE: in macos the 'ctrl-x' 'ctrl-p' and 'ctrl-n' rebindings are not needed, since they default to 'cmd'.
+ "context": "Editor",
+ "bindings": {
+ "ctrl-g": null, // currently activates `go_to_line::Toggle` when there is nothing to cancel
+ "ctrl-x": null, // currently activates `editor::Cut` if no following key is pressed for 1 second
+ "ctrl-p": null, // currently activates `file_finder::Toggle` when the cursor is on the first character of the buffer
+ "ctrl-n": null, // currently activates `workspace::NewFile` when the cursor is on the last character of the buffer
+ },
},
{
"context": "Editor",
"bindings": {
"ctrl-g": "editor::Cancel",
- "ctrl-x b": "tab_switcher::Toggle", // switch-to-buffer
"alt-g g": "go_to_line::Toggle", // goto-line
"alt-g alt-g": "go_to_line::Toggle", // goto-line
"ctrl-space": "editor::SetMark", // set-mark
@@ -29,8 +41,10 @@
"shift-home": ["editor::SelectToBeginningOfLine", { "stop_at_soft_wraps": false }], // move-beginning-of-line
"shift-end": ["editor::SelectToEndOfLine", { "stop_at_soft_wraps": false }], // move-end-of-line
"alt-m": ["editor::MoveToBeginningOfLine", { "stop_at_soft_wraps": false, "stop_at_indent": true }], // back-to-indentation
- "alt-f": "editor::MoveToNextSubwordEnd", // forward-word
- "alt-b": "editor::MoveToPreviousSubwordStart", // backward-word
+ "alt-left": "editor::MoveToPreviousWordStart", // left-word
+ "alt-right": "editor::MoveToNextWordEnd", // right-word
+ "alt-f": "editor::MoveToNextWordEnd", // forward-word
+ "alt-b": "editor::MoveToPreviousWordStart", // backward-word
"alt-u": "editor::ConvertToUpperCase", // upcase-word
"alt-l": "editor::ConvertToLowerCase", // downcase-word
"alt-c": "editor::ConvertToUpperCamelCase", // capitalize-word
@@ -43,6 +57,8 @@
"ctrl-x h": "editor::SelectAll", // mark-whole-buffer
"ctrl-d": "editor::Delete", // delete-char
"alt-d": ["editor::DeleteToNextWordEnd", { "ignore_newlines": false, "ignore_brackets": false }], // kill-word
+ "alt-backspace": "editor::DeleteToPreviousWordStart", // backward-kill-word
+ "alt-delete": "editor::DeleteToPreviousWordStart", // backward-kill-word
"ctrl-k": "editor::KillRingCut", // kill-line
"ctrl-w": "editor::Cut", // kill-region
"alt-w": "editor::Copy", // kill-ring-save
@@ -52,17 +68,22 @@
"ctrl-x u": "editor::Undo", // undo
"alt-{": "editor::MoveToStartOfParagraph", // backward-paragraph
"alt-}": "editor::MoveToEndOfParagraph", // forward-paragraph
+ "ctrl-up": "editor::MoveToStartOfParagraph", // backward-paragraph
+ "ctrl-down": "editor::MoveToEndOfParagraph", // forward-paragraph
"ctrl-v": "editor::MovePageDown", // scroll-up
"alt-v": "editor::MovePageUp", // scroll-down
"ctrl-x [": "editor::MoveToBeginning", // beginning-of-buffer
"ctrl-x ]": "editor::MoveToEnd", // end-of-buffer
"alt-<": "editor::MoveToBeginning", // beginning-of-buffer
"alt->": "editor::MoveToEnd", // end-of-buffer
+ "ctrl-home": "editor::MoveToBeginning", // beginning-of-buffer
+ "ctrl-end": "editor::MoveToEnd", // end-of-buffer
"ctrl-l": "editor::ScrollCursorCenterTopBottom", // recenter-top-bottom
"ctrl-s": "buffer_search::Deploy", // isearch-forward
+ "ctrl-r": "buffer_search::Deploy", // isearch-backward
"alt-^": "editor::JoinLines", // join-line
- "alt-q": "editor::Rewrap" // fill-paragraph
- }
+ "alt-q": "editor::Rewrap", // fill-paragraph
+ },
},
{
"context": "Editor && selection_mode", // region selection
@@ -85,70 +106,101 @@
"end": ["editor::SelectToEndOfLine", { "stop_at_soft_wraps": false }],
"ctrl-a": ["editor::SelectToBeginningOfLine", { "stop_at_soft_wraps": false }],
"ctrl-e": ["editor::SelectToEndOfLine", { "stop_at_soft_wraps": false }],
+ "alt-m": ["editor::SelectToBeginningOfLine", { "stop_at_soft_wraps": false, "stop_at_indent": true }],
"alt-f": "editor::SelectToNextWordEnd",
- "alt-b": "editor::SelectToPreviousSubwordStart",
+ "alt-b": "editor::SelectToPreviousWordStart",
+ "alt-{": "editor::SelectToStartOfParagraph",
+ "alt-}": "editor::SelectToEndOfParagraph",
+ "ctrl-up": "editor::SelectToStartOfParagraph",
+ "ctrl-down": "editor::SelectToEndOfParagraph",
+ "ctrl-x [": "editor::SelectToBeginning",
+ "ctrl-x ]": "editor::SelectToEnd",
"alt-<": "editor::SelectToBeginning",
"alt->": "editor::SelectToEnd",
- "ctrl-g": "editor::Cancel"
- }
+ "ctrl-home": "editor::SelectToBeginning",
+ "ctrl-end": "editor::SelectToEnd",
+ "ctrl-g": "editor::Cancel",
+ },
},
{
"context": "Editor && (showing_code_actions || showing_completions)",
"bindings": {
"ctrl-p": "editor::ContextMenuPrevious",
- "ctrl-n": "editor::ContextMenuNext"
- }
+ "ctrl-n": "editor::ContextMenuNext",
+ },
},
{
"context": "Editor && showing_signature_help && !showing_completions",
"bindings": {
"ctrl-p": "editor::SignatureHelpPrevious",
- "ctrl-n": "editor::SignatureHelpNext"
- }
+ "ctrl-n": "editor::SignatureHelpNext",
+ },
},
+ // Example setting for using emacs-style tab
+ // (i.e. indent the current line / selection or perform symbol completion depending on context)
+ // {
+ // "context": "Editor && !showing_code_actions && !showing_completions",
+ // "bindings": {
+ // "tab": "editor::AutoIndent" // indent-for-tab-command
+ // }
+ // },
{
"context": "Workspace",
"bindings": {
+ "alt-x": "command_palette::Toggle", // execute-extended-command
+ "ctrl-x b": "tab_switcher::Toggle", // switch-to-buffer
+ "ctrl-x ctrl-b": "tab_switcher::Toggle", // list-buffers
+ // "ctrl-x ctrl-c": "workspace::CloseWindow" // in case you only want to exit the current Zed instance
"ctrl-x ctrl-c": "zed::Quit", // save-buffers-kill-terminal
"ctrl-x 5 0": "workspace::CloseWindow", // delete-frame
"ctrl-x 5 2": "workspace::NewWindow", // make-frame-command
"ctrl-x o": "workspace::ActivateNextPane", // other-window
"ctrl-x k": "pane::CloseActiveItem", // kill-buffer
"ctrl-x 0": "pane::CloseActiveItem", // delete-window
+ // "ctrl-x 1": "pane::JoinAll", // in case you prefer to delete the splits but keep the buffers open
"ctrl-x 1": "pane::CloseOtherItems", // delete-other-windows
"ctrl-x 2": "pane::SplitDown", // split-window-below
"ctrl-x 3": "pane::SplitRight", // split-window-right
"ctrl-x ctrl-f": "file_finder::Toggle", // find-file
"ctrl-x ctrl-s": "workspace::Save", // save-buffer
"ctrl-x ctrl-w": "workspace::SaveAs", // write-file
- "ctrl-x s": "workspace::SaveAll" // save-some-buffers
- }
+ "ctrl-x s": "workspace::SaveAll", // save-some-buffers
+ },
},
{
- // Workaround to enable using emacs in the Zed terminal.
+ // Workaround to enable using native emacs from the Zed terminal.
// Unbind so Zed ignores these keys and lets emacs handle them.
+ // NOTE:
+ // "terminal::SendKeystroke" only works for a single key stroke (e.g. ctrl-x),
+ // so override with null for compound sequences (e.g. ctrl-x ctrl-c).
"context": "Terminal",
"bindings": {
+ // If you want to perfect your emacs-in-zed setup, also consider the following.
+ // You may need to enable "option_as_meta" from the Zed settings for "alt-x" to work.
+ // "alt-x": ["terminal::SendKeystroke", "alt-x"],
+ // "ctrl-x": ["terminal::SendKeystroke", "ctrl-x"],
+ // "ctrl-n": ["terminal::SendKeystroke", "ctrl-n"],
+ // ...
"ctrl-x ctrl-c": null, // save-buffers-kill-terminal
"ctrl-x ctrl-f": null, // find-file
"ctrl-x ctrl-s": null, // save-buffer
"ctrl-x ctrl-w": null, // write-file
- "ctrl-x s": null // save-some-buffers
- }
+ "ctrl-x s": null, // save-some-buffers
+ },
},
{
"context": "BufferSearchBar > Editor",
"bindings": {
"ctrl-s": "search::SelectNextMatch",
"ctrl-r": "search::SelectPreviousMatch",
- "ctrl-g": "buffer_search::Dismiss"
- }
+ "ctrl-g": "buffer_search::Dismiss",
+ },
},
{
"context": "Pane",
"bindings": {
"ctrl-alt-left": "pane::GoBack",
- "ctrl-alt-right": "pane::GoForward"
- }
- }
+ "ctrl-alt-right": "pane::GoForward",
+ },
+ },
]
diff --git a/assets/keymaps/linux/jetbrains.json b/assets/keymaps/linux/jetbrains.json
index 59a182a968..d3bf53a0d3 100644
--- a/assets/keymaps/linux/jetbrains.json
+++ b/assets/keymaps/linux/jetbrains.json
@@ -5,14 +5,16 @@
"ctrl-{": "pane::ActivatePreviousItem",
"ctrl-}": "pane::ActivateNextItem",
"shift-escape": null, // Unmap workspace::zoom
+ "ctrl-~": "git::Branch",
"ctrl-f2": "debugger::Stop",
"f6": "debugger::Pause",
"f7": "debugger::StepInto",
"f8": "debugger::StepOver",
"shift-f8": "debugger::StepOut",
"f9": "debugger::Continue",
- "alt-shift-f9": "debugger::Start"
- }
+ "shift-f9": "debugger::Start",
+ "alt-shift-f9": "debugger::Start",
+ },
},
{
"context": "Editor",
@@ -46,7 +48,7 @@
"alt-f7": "editor::FindAllReferences",
"ctrl-alt-f7": "editor::FindAllReferences",
"ctrl-b": "editor::GoToDefinition", // Conflicts with workspace::ToggleLeftDock
- "ctrl-alt-b": "editor::GoToDefinitionSplit", // Conflicts with workspace::ToggleRightDock
+ "ctrl-alt-b": "editor::GoToImplementation", // Conflicts with workspace::ToggleRightDock
"ctrl-shift-b": "editor::GoToTypeDefinition",
"ctrl-alt-shift-b": "editor::GoToTypeDefinitionSplit",
"f2": "editor::GoToDiagnostic",
@@ -60,24 +62,30 @@
"ctrl-shift-end": "editor::SelectToEnd",
"ctrl-f8": "editor::ToggleBreakpoint",
"ctrl-shift-f8": "editor::EditLogBreakpoint",
- "ctrl-shift-u": "editor::ToggleCase"
- }
+ "ctrl-shift-u": "editor::ToggleCase",
+ },
},
{
"context": "Editor && mode == full",
"bindings": {
"ctrl-f12": "outline::Toggle",
"ctrl-r": ["buffer_search::Deploy", { "replace_enabled": true }],
+ "ctrl-e": "file_finder::Toggle",
"ctrl-shift-n": "file_finder::Toggle",
+ "ctrl-alt-n": "file_finder::Toggle",
"ctrl-g": "go_to_line::Toggle",
- "alt-enter": "editor::ToggleCodeActions"
- }
+ "alt-enter": "editor::ToggleCodeActions",
+ "ctrl-space": "editor::ShowCompletions",
+ "ctrl-q": "editor::Hover",
+ "ctrl-p": "editor::ShowSignatureHelp",
+ "ctrl-\\": "assistant::InlineAssist",
+ },
},
{
"context": "BufferSearchBar",
"bindings": {
- "shift-enter": "search::SelectPreviousMatch"
- }
+ "shift-enter": "search::SelectPreviousMatch",
+ },
},
{
"context": "BufferSearchBar || ProjectSearchBar",
@@ -85,18 +93,22 @@
"alt-c": "search::ToggleCaseSensitive",
"alt-e": "search::ToggleSelection",
"alt-x": "search::ToggleRegex",
- "alt-w": "search::ToggleWholeWord"
- }
+ "alt-w": "search::ToggleWholeWord",
+ },
},
{
"context": "Workspace",
"bindings": {
- "ctrl-shift-f12": "workspace::CloseAllDocks",
+ "ctrl-shift-f12": "workspace::ToggleAllDocks",
"ctrl-shift-r": ["pane::DeploySearch", { "replace_enabled": true }],
"alt-shift-f10": "task::Spawn",
+ "shift-f10": "task::Spawn",
+ "ctrl-f5": "task::Rerun",
"ctrl-e": "file_finder::Toggle",
- // "ctrl-k": "git_panel::ToggleFocus", // bug: This should also focus commit editor
+ "ctrl-k": "git_panel::ToggleFocus", // bug: This should also focus commit editor
"ctrl-shift-n": "file_finder::Toggle",
+ "ctrl-alt-n": "file_finder::Toggle",
+ "ctrl-n": "project_symbols::Toggle",
"ctrl-shift-a": "command_palette::Toggle",
"shift shift": "command_palette::Toggle",
"ctrl-alt-shift-n": "project_symbols::Toggle",
@@ -104,8 +116,8 @@
"alt-1": "project_panel::ToggleFocus",
"alt-5": "debug_panel::ToggleFocus",
"alt-6": "diagnostics::Deploy",
- "alt-7": "outline_panel::ToggleFocus"
- }
+ "alt-7": "outline_panel::ToggleFocus",
+ },
},
{
"context": "Pane", // this is to override the default Pane mappings to switch tabs
@@ -119,22 +131,24 @@
"alt-7": "outline_panel::ToggleFocus",
"alt-8": null, // Services (bottom dock)
"alt-9": null, // Git History (bottom dock)
- "alt-0": "git_panel::ToggleFocus"
- }
+ "alt-0": "git_panel::ToggleFocus",
+ },
},
{
"context": "Workspace || Editor",
"bindings": {
"alt-f12": "terminal_panel::Toggle",
- "ctrl-shift-k": "git::Push"
- }
+ "ctrl-shift-k": "git::Push",
+ },
},
{
"context": "Pane",
"bindings": {
"ctrl-alt-left": "pane::GoBack",
- "ctrl-alt-right": "pane::GoForward"
- }
+ "ctrl-alt-right": "pane::GoForward",
+ "alt-left": "pane::ActivatePreviousItem",
+ "alt-right": "pane::ActivateNextItem",
+ },
},
{
"context": "ProjectPanel",
@@ -144,21 +158,19 @@
"backspace": ["project_panel::Trash", { "skip_prompt": false }],
"delete": ["project_panel::Trash", { "skip_prompt": false }],
"shift-delete": ["project_panel::Delete", { "skip_prompt": false }],
- "shift-f6": "project_panel::Rename"
- }
+ "shift-f6": "project_panel::Rename",
+ },
},
{
"context": "Terminal",
"bindings": {
"ctrl-shift-t": "workspace::NewTerminal",
"alt-f12": "workspace::CloseActiveDock",
- "alt-left": "pane::ActivatePreviousItem",
- "alt-right": "pane::ActivateNextItem",
"ctrl-up": "terminal::ScrollLineUp",
"ctrl-down": "terminal::ScrollLineDown",
"shift-pageup": "terminal::ScrollPageUp",
- "shift-pagedown": "terminal::ScrollPageDown"
- }
+ "shift-pagedown": "terminal::ScrollPageDown",
+ },
},
{ "context": "GitPanel", "bindings": { "alt-0": "workspace::CloseActiveDock" } },
{ "context": "ProjectPanel", "bindings": { "alt-1": "workspace::CloseActiveDock" } },
@@ -169,7 +181,7 @@
"context": "Dock || Workspace || OutlinePanel || ProjectPanel || CollabPanel || (Editor && mode == auto_height)",
"bindings": {
"escape": "editor::ToggleFocus",
- "shift-escape": "workspace::CloseActiveDock"
- }
- }
+ "shift-escape": "workspace::CloseActiveDock",
+ },
+ },
]
diff --git a/assets/keymaps/linux/sublime_text.json b/assets/keymaps/linux/sublime_text.json
index f526db45ff..1d689a6f58 100644
--- a/assets/keymaps/linux/sublime_text.json
+++ b/assets/keymaps/linux/sublime_text.json
@@ -22,14 +22,14 @@
"ctrl-^": ["workspace::MoveItemToPane", { "destination": 5 }],
"ctrl-&": ["workspace::MoveItemToPane", { "destination": 6 }],
"ctrl-*": ["workspace::MoveItemToPane", { "destination": 7 }],
- "ctrl-(": ["workspace::MoveItemToPane", { "destination": 8 }]
- }
+ "ctrl-(": ["workspace::MoveItemToPane", { "destination": 8 }],
+ },
},
{
"context": "Editor",
"bindings": {
- "ctrl-alt-up": "editor::AddSelectionAbove",
- "ctrl-alt-down": "editor::AddSelectionBelow",
+ "ctrl-alt-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": false }],
+ "ctrl-alt-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": false }],
"ctrl-shift-up": "editor::MoveLineUp",
"ctrl-shift-down": "editor::MoveLineDown",
"ctrl-shift-m": "editor::SelectLargerSyntaxNode",
@@ -55,20 +55,20 @@
"alt-right": "editor::MoveToNextSubwordEnd",
"alt-left": "editor::MoveToPreviousSubwordStart",
"alt-shift-right": "editor::SelectToNextSubwordEnd",
- "alt-shift-left": "editor::SelectToPreviousSubwordStart"
- }
+ "alt-shift-left": "editor::SelectToPreviousSubwordStart",
+ },
},
{
"context": "Editor && mode == full",
"bindings": {
- "ctrl-r": "outline::Toggle"
- }
+ "ctrl-r": "outline::Toggle",
+ },
},
{
"context": "Editor && !agent_diff",
"bindings": {
- "ctrl-k ctrl-z": "git::Restore"
- }
+ "ctrl-k ctrl-z": "git::Restore",
+ },
},
{
"context": "Pane",
@@ -83,15 +83,15 @@
"alt-6": ["pane::ActivateItem", 5],
"alt-7": ["pane::ActivateItem", 6],
"alt-8": ["pane::ActivateItem", 7],
- "alt-9": "pane::ActivateLastItem"
- }
+ "alt-9": "pane::ActivateLastItem",
+ },
},
{
"context": "Workspace",
"bindings": {
"ctrl-k ctrl-b": "workspace::ToggleLeftDock",
// "ctrl-0": "project_panel::ToggleFocus", // normally resets zoom
- "shift-ctrl-r": "project_symbols::Toggle"
- }
- }
+ "shift-ctrl-r": "project_symbols::Toggle",
+ },
+ },
]
diff --git a/assets/keymaps/macos/atom.json b/assets/keymaps/macos/atom.json
index df48e51767..bf049fd3cb 100644
--- a/assets/keymaps/macos/atom.json
+++ b/assets/keymaps/macos/atom.json
@@ -4,16 +4,16 @@
"bindings": {
"ctrl-alt-cmd-l": "workspace::Reload",
"cmd-k cmd-p": "workspace::ActivatePreviousPane",
- "cmd-k cmd-n": "workspace::ActivateNextPane"
- }
+ "cmd-k cmd-n": "workspace::ActivateNextPane",
+ },
},
{
"context": "Editor",
"bindings": {
"cmd-shift-backspace": "editor::DeleteToBeginningOfLine",
"cmd-k cmd-u": "editor::ConvertToUpperCase",
- "cmd-k cmd-l": "editor::ConvertToLowerCase"
- }
+ "cmd-k cmd-l": "editor::ConvertToLowerCase",
+ },
},
{
"context": "Editor && mode == full",
@@ -25,16 +25,16 @@
"cmd-<": "editor::ScrollCursorCenter",
"cmd-g": ["editor::SelectNext", { "replace_newest": true }],
"cmd-shift-g": ["editor::SelectPrevious", { "replace_newest": true }],
- "ctrl-shift-down": "editor::AddSelectionBelow",
- "ctrl-shift-up": "editor::AddSelectionAbove",
+ "ctrl-shift-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": true }],
+ "ctrl-shift-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": true }],
"alt-enter": "editor::Newline",
"cmd-shift-d": "editor::DuplicateLineDown",
"ctrl-cmd-up": "editor::MoveLineUp",
"ctrl-cmd-down": "editor::MoveLineDown",
"cmd-\\": "workspace::ToggleLeftDock",
"ctrl-shift-m": "markdown::OpenPreviewToTheSide",
- "cmd-r": "outline::Toggle"
- }
+ "cmd-r": "outline::Toggle",
+ },
},
{
"context": "BufferSearchBar",
@@ -42,8 +42,8 @@
"cmd-g": ["editor::SelectNext", { "replace_newest": true }],
"cmd-shift-g": ["editor::SelectPrevious", { "replace_newest": true }],
"cmd-f3": "search::SelectNextMatch",
- "cmd-shift-f3": "search::SelectPreviousMatch"
- }
+ "cmd-shift-f3": "search::SelectPreviousMatch",
+ },
},
{
"context": "Workspace",
@@ -51,8 +51,8 @@
"cmd-\\": "workspace::ToggleLeftDock",
"cmd-k cmd-b": "workspace::ToggleLeftDock",
"cmd-t": "file_finder::Toggle",
- "cmd-shift-r": "project_symbols::Toggle"
- }
+ "cmd-shift-r": "project_symbols::Toggle",
+ },
},
{
"context": "Pane",
@@ -67,8 +67,8 @@
"cmd-6": ["pane::ActivateItem", 5],
"cmd-7": ["pane::ActivateItem", 6],
"cmd-8": ["pane::ActivateItem", 7],
- "cmd-9": "pane::ActivateLastItem"
- }
+ "cmd-9": "pane::ActivateLastItem",
+ },
},
{
"context": "ProjectPanel",
@@ -77,8 +77,8 @@
"backspace": ["project_panel::Trash", { "skip_prompt": false }],
"cmd-x": "project_panel::Cut",
"cmd-c": "project_panel::Copy",
- "cmd-v": "project_panel::Paste"
- }
+ "cmd-v": "project_panel::Paste",
+ },
},
{
"context": "ProjectPanel && not_editing",
@@ -92,7 +92,7 @@
"d": "project_panel::Duplicate",
"home": "menu::SelectFirst",
"end": "menu::SelectLast",
- "shift-a": "project_panel::NewDirectory"
- }
- }
+ "shift-a": "project_panel::NewDirectory",
+ },
+ },
]
diff --git a/assets/keymaps/macos/cursor.json b/assets/keymaps/macos/cursor.json
index 1d723bd75b..93e259db37 100644
--- a/assets/keymaps/macos/cursor.json
+++ b/assets/keymaps/macos/cursor.json
@@ -8,8 +8,8 @@
"cmd-shift-i": "agent::ToggleFocus",
"cmd-l": "agent::ToggleFocus",
"cmd-shift-l": "agent::ToggleFocus",
- "cmd-shift-j": "agent::OpenSettings"
- }
+ "cmd-shift-j": "agent::OpenSettings",
+ },
},
{
"context": "Editor && mode == full",
@@ -17,22 +17,22 @@
"bindings": {
"cmd-i": "agent::ToggleFocus",
"cmd-shift-i": "agent::ToggleFocus",
- "cmd-shift-l": "agent::QuoteSelection", // In cursor uses "Ask" mode
- "cmd-l": "agent::QuoteSelection", // In cursor uses "Agent" mode
+ "cmd-shift-l": "agent::AddSelectionToThread", // In cursor uses "Ask" mode
+ "cmd-l": "agent::AddSelectionToThread", // In cursor uses "Agent" mode
"cmd-k": "assistant::InlineAssist",
- "cmd-shift-k": "assistant::InsertIntoEditor"
- }
+ "cmd-shift-k": "assistant::InsertIntoEditor",
+ },
},
{
"context": "InlineAssistEditor",
"use_key_equivalents": true,
"bindings": {
"cmd-shift-backspace": "editor::Cancel",
- "cmd-enter": "menu::Confirm"
+ "cmd-enter": "menu::Confirm",
// "alt-enter": // Quick Question
// "cmd-shift-enter": // Full File Context
// "cmd-shift-k": // Toggle input focus (editor <> inline assist)
- }
+ },
},
{
"context": "AgentPanel || ContextEditor || (MessageEditor > Editor)",
@@ -48,7 +48,7 @@
"cmd-shift-backspace": "editor::Cancel",
"cmd-r": "agent::NewThread",
"cmd-shift-v": "editor::Paste",
- "cmd-shift-k": "assistant::InsertIntoEditor"
+ "cmd-shift-k": "assistant::InsertIntoEditor",
// "escape": "agent::ToggleFocus"
///// Enable when Zed supports multiple thread tabs
// "cmd-t": // new thread tab
@@ -57,28 +57,29 @@
///// Enable if Zed adds support for keyboard navigation of thread elements
// "tab": // cycle to next message
// "shift-tab": // cycle to previous message
- }
+ },
},
{
"context": "Editor && editor_agent_diff",
"use_key_equivalents": true,
"bindings": {
"cmd-enter": "agent::KeepAll",
- "cmd-backspace": "agent::RejectAll"
- }
+ "cmd-backspace": "agent::RejectAll",
+ },
},
{
"context": "Editor && mode == full && edit_prediction",
"use_key_equivalents": true,
"bindings": {
- "cmd-right": "editor::AcceptPartialEditPrediction"
- }
+ "cmd-right": "editor::AcceptNextWordEditPrediction",
+ "cmd-down": "editor::AcceptNextLineEditPrediction",
+ },
},
{
"context": "Terminal",
"use_key_equivalents": true,
"bindings": {
- "cmd-k": "assistant::InlineAssist"
- }
- }
+ "cmd-k": "assistant::InlineAssist",
+ },
+ },
]
diff --git a/assets/keymaps/macos/emacs.json b/assets/keymaps/macos/emacs.json
index 78e2235965..2f11e2ce00 100755
--- a/assets/keymaps/macos/emacs.json
+++ b/assets/keymaps/macos/emacs.json
@@ -6,14 +6,22 @@
{
"context": "!GitPanel",
"bindings": {
- "ctrl-g": "menu::Cancel"
- }
+ "ctrl-g": "menu::Cancel",
+ },
+ },
+ {
+ // Workaround to avoid falling back to default bindings.
+ // Unbind so Zed ignores these keys and lets emacs handle them.
+ // NOTE: must be declared before the `Editor` override.
+ "context": "Editor",
+ "bindings": {
+ "ctrl-g": null, // currently activates `go_to_line::Toggle` when there is nothing to cancel
+ },
},
{
"context": "Editor",
"bindings": {
"ctrl-g": "editor::Cancel",
- "ctrl-x b": "tab_switcher::Toggle", // switch-to-buffer
"alt-g g": "go_to_line::Toggle", // goto-line
"alt-g alt-g": "go_to_line::Toggle", // goto-line
"ctrl-space": "editor::SetMark", // set-mark
@@ -30,8 +38,10 @@
"shift-home": ["editor::SelectToBeginningOfLine", { "stop_at_soft_wraps": false }], // move-beginning-of-line
"shift-end": ["editor::SelectToEndOfLine", { "stop_at_soft_wraps": false }], // move-end-of-line
"alt-m": ["editor::MoveToBeginningOfLine", { "stop_at_soft_wraps": false, "stop_at_indent": true }], // back-to-indentation
- "alt-f": "editor::MoveToNextSubwordEnd", // forward-word
- "alt-b": "editor::MoveToPreviousSubwordStart", // backward-word
+ "alt-left": "editor::MoveToPreviousWordStart", // left-word
+ "alt-right": "editor::MoveToNextWordEnd", // right-word
+ "alt-f": "editor::MoveToNextWordEnd", // forward-word
+ "alt-b": "editor::MoveToPreviousWordStart", // backward-word
"alt-u": "editor::ConvertToUpperCase", // upcase-word
"alt-l": "editor::ConvertToLowerCase", // downcase-word
"alt-c": "editor::ConvertToUpperCamelCase", // capitalize-word
@@ -44,6 +54,8 @@
"ctrl-x h": "editor::SelectAll", // mark-whole-buffer
"ctrl-d": "editor::Delete", // delete-char
"alt-d": ["editor::DeleteToNextWordEnd", { "ignore_newlines": false, "ignore_brackets": false }], // kill-word
+ "alt-backspace": "editor::DeleteToPreviousWordStart", // backward-kill-word
+ "alt-delete": "editor::DeleteToPreviousWordStart", // backward-kill-word
"ctrl-k": "editor::KillRingCut", // kill-line
"ctrl-w": "editor::Cut", // kill-region
"alt-w": "editor::Copy", // kill-ring-save
@@ -53,17 +65,22 @@
"ctrl-x u": "editor::Undo", // undo
"alt-{": "editor::MoveToStartOfParagraph", // backward-paragraph
"alt-}": "editor::MoveToEndOfParagraph", // forward-paragraph
+ "ctrl-up": "editor::MoveToStartOfParagraph", // backward-paragraph
+ "ctrl-down": "editor::MoveToEndOfParagraph", // forward-paragraph
"ctrl-v": "editor::MovePageDown", // scroll-up
"alt-v": "editor::MovePageUp", // scroll-down
"ctrl-x [": "editor::MoveToBeginning", // beginning-of-buffer
"ctrl-x ]": "editor::MoveToEnd", // end-of-buffer
"alt-<": "editor::MoveToBeginning", // beginning-of-buffer
"alt->": "editor::MoveToEnd", // end-of-buffer
+ "ctrl-home": "editor::MoveToBeginning", // beginning-of-buffer
+ "ctrl-end": "editor::MoveToEnd", // end-of-buffer
"ctrl-l": "editor::ScrollCursorCenterTopBottom", // recenter-top-bottom
"ctrl-s": "buffer_search::Deploy", // isearch-forward
+ "ctrl-r": "buffer_search::Deploy", // isearch-backward
"alt-^": "editor::JoinLines", // join-line
- "alt-q": "editor::Rewrap" // fill-paragraph
- }
+ "alt-q": "editor::Rewrap", // fill-paragraph
+ },
},
{
"context": "Editor && selection_mode", // region selection
@@ -86,70 +103,101 @@
"end": ["editor::SelectToEndOfLine", { "stop_at_soft_wraps": false }],
"ctrl-a": ["editor::SelectToBeginningOfLine", { "stop_at_soft_wraps": false }],
"ctrl-e": ["editor::SelectToEndOfLine", { "stop_at_soft_wraps": false }],
+ "alt-m": ["editor::SelectToBeginningOfLine", { "stop_at_soft_wraps": false, "stop_at_indent": true }],
"alt-f": "editor::SelectToNextWordEnd",
- "alt-b": "editor::SelectToPreviousSubwordStart",
+ "alt-b": "editor::SelectToPreviousWordStart",
+ "alt-{": "editor::SelectToStartOfParagraph",
+ "alt-}": "editor::SelectToEndOfParagraph",
+ "ctrl-up": "editor::SelectToStartOfParagraph",
+ "ctrl-down": "editor::SelectToEndOfParagraph",
+ "ctrl-x [": "editor::SelectToBeginning",
+ "ctrl-x ]": "editor::SelectToEnd",
"alt-<": "editor::SelectToBeginning",
"alt->": "editor::SelectToEnd",
- "ctrl-g": "editor::Cancel"
- }
+ "ctrl-home": "editor::SelectToBeginning",
+ "ctrl-end": "editor::SelectToEnd",
+ "ctrl-g": "editor::Cancel",
+ },
},
{
"context": "Editor && (showing_code_actions || showing_completions)",
"bindings": {
"ctrl-p": "editor::ContextMenuPrevious",
- "ctrl-n": "editor::ContextMenuNext"
- }
+ "ctrl-n": "editor::ContextMenuNext",
+ },
},
{
"context": "Editor && showing_signature_help && !showing_completions",
"bindings": {
"ctrl-p": "editor::SignatureHelpPrevious",
- "ctrl-n": "editor::SignatureHelpNext"
- }
+ "ctrl-n": "editor::SignatureHelpNext",
+ },
},
+ // Example setting for using emacs-style tab
+ // (i.e. indent the current line / selection or perform symbol completion depending on context)
+ // {
+ // "context": "Editor && !showing_code_actions && !showing_completions",
+ // "bindings": {
+ // "tab": "editor::AutoIndent" // indent-for-tab-command
+ // }
+ // },
{
"context": "Workspace",
"bindings": {
+ "alt-x": "command_palette::Toggle", // execute-extended-command
+ "ctrl-x b": "tab_switcher::Toggle", // switch-to-buffer
+ "ctrl-x ctrl-b": "tab_switcher::Toggle", // list-buffers
+ // "ctrl-x ctrl-c": "workspace::CloseWindow" // in case you only want to exit the current Zed instance
"ctrl-x ctrl-c": "zed::Quit", // save-buffers-kill-terminal
"ctrl-x 5 0": "workspace::CloseWindow", // delete-frame
"ctrl-x 5 2": "workspace::NewWindow", // make-frame-command
"ctrl-x o": "workspace::ActivateNextPane", // other-window
"ctrl-x k": "pane::CloseActiveItem", // kill-buffer
"ctrl-x 0": "pane::CloseActiveItem", // delete-window
+ // "ctrl-x 1": "pane::JoinAll", // in case you prefer to delete the splits but keep the buffers open
"ctrl-x 1": "pane::CloseOtherItems", // delete-other-windows
"ctrl-x 2": "pane::SplitDown", // split-window-below
"ctrl-x 3": "pane::SplitRight", // split-window-right
"ctrl-x ctrl-f": "file_finder::Toggle", // find-file
"ctrl-x ctrl-s": "workspace::Save", // save-buffer
"ctrl-x ctrl-w": "workspace::SaveAs", // write-file
- "ctrl-x s": "workspace::SaveAll" // save-some-buffers
- }
+ "ctrl-x s": "workspace::SaveAll", // save-some-buffers
+ },
},
{
- // Workaround to enable using emacs in the Zed terminal.
+ // Workaround to enable using native emacs from the Zed terminal.
// Unbind so Zed ignores these keys and lets emacs handle them.
+ // NOTE:
+ // "terminal::SendKeystroke" only works for a single key stroke (e.g. ctrl-x),
+ // so override with null for compound sequences (e.g. ctrl-x ctrl-c).
"context": "Terminal",
"bindings": {
+ // If you want to perfect your emacs-in-zed setup, also consider the following.
+ // You may need to enable "option_as_meta" from the Zed settings for "alt-x" to work.
+ // "alt-x": ["terminal::SendKeystroke", "alt-x"],
+ // "ctrl-x": ["terminal::SendKeystroke", "ctrl-x"],
+ // "ctrl-n": ["terminal::SendKeystroke", "ctrl-n"],
+ // ...
"ctrl-x ctrl-c": null, // save-buffers-kill-terminal
"ctrl-x ctrl-f": null, // find-file
"ctrl-x ctrl-s": null, // save-buffer
"ctrl-x ctrl-w": null, // write-file
- "ctrl-x s": null // save-some-buffers
- }
+ "ctrl-x s": null, // save-some-buffers
+ },
},
{
"context": "BufferSearchBar > Editor",
"bindings": {
"ctrl-s": "search::SelectNextMatch",
"ctrl-r": "search::SelectPreviousMatch",
- "ctrl-g": "buffer_search::Dismiss"
- }
+ "ctrl-g": "buffer_search::Dismiss",
+ },
},
{
"context": "Pane",
"bindings": {
"ctrl-alt-left": "pane::GoBack",
- "ctrl-alt-right": "pane::GoForward"
- }
- }
+ "ctrl-alt-right": "pane::GoForward",
+ },
+ },
]
diff --git a/assets/keymaps/macos/jetbrains.json b/assets/keymaps/macos/jetbrains.json
index 2c757c3a30..9946d8b124 100644
--- a/assets/keymaps/macos/jetbrains.json
+++ b/assets/keymaps/macos/jetbrains.json
@@ -5,14 +5,16 @@
"cmd-}": "pane::ActivateNextItem",
"cmd-0": "git_panel::ToggleFocus", // overrides `cmd-0` zoom reset
"shift-escape": null, // Unmap workspace::zoom
+ "cmd-~": "git::Branch",
"ctrl-f2": "debugger::Stop",
"f6": "debugger::Pause",
"f7": "debugger::StepInto",
"f8": "debugger::StepOver",
"shift-f8": "debugger::StepOut",
"f9": "debugger::Continue",
- "alt-shift-f9": "debugger::Start"
- }
+ "shift-f9": "debugger::Start",
+ "alt-shift-f9": "debugger::Start",
+ },
},
{
"context": "Editor",
@@ -45,7 +47,7 @@
"alt-f7": "editor::FindAllReferences",
"cmd-alt-f7": "editor::FindAllReferences",
"cmd-b": "editor::GoToDefinition", // Conflicts with workspace::ToggleLeftDock
- "cmd-alt-b": "editor::GoToDefinitionSplit",
+ "cmd-alt-b": "editor::GoToImplementation",
"cmd-shift-b": "editor::GoToTypeDefinition",
"cmd-alt-shift-b": "editor::GoToTypeDefinitionSplit",
"f2": "editor::GoToDiagnostic",
@@ -58,24 +60,30 @@
"cmd-shift-end": "editor::SelectToEnd",
"ctrl-f8": "editor::ToggleBreakpoint",
"ctrl-shift-f8": "editor::EditLogBreakpoint",
- "cmd-shift-u": "editor::ToggleCase"
- }
+ "cmd-shift-u": "editor::ToggleCase",
+ },
},
{
"context": "Editor && mode == full",
"bindings": {
"cmd-f12": "outline::Toggle",
"cmd-r": ["buffer_search::Deploy", { "replace_enabled": true }],
- "cmd-shift-o": "file_finder::Toggle",
"cmd-l": "go_to_line::Toggle",
- "alt-enter": "editor::ToggleCodeActions"
- }
+ "cmd-e": "file_finder::Toggle",
+ "cmd-shift-o": "file_finder::Toggle",
+ "cmd-shift-n": "file_finder::Toggle",
+ "alt-enter": "editor::ToggleCodeActions",
+ "ctrl-space": "editor::ShowCompletions",
+ "cmd-j": "editor::Hover",
+ "cmd-p": "editor::ShowSignatureHelp",
+ "cmd-\\": "assistant::InlineAssist",
+ },
},
{
"context": "BufferSearchBar",
"bindings": {
- "shift-enter": "search::SelectPreviousMatch"
- }
+ "shift-enter": "search::SelectPreviousMatch",
+ },
},
{
"context": "BufferSearchBar || ProjectSearchBar",
@@ -87,18 +95,22 @@
"ctrl-alt-c": "search::ToggleCaseSensitive",
"ctrl-alt-e": "search::ToggleSelection",
"ctrl-alt-w": "search::ToggleWholeWord",
- "ctrl-alt-x": "search::ToggleRegex"
- }
+ "ctrl-alt-x": "search::ToggleRegex",
+ },
},
{
"context": "Workspace",
"bindings": {
- "cmd-shift-f12": "workspace::CloseAllDocks",
+ "cmd-shift-f12": "workspace::ToggleAllDocks",
"cmd-shift-r": ["pane::DeploySearch", { "replace_enabled": true }],
"ctrl-alt-r": "task::Spawn",
+ "shift-f10": "task::Spawn",
+ "cmd-f5": "task::Rerun",
"cmd-e": "file_finder::Toggle",
- // "cmd-k": "git_panel::ToggleFocus", // bug: This should also focus commit editor
+ "cmd-k": "git_panel::ToggleFocus", // bug: This should also focus commit editor
"cmd-shift-o": "file_finder::Toggle",
+ "cmd-shift-n": "file_finder::Toggle",
+ "cmd-n": "project_symbols::Toggle",
"cmd-shift-a": "command_palette::Toggle",
"shift shift": "command_palette::Toggle",
"cmd-alt-o": "project_symbols::Toggle", // JetBrains: Go to Symbol
@@ -106,8 +118,8 @@
"cmd-1": "project_panel::ToggleFocus",
"cmd-5": "debug_panel::ToggleFocus",
"cmd-6": "diagnostics::Deploy",
- "cmd-7": "outline_panel::ToggleFocus"
- }
+ "cmd-7": "outline_panel::ToggleFocus",
+ },
},
{
"context": "Pane", // this is to override the default Pane mappings to switch tabs
@@ -121,22 +133,24 @@
"cmd-7": "outline_panel::ToggleFocus",
"cmd-8": null, // Services (bottom dock)
"cmd-9": null, // Git History (bottom dock)
- "cmd-0": "git_panel::ToggleFocus"
- }
+ "cmd-0": "git_panel::ToggleFocus",
+ },
},
{
"context": "Workspace || Editor",
"bindings": {
"alt-f12": "terminal_panel::Toggle",
- "cmd-shift-k": "git::Push"
- }
+ "cmd-shift-k": "git::Push",
+ },
},
{
"context": "Pane",
"bindings": {
"cmd-alt-left": "pane::GoBack",
- "cmd-alt-right": "pane::GoForward"
- }
+ "cmd-alt-right": "pane::GoForward",
+ "alt-left": "pane::ActivatePreviousItem",
+ "alt-right": "pane::ActivateNextItem",
+ },
},
{
"context": "ProjectPanel",
@@ -147,8 +161,8 @@
"backspace": ["project_panel::Trash", { "skip_prompt": false }],
"delete": ["project_panel::Trash", { "skip_prompt": false }],
"shift-delete": ["project_panel::Delete", { "skip_prompt": false }],
- "shift-f6": "project_panel::Rename"
- }
+ "shift-f6": "project_panel::Rename",
+ },
},
{
"context": "Terminal",
@@ -158,8 +172,8 @@
"cmd-up": "terminal::ScrollLineUp",
"cmd-down": "terminal::ScrollLineDown",
"shift-pageup": "terminal::ScrollPageUp",
- "shift-pagedown": "terminal::ScrollPageDown"
- }
+ "shift-pagedown": "terminal::ScrollPageDown",
+ },
},
{ "context": "GitPanel", "bindings": { "cmd-0": "workspace::CloseActiveDock" } },
{ "context": "ProjectPanel", "bindings": { "cmd-1": "workspace::CloseActiveDock" } },
@@ -170,7 +184,7 @@
"context": "Dock || Workspace || OutlinePanel || ProjectPanel || CollabPanel || (Editor && mode == auto_height)",
"bindings": {
"escape": "editor::ToggleFocus",
- "shift-escape": "workspace::CloseActiveDock"
- }
- }
+ "shift-escape": "workspace::CloseActiveDock",
+ },
+ },
]
diff --git a/assets/keymaps/macos/sublime_text.json b/assets/keymaps/macos/sublime_text.json
index a1e61bf885..f4ae1ce5dd 100644
--- a/assets/keymaps/macos/sublime_text.json
+++ b/assets/keymaps/macos/sublime_text.json
@@ -22,14 +22,14 @@
"ctrl-^": ["workspace::MoveItemToPane", { "destination": 5 }],
"ctrl-&": ["workspace::MoveItemToPane", { "destination": 6 }],
"ctrl-*": ["workspace::MoveItemToPane", { "destination": 7 }],
- "ctrl-(": ["workspace::MoveItemToPane", { "destination": 8 }]
- }
+ "ctrl-(": ["workspace::MoveItemToPane", { "destination": 8 }],
+ },
},
{
"context": "Editor",
"bindings": {
- "ctrl-shift-up": "editor::AddSelectionAbove",
- "ctrl-shift-down": "editor::AddSelectionBelow",
+ "ctrl-shift-up": ["editor::AddSelectionAbove", { "skip_soft_wrap": false }],
+ "ctrl-shift-down": ["editor::AddSelectionBelow", { "skip_soft_wrap": false }],
"cmd-ctrl-up": "editor::MoveLineUp",
"cmd-ctrl-down": "editor::MoveLineDown",
"cmd-shift-space": "editor::SelectAll",
@@ -57,20 +57,20 @@
"ctrl-right": "editor::MoveToNextSubwordEnd",
"ctrl-left": "editor::MoveToPreviousSubwordStart",
"ctrl-shift-right": "editor::SelectToNextSubwordEnd",
- "ctrl-shift-left": "editor::SelectToPreviousSubwordStart"
- }
+ "ctrl-shift-left": "editor::SelectToPreviousSubwordStart",
+ },
},
{
"context": "Editor && mode == full",
"bindings": {
- "cmd-r": "outline::Toggle"
- }
+ "cmd-r": "outline::Toggle",
+ },
},
{
"context": "Editor && !agent_diff",
"bindings": {
- "cmd-k cmd-z": "git::Restore"
- }
+ "cmd-k cmd-z": "git::Restore",
+ },
},
{
"context": "Pane",
@@ -85,8 +85,8 @@
"cmd-6": ["pane::ActivateItem", 5],
"cmd-7": ["pane::ActivateItem", 6],
"cmd-8": ["pane::ActivateItem", 7],
- "cmd-9": "pane::ActivateLastItem"
- }
+ "cmd-9": "pane::ActivateLastItem",
+ },
},
{
"context": "Workspace",
@@ -95,7 +95,7 @@
"cmd-t": "file_finder::Toggle",
"shift-cmd-r": "project_symbols::Toggle",
// Currently busted: https://github.com/zed-industries/feedback/issues/898
- "ctrl-0": "project_panel::ToggleFocus"
- }
- }
+ "ctrl-0": "project_panel::ToggleFocus",
+ },
+ },
]
diff --git a/assets/keymaps/macos/textmate.json b/assets/keymaps/macos/textmate.json
index f91f39b7f5..90450e60af 100644
--- a/assets/keymaps/macos/textmate.json
+++ b/assets/keymaps/macos/textmate.json
@@ -2,8 +2,8 @@
{
"bindings": {
"cmd-shift-o": "projects::OpenRecent",
- "cmd-alt-tab": "project_panel::ToggleFocus"
- }
+ "cmd-alt-tab": "project_panel::ToggleFocus",
+ },
},
{
"context": "Editor && mode == full",
@@ -15,8 +15,8 @@
"cmd-enter": "editor::NewlineBelow",
"cmd-alt-enter": "editor::NewlineAbove",
"cmd-shift-l": "editor::SelectLine",
- "cmd-shift-t": "outline::Toggle"
- }
+ "cmd-shift-t": "outline::Toggle",
+ },
},
{
"context": "Editor",
@@ -41,30 +41,30 @@
"ctrl-u": "editor::ConvertToUpperCase",
"ctrl-shift-u": "editor::ConvertToLowerCase",
"ctrl-alt-u": "editor::ConvertToUpperCamelCase",
- "ctrl-_": "editor::ConvertToSnakeCase"
- }
+ "ctrl-_": "editor::ConvertToSnakeCase",
+ },
},
{
"context": "BufferSearchBar",
"bindings": {
"ctrl-s": "search::SelectNextMatch",
- "ctrl-shift-s": "search::SelectPreviousMatch"
- }
+ "ctrl-shift-s": "search::SelectPreviousMatch",
+ },
},
{
"context": "Workspace",
"bindings": {
"cmd-alt-ctrl-d": "workspace::ToggleLeftDock",
"cmd-t": "file_finder::Toggle",
- "cmd-shift-t": "project_symbols::Toggle"
- }
+ "cmd-shift-t": "project_symbols::Toggle",
+ },
},
{
"context": "Pane",
"bindings": {
"alt-cmd-r": "search::ToggleRegex",
- "ctrl-tab": "project_panel::ToggleFocus"
- }
+ "ctrl-tab": "project_panel::ToggleFocus",
+ },
},
{
"context": "ProjectPanel",
@@ -75,11 +75,11 @@
"return": "project_panel::Rename",
"cmd-c": "project_panel::Copy",
"cmd-v": "project_panel::Paste",
- "cmd-alt-c": "project_panel::CopyPath"
- }
+ "cmd-alt-c": "project_panel::CopyPath",
+ },
},
{
"context": "Dock",
- "bindings": {}
- }
+ "bindings": {},
+ },
]
diff --git a/assets/keymaps/storybook.json b/assets/keymaps/storybook.json
index 9b92fbe1a3..432bdc7004 100644
--- a/assets/keymaps/storybook.json
+++ b/assets/keymaps/storybook.json
@@ -27,7 +27,7 @@
"backspace": "editor::Backspace",
"delete": "editor::Delete",
"left": "editor::MoveLeft",
- "right": "editor::MoveRight"
- }
- }
+ "right": "editor::MoveRight",
+ },
+ },
]
diff --git a/assets/keymaps/vim.json b/assets/keymaps/vim.json
index 4d296667ff..0097480e27 100644
--- a/assets/keymaps/vim.json
+++ b/assets/keymaps/vim.json
@@ -95,8 +95,6 @@
"g g": "vim::StartOfDocument",
"g h": "editor::Hover",
"g B": "editor::BlameHover",
- "g t": "vim::GoToTab",
- "g shift-t": "vim::GoToPreviousTab",
"g d": "editor::GoToDefinition",
"g shift-d": "editor::GoToDeclaration",
"g y": "editor::GoToTypeDefinition",
@@ -182,10 +180,9 @@
"ctrl-w g shift-d": "editor::GoToTypeDefinitionSplit",
"ctrl-w space": "editor::OpenExcerptsSplit",
"ctrl-w g space": "editor::OpenExcerptsSplit",
- "ctrl-6": "pane::AlternateFile",
"ctrl-^": "pane::AlternateFile",
- ".": "vim::Repeat"
- }
+ ".": "vim::Repeat",
+ },
},
{
"context": "vim_mode == normal || vim_mode == visual || vim_mode == operator",
@@ -222,10 +219,12 @@
"[ {": ["vim::UnmatchedBackward", { "char": "{" }],
"] )": ["vim::UnmatchedForward", { "char": ")" }],
"[ (": ["vim::UnmatchedBackward", { "char": "(" }],
+ "[ r": "vim::GoToPreviousReference",
+ "] r": "vim::GoToNextReference",
// tree-sitter related commands
"[ x": "vim::SelectLargerSyntaxNode",
- "] x": "vim::SelectSmallerSyntaxNode"
- }
+ "] x": "vim::SelectSmallerSyntaxNode",
+ },
},
{
"context": "vim_mode == normal",
@@ -262,16 +261,16 @@
"[ d": "editor::GoToPreviousDiagnostic",
"] c": "editor::GoToHunk",
"[ c": "editor::GoToPreviousHunk",
- "g c": "vim::PushToggleComments"
- }
+ "g c": "vim::PushToggleComments",
+ },
},
{
"context": "VimControl && VimCount",
"bindings": {
"0": ["vim::Number", 0],
":": "vim::CountCommand",
- "%": "vim::GoToPercentage"
- }
+ "%": "vim::GoToPercentage",
+ },
},
{
"context": "vim_mode == visual",
@@ -323,8 +322,8 @@
"g w": "vim::Rewrap",
"g ?": "vim::ConvertToRot13",
// "g ?": "vim::ConvertToRot47",
- "\"": "vim::PushRegister"
- }
+ "\"": "vim::PushRegister",
+ },
},
{
"context": "vim_mode == helix_select",
@@ -344,8 +343,8 @@
"ctrl-pageup": "pane::ActivatePreviousItem",
"ctrl-pagedown": "pane::ActivateNextItem",
".": "vim::Repeat",
- "alt-.": "vim::RepeatFind"
- }
+ "alt-.": "vim::RepeatFind",
+ },
},
{
"context": "vim_mode == insert",
@@ -375,8 +374,8 @@
"ctrl-r": "vim::PushRegister",
"insert": "vim::ToggleReplace",
"ctrl-o": "vim::TemporaryNormal",
- "ctrl-s": "editor::ShowSignatureHelp"
- }
+ "ctrl-s": "editor::ShowSignatureHelp",
+ },
},
{
"context": "showing_completions",
@@ -384,8 +383,8 @@
"ctrl-d": "vim::ScrollDown",
"ctrl-u": "vim::ScrollUp",
"ctrl-e": "vim::LineDown",
- "ctrl-y": "vim::LineUp"
- }
+ "ctrl-y": "vim::LineUp",
+ },
},
{
"context": "(vim_mode == normal || vim_mode == helix_normal) && !menu",
@@ -410,80 +409,111 @@
"shift-s": "vim::SubstituteLine",
"\"": "vim::PushRegister",
"ctrl-pagedown": "pane::ActivateNextItem",
- "ctrl-pageup": "pane::ActivatePreviousItem"
- }
+ "ctrl-pageup": "pane::ActivatePreviousItem",
+ },
},
{
- "context": "vim_mode == helix_normal && !menu",
+ "context": "VimControl && vim_mode == helix_normal && !menu",
"bindings": {
+ "j": ["vim::Down", { "display_lines": true }],
+ "down": ["vim::Down", { "display_lines": true }],
+ "k": ["vim::Up", { "display_lines": true }],
+ "up": ["vim::Up", { "display_lines": true }],
+ "g j": "vim::Down",
+ "g down": "vim::Down",
+ "g k": "vim::Up",
+ "g up": "vim::Up",
+ "escape": "vim::SwitchToHelixNormalMode",
"i": "vim::HelixInsert",
"a": "vim::HelixAppend",
- "ctrl-[": "editor::Cancel"
- }
+ "ctrl-[": "editor::Cancel",
+ },
+ },
+ {
+ "context": "vim_mode == helix_select && !menu",
+ "bindings": {
+ "escape": "vim::SwitchToHelixNormalMode",
+ },
},
{
"context": "(vim_mode == helix_normal || vim_mode == helix_select) && !menu",
"bindings": {
- ";": "vim::HelixCollapseSelection",
- ":": "command_palette::Toggle",
- "m": "vim::PushHelixMatch",
- "s": "vim::HelixSelectRegex",
- "]": ["vim::PushHelixNext", { "around": true }],
- "[": ["vim::PushHelixPrevious", { "around": true }],
- "left": "vim::WrappingLeft",
- "right": "vim::WrappingRight",
+ // Movement
"h": "vim::WrappingLeft",
+ "left": "vim::WrappingLeft",
"l": "vim::WrappingRight",
+ "right": "vim::WrappingRight",
+ "t": ["vim::PushFindForward", { "before": true, "multiline": true }],
+ "f": ["vim::PushFindForward", { "before": false, "multiline": true }],
+ "shift-t": ["vim::PushFindBackward", { "after": true, "multiline": true }],
+ "shift-f": ["vim::PushFindBackward", { "after": false, "multiline": true }],
+ "alt-.": "vim::RepeatFind",
+
+ // Changes
+ "shift-r": "editor::Paste",
+ "`": "vim::ConvertToLowerCase",
+ "alt-`": "vim::ConvertToUpperCase",
+ "insert": "vim::InsertBefore", // not a helix default
+ "shift-u": "editor::Redo",
+ "ctrl-r": "vim::Redo", // not a helix default
"y": "vim::HelixYank",
"p": "vim::HelixPaste",
"shift-p": ["vim::HelixPaste", { "before": true }],
- "alt-;": "vim::OtherEnd",
- "ctrl-r": "vim::Redo",
- "f": ["vim::PushFindForward", { "before": false, "multiline": true }],
- "t": ["vim::PushFindForward", { "before": true, "multiline": true }],
- "shift-f": ["vim::PushFindBackward", { "after": false, "multiline": true }],
- "shift-t": ["vim::PushFindBackward", { "after": true, "multiline": true }],
">": "vim::Indent",
"<": "vim::Outdent",
"=": "vim::AutoIndent",
- "`": "vim::ConvertToLowerCase",
- "alt-`": "vim::ConvertToUpperCase",
- "g q": "vim::PushRewrap",
- "g w": "vim::PushRewrap",
- "insert": "vim::InsertBefore",
- "alt-.": "vim::RepeatFind",
+ "d": "vim::HelixDelete",
+ "alt-d": "editor::Delete", // Delete selection, without yanking
+ "c": "vim::HelixSubstitute",
+ "alt-c": "vim::HelixSubstituteNoYank",
+
+ // Selection manipulation
+ "s": "vim::HelixSelectRegex",
"alt-s": ["editor::SplitSelectionIntoLines", { "keep_selections": true }],
+ ";": "vim::HelixCollapseSelection",
+ "alt-;": "vim::OtherEnd",
+ ",": "vim::HelixKeepNewestSelection",
+ "shift-c": "vim::HelixDuplicateBelow",
+ "alt-shift-c": "vim::HelixDuplicateAbove",
+ "%": "editor::SelectAll",
+ "x": "vim::HelixSelectLine",
+ "shift-x": "editor::SelectLine",
+ "ctrl-c": "editor::ToggleComments",
+ "alt-o": "editor::SelectLargerSyntaxNode",
+ "alt-i": "editor::SelectSmallerSyntaxNode",
+ "alt-p": "editor::SelectPreviousSyntaxNode",
+ "alt-n": "editor::SelectNextSyntaxNode",
+
+ // Search
+ "n": "vim::HelixSelectNext",
+ "shift-n": "vim::HelixSelectPrevious",
+
// Goto mode
- "g n": "pane::ActivateNextItem",
- "g p": "pane::ActivatePreviousItem",
- // "tab": "pane::ActivateNextItem",
- // "shift-tab": "pane::ActivatePrevItem",
- "shift-h": "pane::ActivatePreviousItem",
- "shift-l": "pane::ActivateNextItem",
- "g l": "vim::EndOfLine",
- "g h": "vim::StartOfLine",
- "g s": "vim::FirstNonWhitespace", // "g s" default behavior is "space s"
"g e": "vim::EndOfDocument",
- "g .": "vim::HelixGotoLastModification", // go to last modification
- "g r": "editor::FindAllReferences", // zed specific
+ "g h": "vim::StartOfLine",
+ "g l": "vim::EndOfLine",
+ "g s": "vim::FirstNonWhitespace",
"g t": "vim::WindowTop",
"g c": "vim::WindowMiddle",
"g b": "vim::WindowBottom",
+ "g r": "editor::FindAllReferences",
+ "g n": "pane::ActivateNextItem",
+ "shift-l": "pane::ActivateNextItem", // not a helix default
+ "g p": "pane::ActivatePreviousItem",
+ "shift-h": "pane::ActivatePreviousItem", // not a helix default
+ "g .": "vim::HelixGotoLastModification",
- "shift-r": "editor::Paste",
- "x": "vim::HelixSelectLine",
- "shift-x": "editor::SelectLine",
- "%": "editor::SelectAll",
// Window mode
- "space w h": "workspace::ActivatePaneLeft",
- "space w l": "workspace::ActivatePaneRight",
- "space w k": "workspace::ActivatePaneUp",
- "space w j": "workspace::ActivatePaneDown",
- "space w q": "pane::CloseActiveItem",
- "space w s": "pane::SplitRight",
- "space w r": "pane::SplitRight",
"space w v": "pane::SplitDown",
- "space w d": "pane::SplitDown",
+ "space w s": "pane::SplitRight",
+ "space w h": "workspace::ActivatePaneLeft",
+ "space w j": "workspace::ActivatePaneDown",
+ "space w k": "workspace::ActivatePaneUp",
+ "space w l": "workspace::ActivatePaneRight",
+ "space w q": "pane::CloseActiveItem",
+ "space w r": "pane::SplitRight", // not a helix default
+ "space w d": "pane::SplitDown", // not a helix default
+
// Space mode
"space f": "file_finder::Toggle",
"space k": "editor::Hover",
@@ -494,29 +524,32 @@
"space a": "editor::ToggleCodeActions",
"space h": "editor::SelectAllMatches",
"space c": "editor::ToggleComments",
- "space y": "editor::Copy",
"space p": "editor::Paste",
- "shift-u": "editor::Redo",
- "ctrl-c": "editor::ToggleComments",
- "d": "vim::HelixDelete",
- "c": "vim::Substitute",
- "shift-c": "editor::AddSelectionBelow",
- "alt-shift-c": "editor::AddSelectionAbove"
- }
+ "space y": "editor::Copy",
+ "space /": "pane::DeploySearch",
+
+ // Other
+ ":": "command_palette::Toggle",
+ "m": "vim::PushHelixMatch",
+ "]": ["vim::PushHelixNext", { "around": true }],
+ "[": ["vim::PushHelixPrevious", { "around": true }],
+ "g q": "vim::PushRewrap",
+ "g w": "vim::PushRewrap", // not a helix default & clashes with helix `goto_word`
+ },
},
{
"context": "vim_mode == insert && !(showing_code_actions || showing_completions)",
"bindings": {
"ctrl-p": "editor::ShowWordCompletions",
- "ctrl-n": "editor::ShowWordCompletions"
- }
+ "ctrl-n": "editor::ShowWordCompletions",
+ },
},
{
"context": "(vim_mode == insert || vim_mode == normal) && showing_signature_help && !showing_completions",
"bindings": {
"ctrl-p": "editor::SignatureHelpPrevious",
- "ctrl-n": "editor::SignatureHelpNext"
- }
+ "ctrl-n": "editor::SignatureHelpNext",
+ },
},
{
"context": "vim_mode == replace",
@@ -532,8 +565,8 @@
"backspace": "vim::UndoReplace",
"tab": "vim::Tab",
"enter": "vim::Enter",
- "insert": "vim::InsertBefore"
- }
+ "insert": "vim::InsertBefore",
+ },
},
{
"context": "vim_mode == waiting",
@@ -545,14 +578,14 @@
"escape": "vim::ClearOperators",
"ctrl-k": ["vim::PushDigraph", {}],
"ctrl-v": ["vim::PushLiteral", {}],
- "ctrl-q": ["vim::PushLiteral", {}]
- }
+ "ctrl-q": ["vim::PushLiteral", {}],
+ },
},
{
"context": "Editor && vim_mode == waiting && (vim_operator == ys || vim_operator == cs)",
"bindings": {
- "escape": "vim::SwitchToNormalMode"
- }
+ "escape": "vim::SwitchToNormalMode",
+ },
},
{
"context": "vim_mode == operator",
@@ -560,8 +593,8 @@
"ctrl-c": "vim::ClearOperators",
"ctrl-[": "vim::ClearOperators",
"escape": "vim::ClearOperators",
- "g c": "vim::Comment"
- }
+ "g c": "vim::Comment",
+ },
},
{
"context": "vim_operator == a || vim_operator == i || vim_operator == cs || vim_operator == helix_next || vim_operator == helix_previous",
@@ -580,32 +613,32 @@
// "q": "vim::AnyQuotes",
"q": "vim::MiniQuotes",
"|": "vim::VerticalBars",
- "(": "vim::Parentheses",
+ "(": ["vim::Parentheses", { "opening": true }],
")": "vim::Parentheses",
"b": "vim::Parentheses",
// "b": "vim::AnyBrackets",
// "b": "vim::MiniBrackets",
- "[": "vim::SquareBrackets",
+ "[": ["vim::SquareBrackets", { "opening": true }],
"]": "vim::SquareBrackets",
"r": "vim::SquareBrackets",
- "{": "vim::CurlyBrackets",
+ "{": ["vim::CurlyBrackets", { "opening": true }],
"}": "vim::CurlyBrackets",
"shift-b": "vim::CurlyBrackets",
- "<": "vim::AngleBrackets",
+ "<": ["vim::AngleBrackets", { "opening": true }],
">": "vim::AngleBrackets",
"a": "vim::Argument",
"i": "vim::IndentObj",
"shift-i": ["vim::IndentObj", { "include_below": true }],
"f": "vim::Method",
"c": "vim::Class",
- "e": "vim::EntireFile"
- }
+ "e": "vim::EntireFile",
+ },
},
{
"context": "vim_operator == helix_m",
"bindings": {
- "m": "vim::Matching"
- }
+ "m": "vim::Matching",
+ },
},
{
"context": "vim_operator == helix_next",
@@ -622,8 +655,8 @@
"x": "editor::SelectSmallerSyntaxNode",
"d": "editor::GoToDiagnostic",
"c": "editor::GoToHunk",
- "space": "vim::InsertEmptyLineBelow"
- }
+ "space": "vim::InsertEmptyLineBelow",
+ },
},
{
"context": "vim_operator == helix_previous",
@@ -640,8 +673,8 @@
"x": "editor::SelectLargerSyntaxNode",
"d": "editor::GoToPreviousDiagnostic",
"c": "editor::GoToPreviousHunk",
- "space": "vim::InsertEmptyLineAbove"
- }
+ "space": "vim::InsertEmptyLineAbove",
+ },
},
{
"context": "vim_operator == c",
@@ -649,8 +682,8 @@
"c": "vim::CurrentLine",
"x": "vim::Exchange",
"d": "editor::Rename", // zed specific
- "s": ["vim::PushChangeSurrounds", {}]
- }
+ "s": ["vim::PushChangeSurrounds", {}],
+ },
},
{
"context": "vim_operator == d",
@@ -662,36 +695,36 @@
"shift-o": "git::ToggleStaged",
"p": "git::Restore", // "d p"
"u": "git::StageAndNext", // "d u"
- "shift-u": "git::UnstageAndNext" // "d shift-u"
- }
+ "shift-u": "git::UnstageAndNext", // "d shift-u"
+ },
},
{
"context": "vim_operator == gu",
"bindings": {
"g u": "vim::CurrentLine",
- "u": "vim::CurrentLine"
- }
+ "u": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == gU",
"bindings": {
"g shift-u": "vim::CurrentLine",
- "shift-u": "vim::CurrentLine"
- }
+ "shift-u": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == g~",
"bindings": {
"g ~": "vim::CurrentLine",
- "~": "vim::CurrentLine"
- }
+ "~": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == g?",
"bindings": {
"g ?": "vim::CurrentLine",
- "?": "vim::CurrentLine"
- }
+ "?": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == gq",
@@ -699,66 +732,66 @@
"g q": "vim::CurrentLine",
"q": "vim::CurrentLine",
"g w": "vim::CurrentLine",
- "w": "vim::CurrentLine"
- }
+ "w": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == y",
"bindings": {
"y": "vim::CurrentLine",
"v": "vim::PushForcedMotion",
- "s": ["vim::PushAddSurrounds", {}]
- }
+ "s": ["vim::PushAddSurrounds", {}],
+ },
},
{
"context": "vim_operator == ys",
"bindings": {
- "s": "vim::CurrentLine"
- }
+ "s": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == >",
"bindings": {
- ">": "vim::CurrentLine"
- }
+ ">": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == <",
"bindings": {
- "<": "vim::CurrentLine"
- }
+ "<": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == eq",
"bindings": {
- "=": "vim::CurrentLine"
- }
+ "=": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == sh",
"bindings": {
- "!": "vim::CurrentLine"
- }
+ "!": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == gc",
"bindings": {
- "c": "vim::CurrentLine"
- }
+ "c": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == gR",
"bindings": {
"r": "vim::CurrentLine",
- "shift-r": "vim::CurrentLine"
- }
+ "shift-r": "vim::CurrentLine",
+ },
},
{
"context": "vim_operator == cx",
"bindings": {
"x": "vim::CurrentLine",
- "c": "vim::ClearExchange"
- }
+ "c": "vim::ClearExchange",
+ },
},
{
"context": "vim_mode == literal",
@@ -800,18 +833,18 @@
"tab": ["vim::Literal", ["tab", "\u0009"]],
// zed extensions:
"backspace": ["vim::Literal", ["backspace", "\u0008"]],
- "delete": ["vim::Literal", ["delete", "\u007F"]]
- }
+ "delete": ["vim::Literal", ["delete", "\u007F"]],
+ },
},
{
"context": "BufferSearchBar && !in_replace",
"bindings": {
"enter": "vim::SearchSubmit",
- "escape": "buffer_search::Dismiss"
- }
+ "escape": "buffer_search::Dismiss",
+ },
},
{
- "context": "VimControl || !Editor && !Terminal",
+ "context": "VimControl && !menu || !Editor && !Terminal",
"bindings": {
// window related commands (ctrl-w X)
"ctrl-w": null,
@@ -831,10 +864,12 @@
"ctrl-w shift-right": "workspace::SwapPaneRight",
"ctrl-w shift-up": "workspace::SwapPaneUp",
"ctrl-w shift-down": "workspace::SwapPaneDown",
- "ctrl-w shift-h": "workspace::SwapPaneLeft",
- "ctrl-w shift-l": "workspace::SwapPaneRight",
- "ctrl-w shift-k": "workspace::SwapPaneUp",
- "ctrl-w shift-j": "workspace::SwapPaneDown",
+ "ctrl-w x": "workspace::SwapPaneAdjacent",
+ "ctrl-w ctrl-x": "workspace::SwapPaneAdjacent",
+ "ctrl-w shift-h": "workspace::MovePaneLeft",
+ "ctrl-w shift-l": "workspace::MovePaneRight",
+ "ctrl-w shift-k": "workspace::MovePaneUp",
+ "ctrl-w shift-j": "workspace::MovePaneDown",
"ctrl-w >": "vim::ResizePaneRight",
"ctrl-w <": "vim::ResizePaneLeft",
"ctrl-w -": "vim::ResizePaneDown",
@@ -865,15 +900,21 @@
"ctrl-w ctrl-o": "workspace::CloseInactiveTabsAndPanes",
"ctrl-w o": "workspace::CloseInactiveTabsAndPanes",
"ctrl-w ctrl-n": "workspace::NewFileSplitHorizontal",
- "ctrl-w n": "workspace::NewFileSplitHorizontal"
- }
+ "ctrl-w n": "workspace::NewFileSplitHorizontal",
+ "g t": "vim::GoToTab",
+ "g shift-t": "vim::GoToPreviousTab",
+ },
},
{
"context": "!Editor && !Terminal",
"bindings": {
":": "command_palette::Toggle",
- "g /": "pane::DeploySearch"
- }
+ "g /": "pane::DeploySearch",
+ "] b": "pane::ActivateNextItem",
+ "[ b": "pane::ActivatePreviousItem",
+ "] shift-b": "pane::ActivateLastItem",
+ "[ shift-b": ["pane::ActivateItem", 0],
+ },
},
{
// netrw compatibility
@@ -923,17 +964,45 @@
"6": ["vim::Number", 6],
"7": ["vim::Number", 7],
"8": ["vim::Number", 8],
- "9": ["vim::Number", 9]
- }
+ "9": ["vim::Number", 9],
+ },
},
{
"context": "OutlinePanel && not_editing",
"bindings": {
- "j": "menu::SelectNext",
- "k": "menu::SelectPrevious",
+ "h": "outline_panel::CollapseSelectedEntry",
+ "j": "vim::MenuSelectNext",
+ "k": "vim::MenuSelectPrevious",
+ "down": "vim::MenuSelectNext",
+ "up": "vim::MenuSelectPrevious",
+ "l": "outline_panel::ExpandSelectedEntry",
"shift-g": "menu::SelectLast",
- "g g": "menu::SelectFirst"
- }
+ "g g": "menu::SelectFirst",
+ "-": "outline_panel::SelectParent",
+ "enter": "editor::ToggleFocus",
+ "/": "menu::Cancel",
+ "ctrl-u": "outline_panel::ScrollUp",
+ "ctrl-d": "outline_panel::ScrollDown",
+ "z t": "outline_panel::ScrollCursorTop",
+ "z z": "outline_panel::ScrollCursorCenter",
+ "z b": "outline_panel::ScrollCursorBottom",
+ "0": ["vim::Number", 0],
+ "1": ["vim::Number", 1],
+ "2": ["vim::Number", 2],
+ "3": ["vim::Number", 3],
+ "4": ["vim::Number", 4],
+ "5": ["vim::Number", 5],
+ "6": ["vim::Number", 6],
+ "7": ["vim::Number", 7],
+ "8": ["vim::Number", 8],
+ "9": ["vim::Number", 9],
+ },
+ },
+ {
+ "context": "OutlinePanel && editing",
+ "bindings": {
+ "enter": "menu::Cancel",
+ },
},
{
"context": "GitPanel && ChangesList",
@@ -948,8 +1017,8 @@
"x": "git::ToggleStaged",
"shift-x": "git::StageAll",
"g x": "git::StageRange",
- "shift-u": "git::UnstageAll"
- }
+ "shift-u": "git::UnstageAll",
+ },
},
{
"context": "Editor && mode == auto_height && VimControl",
@@ -960,37 +1029,39 @@
"#": null,
"*": null,
"n": null,
- "shift-n": null
- }
+ "shift-n": null,
+ },
},
{
"context": "Picker > Editor",
"bindings": {
"ctrl-h": "editor::Backspace",
"ctrl-u": "editor::DeleteToBeginningOfLine",
- "ctrl-w": "editor::DeleteToPreviousWordStart"
- }
+ "ctrl-w": "editor::DeleteToPreviousWordStart",
+ "ctrl-p": "menu::SelectPrevious",
+ "ctrl-n": "menu::SelectNext",
+ },
},
{
"context": "GitCommit > Editor && VimControl && vim_mode == normal",
"bindings": {
"ctrl-c": "menu::Cancel",
- "escape": "menu::Cancel"
- }
+ "escape": "menu::Cancel",
+ },
},
{
"context": "Editor && edit_prediction",
"bindings": {
// This is identical to the binding in the base keymap, but the vim bindings above to
// "vim::Tab" shadow it, so it needs to be bound again.
- "tab": "editor::AcceptEditPrediction"
- }
+ "tab": "editor::AcceptEditPrediction",
+ },
},
{
"context": "MessageEditor > Editor && VimControl",
"bindings": {
- "enter": "agent::Chat"
- }
+ "enter": "agent::Chat",
+ },
},
{
"context": "os != macos && Editor && edit_prediction_conflict",
@@ -998,7 +1069,27 @@
// alt-l is provided as an alternative to tab/alt-tab. and will be displayed in the UI. This
// is because alt-tab may not be available, as it is often used for window switching on Linux
// and Windows.
- "alt-l": "editor::AcceptEditPrediction"
- }
- }
+ "alt-l": "editor::AcceptEditPrediction",
+ },
+ },
+ {
+ "context": "SettingsWindow > NavigationMenu && !search",
+ "bindings": {
+ "l": "settings_editor::ExpandNavEntry",
+ "h": "settings_editor::CollapseNavEntry",
+ "k": "settings_editor::FocusPreviousNavEntry",
+ "j": "settings_editor::FocusNextNavEntry",
+ "g g": "settings_editor::FocusFirstNavEntry",
+ "shift-g": "settings_editor::FocusLastNavEntry",
+ },
+ },
+ {
+ "context": "MarkdownPreview",
+ "bindings": {
+ "ctrl-u": "markdown::ScrollPageUp",
+ "ctrl-d": "markdown::ScrollPageDown",
+ "ctrl-y": "markdown::ScrollUp",
+ "ctrl-e": "markdown::ScrollDown",
+ },
+ },
]
diff --git a/assets/prompts/assistant_system_prompt.hbs b/assets/prompts/assistant_system_prompt.hbs
deleted file mode 100644
index f47c1ffa90..0000000000
--- a/assets/prompts/assistant_system_prompt.hbs
+++ /dev/null
@@ -1,179 +0,0 @@
-You are a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
-
-## Communication
-
-1. Be conversational but professional.
-2. Refer to the user in the second person and yourself in the first person.
-3. Format your responses in markdown. Use backticks to format file, directory, function, and class names.
-4. NEVER lie or make things up.
-5. Refrain from apologizing all the time when results are unexpected. Instead, just try your best to proceed or explain the circumstances to the user without apologizing.
-
-{{#if has_tools}}
-## Tool Use
-
-1. Make sure to adhere to the tools schema.
-2. Provide every required argument.
-3. DO NOT use tools to access items that are already available in the context section.
-4. Use only the tools that are currently available.
-5. DO NOT use a tool that is not available just because it appears in the conversation. This means the user turned it off.
-6. NEVER run commands that don't terminate on their own such as web servers (like `npm run start`, `npm run dev`, `python -m http.server`, etc) or file watchers.
-7. Avoid HTML entity escaping - use plain characters instead.
-
-## Searching and Reading
-
-If you are unsure how to fulfill the user's request, gather more information with tool calls and/or clarifying questions.
-
-{{! TODO: If there are files, we should mention it but otherwise omit that fact }}
-If appropriate, use tool calls to explore the current project, which contains the following root directories:
-
-{{#each worktrees}}
-- `{{abs_path}}`
-{{/each}}
-
-- Bias towards not asking the user for help if you can find the answer yourself.
-- When providing paths to tools, the path should always start with the name of a project root directory listed above.
-- Before you read or edit a file, you must first find the full path. DO NOT ever guess a file path!
-{{# if (has_tool 'grep') }}
-- When looking for symbols in the project, prefer the `grep` tool.
-- As you learn about the structure of the project, use that information to scope `grep` searches to targeted subtrees of the project.
-- The user might specify a partial file path. If you don't know the full path, use `find_path` (not `grep`) before you read the file.
-{{/if}}
-{{else}}
-You are being tasked with providing a response, but you have no ability to use tools or to read or write any aspect of the user's system (other than any context the user might have provided to you).
-
-As such, if you need the user to perform any actions for you, you must request them explicitly. Bias towards giving a response to the best of your ability, and then making requests for the user to take action (e.g. to give you more context) only optionally.
-
-The one exception to this is if the user references something you don't know about - for example, the name of a source code file, function, type, or other piece of code that you have no awareness of. In this case, you MUST NOT MAKE SOMETHING UP, or assume you know what that thing is or how it works. Instead, you must ask the user for clarification rather than giving a response.
-{{/if}}
-
-## Code Block Formatting
-
-Whenever you mention a code block, you MUST use ONLY use the following format:
-```path/to/Something.blah#L123-456
-(code goes here)
-```
-The `#L123-456` means the line number range 123 through 456, and the path/to/Something.blah
-is a path in the project. (If there is no valid path in the project, then you can use
-/dev/null/path.extension for its path.) This is the ONLY valid way to format code blocks, because the Markdown parser
-does not understand the more common ```language syntax, or bare ``` blocks. It only
-understands this path-based syntax, and if the path is missing, then it will error and you will have to do it over again.
-Just to be really clear about this, if you ever find yourself writing three backticks followed by a language name, STOP!
-You have made a mistake. You can only ever put paths after triple backticks!
-
-Based on all the information I've gathered, here's a summary of how this system works:
-1. The README file is loaded into the system.
-2. The system finds the first two headers, including everything in between. In this case, that would be:
-```path/to/README.md#L8-12
-# First Header
-This is the info under the first header.
-## Sub-header
-```
-3. Then the system finds the last header in the README:
-```path/to/README.md#L27-29
-## Last Header
-This is the last header in the README.
-```
-4. Finally, it passes this information on to the next process.
-
-
-In Markdown, hash marks signify headings. For example:
-```/dev/null/example.md#L1-3
-# Level 1 heading
-## Level 2 heading
-### Level 3 heading
-```
-
-Here are examples of ways you must never render code blocks:
-
-In Markdown, hash marks signify headings. For example:
-```
-# Level 1 heading
-## Level 2 heading
-### Level 3 heading
-```
-
-This example is unacceptable because it does not include the path.
-
-In Markdown, hash marks signify headings. For example:
-```markdown
-# Level 1 heading
-## Level 2 heading
-### Level 3 heading
-```
-
-This example is unacceptable because it has the language instead of the path.
-
-In Markdown, hash marks signify headings. For example:
- # Level 1 heading
- ## Level 2 heading
- ### Level 3 heading
-
-This example is unacceptable because it uses indentation to mark the code block
-instead of backticks with a path.
-
-In Markdown, hash marks signify headings. For example:
-```markdown
-/dev/null/example.md#L1-3
-# Level 1 heading
-## Level 2 heading
-### Level 3 heading
-```
-
-This example is unacceptable because the path is in the wrong place. The path must be directly after the opening backticks.
-
-{{#if has_tools}}
-## Fixing Diagnostics
-
-1. Make 1-2 attempts at fixing diagnostics, then defer to the user.
-2. Never simplify code you've written just to solve diagnostics. Complete, mostly correct code is more valuable than perfect code that doesn't solve the problem.
-
-## Debugging
-
-When debugging, only make code changes if you are certain that you can solve the problem.
-Otherwise, follow debugging best practices:
-1. Address the root cause instead of the symptoms.
-2. Add descriptive logging statements and error messages to track variable and code state.
-3. Add test functions and statements to isolate the problem.
-
-{{/if}}
-## Calling External APIs
-
-1. Unless explicitly requested by the user, use the best suited external APIs and packages to solve the task. There is no need to ask the user for permission.
-2. When selecting which version of an API or package to use, choose one that is compatible with the user's dependency management file(s). If no such file exists or if the package is not present, use the latest version that is in your training data.
-3. If an external API requires an API Key, be sure to point this out to the user. Adhere to best security practices (e.g. DO NOT hardcode an API key in a place where it can be exposed)
-
-## System Information
-
-Operating System: {{os}}
-Default Shell: {{shell}}
-
-{{#if (or has_rules has_user_rules)}}
-## User's Custom Instructions
-
-The following additional instructions are provided by the user, and should be followed to the best of your ability{{#if has_tools}} without interfering with the tool use guidelines{{/if}}.
-
-{{#if has_rules}}
-There are project rules that apply to these root directories:
-{{#each worktrees}}
-{{#if rules_file}}
-`{{root_name}}/{{rules_file.path_in_worktree}}`:
-``````
-{{{rules_file.text}}}
-``````
-{{/if}}
-{{/each}}
-{{/if}}
-
-{{#if has_user_rules}}
-The user has specified the following rules that should be applied:
-{{#each user_rules}}
-
-{{#if title}}
-Rules title: {{title}}
-{{/if}}
-``````
-{{contents}}
-``````
-{{/each}}
-{{/if}}
-{{/if}}
diff --git a/assets/prompts/content_prompt_v2.hbs b/assets/prompts/content_prompt_v2.hbs
new file mode 100644
index 0000000000..87376f49f1
--- /dev/null
+++ b/assets/prompts/content_prompt_v2.hbs
@@ -0,0 +1,43 @@
+{{#if language_name}}
+Here's a file of {{language_name}} that the user is going to ask you to make an edit to.
+{{else}}
+Here's a file of text that the user is going to ask you to make an edit to.
+{{/if}}
+
+The section you'll need to rewrite is marked with tags.
+
+
+{{{document_content}}}
+
+
+{{#if is_truncated}}
+The context around the relevant section has been truncated (possibly in the middle of a line) for brevity.
+{{/if}}
+
+{{#if rewrite_section}}
+And here's the section to rewrite based on that prompt again for reference:
+
+
+{{{rewrite_section}}}
+
+
+{{#if diagnostic_errors}}
+Below are the diagnostic errors visible to the user. If the user requests problems to be fixed, use this information, but do not try to fix these errors if the user hasn't asked you to.
+
+{{#each diagnostic_errors}}
+
+ {{line_number}}
+ {{error_message}}
+ {{code_content}}
+
+{{/each}}
+{{/if}}
+
+{{/if}}
+
+Only make changes that are necessary to fulfill the prompt, leave everything else as-is. All surrounding {{content_type}} will be preserved.
+
+Start at the indentation level in the original file in the rewritten {{content_type}}.
+
+IMPORTANT: You MUST use one of the provided tools to make the rewrite or to provide an explanation as to why the user's request cannot be fulfilled. You MUST NOT send back unstructured text. If you need to make a statement or ask a question you MUST use one of the tools to do so.
+It is an error if you try to make a change that cannot be made simply by editing the rewrite_section.
diff --git a/assets/settings/default.json b/assets/settings/default.json
index 5d195f4bcd..146915dd1a 100644
--- a/assets/settings/default.json
+++ b/assets/settings/default.json
@@ -1,7 +1,8 @@
{
- /// The displayed name of this project. If not set or empty, the root directory name
+ "$schema": "zed://schemas/settings",
+ /// The displayed name of this project. If not set or null, the root directory name
/// will be displayed.
- "project_name": "",
+ "project_name": null,
// The name of the Zed theme to use for the UI.
//
// `mode` is one of:
@@ -11,7 +12,7 @@
"theme": {
"mode": "system",
"light": "One Light",
- "dark": "One Dark"
+ "dark": "One Dark",
},
"icon_theme": "Zed (Default)",
// The name of a base set of key bindings to use.
@@ -28,7 +29,7 @@
// Features that can be globally enabled or disabled
"features": {
// Which edit prediction provider to use.
- "edit_prediction_provider": "zed"
+ "edit_prediction_provider": "zed",
},
// The name of a font to use for rendering text in the editor
// ".ZedMono" currently aliases to Lilex
@@ -68,7 +69,7 @@
// The OpenType features to enable for text in the UI
"ui_font_features": {
// Disable ligatures:
- "calt": false
+ "calt": false,
},
// The weight of the UI font in standard CSS units from 100 to 900.
"ui_font_weight": 400,
@@ -76,7 +77,7 @@
"ui_font_size": 16,
// The default font size for agent responses in the agent panel. Falls back to the UI font size if unset.
"agent_ui_font_size": null,
- // The default font size for user messages in the agent panel. Falls back to the buffer font size if unset.
+ // The default font size for user messages in the agent panel.
"agent_buffer_font_size": 12,
// How much to fade out unused code.
"unnecessary_code_fade": 0.3,
@@ -86,7 +87,7 @@
"border_size": 0.0,
// Opacity of the inactive panes. 0 means transparent, 1 means opaque.
// Values are clamped to the [0.0, 1.0] range.
- "inactive_opacity": 1.0
+ "inactive_opacity": 1.0,
},
// Layout mode of the bottom dock. Defaults to "contained"
// choices: contained, full, left_aligned, right_aligned
@@ -102,12 +103,12 @@
"left_padding": 0.2,
// The relative width of the right padding of the central pane from the
// workspace when the centered layout is used.
- "right_padding": 0.2
+ "right_padding": 0.2,
},
// Image viewer settings
"image_viewer": {
// The unit for image file sizes: "binary" (KiB, MiB) or decimal (KB, MB)
- "unit": "binary"
+ "unit": "binary",
},
// Determines the modifier to be used to add multiple cursors with the mouse. The open hover link mouse gestures will adapt such that it do not conflict with the multicursor modifier.
//
@@ -174,6 +175,16 @@
//
// Default: true
"zoomed_padding": true,
+ // What draws Zed's window decorations (titlebar):
+ // 1. Client application (Zed) draws its own window decorations
+ // "client"
+ // 2. Display server draws the window decorations. Not supported by GNOME Wayland.
+ // "server"
+ //
+ // This requires restarting Zed for changes to take effect.
+ //
+ // Default: "client"
+ "window_decorations": "client",
// Whether to use the system provided dialogs for Open and Save As.
// When set to false, Zed will use the built-in keyboard-first pickers.
"use_system_path_prompts": true,
@@ -254,6 +265,25 @@
// Whether to display inline and alongside documentation for items in the
// completions menu
"show_completion_documentation": true,
+ // Whether to colorize brackets in the editor.
+ // (also known as "rainbow brackets")
+ //
+ // The colors that are used for different indentation levels are defined in the theme (theme key: `accents`).
+ // They can be customized by using theme overrides.
+ "colorize_brackets": false,
+ // When to show the scrollbar in the completion menu.
+ // This setting can take four values:
+ //
+ // 1. Show the scrollbar if there's important information or
+ // follow the system's configured behavior
+ // "auto"
+ // 2. Match the system's configured behavior:
+ // "system"
+ // 3. Always show the scrollbar:
+ // "always"
+ // 4. Never show the scrollbar:
+ // "never" (default)
+ "completion_menu_scrollbar": "never",
// Show method signatures in the editor, when inside parentheses.
"auto_signature_help": false,
// Whether to show the signature help after completion or a bracket pair inserted.
@@ -266,7 +296,7 @@
// When true, enables drag and drop text selection in buffer.
"enabled": true,
// The delay in milliseconds that must elapse before drag and drop is allowed. Otherwise, a new text selection is created.
- "delay": 300
+ "delay": 300,
},
// What to do when go to definition yields no results.
//
@@ -310,11 +340,11 @@
"use_on_type_format": true,
// Whether to automatically add matching closing characters when typing
// opening parenthesis, bracket, brace, single or double quote characters.
- // For example, when you type (, Zed will add a closing ) at the correct position.
+ // For example, when you type '(', Zed will add a closing ) at the correct position.
"use_autoclose": true,
// Whether to automatically surround selected text when typing opening parenthesis,
// bracket, brace, single or double quote characters.
- // For example, when you select text and type (, Zed will surround the text with ().
+ // For example, when you select text and type '(', Zed will surround the text with ().
"use_auto_surround": true,
// Whether indentation should be adjusted based on the context whilst typing.
"auto_indent": true,
@@ -370,14 +400,14 @@
// Visible characters used to render whitespace when show_whitespaces is enabled.
"whitespace_map": {
"space": "•",
- "tab": "→"
+ "tab": "→",
},
// Settings related to calls in Zed
"calls": {
// Join calls with the microphone live by default
"mute_on_join": false,
// Share your project when you are the first to join a channel
- "share_on_join": false
+ "share_on_join": false,
},
// Toolbar related settings
"toolbar": {
@@ -390,7 +420,7 @@
// Whether to show agent review buttons in the editor toolbar.
"agent_review": true,
// Whether to show code action buttons in the editor toolbar.
- "code_actions": false
+ "code_actions": false,
},
// Whether to allow windows to tab together based on the user’s tabbing preference (macOS only).
"use_system_window_tabs": false,
@@ -406,10 +436,12 @@
"show_onboarding_banner": true,
// Whether to show user picture in the titlebar.
"show_user_picture": true,
+ // Whether to show the user menu in the titlebar.
+ "show_user_menu": true,
// Whether to show the sign in button in the titlebar.
"show_sign_in": true,
// Whether to show the menus in the titlebar.
- "show_menus": false
+ "show_menus": false,
},
"audio": {
// Opt into the new audio system.
@@ -442,7 +474,7 @@
// the future we will migrate by setting this to false
//
// You need to rejoin a call for this setting to apply
- "experimental.legacy_audio_compatible": true
+ "experimental.legacy_audio_compatible": true,
},
// Scrollbar related settings
"scrollbar": {
@@ -481,8 +513,8 @@
// When false, forcefully disables the horizontal scrollbar. Otherwise, obey other settings.
"horizontal": true,
// When false, forcefully disables the vertical scrollbar. Otherwise, obey other settings.
- "vertical": true
- }
+ "vertical": true,
+ },
},
// Minimap related settings
"minimap": {
@@ -530,7 +562,7 @@
// 3. "gutter" or "none" to not highlight the current line in the minimap.
"current_line_highlight": null,
// Maximum number of columns to display in the minimap.
- "max_width_columns": 80
+ "max_width_columns": 80,
},
// Enable middle-click paste on Linux.
"middle_click_paste": true,
@@ -553,7 +585,7 @@
// Whether to show fold buttons in the gutter.
"folds": true,
// Minimum number of characters to reserve space for in the gutter.
- "min_line_number_digits": 4
+ "min_line_number_digits": 4,
},
"indent_guides": {
// Whether to show indent guides in the editor.
@@ -574,7 +606,7 @@
//
// 1. "disabled"
// 2. "indent_aware"
- "background_coloring": "disabled"
+ "background_coloring": "disabled",
},
// Whether the editor will scroll beyond the last line.
"scroll_beyond_last_line": "one_page",
@@ -591,17 +623,27 @@
// to both the horizontal and vertical delta values while scrolling. Fast scrolling
// happens when a user holds the alt or option key while scrolling.
"fast_scroll_sensitivity": 4.0,
- "relative_line_numbers": false,
+ "sticky_scroll": {
+ // Whether to stick scopes to the top of the editor.
+ "enabled": false,
+ },
+ "relative_line_numbers": "disabled",
// If 'search_wrap' is disabled, search result do not wrap around the end of the file.
"search_wrap": true,
// Search options to enable by default when opening new project and buffer searches.
"search": {
// Whether to show the project search button in the status bar.
"button": true,
+ // Whether to only match on whole words.
"whole_word": false,
+ // Whether to match case sensitively.
"case_sensitive": false,
+ // Whether to include gitignored files in search results.
"include_ignored": false,
- "regex": false
+ // Whether to interpret the search query as a regular expression.
+ "regex": false,
+ // Whether to center the cursor on each search match when navigating.
+ "center_on_match": false,
},
// When to populate a new search's query based on the text under the cursor.
// This setting can take the following three values:
@@ -644,8 +686,8 @@
"shift": false,
"alt": false,
"platform": false,
- "function": false
- }
+ "function": false,
+ },
},
// Whether to resize all the panels in a dock when resizing the dock.
// Can be a combination of "left", "right" and "bottom".
@@ -693,7 +735,7 @@
// "always"
// 5. Never show the scrollbar:
// "never"
- "show": null
+ "show": null,
},
// Which files containing diagnostic errors/warnings to mark in the project panel.
// This setting can take the following three values:
@@ -716,12 +758,33 @@
// "always"
// 2. Never show indent guides:
// "never"
- "show": "always"
+ "show": "always",
},
+ // Sort order for entries in the project panel.
+ // This setting can take three values:
+ //
+ // 1. Show directories first, then files:
+ // "directories_first"
+ // 2. Mix directories and files together:
+ // "mixed"
+ // 3. Show files first, then directories:
+ // "files_first"
+ "sort_mode": "directories_first",
// Whether to enable drag-and-drop operations in the project panel.
"drag_and_drop": true,
// Whether to hide the root entry when only one folder is open in the window.
- "hide_root": false
+ "hide_root": false,
+ // Whether to hide the hidden entries in the project panel.
+ "hide_hidden": false,
+ // Settings for automatically opening files.
+ "auto_open": {
+ // Whether to automatically open newly created files in the editor.
+ "on_create": true,
+ // Whether to automatically open files after pasting or duplicating them.
+ "on_paste": true,
+ // Whether to automatically open files dropped from external sources.
+ "on_drop": true,
+ },
},
"outline_panel": {
// Whether to show the outline panel button in the status bar
@@ -754,7 +817,7 @@
// "always"
// 2. Never show indent guides:
// "never"
- "show": "always"
+ "show": "always",
},
// Scrollbar-related settings
"scrollbar": {
@@ -771,11 +834,11 @@
// "always"
// 5. Never show the scrollbar:
// "never"
- "show": null
+ "show": null,
},
// Default depth to expand outline items in the current file.
// Set to 0 to collapse all items that have children, 1 or higher to collapse items at that depth or deeper.
- "expand_outlines_with_depth": 100
+ "expand_outlines_with_depth": 100,
},
"collaboration_panel": {
// Whether to show the collaboration panel button in the status bar.
@@ -783,7 +846,7 @@
// Where to dock the collaboration panel. Can be 'left' or 'right'.
"dock": "left",
// Default width of the collaboration panel.
- "default_width": 240
+ "default_width": 240,
},
"git_panel": {
// Whether to show the git panel button in the status bar.
@@ -809,18 +872,22 @@
//
// Default: false
"collapse_untracked_diff": false,
+ /// Whether to show entries with tree or flat view in the panel
+ ///
+ /// Default: false
+ "tree_view": false,
"scrollbar": {
// When to show the scrollbar in the git panel.
//
// Choices: always, auto, never, system
// Default: inherits editor scrollbar settings
// "show": null
- }
+ },
},
"message_editor": {
// Whether to automatically replace emoji shortcodes with emoji characters.
// For example: typing `:wave:` gets replaced with `👋`.
- "auto_replace_emoji_shortcode": true
+ "auto_replace_emoji_shortcode": true,
},
"notification_panel": {
// Whether to show the notification panel button in the status bar.
@@ -828,9 +895,11 @@
// Where to dock the notification panel. Can be 'left' or 'right'.
"dock": "right",
// Default width of the notification panel.
- "default_width": 380
+ "default_width": 380,
},
"agent": {
+ // Whether the inline assistant should use streaming tools, when available
+ "inline_assistant_use_streaming_tools": true,
// Whether the agent is enabled.
"enabled": true,
// What completion mode to start new threads in, if available. Can be 'normal' or 'burn'.
@@ -839,6 +908,8 @@
"button": true,
// Where to dock the agent panel. Can be 'left', 'right' or 'bottom'.
"dock": "right",
+ // Where to dock the agents panel. Can be 'left' or 'right'.
+ "agents_panel_dock": "left",
// Default width when the agent panel is docked to the left or right.
"default_width": 640,
// Default height when the agent panel is docked to the bottom.
@@ -850,7 +921,7 @@
// The provider to use.
"provider": "zed.dev",
// The model to use.
- "model": "claude-sonnet-4"
+ "model": "claude-sonnet-4",
},
// Additional parameters for language model requests. When making a request to a model, parameters will be taken
// from the last entry in this list that matches the model's provider and name. In each entry, both provider
@@ -879,8 +950,6 @@
// Note: This setting has no effect on external agents that support permission modes, such as Claude Code.
// You can set `agent_servers.claude.default_mode` to `bypassPermissions` to skip all permission requests.
"always_allow_tool_actions": false,
- // When enabled, the agent will stream edits.
- "stream_edits": false,
// When enabled, agent edits will be displayed in single-file editors for review
"single_file_review": true,
// When enabled, show voting thumbs for feedback on agent edits.
@@ -903,18 +972,18 @@
"now": true,
"find_path": true,
"read_file": true,
+ "open": true,
"grep": true,
"terminal": true,
"thinking": true,
- "web_search": true
- }
+ "web_search": true,
+ },
},
"ask": {
"name": "Ask",
// We don't know which of the context server tools are safe for the "Ask" profile, so we don't enable them by default.
// "enable_all_context_servers": true,
"tools": {
- "contents": true,
"diagnostics": true,
"fetch": true,
"list_directory": true,
@@ -925,14 +994,14 @@
"open": true,
"grep": true,
"thinking": true,
- "web_search": true
- }
+ "web_search": true,
+ },
},
"minimal": {
"name": "Minimal",
"enable_all_context_servers": false,
- "tools": {}
- }
+ "tools": {},
+ },
},
// Where to show notifications when the agent has either completed
// its response, or else needs confirmation before it can run a
@@ -961,7 +1030,7 @@
// Minimum number of lines to display in the agent message editor.
//
// Default: 4
- "message_editor_min_lines": 4
+ "message_editor_min_lines": 4,
},
// Whether the screen sharing icon is shown in the os status bar.
"show_call_status_icon": true,
@@ -996,7 +1065,7 @@
// Whether or not to show the navigation history buttons.
"show_nav_history_buttons": true,
// Whether or not to show the tab bar buttons.
- "show_tab_bar_buttons": true
+ "show_tab_bar_buttons": true,
},
// Settings related to the editor's tabs
"tabs": {
@@ -1035,19 +1104,28 @@
// "errors"
// 3. Mark files with errors and warnings:
// "all"
- "show_diagnostics": "off"
+ "show_diagnostics": "off",
},
// Settings related to preview tabs.
"preview_tabs": {
// Whether preview tabs should be enabled.
// Preview tabs allow you to open files in preview mode, where they close automatically
- // when you switch to another file unless you explicitly pin them.
+ // when you open another preview tab.
// This is useful for quickly viewing files without cluttering your workspace.
"enabled": true,
+ // Whether to open tabs in preview mode when opened from the project panel with a single click.
+ "enable_preview_from_project_panel": true,
// Whether to open tabs in preview mode when selected from the file finder.
"enable_preview_from_file_finder": false,
- // Whether a preview tab gets replaced when code navigation is used to navigate away from the tab.
- "enable_preview_from_code_navigation": false
+ // Whether to open tabs in preview mode when opened from a multibuffer.
+ "enable_preview_from_multibuffer": true,
+ // Whether to open tabs in preview mode when code navigation is used to open a multibuffer.
+ "enable_preview_multibuffer_from_code_navigation": false,
+ // Whether to open tabs in preview mode when code navigation is used to open a single file.
+ "enable_preview_file_from_code_navigation": true,
+ // Whether to keep tabs in preview mode when code navigation is used to navigate away from them.
+ // If `enable_preview_file_from_code_navigation` or `enable_preview_multibuffer_from_code_navigation` is also true, the new tab may replace the existing one.
+ "enable_keep_preview_on_code_navigation": false,
},
// Settings related to the file finder.
"file_finder": {
@@ -1088,10 +1166,10 @@
// Only the file Zed had indexed will be used, not necessary all the gitignored files.
//
// Can accept 3 values:
- // * `true`: Use all gitignored files
- // * `false`: Use only the files Zed had indexed
- // * `null`: Be smart and search for ignored when called from a gitignored worktree
- "include_ignored": null
+ // * "all": Use all gitignored files
+ // * "indexed": Use only the files Zed had indexed
+ // * "smart": Be smart and search for ignored when called from a gitignored worktree
+ "include_ignored": "smart",
},
// Whether or not to remove any trailing whitespace from lines of a buffer
// before saving it.
@@ -1101,25 +1179,31 @@
// Removes any lines containing only whitespace at the end of the file and
// ensures just one newline at the end.
"ensure_final_newline_on_save": true,
- // Whether or not to perform a buffer format before saving: [on, off, prettier, language_server]
+ // Whether or not to perform a buffer format before saving: [on, off]
// Keep in mind, if the autosave with delay is enabled, format_on_save will be ignored
"format_on_save": "on",
- // How to perform a buffer format. This setting can take 4 values:
+ // How to perform a buffer format. This setting can take multiple values:
//
- // 1. Format code using the current language server:
+ // 1. Default. Format files using Zed's Prettier integration (if applicable),
+ // or falling back to formatting via language server:
+ // "formatter": "auto"
+ // 2. Format code using the current language server:
// "formatter": "language_server"
- // 2. Format code using an external command:
+ // 3. Format code using a specific language server:
+ // "formatter": {"language_server": {"name": "ruff"}}
+ // 4. Format code using an external command:
// "formatter": {
// "external": {
// "command": "prettier",
// "arguments": ["--stdin-filepath", "{buffer_path}"]
// }
// }
- // 3. Format code using Zed's Prettier integration:
+ // 5. Format code using Zed's Prettier integration:
// "formatter": "prettier"
- // 4. Default. Format files using Zed's Prettier integration (if applicable),
- // or falling back to formatting via language server:
- // "formatter": "auto"
+ // 6. Format code using a code action
+ // "formatter": {"code_action": "source.fixAll.eslint"}
+ // 7. An array of any format step specified above to apply in order
+ // "formatter": [{"code_action": "source.fixAll.eslint"}, "prettier"]
"formatter": "auto",
// How to soft-wrap long lines of text.
// Possible values:
@@ -1144,12 +1228,19 @@
"tab_size": 4,
// What debuggers are preferred by default for all languages.
"debuggers": [],
+ // Whether to enable word diff highlighting in the editor.
+ //
+ // When enabled, changed words within modified lines are highlighted
+ // to show exactly what changed.
+ //
+ // Default: true
+ "word_diff_enabled": true,
// Control what info is collected by Zed.
"telemetry": {
// Send debug info like crash reports.
"diagnostics": true,
// Send anonymized usage data like what languages you're using Zed with.
- "metrics": true
+ "metrics": true,
},
// Whether to disable all AI features in Zed.
//
@@ -1183,7 +1274,7 @@
"enabled": true,
// Minimum time to wait before pulling diagnostics from the language server(s).
// 0 turns the debounce off.
- "debounce_ms": 50
+ "debounce_ms": 50,
},
// Settings for inline diagnostics
"inline": {
@@ -1201,8 +1292,8 @@
"min_column": 0,
// The minimum severity of the diagnostics to show inline.
// Inherits editor's diagnostics' max severity settings when `null`.
- "max_severity": null
- }
+ "max_severity": null,
+ },
},
// Files or globs of files that will be excluded by Zed entirely. They will be skipped during file
// scans, file searches, and not be displayed in the project file tree. Takes precedence over `file_scan_inclusions`.
@@ -1216,13 +1307,16 @@
"**/.DS_Store",
"**/Thumbs.db",
"**/.classpath",
- "**/.settings"
+ "**/.settings",
],
// Files or globs of files that will be included by Zed, even when ignored by git. This is useful
// for files that are not tracked by git, but are still important to your project. Note that globs
// that are overly broad can slow down Zed's file scanning. `file_scan_exclusions` takes
// precedence over these inclusions.
"file_scan_inclusions": [".env*"],
+ // Globs to match files that will be considered "hidden". These files can be hidden from the
+ // project panel by toggling the "hide_hidden" setting.
+ "hidden_files": ["**/.*"],
// Git gutter behavior configuration.
"git": {
// Control whether the git gutter is shown. May take 2 values:
@@ -1248,14 +1342,14 @@
// Whether or not to display the git commit summary on the same line.
"show_commit_summary": false,
// The minimum column number to show the inline blame information at
- "min_column": 0
+ "min_column": 0,
},
"blame": {
- "show_avatar": true
+ "show_avatar": true,
},
// Control which information is shown in the branch picker.
"branch_picker": {
- "show_author_name": true
+ "show_author_name": true,
},
// How git hunks are displayed visually in the editor.
// This setting can take two values:
@@ -1264,7 +1358,10 @@
// "hunk_style": "staged_hollow"
// 2. Show unstaged hunks hollow and staged hunks filled:
// "hunk_style": "unstaged_hollow"
- "hunk_style": "staged_hollow"
+ "hunk_style": "staged_hollow",
+ // Should the name or path be displayed first in the git view.
+ // "path_style": "file_name_first" or "file_path_first"
+ "path_style": "file_name_first",
},
// The list of custom Git hosting providers.
"git_hosting_providers": [
@@ -1279,6 +1376,8 @@
// "load_direnv": "direct"
// 2. Load direnv configuration through the shell hook, works for POSIX shells and fish.
// "load_direnv": "shell_hook"
+ // 3. Don't load direnv configuration at all.
+ // "load_direnv": "disabled"
"load_direnv": "direct",
"edit_predictions": {
// A list of globs representing files that edit predictions should be disabled for.
@@ -1296,7 +1395,7 @@
"**/secrets.yml",
"**/.zed/settings.json", // zed project settings
"/**/zed/settings.json", // zed user settings
- "/**/zed/keymap.json"
+ "/**/zed/keymap.json",
],
// When to show edit predictions previews in buffer.
// This setting takes two possible values:
@@ -1311,15 +1410,19 @@
// "proxy": "",
// "proxy_no_verify": false
// },
- // Whether edit predictions are enabled when editing text threads.
- // This setting has no effect if globally disabled.
- "enabled_in_text_threads": true,
-
"copilot": {
"enterprise_uri": null,
"proxy": null,
- "proxy_no_verify": null
- }
+ "proxy_no_verify": null,
+ },
+ "codestral": {
+ "api_url": "https://codestral.mistral.ai",
+ "model": "codestral-latest",
+ "max_tokens": 150,
+ },
+ // Whether edit predictions are enabled when editing text threads in the agent panel.
+ // This setting has no effect if globally disabled.
+ "enabled_in_text_threads": true,
},
// Settings specific to journaling
"journal": {
@@ -1329,7 +1432,7 @@
// May take 2 values:
// 1. hour12
// 2. hour24
- "hour_format": "hour12"
+ "hour_format": "hour12",
},
// Status bar-related settings.
"status_bar": {
@@ -1338,7 +1441,9 @@
// Whether to show the active language button in the status bar.
"active_language_button": true,
// Whether to show the cursor position button in the status bar.
- "cursor_position_button": true
+ "cursor_position_button": true,
+ // Whether to show active line endings button in the status bar.
+ "line_endings_button": false,
},
// Settings specific to the terminal
"terminal": {
@@ -1365,7 +1470,7 @@
"default_height": 320,
// What working directory to use when launching the terminal.
// May take 4 values:
- // 1. Use the current file's project directory. Will Fallback to the
+ // 1. Use the current file's project directory. Fallback to the
// first project directory strategy if unsuccessful
// "working_directory": "current_project_directory"
// 2. Use the first project in this workspace's directory
@@ -1401,8 +1506,8 @@
// 4. A box drawn around the following character
// "hollow"
//
- // Default: not set, defaults to "block"
- "cursor_shape": null,
+ // Default: "block"
+ "cursor_shape": "block",
// Set whether Alternate Scroll mode (code: ?1007) is active by default.
// Alternate Scroll mode converts mouse scroll events into up / down key
// presses when in the alternate screen (e.g. when running applications
@@ -1424,8 +1529,8 @@
// Whether or not selecting text in the terminal will automatically
// copy to the system clipboard.
"copy_on_select": false,
- // Whether to keep the text selection after copying it to the clipboard
- "keep_selection_on_copy": false,
+ // Whether to keep the text selection after copying it to the clipboard.
+ "keep_selection_on_copy": true,
// Whether to show the terminal button in the status bar
"button": true,
// Any key-value pairs added to this list will be added to the terminal's
@@ -1455,8 +1560,12 @@
// in your project's settings, rather than globally.
"directories": [".env", "env", ".venv", "venv"],
// Can also be `csh`, `fish`, `nushell` and `power_shell`
- "activate_script": "default"
- }
+ "activate_script": "default",
+ // Preferred Conda manager to use when activating Conda environments.
+ // Values: "auto", "conda", "mamba", "micromamba"
+ // Default: "auto"
+ "conda_manager": "auto",
+ },
},
"toolbar": {
// Whether to display the terminal title in its toolbar's breadcrumbs.
@@ -1464,7 +1573,7 @@
//
// The shell running in the terminal needs to be configured to emit the title.
// Example: `echo -e "\e]2;New Title\007";`
- "breadcrumbs": false
+ "breadcrumbs": false,
},
// Scrollbar-related settings
"scrollbar": {
@@ -1481,7 +1590,7 @@
// "always"
// 5. Never show the scrollbar:
// "never"
- "show": null
+ "show": null,
},
// Set the terminal's font size. If this option is not included,
// the terminal will default to matching the buffer's font size.
@@ -1499,6 +1608,8 @@
// Default: 10_000, maximum: 100_000 (all bigger values set will be treated as 100_000), 0 disables the scrolling.
// Existing terminals will not pick up this change until they are recreated.
"max_scroll_history_lines": 10000,
+ // The multiplier for scrolling speed in the terminal.
+ "scroll_multiplier": 1.0,
// The minimum APCA perceptual contrast between foreground and background colors.
// APCA (Accessible Perceptual Contrast Algorithm) is more accurate than WCAG 2.x,
// especially for dark mode. Values range from 0 to 106.
@@ -1513,7 +1624,55 @@
//
// Most terminal themes have APCA values of 40-70.
// A value of 45 preserves colorful themes while ensuring legibility.
- "minimum_contrast": 45
+ "minimum_contrast": 45,
+ // Regexes used to identify paths for hyperlink navigation. Supports optional named capture
+ // groups `path`, `line`, `column`, and `link`. If none of these are present, the entire match
+ // is the hyperlink target. If `path` is present, it is the hyperlink target, along with `line`
+ // and `column` if present. `link` may be used to customize what text in terminal is part of the
+ // hyperlink. If `link` is not present, the text of the entire match is used. If `line` and
+ // `column` are not present, the default built-in line and column suffix processing is used
+ // which parses `line:column` and `(line,column)` variants. The default value handles Python
+ // diagnostics and common path, line, column syntaxes. This can be extended or replaced to
+ // handle specific scenarios. For example, to enable support for hyperlinking paths which
+ // contain spaces in rust output,
+ //
+ // [
+ // "\\s+(-->|:::|at) (?(?.+?))(:$|$)",
+ // "\\s+(Compiling|Checking|Documenting) [^(]+\\((?(?.+))\\)"
+ // ],
+ //
+ // could be used. Processing stops at the first regex with a match, even if no link is
+ // produced which is the case when the cursor is not over the hyperlinked text. For best
+ // performance it is recommended to order regexes from most common to least common. For
+ // readability and documentation, each regex may be an array of strings which are collected
+ // into one multi-line regex string for use in terminal path hyperlink detection.
+ "path_hyperlink_regexes": [
+ // Python-style diagnostics
+ "File \"(?[^\"]+)\", line (?[0-9]+)",
+ // Common path syntax with optional line, column, description, trailing punctuation, or
+ // surrounding symbols or quotes
+ [
+ "(?x)",
+ "(?",
+ " (",
+ " # multi-char path: first char (not opening delimiter or space)",
+ " [^({\\[<\"'`\\ ]",
+ " # middle chars: non-space, and colon/paren only if not followed by digit/paren",
+ " ([^\\ :(]|[:(][^0-9()])*",
+ " # last char: not closing delimiter or colon",
+ " [^()}\\]>\"'`.,;:\\ ]",
+ " |",
+ " # single-char path: not delimiter, punctuation, or space",
+ " [^(){}\\[\\]<>\"'`.,;:\\ ]",
+ " )",
+ " # optional line/column suffix (included in path for PathWithPosition::parse_str)",
+ " (:+[0-9]+(:[0-9]+)?|:?\\([0-9]+([,:]?[0-9]+)?\\))?",
+ ")",
+ ],
+ ],
+ // Timeout for hover and Cmd-click path hyperlink discovery in milliseconds. Specifying a
+ // timeout of `0` will disable path hyperlinking in terminal.
+ "path_hyperlink_timeout_ms": 1,
},
"code_actions_on_format": {},
// Settings related to running tasks.
@@ -1529,7 +1688,7 @@
// * Zed task from history (e.g. one-off task was spawned before)
//
// Default: true
- "prefer_lsp": true
+ "prefer_lsp": true,
},
// An object whose keys are language names, and whose values
// are arrays of filenames or extensions of files that should
@@ -1545,7 +1704,8 @@
//
"file_types": {
"JSONC": ["**/.zed/**/*.json", "**/zed/**/*.json", "**/Zed/**/*.json", "**/.vscode/**/*.json", "tsconfig*.json"],
- "Shell Script": [".env.*"]
+ "Markdown": [".rules", ".cursorrules", ".windsurfrules", ".clinerules"],
+ "Shell Script": [".env.*"],
},
// Settings for which version of Node.js and NPM to use when installing
// language servers and Copilot.
@@ -1561,14 +1721,14 @@
// `path`, but not `npm_path`, Zed will assume that `npm` is located at
// `${path}/../npm`.
"path": null,
- "npm_path": null
+ "npm_path": null,
},
// The extensions that Zed should automatically install on startup.
//
// If you don't want any of these extensions, add this field to your settings
// and change the value to `false`.
"auto_install_extensions": {
- "html": true
+ "html": true,
},
// The capabilities granted to extensions.
//
@@ -1576,7 +1736,7 @@
"granted_extension_capabilities": [
{ "kind": "process:exec", "command": "*", "args": ["**"] },
{ "kind": "download_file", "host": "*", "path": ["**"] },
- { "kind": "npm:install", "package": "*" }
+ { "kind": "npm:install", "package": "*" },
],
// Controls how completions are processed for this language.
"completions": {
@@ -1627,7 +1787,7 @@
// 4. "replace_suffix"
// Behaves like `"replace"` if the text after the cursor is a suffix of the completion, and like
// `"insert"` otherwise.
- "lsp_insert_mode": "replace_suffix"
+ "lsp_insert_mode": "replace_suffix",
},
// Different settings for specific languages.
"languages": {
@@ -1635,233 +1795,262 @@
"language_servers": ["astro-language-server", "..."],
"prettier": {
"allowed": true,
- "plugins": ["prettier-plugin-astro"]
- }
+ "plugins": ["prettier-plugin-astro"],
+ },
},
"Blade": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"C": {
"format_on_save": "off",
"use_on_type_format": false,
"prettier": {
- "allowed": false
- }
+ "allowed": false,
+ },
},
"C++": {
"format_on_save": "off",
"use_on_type_format": false,
"prettier": {
- "allowed": false
- }
+ "allowed": false,
+ },
+ },
+ "CSharp": {
+ "language_servers": ["roslyn", "!omnisharp", "..."],
},
"CSS": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"Dart": {
- "tab_size": 2
+ "tab_size": 2,
},
"Diff": {
"show_edit_predictions": false,
"remove_trailing_whitespace_on_save": false,
- "ensure_final_newline_on_save": false
+ "ensure_final_newline_on_save": false,
},
"Elixir": {
- "language_servers": ["elixir-ls", "!expert", "!next-ls", "!lexical", "..."]
+ "language_servers": ["elixir-ls", "!expert", "!next-ls", "!lexical", "..."],
},
"Elm": {
- "tab_size": 4
+ "tab_size": 4,
},
"Erlang": {
- "language_servers": ["erlang-ls", "!elp", "..."]
+ "language_servers": ["erlang-ls", "!elp", "..."],
},
"Git Commit": {
"allow_rewrap": "anywhere",
"soft_wrap": "editor_width",
- "preferred_line_length": 72
+ "preferred_line_length": 72,
},
"Go": {
+ "hard_tabs": true,
"code_actions_on_format": {
- "source.organizeImports": true
+ "source.organizeImports": true,
},
- "debuggers": ["Delve"]
+ "debuggers": ["Delve"],
},
"GraphQL": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"HEEX": {
- "language_servers": ["elixir-ls", "!expert", "!next-ls", "!lexical", "..."]
+ "language_servers": ["elixir-ls", "!expert", "!next-ls", "!lexical", "..."],
},
"HTML": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
+ },
+ "HTML+ERB": {
+ "language_servers": ["herb", "!ruby-lsp", "..."],
},
"Java": {
"prettier": {
"allowed": true,
- "plugins": ["prettier-plugin-java"]
- }
+ "plugins": ["prettier-plugin-java"],
+ },
},
"JavaScript": {
"language_servers": ["!typescript-language-server", "vtsls", "..."],
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"JSON": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"JSONC": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
+ },
+ "JS+ERB": {
+ "language_servers": ["!ruby-lsp", "..."],
},
"Kotlin": {
- "language_servers": ["kotlin-language-server", "!kotlin-lsp", "..."]
+ "language_servers": ["!kotlin-language-server", "kotlin-lsp", "..."],
},
"LaTeX": {
"formatter": "language_server",
"language_servers": ["texlab", "..."],
"prettier": {
"allowed": true,
- "plugins": ["prettier-plugin-latex"]
- }
+ "plugins": ["prettier-plugin-latex"],
+ },
},
"Markdown": {
"format_on_save": "off",
"use_on_type_format": false,
+ "remove_trailing_whitespace_on_save": false,
"allow_rewrap": "anywhere",
"soft_wrap": "editor_width",
+ "completions": {
+ "words": "disabled",
+ },
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"PHP": {
- "language_servers": ["phpactor", "!intelephense", "..."],
+ "language_servers": ["phpactor", "!intelephense", "!phptools", "..."],
"prettier": {
"allowed": true,
"plugins": ["@prettier/plugin-php"],
- "parser": "php"
- }
+ "parser": "php",
+ },
},
"Plain Text": {
- "allow_rewrap": "anywhere"
+ "allow_rewrap": "anywhere",
+ "soft_wrap": "editor_width",
+ "completions": {
+ "words": "disabled",
+ },
+ },
+ "Proto": {
+ "language_servers": ["buf", "!protols", "!protobuf-language-server", "..."],
},
"Python": {
+ "code_actions_on_format": {
+ "source.organizeImports.ruff": true,
+ },
"formatter": {
"language_server": {
- "name": "ruff"
- }
+ "name": "ruff",
+ },
},
- "debuggers": ["Debugpy"]
+ "debuggers": ["Debugpy"],
+ "language_servers": ["basedpyright", "ruff", "!ty", "!pyrefly", "!pyright", "!pylsp", "..."],
},
"Ruby": {
- "language_servers": ["solargraph", "!ruby-lsp", "!rubocop", "!sorbet", "!steep", "..."]
+ "language_servers": ["solargraph", "!ruby-lsp", "!rubocop", "!sorbet", "!steep", "..."],
},
"Rust": {
- "debuggers": ["CodeLLDB"]
+ "debuggers": ["CodeLLDB"],
},
"SCSS": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"Starlark": {
- "language_servers": ["starpls", "!buck2-lsp", "..."]
+ "language_servers": ["starpls", "!buck2-lsp", "..."],
},
"Svelte": {
"language_servers": ["svelte-language-server", "..."],
"prettier": {
"allowed": true,
- "plugins": ["prettier-plugin-svelte"]
- }
+ "plugins": ["prettier-plugin-svelte"],
+ },
},
"TSX": {
"language_servers": ["!typescript-language-server", "vtsls", "..."],
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"Twig": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"TypeScript": {
"language_servers": ["!typescript-language-server", "vtsls", "..."],
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"SystemVerilog": {
"format_on_save": "off",
- "use_on_type_format": false
+ "language_servers": ["!slang", "..."],
+ "use_on_type_format": false,
},
"Vue.js": {
- "language_servers": ["vue-language-server", "..."],
+ "language_servers": ["vue-language-server", "vtsls", "..."],
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
},
"XML": {
"prettier": {
"allowed": true,
- "plugins": ["@prettier/plugin-xml"]
- }
+ "plugins": ["@prettier/plugin-xml"],
+ },
},
"YAML": {
"prettier": {
- "allowed": true
- }
+ "allowed": true,
+ },
+ },
+ "YAML+ERB": {
+ "language_servers": ["!ruby-lsp", "..."],
},
"Zig": {
- "language_servers": ["zls", "..."]
- }
+ "language_servers": ["zls", "..."],
+ },
},
// Different settings for specific language models.
"language_models": {
"anthropic": {
- "api_url": "https://api.anthropic.com"
+ "api_url": "https://api.anthropic.com",
},
"bedrock": {},
"google": {
- "api_url": "https://generativelanguage.googleapis.com"
+ "api_url": "https://generativelanguage.googleapis.com",
},
"ollama": {
- "api_url": "http://localhost:11434"
+ "api_url": "http://localhost:11434",
},
"openai": {
- "api_url": "https://api.openai.com/v1"
+ "api_url": "https://api.openai.com/v1",
},
"openai_compatible": {},
"open_router": {
- "api_url": "https://openrouter.ai/api/v1"
+ "api_url": "https://openrouter.ai/api/v1",
},
"lmstudio": {
- "api_url": "http://localhost:1234/api/v0"
+ "api_url": "http://localhost:1234/api/v0",
},
"deepseek": {
- "api_url": "https://api.deepseek.com/v1"
+ "api_url": "https://api.deepseek.com/v1",
},
"mistral": {
- "api_url": "https://api.mistral.ai/v1"
+ "api_url": "https://api.mistral.ai/v1",
},
"vercel": {
- "api_url": "https://api.v0.dev/v1"
+ "api_url": "https://api.v0.dev/v1",
},
"x_ai": {
- "api_url": "https://api.x.ai/v1"
+ "api_url": "https://api.x.ai/v1",
},
- "zed.dev": {}
+ "zed.dev": {},
},
"session": {
// Whether or not to restore unsaved buffers on restart.
@@ -1870,7 +2059,7 @@
// dirty files when closing the application.
//
// Default: true
- "restore_unsaved_buffers": true
+ "restore_unsaved_buffers": true,
},
// Zed's Prettier integration settings.
// Allows to enable/disable formatting with Prettier
@@ -1888,11 +2077,11 @@
// "singleQuote": true
// Forces Prettier integration to use a specific parser name when formatting files with the language
// when set to a non-empty string.
- "parser": ""
+ "parser": "",
},
// Settings for auto-closing of JSX tags.
"jsx_tag_auto_close": {
- "enabled": true
+ "enabled": true,
},
// LSP Specific settings.
"lsp": {
@@ -1911,16 +2100,21 @@
// DAP Specific settings.
"dap": {
// Specify the DAP name as a key here.
+ "CodeLLDB": {
+ "env": {
+ "RUST_LOG": "info",
+ },
+ },
},
// Common language server settings.
"global_lsp_settings": {
// Whether to show the LSP servers button in the status bar.
- "button": true
+ "button": true,
},
// Jupyter settings
"jupyter": {
"enabled": true,
- "kernel_selections": {}
+ "kernel_selections": {},
// Specify the language name as the key and the kernel name as the value.
// "kernel_selections": {
// "python": "conda-base"
@@ -1934,7 +2128,7 @@
"max_columns": 128,
// Maximum number of lines to keep in REPL's scrollback buffer.
// Clamped with [4, 256] range.
- "max_lines": 32
+ "max_lines": 32,
},
// Vim settings
"vim": {
@@ -1948,7 +2142,7 @@
// Specify the mode as the key and the shape as the value.
// The mode can be one of the following: "normal", "replace", "insert", "visual".
// The shape can be one of the following: "block", "bar", "underline", "hollow".
- "cursor_shape": {}
+ "cursor_shape": {},
},
// The server to connect to. If the environment variable
// ZED_SERVER_URL is set, it will override this setting.
@@ -1973,6 +2167,18 @@
"dev": {
// "theme": "Andromeda"
},
+ // Settings overrides to use when using Linux.
+ "linux": {},
+ // Settings overrides to use when using macOS.
+ "macos": {},
+ // Settings overrides to use when using Windows.
+ "windows": {
+ "languages": {
+ "PHP": {
+ "language_servers": ["intelephense", "!phpactor", "!phptools", "..."],
+ },
+ },
+ },
// Whether to show full labels in line indicator or short ones
//
// Values:
@@ -2030,7 +2236,7 @@
"dock": "bottom",
"log_dap_communications": true,
"format_dap_log_messages": true,
- "button": true
+ "button": true,
},
// Configures any number of settings profiles that are temporarily applied on
// top of your existing user settings when selected from
@@ -2051,11 +2257,11 @@
// }
// }
// }
- "profiles": [],
+ "profiles": {},
// A map of log scopes to the desired log level.
// Useful for filtering out noisy logs or enabling more verbose logging.
//
// Example: {"log": {"client": "warn"}}
- "log": {}
+ "log": {},
}
diff --git a/assets/settings/initial_debug_tasks.json b/assets/settings/initial_debug_tasks.json
index af4512bd51..851289392a 100644
--- a/assets/settings/initial_debug_tasks.json
+++ b/assets/settings/initial_debug_tasks.json
@@ -8,7 +8,7 @@
"adapter": "Debugpy",
"program": "$ZED_FILE",
"request": "launch",
- "cwd": "$ZED_WORKTREE_ROOT"
+ "cwd": "$ZED_WORKTREE_ROOT",
},
{
"label": "Debug active JavaScript file",
@@ -16,7 +16,7 @@
"program": "$ZED_FILE",
"request": "launch",
"cwd": "$ZED_WORKTREE_ROOT",
- "type": "pwa-node"
+ "type": "pwa-node",
},
{
"label": "JavaScript debug terminal",
@@ -24,6 +24,6 @@
"request": "launch",
"cwd": "$ZED_WORKTREE_ROOT",
"console": "integratedTerminal",
- "type": "pwa-node"
- }
+ "type": "pwa-node",
+ },
]
diff --git a/assets/settings/initial_server_settings.json b/assets/settings/initial_server_settings.json
index d6ec33e601..29aa569b10 100644
--- a/assets/settings/initial_server_settings.json
+++ b/assets/settings/initial_server_settings.json
@@ -3,5 +3,5 @@
// For a full list of overridable settings, and general information on settings,
// see the documentation: https://zed.dev/docs/configuring-zed#settings-files
{
- "lsp": {}
+ "lsp": {},
}
diff --git a/assets/settings/initial_tasks.json b/assets/settings/initial_tasks.json
index a79e980632..5bedafbd3a 100644
--- a/assets/settings/initial_tasks.json
+++ b/assets/settings/initial_tasks.json
@@ -47,8 +47,8 @@
// Whether to show the task line in the output of the spawned task, defaults to `true`.
"show_summary": true,
// Whether to show the command line in the output of the spawned task, defaults to `true`.
- "show_command": true
+ "show_command": true,
// Represents the tags for inline runnable indicators, or spawning multiple tasks at once.
// "tags": []
- }
+ },
]
diff --git a/assets/settings/initial_user_settings.json b/assets/settings/initial_user_settings.json
index 5ac2063bdb..8b57385489 100644
--- a/assets/settings/initial_user_settings.json
+++ b/assets/settings/initial_user_settings.json
@@ -12,6 +12,6 @@
"theme": {
"mode": "system",
"light": "One Light",
- "dark": "One Dark"
- }
+ "dark": "One Dark",
+ },
}
diff --git a/assets/themes/ayu/ayu.json b/assets/themes/ayu/ayu.json
index 7c84c603bd..e2b7c3c91f 100644
--- a/assets/themes/ayu/ayu.json
+++ b/assets/themes/ayu/ayu.json
@@ -45,6 +45,7 @@
"tab.inactive_background": "#1f2127ff",
"tab.active_background": "#0d1016ff",
"search.match_background": "#5ac2fe66",
+ "search.active_match_background": "#ea570166",
"panel.background": "#1f2127ff",
"panel.focused_border": "#5ac1feff",
"pane.focused_border": null,
@@ -436,6 +437,7 @@
"tab.inactive_background": "#ececedff",
"tab.active_background": "#fcfcfcff",
"search.match_background": "#3b9ee566",
+ "search.active_match_background": "#f88b3666",
"panel.background": "#ececedff",
"panel.focused_border": "#3b9ee5ff",
"pane.focused_border": null,
@@ -827,6 +829,7 @@
"tab.inactive_background": "#353944ff",
"tab.active_background": "#242835ff",
"search.match_background": "#73cffe66",
+ "search.active_match_background": "#fd722b66",
"panel.background": "#353944ff",
"panel.focused_border": null,
"pane.focused_border": null,
diff --git a/assets/themes/gruvbox/gruvbox.json b/assets/themes/gruvbox/gruvbox.json
index 4e6f8334b2..16ae188712 100644
--- a/assets/themes/gruvbox/gruvbox.json
+++ b/assets/themes/gruvbox/gruvbox.json
@@ -6,8 +6,8 @@
{
"name": "Gruvbox Dark",
"appearance": "dark",
- "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"border": "#5b534dff",
"border.variant": "#494340ff",
"border.focused": "#303a36ff",
@@ -46,11 +46,13 @@
"tab.inactive_background": "#3a3735ff",
"tab.active_background": "#282828ff",
"search.match_background": "#83a59866",
+ "search.active_match_background": "#c09f3f66",
"panel.background": "#3a3735ff",
"panel.focused_border": "#83a598ff",
"pane.focused_border": null,
- "scrollbar.thumb.background": "#fbf1c74c",
- "scrollbar.thumb.hover_background": "#494340ff",
+ "scrollbar.thumb.active_background": "#83a598ac",
+ "scrollbar.thumb.hover_background": "#fbf1c74c",
+ "scrollbar.thumb.background": "#a899844c",
"scrollbar.thumb.border": "#494340ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#373432ff",
@@ -69,33 +71,33 @@
"editor.document_highlight.read_background": "#83a5981a",
"editor.document_highlight.write_background": "#92847466",
"terminal.background": "#282828ff",
- "terminal.foreground": "#fbf1c7ff",
+ "terminal.foreground": "#ebdbb2ff",
"terminal.bright_foreground": "#fbf1c7ff",
- "terminal.dim_foreground": "#282828ff",
+ "terminal.dim_foreground": "#766b5dff",
"terminal.ansi.black": "#282828ff",
- "terminal.ansi.bright_black": "#73675eff",
+ "terminal.ansi.bright_black": "#928374ff",
"terminal.ansi.dim_black": "#fbf1c7ff",
- "terminal.ansi.red": "#fb4a35ff",
- "terminal.ansi.bright_red": "#93201dff",
- "terminal.ansi.dim_red": "#ffaa95ff",
- "terminal.ansi.green": "#b7bb26ff",
- "terminal.ansi.bright_green": "#605c1bff",
- "terminal.ansi.dim_green": "#e0dc98ff",
- "terminal.ansi.yellow": "#f9bd2fff",
- "terminal.ansi.bright_yellow": "#91611bff",
- "terminal.ansi.dim_yellow": "#fedc9bff",
- "terminal.ansi.blue": "#83a598ff",
- "terminal.ansi.bright_blue": "#414f4aff",
- "terminal.ansi.dim_blue": "#c0d2cbff",
- "terminal.ansi.magenta": "#d3869bff",
- "terminal.ansi.bright_magenta": "#8e5868ff",
- "terminal.ansi.dim_magenta": "#ff9ebbff",
- "terminal.ansi.cyan": "#8ec07cff",
- "terminal.ansi.bright_cyan": "#45603eff",
- "terminal.ansi.dim_cyan": "#c7dfbdff",
- "terminal.ansi.white": "#fbf1c7ff",
- "terminal.ansi.bright_white": "#ffffffff",
- "terminal.ansi.dim_white": "#b0a189ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#fb4934ff",
+ "terminal.ansi.dim_red": "#8e1814ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#b8bb26ff",
+ "terminal.ansi.dim_green": "#6a6912ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#fabd2fff",
+ "terminal.ansi.dim_yellow": "#966a17ff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#83a598ff",
+ "terminal.ansi.dim_blue": "#305d5fff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#d3869bff",
+ "terminal.ansi.dim_magenta": "#7c455eff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#8ec07cff",
+ "terminal.ansi.dim_cyan": "#496e4aff",
+ "terminal.ansi.white": "#a89984ff",
+ "terminal.ansi.bright_white": "#fbf1c7ff",
+ "terminal.ansi.dim_white": "#766b5dff",
"link_text.hover": "#83a598ff",
"version_control.added": "#b7bb26ff",
"version_control.modified": "#f9bd2fff",
@@ -411,8 +413,8 @@
{
"name": "Gruvbox Dark Hard",
"appearance": "dark",
- "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"border": "#5b534dff",
"border.variant": "#494340ff",
"border.focused": "#303a36ff",
@@ -451,11 +453,13 @@
"tab.inactive_background": "#393634ff",
"tab.active_background": "#1d2021ff",
"search.match_background": "#83a59866",
+ "search.active_match_background": "#c9653666",
"panel.background": "#393634ff",
"panel.focused_border": "#83a598ff",
"pane.focused_border": null,
- "scrollbar.thumb.background": "#fbf1c74c",
- "scrollbar.thumb.hover_background": "#494340ff",
+ "scrollbar.thumb.active_background": "#83a598ac",
+ "scrollbar.thumb.hover_background": "#fbf1c74c",
+ "scrollbar.thumb.background": "#a899844c",
"scrollbar.thumb.border": "#494340ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#343130ff",
@@ -474,33 +478,33 @@
"editor.document_highlight.read_background": "#83a5981a",
"editor.document_highlight.write_background": "#92847466",
"terminal.background": "#1d2021ff",
- "terminal.foreground": "#fbf1c7ff",
+ "terminal.foreground": "#ebdbb2ff",
"terminal.bright_foreground": "#fbf1c7ff",
- "terminal.dim_foreground": "#1d2021ff",
- "terminal.ansi.black": "#1d2021ff",
- "terminal.ansi.bright_black": "#73675eff",
+ "terminal.dim_foreground": "#766b5dff",
+ "terminal.ansi.black": "#282828ff",
+ "terminal.ansi.bright_black": "#928374ff",
"terminal.ansi.dim_black": "#fbf1c7ff",
- "terminal.ansi.red": "#fb4a35ff",
- "terminal.ansi.bright_red": "#93201dff",
- "terminal.ansi.dim_red": "#ffaa95ff",
- "terminal.ansi.green": "#b7bb26ff",
- "terminal.ansi.bright_green": "#605c1bff",
- "terminal.ansi.dim_green": "#e0dc98ff",
- "terminal.ansi.yellow": "#f9bd2fff",
- "terminal.ansi.bright_yellow": "#91611bff",
- "terminal.ansi.dim_yellow": "#fedc9bff",
- "terminal.ansi.blue": "#83a598ff",
- "terminal.ansi.bright_blue": "#414f4aff",
- "terminal.ansi.dim_blue": "#c0d2cbff",
- "terminal.ansi.magenta": "#d3869bff",
- "terminal.ansi.bright_magenta": "#8e5868ff",
- "terminal.ansi.dim_magenta": "#ff9ebbff",
- "terminal.ansi.cyan": "#8ec07cff",
- "terminal.ansi.bright_cyan": "#45603eff",
- "terminal.ansi.dim_cyan": "#c7dfbdff",
- "terminal.ansi.white": "#fbf1c7ff",
- "terminal.ansi.bright_white": "#ffffffff",
- "terminal.ansi.dim_white": "#b0a189ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#fb4934ff",
+ "terminal.ansi.dim_red": "#8e1814ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#b8bb26ff",
+ "terminal.ansi.dim_green": "#6a6912ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#fabd2fff",
+ "terminal.ansi.dim_yellow": "#966a17ff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#83a598ff",
+ "terminal.ansi.dim_blue": "#305d5fff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#d3869bff",
+ "terminal.ansi.dim_magenta": "#7c455eff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#8ec07cff",
+ "terminal.ansi.dim_cyan": "#496e4aff",
+ "terminal.ansi.white": "#a89984ff",
+ "terminal.ansi.bright_white": "#fbf1c7ff",
+ "terminal.ansi.dim_white": "#766b5dff",
"link_text.hover": "#83a598ff",
"version_control.added": "#b7bb26ff",
"version_control.modified": "#f9bd2fff",
@@ -816,8 +820,8 @@
{
"name": "Gruvbox Dark Soft",
"appearance": "dark",
- "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"border": "#5b534dff",
"border.variant": "#494340ff",
"border.focused": "#303a36ff",
@@ -856,11 +860,13 @@
"tab.inactive_background": "#3b3735ff",
"tab.active_background": "#32302fff",
"search.match_background": "#83a59866",
+ "search.active_match_background": "#aea85166",
"panel.background": "#3b3735ff",
"panel.focused_border": null,
"pane.focused_border": null,
- "scrollbar.thumb.background": "#fbf1c74c",
- "scrollbar.thumb.hover_background": "#494340ff",
+ "scrollbar.thumb.active_background": "#83a598ac",
+ "scrollbar.thumb.hover_background": "#fbf1c74c",
+ "scrollbar.thumb.background": "#a899844c",
"scrollbar.thumb.border": "#494340ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#393634ff",
@@ -879,33 +885,33 @@
"editor.document_highlight.read_background": "#83a5981a",
"editor.document_highlight.write_background": "#92847466",
"terminal.background": "#32302fff",
- "terminal.foreground": "#fbf1c7ff",
+ "terminal.foreground": "#ebdbb2ff",
"terminal.bright_foreground": "#fbf1c7ff",
- "terminal.dim_foreground": "#32302fff",
- "terminal.ansi.black": "#32302fff",
- "terminal.ansi.bright_black": "#73675eff",
+ "terminal.dim_foreground": "#766b5dff",
+ "terminal.ansi.black": "#282828ff",
+ "terminal.ansi.bright_black": "#928374ff",
"terminal.ansi.dim_black": "#fbf1c7ff",
- "terminal.ansi.red": "#fb4a35ff",
- "terminal.ansi.bright_red": "#93201dff",
- "terminal.ansi.dim_red": "#ffaa95ff",
- "terminal.ansi.green": "#b7bb26ff",
- "terminal.ansi.bright_green": "#605c1bff",
- "terminal.ansi.dim_green": "#e0dc98ff",
- "terminal.ansi.yellow": "#f9bd2fff",
- "terminal.ansi.bright_yellow": "#91611bff",
- "terminal.ansi.dim_yellow": "#fedc9bff",
- "terminal.ansi.blue": "#83a598ff",
- "terminal.ansi.bright_blue": "#414f4aff",
- "terminal.ansi.dim_blue": "#c0d2cbff",
- "terminal.ansi.magenta": "#d3869bff",
- "terminal.ansi.bright_magenta": "#8e5868ff",
- "terminal.ansi.dim_magenta": "#ff9ebbff",
- "terminal.ansi.cyan": "#8ec07cff",
- "terminal.ansi.bright_cyan": "#45603eff",
- "terminal.ansi.dim_cyan": "#c7dfbdff",
- "terminal.ansi.white": "#fbf1c7ff",
- "terminal.ansi.bright_white": "#ffffffff",
- "terminal.ansi.dim_white": "#b0a189ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#fb4934ff",
+ "terminal.ansi.dim_red": "#8e1814ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#b8bb26ff",
+ "terminal.ansi.dim_green": "#6a6912ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#fabd2fff",
+ "terminal.ansi.dim_yellow": "#966a17ff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#83a598ff",
+ "terminal.ansi.dim_blue": "#305d5fff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#d3869bff",
+ "terminal.ansi.dim_magenta": "#7c455eff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#8ec07cff",
+ "terminal.ansi.dim_cyan": "#496e4aff",
+ "terminal.ansi.white": "#a89984ff",
+ "terminal.ansi.bright_white": "#fbf1c7ff",
+ "terminal.ansi.dim_white": "#766b5dff",
"link_text.hover": "#83a598ff",
"version_control.added": "#b7bb26ff",
"version_control.modified": "#f9bd2fff",
@@ -1221,8 +1227,8 @@
{
"name": "Gruvbox Light",
"appearance": "light",
- "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"border": "#c8b899ff",
"border.variant": "#ddcca7ff",
"border.focused": "#adc5ccff",
@@ -1261,11 +1267,13 @@
"tab.inactive_background": "#ecddb4ff",
"tab.active_background": "#fbf1c7ff",
"search.match_background": "#0b667866",
+ "search.active_match_background": "#ba2d1166",
"panel.background": "#ecddb4ff",
"panel.focused_border": null,
"pane.focused_border": null,
- "scrollbar.thumb.background": "#2828284c",
- "scrollbar.thumb.hover_background": "#ddcca7ff",
+ "scrollbar.thumb.active_background": "#458588ac",
+ "scrollbar.thumb.hover_background": "#2828284c",
+ "scrollbar.thumb.background": "#7c6f644c",
"scrollbar.thumb.border": "#ddcca7ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#eee0b7ff",
@@ -1287,30 +1295,30 @@
"terminal.foreground": "#282828ff",
"terminal.bright_foreground": "#282828ff",
"terminal.dim_foreground": "#fbf1c7ff",
- "terminal.ansi.black": "#282828ff",
- "terminal.ansi.bright_black": "#0b6678ff",
- "terminal.ansi.dim_black": "#5f5650ff",
- "terminal.ansi.red": "#9d0308ff",
- "terminal.ansi.bright_red": "#db8b7aff",
- "terminal.ansi.dim_red": "#4e1207ff",
- "terminal.ansi.green": "#797410ff",
- "terminal.ansi.bright_green": "#bfb787ff",
- "terminal.ansi.dim_green": "#3e3a11ff",
- "terminal.ansi.yellow": "#b57615ff",
- "terminal.ansi.bright_yellow": "#e2b88bff",
- "terminal.ansi.dim_yellow": "#5c3a12ff",
- "terminal.ansi.blue": "#0b6678ff",
- "terminal.ansi.bright_blue": "#8fb0baff",
- "terminal.ansi.dim_blue": "#14333bff",
- "terminal.ansi.magenta": "#8f3e71ff",
- "terminal.ansi.bright_magenta": "#c76da0ff",
- "terminal.ansi.dim_magenta": "#5c2848ff",
- "terminal.ansi.cyan": "#437b59ff",
- "terminal.ansi.bright_cyan": "#9fbca8ff",
- "terminal.ansi.dim_cyan": "#253e2eff",
- "terminal.ansi.white": "#fbf1c7ff",
- "terminal.ansi.bright_white": "#ffffffff",
- "terminal.ansi.dim_white": "#b0a189ff",
+ "terminal.ansi.black": "#fbf1c7ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#7c6f64ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#9d0006ff",
+ "terminal.ansi.dim_red": "#c31c16ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#79740eff",
+ "terminal.ansi.dim_green": "#929015ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#b57614ff",
+ "terminal.ansi.dim_yellow": "#cf8e1aff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#076678ff",
+ "terminal.ansi.dim_blue": "#356f77ff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#8f3f71ff",
+ "terminal.ansi.dim_magenta": "#a85580ff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#427b58ff",
+ "terminal.ansi.dim_cyan": "#5f9166ff",
+ "terminal.ansi.white": "#7c6f64ff",
+ "terminal.ansi.bright_white": "#282828ff",
+ "terminal.ansi.dim_white": "#282828ff",
"link_text.hover": "#0b6678ff",
"version_control.added": "#797410ff",
"version_control.modified": "#b57615ff",
@@ -1626,8 +1634,8 @@
{
"name": "Gruvbox Light Hard",
"appearance": "light",
- "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"border": "#c8b899ff",
"border.variant": "#ddcca7ff",
"border.focused": "#adc5ccff",
@@ -1666,11 +1674,13 @@
"tab.inactive_background": "#ecddb5ff",
"tab.active_background": "#f9f5d7ff",
"search.match_background": "#0b667866",
+ "search.active_match_background": "#dc351466",
"panel.background": "#ecddb5ff",
"panel.focused_border": null,
"pane.focused_border": null,
- "scrollbar.thumb.background": "#2828284c",
- "scrollbar.thumb.hover_background": "#ddcca7ff",
+ "scrollbar.thumb.active_background": "#458588ac",
+ "scrollbar.thumb.hover_background": "#2828284c",
+ "scrollbar.thumb.background": "#7c6f644c",
"scrollbar.thumb.border": "#ddcca7ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#eee1bbff",
@@ -1692,30 +1702,30 @@
"terminal.foreground": "#282828ff",
"terminal.bright_foreground": "#282828ff",
"terminal.dim_foreground": "#f9f5d7ff",
- "terminal.ansi.black": "#282828ff",
- "terminal.ansi.bright_black": "#73675eff",
- "terminal.ansi.dim_black": "#f9f5d7ff",
- "terminal.ansi.red": "#9d0308ff",
- "terminal.ansi.bright_red": "#db8b7aff",
- "terminal.ansi.dim_red": "#4e1207ff",
- "terminal.ansi.green": "#797410ff",
- "terminal.ansi.bright_green": "#bfb787ff",
- "terminal.ansi.dim_green": "#3e3a11ff",
- "terminal.ansi.yellow": "#b57615ff",
- "terminal.ansi.bright_yellow": "#e2b88bff",
- "terminal.ansi.dim_yellow": "#5c3a12ff",
- "terminal.ansi.blue": "#0b6678ff",
- "terminal.ansi.bright_blue": "#8fb0baff",
- "terminal.ansi.dim_blue": "#14333bff",
- "terminal.ansi.magenta": "#8f3e71ff",
- "terminal.ansi.bright_magenta": "#c76da0ff",
- "terminal.ansi.dim_magenta": "#5c2848ff",
- "terminal.ansi.cyan": "#437b59ff",
- "terminal.ansi.bright_cyan": "#9fbca8ff",
- "terminal.ansi.dim_cyan": "#253e2eff",
- "terminal.ansi.white": "#f9f5d7ff",
- "terminal.ansi.bright_white": "#ffffffff",
- "terminal.ansi.dim_white": "#b0a189ff",
+ "terminal.ansi.black": "#fbf1c7ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#7c6f64ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#9d0006ff",
+ "terminal.ansi.dim_red": "#c31c16ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#79740eff",
+ "terminal.ansi.dim_green": "#929015ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#b57614ff",
+ "terminal.ansi.dim_yellow": "#cf8e1aff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#076678ff",
+ "terminal.ansi.dim_blue": "#356f77ff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#8f3f71ff",
+ "terminal.ansi.dim_magenta": "#a85580ff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#427b58ff",
+ "terminal.ansi.dim_cyan": "#5f9166ff",
+ "terminal.ansi.white": "#7c6f64ff",
+ "terminal.ansi.bright_white": "#282828ff",
+ "terminal.ansi.dim_white": "#282828ff",
"link_text.hover": "#0b6678ff",
"version_control.added": "#797410ff",
"version_control.modified": "#b57615ff",
@@ -2031,8 +2041,8 @@
{
"name": "Gruvbox Light Soft",
"appearance": "light",
- "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
"border": "#c8b899ff",
"border.variant": "#ddcca7ff",
"border.focused": "#adc5ccff",
@@ -2071,11 +2081,13 @@
"tab.inactive_background": "#ecdcb3ff",
"tab.active_background": "#f2e5bcff",
"search.match_background": "#0b667866",
+ "search.active_match_background": "#d7331466",
"panel.background": "#ecdcb3ff",
"panel.focused_border": null,
"pane.focused_border": null,
- "scrollbar.thumb.background": "#2828284c",
- "scrollbar.thumb.hover_background": "#ddcca7ff",
+ "scrollbar.thumb.active_background": "#458588ac",
+ "scrollbar.thumb.hover_background": "#2828284c",
+ "scrollbar.thumb.background": "#7c6f644c",
"scrollbar.thumb.border": "#ddcca7ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#eddeb5ff",
@@ -2097,30 +2109,30 @@
"terminal.foreground": "#282828ff",
"terminal.bright_foreground": "#282828ff",
"terminal.dim_foreground": "#f2e5bcff",
- "terminal.ansi.black": "#282828ff",
- "terminal.ansi.bright_black": "#73675eff",
- "terminal.ansi.dim_black": "#f2e5bcff",
- "terminal.ansi.red": "#9d0308ff",
- "terminal.ansi.bright_red": "#db8b7aff",
- "terminal.ansi.dim_red": "#4e1207ff",
- "terminal.ansi.green": "#797410ff",
- "terminal.ansi.bright_green": "#bfb787ff",
- "terminal.ansi.dim_green": "#3e3a11ff",
- "terminal.ansi.yellow": "#b57615ff",
- "terminal.ansi.bright_yellow": "#e2b88bff",
- "terminal.ansi.dim_yellow": "#5c3a12ff",
- "terminal.ansi.blue": "#0b6678ff",
- "terminal.ansi.bright_blue": "#8fb0baff",
- "terminal.ansi.dim_blue": "#14333bff",
- "terminal.ansi.magenta": "#8f3e71ff",
- "terminal.ansi.bright_magenta": "#c76da0ff",
- "terminal.ansi.dim_magenta": "#5c2848ff",
- "terminal.ansi.cyan": "#437b59ff",
- "terminal.ansi.bright_cyan": "#9fbca8ff",
- "terminal.ansi.dim_cyan": "#253e2eff",
- "terminal.ansi.white": "#f2e5bcff",
- "terminal.ansi.bright_white": "#ffffffff",
- "terminal.ansi.dim_white": "#b0a189ff",
+ "terminal.ansi.black": "#fbf1c7ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#7c6f64ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#9d0006ff",
+ "terminal.ansi.dim_red": "#c31c16ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#79740eff",
+ "terminal.ansi.dim_green": "#929015ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#b57614ff",
+ "terminal.ansi.dim_yellow": "#cf8e1aff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#076678ff",
+ "terminal.ansi.dim_blue": "#356f77ff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#8f3f71ff",
+ "terminal.ansi.dim_magenta": "#a85580ff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#427b58ff",
+ "terminal.ansi.dim_cyan": "#5f9166ff",
+ "terminal.ansi.white": "#7c6f64ff",
+ "terminal.ansi.bright_white": "#282828ff",
+ "terminal.ansi.dim_white": "#282828ff",
"link_text.hover": "#0b6678ff",
"version_control.added": "#797410ff",
"version_control.modified": "#b57615ff",
diff --git a/assets/themes/one/one.json b/assets/themes/one/one.json
index 6849cd05dc..13f94991ad 100644
--- a/assets/themes/one/one.json
+++ b/assets/themes/one/one.json
@@ -45,6 +45,7 @@
"tab.inactive_background": "#2f343eff",
"tab.active_background": "#282c33ff",
"search.match_background": "#74ade866",
+ "search.active_match_background": "#e8af7466",
"panel.background": "#2f343eff",
"panel.focused_border": null,
"pane.focused_border": null,
@@ -67,37 +68,39 @@
"editor.active_wrap_guide": "#c8ccd41a",
"editor.document_highlight.read_background": "#74ade81a",
"editor.document_highlight.write_background": "#555a6366",
- "terminal.background": "#282c33ff",
- "terminal.foreground": "#dce0e5ff",
+ "terminal.background": "#282c34ff",
+ "terminal.foreground": "#abb2bfff",
"terminal.bright_foreground": "#dce0e5ff",
- "terminal.dim_foreground": "#282c33ff",
- "terminal.ansi.black": "#282c33ff",
- "terminal.ansi.bright_black": "#525561ff",
- "terminal.ansi.dim_black": "#dce0e5ff",
- "terminal.ansi.red": "#d07277ff",
- "terminal.ansi.bright_red": "#673a3cff",
- "terminal.ansi.dim_red": "#eab7b9ff",
- "terminal.ansi.green": "#a1c181ff",
- "terminal.ansi.bright_green": "#4d6140ff",
- "terminal.ansi.dim_green": "#d1e0bfff",
- "terminal.ansi.yellow": "#dec184ff",
- "terminal.ansi.bright_yellow": "#e5c07bff",
- "terminal.ansi.dim_yellow": "#f1dfc1ff",
- "terminal.ansi.blue": "#74ade8ff",
- "terminal.ansi.bright_blue": "#385378ff",
- "terminal.ansi.dim_blue": "#bed5f4ff",
- "terminal.ansi.magenta": "#b477cfff",
- "terminal.ansi.bright_magenta": "#d6b4e4ff",
- "terminal.ansi.dim_magenta": "#612a79ff",
- "terminal.ansi.cyan": "#6eb4bfff",
- "terminal.ansi.bright_cyan": "#3a565bff",
- "terminal.ansi.dim_cyan": "#b9d9dfff",
- "terminal.ansi.white": "#dce0e5ff",
+ "terminal.dim_foreground": "#636d83ff",
+ "terminal.ansi.black": "#282c34ff",
+ "terminal.ansi.bright_black": "#636d83ff",
+ "terminal.ansi.dim_black": "#3b3f4aff",
+ "terminal.ansi.red": "#e06c75ff",
+ "terminal.ansi.bright_red": "#EA858Bff",
+ "terminal.ansi.dim_red": "#a7545aff",
+ "terminal.ansi.green": "#98c379ff",
+ "terminal.ansi.bright_green": "#AAD581ff",
+ "terminal.ansi.dim_green": "#6d8f59ff",
+ "terminal.ansi.yellow": "#e5c07bff",
+ "terminal.ansi.bright_yellow": "#FFD885ff",
+ "terminal.ansi.dim_yellow": "#b8985bff",
+ "terminal.ansi.blue": "#61afefff",
+ "terminal.ansi.bright_blue": "#85C1FFff",
+ "terminal.ansi.dim_blue": "#457cadff",
+ "terminal.ansi.magenta": "#c678ddff",
+ "terminal.ansi.bright_magenta": "#D398EBff",
+ "terminal.ansi.dim_magenta": "#8d54a0ff",
+ "terminal.ansi.cyan": "#56b6c2ff",
+ "terminal.ansi.bright_cyan": "#6ED5DEff",
+ "terminal.ansi.dim_cyan": "#3c818aff",
+ "terminal.ansi.white": "#abb2bfff",
"terminal.ansi.bright_white": "#fafafaff",
- "terminal.ansi.dim_white": "#575d65ff",
+ "terminal.ansi.dim_white": "#8f969bff",
"link_text.hover": "#74ade8ff",
"version_control.added": "#27a657ff",
"version_control.modified": "#d3b020ff",
+ "version_control.word_added": "#2EA04859",
+ "version_control.word_deleted": "#78081BCC",
"version_control.deleted": "#e06c76ff",
"version_control.conflict_marker.ours": "#a1c1811a",
"version_control.conflict_marker.theirs": "#74ade81a",
@@ -446,6 +449,7 @@
"tab.inactive_background": "#ebebecff",
"tab.active_background": "#fafafaff",
"search.match_background": "#5c79e266",
+ "search.active_match_background": "#d0a92366",
"panel.background": "#ebebecff",
"panel.focused_border": null,
"pane.focused_border": null,
@@ -469,36 +473,38 @@
"editor.document_highlight.read_background": "#5c78e225",
"editor.document_highlight.write_background": "#a3a3a466",
"terminal.background": "#fafafaff",
- "terminal.foreground": "#242529ff",
- "terminal.bright_foreground": "#242529ff",
- "terminal.dim_foreground": "#fafafaff",
- "terminal.ansi.black": "#242529ff",
- "terminal.ansi.bright_black": "#747579ff",
- "terminal.ansi.dim_black": "#97979aff",
- "terminal.ansi.red": "#d36151ff",
- "terminal.ansi.bright_red": "#f0b0a4ff",
- "terminal.ansi.dim_red": "#6f312aff",
- "terminal.ansi.green": "#669f59ff",
- "terminal.ansi.bright_green": "#b2cfa9ff",
- "terminal.ansi.dim_green": "#354d2eff",
- "terminal.ansi.yellow": "#dec184ff",
- "terminal.ansi.bright_yellow": "#826221ff",
- "terminal.ansi.dim_yellow": "#786441ff",
- "terminal.ansi.blue": "#5c78e2ff",
- "terminal.ansi.bright_blue": "#b5baf2ff",
- "terminal.ansi.dim_blue": "#2d3d75ff",
- "terminal.ansi.magenta": "#984ea5ff",
- "terminal.ansi.bright_magenta": "#cea6d3ff",
- "terminal.ansi.dim_magenta": "#4b2a50ff",
- "terminal.ansi.cyan": "#3a82b7ff",
- "terminal.ansi.bright_cyan": "#a3bedaff",
- "terminal.ansi.dim_cyan": "#254058ff",
- "terminal.ansi.white": "#fafafaff",
+ "terminal.foreground": "#2a2c33ff",
+ "terminal.bright_foreground": "#2a2c33ff",
+ "terminal.dim_foreground": "#bbbbbbff",
+ "terminal.ansi.black": "#000000ff",
+ "terminal.ansi.bright_black": "#000000ff",
+ "terminal.ansi.dim_black": "#555555ff",
+ "terminal.ansi.red": "#de3e35ff",
+ "terminal.ansi.bright_red": "#de3e35ff",
+ "terminal.ansi.dim_red": "#9c2b26ff",
+ "terminal.ansi.green": "#3f953aff",
+ "terminal.ansi.bright_green": "#3f953aff",
+ "terminal.ansi.dim_green": "#2b6927ff",
+ "terminal.ansi.yellow": "#d2b67cff",
+ "terminal.ansi.bright_yellow": "#d2b67cff",
+ "terminal.ansi.dim_yellow": "#a48c5aff",
+ "terminal.ansi.blue": "#2f5af3ff",
+ "terminal.ansi.bright_blue": "#2f5af3ff",
+ "terminal.ansi.dim_blue": "#2140abff",
+ "terminal.ansi.magenta": "#950095ff",
+ "terminal.ansi.bright_magenta": "#a00095ff",
+ "terminal.ansi.dim_magenta": "#6a006aff",
+ "terminal.ansi.cyan": "#3f953aff",
+ "terminal.ansi.bright_cyan": "#3f953aff",
+ "terminal.ansi.dim_cyan": "#2b6927ff",
+ "terminal.ansi.white": "#bbbbbbff",
"terminal.ansi.bright_white": "#ffffffff",
- "terminal.ansi.dim_white": "#aaaaaaff",
+ "terminal.ansi.dim_white": "#888888ff",
"link_text.hover": "#5c78e2ff",
"version_control.added": "#27a657ff",
"version_control.modified": "#d3b020ff",
+ "version_control.word_added": "#2EA04859",
+ "version_control.word_deleted": "#F85149CC",
"version_control.deleted": "#e06c76ff",
"conflict": "#a48819ff",
"conflict.background": "#faf2e6ff",
diff --git a/ci/Dockerfile.namespace b/ci/Dockerfile.namespace
new file mode 100644
index 0000000000..f370dae194
--- /dev/null
+++ b/ci/Dockerfile.namespace
@@ -0,0 +1,21 @@
+ARG NAMESPACE_BASE_IMAGE_REF=""
+
+# Your image must build FROM NAMESPACE_BASE_IMAGE_REF
+FROM ${NAMESPACE_BASE_IMAGE_REF} AS base
+
+# Remove problematic git-lfs packagecloud source
+RUN sudo rm -f /etc/apt/sources.list.d/*git-lfs*.list
+# Install git and SSH for cloning private repositories
+RUN sudo apt-get update && \
+ sudo apt-get install -y git openssh-client
+
+# Clone the Zed repository
+RUN git clone https://github.com/zed-industries/zed.git ~/zed
+
+# Run the Linux installation script
+WORKDIR /home/runner/zed
+RUN ./script/linux
+
+# Clean up unnecessary files to reduce image size
+RUN sudo apt-get clean && sudo rm -rf \
+ /home/runner/zed
diff --git a/clippy.toml b/clippy.toml
index 57f6f59385..9dd246074a 100644
--- a/clippy.toml
+++ b/clippy.toml
@@ -3,12 +3,18 @@ avoid-breaking-exported-api = false
ignore-interior-mutability = [
# Suppresses clippy::mutable_key_type, which is a false positive as the Eq
# and Hash impls do not use fields with interior mutability.
- "agent::context::AgentContextKey"
+ "agent_ui::context::AgentContextKey"
]
disallowed-methods = [
{ path = "std::process::Command::spawn", reason = "Spawning `std::process::Command` can block the current thread for an unknown duration", replacement = "smol::process::Command::spawn" },
{ path = "std::process::Command::output", reason = "Spawning `std::process::Command` can block the current thread for an unknown duration", replacement = "smol::process::Command::output" },
{ path = "std::process::Command::status", reason = "Spawning `std::process::Command` can block the current thread for an unknown duration", replacement = "smol::process::Command::status" },
+ { path = "std::process::Command::stdin", reason = "`smol::process::Command::from()` does not preserve stdio configuration", replacement = "smol::process::Command::stdin" },
+ { path = "std::process::Command::stdout", reason = "`smol::process::Command::from()` does not preserve stdio configuration", replacement = "smol::process::Command::stdout" },
+ { path = "std::process::Command::stderr", reason = "`smol::process::Command::from()` does not preserve stdio configuration", replacement = "smol::process::Command::stderr" },
+ { path = "serde_json::from_reader", reason = "Parsing from a buffer is much slower than first reading the buffer into a Vec/String, see https://github.com/serde-rs/json/issues/160#issuecomment-253446892. Use `serde_json::from_slice` instead." },
+ { path = "serde_json_lenient::from_reader", reason = "Parsing from a buffer is much slower than first reading the buffer into a Vec/String, see https://github.com/serde-rs/json/issues/160#issuecomment-253446892, Use `serde_json_lenient::from_slice` instead." },
+ { path = "cocoa::foundation::NSString::alloc", reason = "NSString must be autoreleased to avoid memory leaks. Use `ns_string()` helper instead." },
]
disallowed-types = [
# { path = "std::collections::HashMap", replacement = "collections::HashMap" },
diff --git a/compose.yml b/compose.yml
index 00a5780b59..cee63e968b 100644
--- a/compose.yml
+++ b/compose.yml
@@ -33,32 +33,6 @@ services:
volumes:
- ./livekit.yaml:/livekit.yaml
- postgrest_app:
- image: docker.io/postgrest/postgrest
- container_name: postgrest_app
- ports:
- - 8081:8081
- environment:
- PGRST_DB_URI: postgres://postgres@postgres:5432/zed
- volumes:
- - ./crates/collab/postgrest_app.conf:/etc/postgrest.conf
- command: postgrest /etc/postgrest.conf
- depends_on:
- - postgres
-
- postgrest_llm:
- image: docker.io/postgrest/postgrest
- container_name: postgrest_llm
- ports:
- - 8082:8082
- environment:
- PGRST_DB_URI: postgres://postgres@postgres:5432/zed_llm
- volumes:
- - ./crates/collab/postgrest_llm.conf:/etc/postgrest.conf
- command: postgrest /etc/postgrest.conf
- depends_on:
- - postgres
-
stripe-mock:
image: docker.io/stripe/stripe-mock:v0.178.0
ports:
diff --git a/crates/acp_thread/Cargo.toml b/crates/acp_thread/Cargo.toml
index ac24a6ed0f..8ef6f1a52c 100644
--- a/crates/acp_thread/Cargo.toml
+++ b/crates/acp_thread/Cargo.toml
@@ -39,13 +39,13 @@ serde_json.workspace = true
settings.workspace = true
smol.workspace = true
task.workspace = true
+telemetry.workspace = true
terminal.workspace = true
ui.workspace = true
url.workspace = true
util.workspace = true
uuid.workspace = true
watch.workspace = true
-workspace-hack.workspace = true
[dev-dependencies]
env_logger.workspace = true
@@ -57,3 +57,4 @@ rand.workspace = true
tempfile.workspace = true
util.workspace = true
settings.workspace = true
+zlog.workspace = true
diff --git a/crates/acp_thread/src/acp_thread.rs b/crates/acp_thread/src/acp_thread.rs
index 61486a475c..53294a963d 100644
--- a/crates/acp_thread/src/acp_thread.rs
+++ b/crates/acp_thread/src/acp_thread.rs
@@ -3,7 +3,6 @@ mod diff;
mod mention;
mod terminal;
-use ::terminal::terminal_settings::TerminalSettings;
use agent_settings::AgentSettings;
use collections::HashSet;
pub use connection::*;
@@ -12,11 +11,11 @@ use language::language_settings::FormatOnSave;
pub use mention::*;
use project::lsp_store::{FormatTrigger, LspFormatTarget};
use serde::{Deserialize, Serialize};
-use settings::{Settings as _, SettingsLocation};
+use settings::Settings as _;
use task::{Shell, ShellBuilder};
pub use terminal::*;
-use action_log::ActionLog;
+use action_log::{ActionLog, ActionLogTelemetry};
use agent_client_protocol::{self as acp};
use anyhow::{Context as _, Result, anyhow};
use editor::Bias;
@@ -35,7 +34,7 @@ use std::rc::Rc;
use std::time::{Duration, Instant};
use std::{fmt::Display, mem, path::PathBuf, sync::Arc};
use ui::App;
-use util::{ResultExt, get_default_system_shell_preferring_bash};
+use util::{ResultExt, get_default_system_shell_preferring_bash, paths::PathStyle};
use uuid::Uuid;
#[derive(Debug)]
@@ -95,9 +94,14 @@ pub enum AssistantMessageChunk {
}
impl AssistantMessageChunk {
- pub fn from_str(chunk: &str, language_registry: &Arc, cx: &mut App) -> Self {
+ pub fn from_str(
+ chunk: &str,
+ language_registry: &Arc,
+ path_style: PathStyle,
+ cx: &mut App,
+ ) -> Self {
Self::Message {
- block: ContentBlock::new(chunk.into(), language_registry, cx),
+ block: ContentBlock::new(chunk.into(), language_registry, path_style, cx),
}
}
@@ -186,6 +190,7 @@ impl ToolCall {
tool_call: acp::ToolCall,
status: ToolCallStatus,
language_registry: Arc,
+ path_style: PathStyle,
terminals: &HashMap>,
cx: &mut App,
) -> Result {
@@ -196,16 +201,19 @@ impl ToolCall {
};
let mut content = Vec::with_capacity(tool_call.content.len());
for item in tool_call.content {
- content.push(ToolCallContent::from_acp(
+ if let Some(item) = ToolCallContent::from_acp(
item,
language_registry.clone(),
+ path_style,
terminals,
cx,
- )?);
+ )? {
+ content.push(item);
+ }
}
let result = Self {
- id: tool_call.id,
+ id: tool_call.tool_call_id,
label: cx
.new(|cx| Markdown::new(title.into(), Some(language_registry.clone()), None, cx)),
kind: tool_call.kind,
@@ -223,6 +231,7 @@ impl ToolCall {
&mut self,
fields: acp::ToolCallUpdateFields,
language_registry: Arc,
+ path_style: PathStyle,
terminals: &HashMap>,
cx: &mut App,
) -> Result<()> {
@@ -234,6 +243,7 @@ impl ToolCall {
locations,
raw_input,
raw_output,
+ ..
} = fields;
if let Some(kind) = kind {
@@ -255,20 +265,29 @@ impl ToolCall {
}
if let Some(content) = content {
- let new_content_len = content.len();
+ let mut new_content_len = content.len();
let mut content = content.into_iter();
// Reuse existing content if we can
for (old, new) in self.content.iter_mut().zip(content.by_ref()) {
- old.update_from_acp(new, language_registry.clone(), terminals, cx)?;
+ let valid_content =
+ old.update_from_acp(new, language_registry.clone(), path_style, terminals, cx)?;
+ if !valid_content {
+ new_content_len -= 1;
+ }
}
for new in content {
- self.content.push(ToolCallContent::from_acp(
+ if let Some(new) = ToolCallContent::from_acp(
new,
language_registry.clone(),
+ path_style,
terminals,
cx,
- )?)
+ )? {
+ self.content.push(new);
+ } else {
+ new_content_len -= 1;
+ }
}
self.content.truncate(new_content_len);
}
@@ -328,7 +347,7 @@ impl ToolCall {
location: acp::ToolCallLocation,
project: WeakEntity,
cx: &mut AsyncApp,
- ) -> Option {
+ ) -> Option {
let buffer = project
.update(cx, |project, cx| {
project
@@ -339,28 +358,25 @@ impl ToolCall {
let buffer = buffer.await.log_err()?;
let position = buffer
.update(cx, |buffer, _| {
+ let snapshot = buffer.snapshot();
if let Some(row) = location.line {
- let snapshot = buffer.snapshot();
let column = snapshot.indent_size_for_line(row).len;
let point = snapshot.clip_point(Point::new(row, column), Bias::Left);
snapshot.anchor_before(point)
} else {
- Anchor::MIN
+ Anchor::min_for_buffer(snapshot.remote_id())
}
})
.ok()?;
- Some(AgentLocation {
- buffer: buffer.downgrade(),
- position,
- })
+ Some(ResolvedLocation { buffer, position })
}
fn resolve_locations(
&self,
project: Entity,
cx: &mut App,
- ) -> Task>> {
+ ) -> Task>> {
let locations = self.locations.clone();
project.update(cx, |_, cx| {
cx.spawn(async move |project, cx| {
@@ -374,6 +390,23 @@ impl ToolCall {
}
}
+// Separate so we can hold a strong reference to the buffer
+// for saving on the thread
+#[derive(Clone, Debug, PartialEq, Eq)]
+struct ResolvedLocation {
+ buffer: Entity,
+ position: Anchor,
+}
+
+impl From<&ResolvedLocation> for AgentLocation {
+ fn from(value: &ResolvedLocation) -> Self {
+ Self {
+ buffer: value.buffer.downgrade(),
+ position: value.position,
+ }
+ }
+}
+
#[derive(Debug)]
pub enum ToolCallStatus {
/// The tool call hasn't started running yet, but we start showing it to
@@ -403,6 +436,7 @@ impl From for ToolCallStatus {
acp::ToolCallStatus::InProgress => Self::InProgress,
acp::ToolCallStatus::Completed => Self::Completed,
acp::ToolCallStatus::Failed => Self::Failed,
+ _ => Self::Pending,
}
}
}
@@ -436,21 +470,23 @@ impl ContentBlock {
pub fn new(
block: acp::ContentBlock,
language_registry: &Arc,
+ path_style: PathStyle,
cx: &mut App,
) -> Self {
let mut this = Self::Empty;
- this.append(block, language_registry, cx);
+ this.append(block, language_registry, path_style, cx);
this
}
pub fn new_combined(
blocks: impl IntoIterator- ,
language_registry: Arc,
+ path_style: PathStyle,
cx: &mut App,
) -> Self {
let mut this = Self::Empty;
for block in blocks {
- this.append(block, &language_registry, cx);
+ this.append(block, &language_registry, path_style, cx);
}
this
}
@@ -459,6 +495,7 @@ impl ContentBlock {
&mut self,
block: acp::ContentBlock,
language_registry: &Arc,
+ path_style: PathStyle,
cx: &mut App,
) {
if matches!(self, ContentBlock::Empty)
@@ -468,7 +505,7 @@ impl ContentBlock {
return;
}
- let new_content = self.block_string_contents(block);
+ let new_content = self.block_string_contents(block, path_style);
match self {
ContentBlock::Empty => {
@@ -478,7 +515,7 @@ impl ContentBlock {
markdown.update(cx, |markdown, cx| markdown.append(&new_content, cx));
}
ContentBlock::ResourceLink { resource_link } => {
- let existing_content = Self::resource_link_md(&resource_link.uri);
+ let existing_content = Self::resource_link_md(&resource_link.uri, path_style);
let combined = format!("{}\n{}", existing_content, new_content);
*self = Self::create_markdown_block(combined, language_registry, cx);
@@ -497,11 +534,11 @@ impl ContentBlock {
}
}
- fn block_string_contents(&self, block: acp::ContentBlock) -> String {
+ fn block_string_contents(&self, block: acp::ContentBlock, path_style: PathStyle) -> String {
match block {
acp::ContentBlock::Text(text_content) => text_content.text,
acp::ContentBlock::ResourceLink(resource_link) => {
- Self::resource_link_md(&resource_link.uri)
+ Self::resource_link_md(&resource_link.uri, path_style)
}
acp::ContentBlock::Resource(acp::EmbeddedResource {
resource:
@@ -510,14 +547,14 @@ impl ContentBlock {
..
}),
..
- }) => Self::resource_link_md(&uri),
+ }) => Self::resource_link_md(&uri, path_style),
acp::ContentBlock::Image(image) => Self::image_md(&image),
- acp::ContentBlock::Audio(_) | acp::ContentBlock::Resource(_) => String::new(),
+ _ => String::new(),
}
}
- fn resource_link_md(uri: &str) -> String {
- if let Some(uri) = MentionUri::parse(uri).log_err() {
+ fn resource_link_md(uri: &str, path_style: PathStyle) -> String {
+ if let Some(uri) = MentionUri::parse(uri, path_style).log_err() {
uri.as_link().to_string()
} else {
uri.to_string()
@@ -563,16 +600,20 @@ impl ToolCallContent {
pub fn from_acp(
content: acp::ToolCallContent,
language_registry: Arc,
+ path_style: PathStyle,
terminals: &HashMap>,
cx: &mut App,
- ) -> Result {
+ ) -> Result