From 73387532ce690e7f58cbfd7f59e80a155a7d4403 Mon Sep 17 00:00:00 2001 From: Cole Miller Date: Thu, 31 Jul 2025 23:45:28 +0000 Subject: [PATCH] sibling of 7c169fc9b50a53d0b78f4ad1d14c1bb747ae5ca4 --- .github/actions/build_docs/action.yml | 8 +- .github/workflows/ci.yml | 7 +- .github/workflows/release_nightly.yml | 20 - Cargo.lock | 344 ++-- Cargo.toml | 35 +- README.md | 1 - assets/badge/v0.json | 8 - assets/icons/audio_off.svg | 8 +- assets/icons/audio_on.svg | 6 +- assets/icons/cloud_download.svg | 1 - assets/icons/exit.svg | 11 +- assets/icons/file_icons/surrealql.svg | 3 - assets/icons/mic.svg | 6 +- assets/icons/mic_mute.svg | 9 +- assets/icons/screen.svg | 11 +- assets/keymaps/default-linux.json | 4 +- assets/keymaps/default-macos.json | 4 +- assets/keymaps/linux/cursor.json | 2 +- assets/keymaps/linux/jetbrains.json | 27 +- assets/keymaps/macos/cursor.json | 2 +- assets/keymaps/macos/jetbrains.json | 22 +- assets/keymaps/vim.json | 6 +- assets/settings/default.json | 27 +- crates/acp_thread/Cargo.toml | 1 - crates/acp_thread/src/acp_thread.rs | 1264 ++++++------ crates/acp_thread/src/connection.rs | 38 +- crates/acp_thread/src/old_acp_support.rs | 453 ----- crates/agent/Cargo.toml | 4 +- crates/agent/src/thread.rs | 4 +- crates/agent_servers/Cargo.toml | 3 - crates/agent_servers/src/agent_servers.rs | 14 +- crates/agent_servers/src/claude.rs | 526 +++-- crates/agent_servers/src/claude/mcp_server.rs | 466 +++-- crates/agent_servers/src/claude/tools.rs | 276 ++- crates/agent_servers/src/codex.rs | 319 --- crates/agent_servers/src/e2e_tests.rs | 187 +- crates/agent_servers/src/gemini.rs | 101 +- crates/agent_servers/src/mcp_server.rs | 207 -- crates/agent_servers/src/settings.rs | 11 +- .../agent_servers/src/stdio_agent_server.rs | 119 ++ crates/agent_settings/Cargo.toml | 2 +- crates/agent_settings/src/agent_settings.rs | 6 +- crates/agent_ui/Cargo.toml | 8 +- crates/agent_ui/src/acp/thread_view.rs | 667 +++--- crates/agent_ui/src/active_thread.rs | 2 +- crates/agent_ui/src/agent_configuration.rs | 97 +- crates/agent_ui/src/agent_diff.rs | 6 +- crates/agent_ui/src/agent_panel.rs | 174 +- crates/agent_ui/src/agent_ui.rs | 3 - crates/agent_ui/src/buffer_codegen.rs | 2 +- crates/agent_ui/src/debug.rs | 2 +- crates/agent_ui/src/inline_assistant.rs | 4 +- .../agent_ui/src/language_model_selector.rs | 2 +- crates/agent_ui/src/message_editor.rs | 10 +- .../agent_ui/src/terminal_inline_assistant.rs | 2 +- .../agent_ui/src/ui/preview/usage_callouts.rs | 2 +- .../src/agent_api_keys_onboarding.rs | 5 +- crates/ai_onboarding/src/ai_onboarding.rs | 3 - crates/ai_onboarding/src/ai_upsell_card.rs | 201 -- crates/assistant_context/Cargo.toml | 2 +- .../src/assistant_context.rs | 2 +- crates/assistant_tools/Cargo.toml | 4 +- crates/assistant_tools/src/edit_agent.rs | 2 +- crates/assistant_tools/src/web_search_tool.rs | 2 +- crates/audio/Cargo.toml | 2 +- crates/audio/src/assets.rs | 9 +- crates/audio/src/audio.rs | 14 +- crates/channel/src/channel_store.rs | 2 +- crates/client/Cargo.toml | 11 +- crates/client/src/client.rs | 14 +- crates/client/src/cloud.rs | 3 - crates/client/src/cloud/user_store.rs | 182 -- crates/client/src/telemetry.rs | 6 +- crates/client/src/user.rs | 39 +- crates/cloud_api_client/Cargo.toml | 21 - crates/cloud_api_client/LICENSE-APACHE | 1 - .../cloud_api_client/src/cloud_api_client.rs | 121 -- crates/cloud_api_types/Cargo.toml | 22 - crates/cloud_api_types/LICENSE-APACHE | 1 - crates/cloud_api_types/src/cloud_api_types.rs | 50 - crates/cloud_api_types/src/timestamp.rs | 166 -- crates/cloud_llm_client/Cargo.toml | 23 - crates/cloud_llm_client/LICENSE-APACHE | 1 - .../cloud_llm_client/src/cloud_llm_client.rs | 370 ---- crates/collab/Cargo.toml | 4 +- crates/collab/src/api.rs | 24 +- crates/collab/src/api/billing.rs | 351 +++- crates/collab/src/api/contributors.rs | 12 +- .../src/db/tables/billing_subscription.rs | 2 +- crates/collab/src/llm/db.rs | 2 +- .../collab/src/llm/db/tests/provider_tests.rs | 2 +- crates/collab/src/llm/token.rs | 2 +- crates/collab/src/rpc.rs | 65 +- crates/collab/src/tests.rs | 4 +- crates/collab/src/tests/integration_tests.rs | 6 +- crates/collab/src/tests/test_server.rs | 11 +- crates/collab_ui/src/collab_panel.rs | 6 +- crates/context_server/src/client.rs | 103 +- crates/context_server/src/listener.rs | 245 +-- crates/context_server/src/protocol.rs | 23 - crates/context_server/src/types.rs | 37 +- .../debugger_ui/src/tests/debugger_panel.rs | 2 +- crates/docs_preprocessor/Cargo.toml | 12 +- crates/docs_preprocessor/src/main.rs | 244 +-- crates/editor/Cargo.toml | 1 - crates/editor/src/actions.rs | 2 - crates/editor/src/code_completion_tests.rs | 24 +- crates/editor/src/code_context_menus.rs | 4 +- crates/editor/src/editor.rs | 61 +- crates/editor/src/editor_tests.rs | 473 ----- crates/editor/src/element.rs | 66 +- crates/eval/Cargo.toml | 4 +- crates/eval/src/example.rs | 2 +- crates/extension/Cargo.toml | 4 - crates/extension/src/capabilities.rs | 20 - .../capabilities/download_file_capability.rs | 121 -- .../npm_install_package_capability.rs | 39 - .../capabilities/process_exec_capability.rs | 116 -- crates/extension/src/extension.rs | 2 - crates/extension/src/extension_manifest.rs | 64 +- .../extension_compilation_benchmark.rs | 10 +- .../extension_host/src/capability_granter.rs | 153 -- crates/extension_host/src/extension_host.rs | 1 - crates/extension_host/src/wasm_host.rs | 26 +- .../src/wasm_host/wit/since_v0_6_0.rs | 10 +- crates/feature_flags/src/feature_flags.rs | 5 - crates/file_finder/src/file_finder.rs | 21 +- crates/fs/src/fake_git_repo.rs | 12 - crates/git/src/git.rs | 4 - crates/git/src/repository.rs | 57 - .../src/providers/github.rs | 22 +- crates/git_ui/Cargo.toml | 2 +- crates/git_ui/src/git_panel.rs | 69 +- crates/git_ui/src/git_ui.rs | 16 - crates/gpui/Cargo.toml | 11 +- crates/gpui/build.rs | 221 +- crates/gpui/examples/painting.rs | 218 +- crates/gpui/examples/paths_bench.rs | 92 - crates/gpui/examples/tab_stop.rs | 15 +- crates/gpui/src/elements/div.rs | 7 +- crates/gpui/src/elements/uniform_list.rs | 5 +- crates/gpui/src/platform.rs | 6 +- crates/gpui/src/platform/blade/blade_atlas.rs | 97 +- .../gpui/src/platform/blade/blade_renderer.rs | 701 +++---- crates/gpui/src/platform/blade/shaders.wgsl | 78 +- .../gpui/src/platform/linux/wayland/window.rs | 29 +- crates/gpui/src/platform/linux/x11/client.rs | 1 - crates/gpui/src/platform/mac/metal_atlas.rs | 56 +- .../gpui/src/platform/mac/metal_renderer.rs | 538 +++-- crates/gpui/src/platform/mac/shaders.metal | 138 +- crates/gpui/src/platform/test/window.rs | 2 +- crates/gpui/src/platform/windows.rs | 4 - .../src/platform/windows/directx_atlas.rs | 309 --- .../src/platform/windows/directx_renderer.rs | 1795 ----------------- crates/gpui/src/platform/windows/events.rs | 94 +- crates/gpui/src/platform/windows/platform.rs | 46 +- crates/gpui/src/platform/windows/shaders.hlsl | 1160 ----------- crates/gpui/src/platform/windows/window.rs | 107 +- crates/gpui/src/scene.rs | 13 +- crates/gpui/src/tab_stop.rs | 34 +- crates/gpui/src/taffy.rs | 26 +- crates/gpui/src/window.rs | 10 +- crates/http_client/src/http_client.rs | 16 - crates/icons/src/icons.rs | 1 - crates/inline_completion_button/Cargo.toml | 2 +- .../src/inline_completion_button.rs | 2 +- crates/language/src/language.rs | 35 +- crates/language_model/Cargo.toml | 2 +- crates/language_model/src/language_model.rs | 2 +- .../language_model/src/model/cloud_model.rs | 11 +- crates/language_model/src/request.rs | 7 +- crates/language_models/Cargo.toml | 14 +- crates/language_models/src/provider/cloud.rs | 103 +- .../src/provider/copilot_chat.rs | 2 +- crates/language_models/src/provider/ollama.rs | 12 +- crates/language_tools/src/lsp_log.rs | 2 +- crates/language_tools/src/lsp_tool.rs | 2 +- crates/languages/Cargo.toml | 1 - crates/languages/src/bash/config.toml | 31 +- crates/languages/src/bash/indents.scm | 22 +- crates/languages/src/go/runnables.scm | 2 +- crates/languages/src/lib.rs | 24 +- crates/languages/src/python.rs | 349 +--- crates/languages/src/typescript.rs | 2 +- crates/languages/src/typescript/runnables.scm | 41 +- crates/livekit_client/Cargo.toml | 4 +- crates/livekit_client/src/lib.rs | 35 +- .../src/mock_client/participant.rs | 17 +- crates/lsp/src/lsp.rs | 159 +- crates/onboarding/Cargo.toml | 14 +- crates/onboarding/src/basics_page.rs | 368 ---- crates/onboarding/src/editing_page.rs | 382 ---- crates/onboarding/src/onboarding.rs | 428 ++-- crates/onboarding/src/welcome.rs | 276 --- crates/outline_panel/src/outline_panel.rs | 862 +------- .../src/outline_panel_settings.rs | 8 - crates/paths/src/paths.rs | 10 +- crates/prettier/src/prettier_server.js | 4 - crates/project/src/debugger/dap_command.rs | 8 +- crates/project/src/debugger/dap_store.rs | 10 - crates/project/src/debugger/locators/cargo.rs | 2 +- crates/project/src/debugger/session.rs | 11 +- crates/project/src/git_store.rs | 252 +-- crates/project/src/git_store/git_traversal.rs | 48 +- crates/project/src/lsp_store.rs | 102 +- .../project/src/manifest_tree/server_tree.rs | 23 +- crates/project/src/project.rs | 12 +- crates/project/src/terminals.rs | 11 +- crates/project_panel/src/project_panel.rs | 27 +- crates/proto/proto/debugger.proto | 18 +- crates/proto/proto/git.proto | 11 - crates/proto/proto/zed.proto | 4 +- crates/proto/src/proto.rs | 25 - crates/remote/src/ssh_session.rs | 2 +- crates/search/src/buffer_search.rs | 28 +- crates/search/src/project_search.rs | 13 +- crates/settings/src/settings.rs | 8 +- crates/settings/src/settings_store.rs | 85 +- crates/settings_profile_selector/Cargo.toml | 35 - crates/settings_profile_selector/LICENSE-GPL | 1 - .../src/settings_profile_selector.rs | 581 ------ crates/settings_ui/Cargo.toml | 8 +- crates/settings_ui/src/keybindings.rs | 553 ++++- crates/settings_ui/src/settings_ui.rs | 114 +- .../src/ui_components/keystroke_input.rs | 1388 ------------- crates/settings_ui/src/ui_components/mod.rs | 1 - crates/settings_ui/src/ui_components/table.rs | 654 +----- crates/sum_tree/src/sum_tree.rs | 12 +- crates/terminal_view/src/terminal_view.rs | 4 - crates/theme/src/icon_theme.rs | 2 - crates/theme/src/settings.rs | 3 +- crates/title_bar/Cargo.toml | 1 - crates/title_bar/src/collab.rs | 60 +- crates/title_bar/src/title_bar.rs | 52 +- .../ui/src/components/button/split_button.rs | 12 +- .../ui/src/components/button/toggle_button.rs | 582 +----- crates/ui/src/components/dropdown_menu.rs | 36 +- crates/ui/src/components/keybinding.rs | 2 +- crates/ui/src/components/numeric_stepper.rs | 145 +- crates/ui/src/components/popover.rs | 2 +- crates/ui/src/components/scrollbar.rs | 82 +- crates/ui/src/components/toggle.rs | 3 - crates/ui/src/styles/animation.rs | 18 +- crates/ui_prompt/src/ui_prompt.rs | 72 +- crates/vim/src/command.rs | 195 +- crates/vim/src/helix.rs | 214 +- crates/vim/src/insert.rs | 2 +- crates/vim/src/motion.rs | 9 +- crates/vim/src/normal/change.rs | 16 +- crates/vim/src/vim.rs | 1 - crates/vim/test_data/test_change_w.json | 4 - crates/vim/test_data/test_normal_command.json | 64 - crates/web_search/Cargo.toml | 2 +- crates/web_search/src/web_search.rs | 5 +- crates/web_search_providers/Cargo.toml | 2 +- crates/web_search_providers/src/cloud.rs | 2 +- crates/welcome/Cargo.toml | 1 + crates/welcome/src/welcome.rs | 1 + crates/welcome/src/welcome_ui.rs | 1 + .../src/welcome_ui}/theme_preview.rs | 58 +- crates/workspace/src/dock.rs | 4 - crates/workspace/src/persistence.rs | 72 - crates/workspace/src/workspace.rs | 187 +- crates/worktree/src/worktree.rs | 14 +- crates/zed/Cargo.toml | 4 +- crates/zed/RELEASE_CHANNEL | 2 +- crates/zed/resources/app-icon-nightly.png | Bin 242801 -> 239870 bytes crates/zed/resources/app-icon-nightly@2x.png | Bin 923937 -> 716288 bytes crates/zed/resources/windows/zed.iss | 11 +- crates/zed/src/main.rs | 8 +- crates/zed/src/reliability.rs | 2 +- crates/zed/src/zed.rs | 44 +- crates/zed/src/zed/app_menus.rs | 4 - crates/zed/src/zed/component_preview.rs | 16 +- .../zed/src/zed/inline_completion_registry.rs | 31 +- crates/zed_actions/src/lib.rs | 15 +- crates/zeta/Cargo.toml | 10 +- crates/zeta/src/zeta.rs | 227 +-- crates/zlog/src/sink.rs | 23 - crates/zlog/src/zlog.rs | 2 +- docs/README.md | 61 - docs/book.toml | 21 +- docs/src/SUMMARY.md | 3 +- docs/src/accounts.md | 2 +- docs/src/ai/agent-panel.md | 4 +- docs/src/ai/agent-settings.md | 226 --- docs/src/ai/billing.md | 14 +- docs/src/ai/configuration.md | 733 ++++++- docs/src/ai/inline-assistant.md | 2 +- docs/src/ai/llm-providers.md | 607 ------ docs/src/ai/mcp.md | 4 +- docs/src/ai/overview.md | 7 +- docs/src/ai/plans-and-usage.md | 2 +- docs/src/ai/rules.md | 2 +- docs/src/ai/temperature.md | 23 + docs/src/configuring-zed.md | 46 +- docs/src/extensions/installing-extensions.md | 2 +- docs/src/getting-started.md | 2 +- docs/src/git.md | 7 +- docs/src/key-bindings.md | 2 +- docs/src/languages/c.md | 2 +- docs/src/languages/cpp.md | 2 +- docs/src/languages/deno.md | 34 - docs/src/linux.md | 75 - docs/src/telemetry.md | 13 +- docs/src/visual-customization.md | 2 +- docs/theme/index.hbs | 2 +- extensions/emmet/Cargo.toml | 2 +- script/bundle-linux | 17 - script/bundle-mac | 17 - script/bundle-windows.ps1 | 34 +- tooling/workspace-hack/Cargo.toml | 12 +- typos.toml | 6 +- 313 files changed, 6560 insertions(+), 20270 deletions(-) delete mode 100644 assets/badge/v0.json delete mode 100644 assets/icons/cloud_download.svg delete mode 100644 assets/icons/file_icons/surrealql.svg delete mode 100644 crates/acp_thread/src/old_acp_support.rs delete mode 100644 crates/agent_servers/src/codex.rs delete mode 100644 crates/agent_servers/src/mcp_server.rs create mode 100644 crates/agent_servers/src/stdio_agent_server.rs delete mode 100644 crates/ai_onboarding/src/ai_upsell_card.rs delete mode 100644 crates/client/src/cloud.rs delete mode 100644 crates/client/src/cloud/user_store.rs delete mode 100644 crates/cloud_api_client/Cargo.toml delete mode 120000 crates/cloud_api_client/LICENSE-APACHE delete mode 100644 crates/cloud_api_client/src/cloud_api_client.rs delete mode 100644 crates/cloud_api_types/Cargo.toml delete mode 120000 crates/cloud_api_types/LICENSE-APACHE delete mode 100644 crates/cloud_api_types/src/cloud_api_types.rs delete mode 100644 crates/cloud_api_types/src/timestamp.rs delete mode 100644 crates/cloud_llm_client/Cargo.toml delete mode 120000 crates/cloud_llm_client/LICENSE-APACHE delete mode 100644 crates/cloud_llm_client/src/cloud_llm_client.rs delete mode 100644 crates/extension/src/capabilities.rs delete mode 100644 crates/extension/src/capabilities/download_file_capability.rs delete mode 100644 crates/extension/src/capabilities/npm_install_package_capability.rs delete mode 100644 crates/extension/src/capabilities/process_exec_capability.rs delete mode 100644 crates/extension_host/src/capability_granter.rs delete mode 100644 crates/gpui/examples/paths_bench.rs delete mode 100644 crates/gpui/src/platform/windows/directx_atlas.rs delete mode 100644 crates/gpui/src/platform/windows/directx_renderer.rs delete mode 100644 crates/gpui/src/platform/windows/shaders.hlsl delete mode 100644 crates/onboarding/src/basics_page.rs delete mode 100644 crates/onboarding/src/editing_page.rs delete mode 100644 crates/onboarding/src/welcome.rs delete mode 100644 crates/settings_profile_selector/Cargo.toml delete mode 120000 crates/settings_profile_selector/LICENSE-GPL delete mode 100644 crates/settings_profile_selector/src/settings_profile_selector.rs delete mode 100644 crates/settings_ui/src/ui_components/keystroke_input.rs delete mode 100644 crates/vim/test_data/test_normal_command.json create mode 100644 crates/welcome/src/welcome_ui.rs rename crates/{onboarding/src => welcome/src/welcome_ui}/theme_preview.rs (81%) delete mode 100644 docs/src/ai/agent-settings.md delete mode 100644 docs/src/ai/llm-providers.md create mode 100644 docs/src/ai/temperature.md diff --git a/.github/actions/build_docs/action.yml b/.github/actions/build_docs/action.yml index a7effad247..9a2d7e1ec7 100644 --- a/.github/actions/build_docs/action.yml +++ b/.github/actions/build_docs/action.yml @@ -19,7 +19,7 @@ runs: shell: bash -euxo pipefail {0} run: ./script/linux - - name: Check for broken links (in MD) + - name: Check for broken links uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2.4.1 with: args: --no-progress --exclude '^http' './docs/src/**/*' @@ -30,9 +30,3 @@ runs: run: | mkdir -p target/deploy mdbook build ./docs --dest-dir=../target/deploy/docs/ - - - name: Check for broken links (in HTML) - uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2.4.1 - with: - args: --no-progress --exclude '^http' 'target/deploy/docs/' - fail: true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7dfc33e0d2..a4da5e99ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -269,10 +269,6 @@ jobs: 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 @@ -771,8 +767,7 @@ jobs: timeout-minutes: 120 name: Create a Windows installer runs-on: [self-hosted, Windows, X64] - if: contains(github.event.pull_request.labels.*.name, 'run-bundling') - # if: (startsWith(github.ref, 'refs/tags/v') || contains(github.event.pull_request.labels.*.name, 'run-bundling')) + if: false && (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 }} diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 4f7506967b..f799133ea7 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -111,11 +111,6 @@ jobs: 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 @@ -141,11 +136,6 @@ jobs: - 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 @@ -178,11 +168,6 @@ jobs: - 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 @@ -277,11 +262,6 @@ jobs: 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 diff --git a/Cargo.lock b/Cargo.lock index 61875e878f..38bdc0f168 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,7 +6,6 @@ version = 4 name = "acp_thread" version = "0.1.0" dependencies = [ - "agent-client-protocol", "agentic-coding-protocol", "anyhow", "assistant_tool", @@ -90,7 +89,6 @@ dependencies = [ "assistant_tools", "chrono", "client", - "cloud_llm_client", "collections", "component", "context_server", @@ -133,26 +131,15 @@ dependencies = [ "uuid", "workspace", "workspace-hack", + "zed_llm_client", "zstd", ] -[[package]] -name = "agent-client-protocol" -version = "0.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ec54650c1fc2d63498bab47eeeaa9eddc7d239d53f615b797a0e84f7ccc87b" -dependencies = [ - "schemars", - "serde", - "serde_json", -] - [[package]] name = "agent_servers" version = "0.1.0" dependencies = [ "acp_thread", - "agent-client-protocol", "agentic-coding-protocol", "anyhow", "collections", @@ -168,7 +155,6 @@ dependencies = [ "nix 0.29.0", "paths", "project", - "rand 0.8.5", "schemars", "serde", "serde_json", @@ -189,7 +175,6 @@ name = "agent_settings" version = "0.1.0" dependencies = [ "anyhow", - "cloud_llm_client", "collections", "fs", "gpui", @@ -201,6 +186,7 @@ dependencies = [ "serde_json_lenient", "settings", "workspace-hack", + "zed_llm_client", ] [[package]] @@ -209,9 +195,9 @@ version = "0.1.0" dependencies = [ "acp_thread", "agent", - "agent-client-protocol", "agent_servers", "agent_settings", + "agentic-coding-protocol", "ai_onboarding", "anyhow", "assistant_context", @@ -223,7 +209,6 @@ dependencies = [ "buffer_diff", "chrono", "client", - "cloud_llm_client", "collections", "command_palette_hooks", "component", @@ -295,6 +280,7 @@ dependencies = [ "workspace", "workspace-hack", "zed_actions", + "zed_llm_client", ] [[package]] @@ -687,7 +673,6 @@ dependencies = [ "chrono", "client", "clock", - "cloud_llm_client", "collections", "context_server", "fs", @@ -721,6 +706,7 @@ dependencies = [ "uuid", "workspace", "workspace-hack", + "zed_llm_client", ] [[package]] @@ -828,7 +814,6 @@ dependencies = [ "chrono", "client", "clock", - "cloud_llm_client", "collections", "component", "derive_more 0.99.19", @@ -882,6 +867,7 @@ dependencies = [ "which 6.0.3", "workspace", "workspace-hack", + "zed_llm_client", "zlog", ] @@ -2976,8 +2962,6 @@ dependencies = [ "base64 0.22.1", "chrono", "clock", - "cloud_api_client", - "cloud_llm_client", "cocoa 0.26.0", "collections", "credentials_provider", @@ -3020,6 +3004,7 @@ dependencies = [ "windows 0.61.1", "workspace-hack", "worktree", + "zed_llm_client", ] [[package]] @@ -3032,44 +3017,6 @@ dependencies = [ "workspace-hack", ] -[[package]] -name = "cloud_api_client" -version = "0.1.0" -dependencies = [ - "anyhow", - "cloud_api_types", - "futures 0.3.31", - "http_client", - "parking_lot", - "serde_json", - "workspace-hack", -] - -[[package]] -name = "cloud_api_types" -version = "0.1.0" -dependencies = [ - "chrono", - "cloud_llm_client", - "pretty_assertions", - "serde", - "serde_json", - "workspace-hack", -] - -[[package]] -name = "cloud_llm_client" -version = "0.1.0" -dependencies = [ - "anyhow", - "pretty_assertions", - "serde", - "serde_json", - "strum 0.27.1", - "uuid", - "workspace-hack", -] - [[package]] name = "clru" version = "0.6.2" @@ -3196,7 +3143,6 @@ dependencies = [ "chrono", "client", "clock", - "cloud_llm_client", "collab_ui", "collections", "command_palette_hooks", @@ -3283,6 +3229,7 @@ dependencies = [ "workspace", "workspace-hack", "worktree", + "zed_llm_client", "zlog", ] @@ -3723,6 +3670,17 @@ dependencies = [ "libm", ] +[[package]] +name = "coreaudio-rs" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" +dependencies = [ + "bitflags 1.3.2", + "core-foundation-sys", + "coreaudio-sys", +] + [[package]] name = "coreaudio-rs" version = "0.12.1" @@ -3780,6 +3738,29 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "cpal" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" +dependencies = [ + "alsa", + "core-foundation-sys", + "coreaudio-rs 0.11.3", + "dasp_sample", + "jni", + "js-sys", + "libc", + "mach2", + "ndk 0.8.0", + "ndk-context", + "oboe", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.54.0", +] + [[package]] name = "cpal" version = "0.16.0" @@ -3793,7 +3774,7 @@ dependencies = [ "js-sys", "libc", "mach2", - "ndk", + "ndk 0.9.0", "ndk-context", "num-derive", "num-traits", @@ -4263,7 +4244,7 @@ dependencies = [ [[package]] name = "dap-types" version = "0.0.1" -source = "git+https://github.com/zed-industries/dap-types?rev=1b461b310481d01e02b2603c16d7144b926339f8#1b461b310481d01e02b2603c16d7144b926339f8" +source = "git+https://github.com/zed-industries/dap-types?rev=7f39295b441614ca9dbf44293e53c32f666897f9#7f39295b441614ca9dbf44293e53c32f666897f9" dependencies = [ "schemars", "serde", @@ -4731,6 +4712,7 @@ name = "docs_preprocessor" version = "0.1.0" dependencies = [ "anyhow", + "clap", "command_palette", "gpui", "mdbook", @@ -4741,7 +4723,6 @@ dependencies = [ "util", "workspace-hack", "zed", - "zlog", ] [[package]] @@ -4919,7 +4900,6 @@ dependencies = [ "text", "theme", "time", - "tree-sitter-bash", "tree-sitter-c", "tree-sitter-html", "tree-sitter-python", @@ -5203,7 +5183,6 @@ dependencies = [ "chrono", "clap", "client", - "cloud_llm_client", "collections", "debug_adapter_extension", "dirs 4.0.0", @@ -5243,6 +5222,7 @@ dependencies = [ "uuid", "watch", "workspace-hack", + "zed_llm_client", ] [[package]] @@ -5307,12 +5287,6 @@ dependencies = [ "zune-inflate", ] -[[package]] -name = "extended" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af9673d8203fcb076b19dfd17e38b3d4ae9f44959416ea532ce72415a6020365" - [[package]] name = "extension" version = "0.1.0" @@ -5332,13 +5306,11 @@ dependencies = [ "log", "lsp", "parking_lot", - "pretty_assertions", "semantic_version", "serde", "serde_json", "task", "toml 0.8.20", - "url", "util", "wasm-encoder 0.221.3", "wasmparser 0.221.3", @@ -6324,7 +6296,6 @@ dependencies = [ "call", "chrono", "client", - "cloud_llm_client", "collections", "command_palette_hooks", "component", @@ -6367,6 +6338,7 @@ dependencies = [ "workspace", "workspace-hack", "zed_actions", + "zed_llm_client", "zlog", ] @@ -7365,9 +7337,9 @@ dependencies = [ [[package]] name = "grid" -version = "0.17.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71b01d27060ad58be4663b9e4ac9e2d4806918e8876af8912afbddd1a91d5eaa" +checksum = "be136d9dacc2a13cc70bb6c8f902b414fb2641f8db1314637c6b7933411a8f82" [[package]] name = "group" @@ -7680,6 +7652,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "hound" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" + [[package]] name = "html5ever" version = "0.27.0" @@ -8312,7 +8290,6 @@ version = "0.1.0" dependencies = [ "anyhow", "client", - "cloud_llm_client", "copilot", "editor", "feature_flags", @@ -8335,6 +8312,7 @@ dependencies = [ "workspace", "workspace-hack", "zed_actions", + "zed_llm_client", "zeta", ] @@ -9027,7 +9005,6 @@ dependencies = [ "anyhow", "base64 0.22.1", "client", - "cloud_llm_client", "collections", "futures 0.3.31", "gpui", @@ -9045,6 +9022,7 @@ dependencies = [ "thiserror 2.0.12", "util", "workspace-hack", + "zed_llm_client", ] [[package]] @@ -9060,7 +9038,6 @@ dependencies = [ "bedrock", "chrono", "client", - "cloud_llm_client", "collections", "component", "convert_case 0.8.0", @@ -9102,6 +9079,7 @@ dependencies = [ "vercel", "workspace-hack", "x_ai", + "zed_llm_client", ] [[package]] @@ -9163,7 +9141,6 @@ dependencies = [ "chrono", "collections", "dap", - "feature_flags", "futures 0.3.31", "gpui", "http_client", @@ -9356,7 +9333,7 @@ dependencies = [ [[package]] name = "libwebrtc" version = "0.3.10" -source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d" +source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4#d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4" dependencies = [ "cxx", "jni", @@ -9436,7 +9413,7 @@ checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" [[package]] name = "livekit" version = "0.7.8" -source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d" +source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4#d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4" dependencies = [ "chrono", "futures-util", @@ -9459,7 +9436,7 @@ dependencies = [ [[package]] name = "livekit-api" version = "0.4.2" -source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d" +source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4#d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4" dependencies = [ "futures-util", "http 0.2.12", @@ -9483,7 +9460,7 @@ dependencies = [ [[package]] name = "livekit-protocol" version = "0.3.9" -source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d" +source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4#d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4" dependencies = [ "futures-util", "livekit-runtime", @@ -9500,7 +9477,7 @@ dependencies = [ [[package]] name = "livekit-runtime" version = "0.4.0" -source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d" +source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4#d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4" dependencies = [ "tokio", "tokio-stream", @@ -9532,7 +9509,7 @@ dependencies = [ "core-foundation 0.10.0", "core-video", "coreaudio-rs 0.12.1", - "cpal", + "cpal 0.16.0", "futures 0.3.31", "gpui", "gpui_tokio", @@ -10313,6 +10290,20 @@ dependencies = [ "workspace-hack", ] +[[package]] +name = "ndk" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +dependencies = [ + "bitflags 2.9.0", + "jni-sys", + "log", + "ndk-sys 0.5.0+25.2.9519653", + "num_enum", + "thiserror 1.0.69", +] + [[package]] name = "ndk" version = "0.9.0" @@ -10322,7 +10313,7 @@ dependencies = [ "bitflags 2.9.0", "jni-sys", "log", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "thiserror 1.0.69", ] @@ -10333,6 +10324,15 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + [[package]] name = "ndk-sys" version = "0.6.0+11769913" @@ -10905,6 +10905,29 @@ dependencies = [ "memchr", ] +[[package]] +name = "oboe" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" +dependencies = [ + "jni", + "ndk 0.8.0", + "ndk-context", + "num-derive", + "num-traits", + "oboe-sys", +] + +[[package]] +name = "oboe-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" +dependencies = [ + "cc", +] + [[package]] name = "ollama" version = "0.1.0" @@ -10923,28 +10946,16 @@ name = "onboarding" version = "0.1.0" dependencies = [ "anyhow", - "client", "command_palette_hooks", - "component", "db", - "documented", - "editor", "feature_flags", "fs", "gpui", - "language", - "project", - "schemars", - "serde", "settings", "theme", "ui", - "util", - "vim_mode_setting", "workspace", "workspace-hack", - "zed_actions", - "zlog", ] [[package]] @@ -13695,15 +13706,12 @@ dependencies = [ [[package]] name = "rodio" -version = "0.21.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e40ecf59e742e03336be6a3d53755e789fd05a059fa22dfa0ed624722319e183" +checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" dependencies = [ - "cpal", - "dasp_sample", - "num-rational", - "symphonia", - "tracing", + "cpal 0.15.3", + "hound", ] [[package]] @@ -14708,27 +14716,6 @@ dependencies = [ "zlog", ] -[[package]] -name = "settings_profile_selector" -version = "0.1.0" -dependencies = [ - "client", - "editor", - "fuzzy", - "gpui", - "language", - "menu", - "picker", - "project", - "serde_json", - "settings", - "theme", - "ui", - "workspace", - "workspace-hack", - "zed_actions", -] - [[package]] name = "settings_ui" version = "0.1.0" @@ -14751,6 +14738,7 @@ dependencies = [ "notifications", "paths", "project", + "schemars", "search", "serde", "serde_json", @@ -15744,66 +15732,6 @@ dependencies = [ "zeno", ] -[[package]] -name = "symphonia" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9" -dependencies = [ - "lazy_static", - "symphonia-codec-pcm", - "symphonia-core", - "symphonia-format-riff", - "symphonia-metadata", -] - -[[package]] -name = "symphonia-codec-pcm" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f395a67057c2ebc5e84d7bb1be71cce1a7ba99f64e0f0f0e303a03f79116f89b" -dependencies = [ - "log", - "symphonia-core", -] - -[[package]] -name = "symphonia-core" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "798306779e3dc7d5231bd5691f5a813496dc79d3f56bf82e25789f2094e022c3" -dependencies = [ - "arrayvec", - "bitflags 1.3.2", - "bytemuck", - "lazy_static", - "log", -] - -[[package]] -name = "symphonia-format-riff" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f7be232f962f937f4b7115cbe62c330929345434c834359425e043bfd15f50" -dependencies = [ - "extended", - "log", - "symphonia-core", - "symphonia-metadata", -] - -[[package]] -name = "symphonia-metadata" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc622b9841a10089c5b18e99eb904f4341615d5aa55bbf4eedde1be721a4023c" -dependencies = [ - "encoding_rs", - "lazy_static", - "log", - "symphonia-core", -] - [[package]] name = "syn" version = "1.0.109" @@ -15984,12 +15912,13 @@ dependencies = [ [[package]] name = "taffy" -version = "0.8.3" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aaef0ac998e6527d6d0d5582f7e43953bb17221ac75bb8eb2fcc2db3396db1c" +checksum = "e8b61630cba2afd2c851821add2e1bb1b7851a2436e839ab73b56558b009035e" dependencies = [ "arrayvec", "grid", + "num-traits", "serde", "slotmap", ] @@ -16536,7 +16465,6 @@ dependencies = [ "call", "chrono", "client", - "cloud_llm_client", "collections", "db", "gpui", @@ -18505,11 +18433,11 @@ name = "web_search" version = "0.1.0" dependencies = [ "anyhow", - "cloud_llm_client", "collections", "gpui", "serde", "workspace-hack", + "zed_llm_client", ] [[package]] @@ -18518,7 +18446,6 @@ version = "0.1.0" dependencies = [ "anyhow", "client", - "cloud_llm_client", "futures 0.3.31", "gpui", "http_client", @@ -18527,6 +18454,7 @@ dependencies = [ "serde_json", "web_search", "workspace-hack", + "zed_llm_client", ] [[package]] @@ -18550,7 +18478,7 @@ dependencies = [ [[package]] name = "webrtc-sys" version = "0.3.7" -source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d" +source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4#d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4" dependencies = [ "cc", "cxx", @@ -18563,7 +18491,7 @@ dependencies = [ [[package]] name = "webrtc-sys-build" version = "0.3.6" -source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=5f04705ac3f356350ae31534ffbc476abc9ea83d#5f04705ac3f356350ae31534ffbc476abc9ea83d" +source = "git+https://github.com/zed-industries/livekit-rust-sdks?rev=d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4#d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4" dependencies = [ "fs2", "regex", @@ -18598,6 +18526,7 @@ dependencies = [ "serde", "settings", "telemetry", + "theme", "ui", "util", "vim_mode_setting", @@ -19689,12 +19618,14 @@ dependencies = [ "cc", "chrono", "cipher", + "clang-sys", "clap", "clap_builder", "codespan-reporting 0.12.0", "concurrent-queue", "core-foundation 0.9.4", "core-foundation-sys", + "coreaudio-sys", "cranelift-codegen", "crc32fast", "crossbeam-epoch", @@ -20190,7 +20121,7 @@ dependencies = [ [[package]] name = "zed" -version = "0.199.0" +version = "0.197.3" dependencies = [ "activity_indicator", "agent", @@ -20231,7 +20162,6 @@ dependencies = [ "extension", "extension_host", "extensions_ui", - "feature_flags", "feedback", "file_finder", "fs", @@ -20293,7 +20223,6 @@ dependencies = [ "serde_json", "session", "settings", - "settings_profile_selector", "settings_ui", "shellexpand 2.1.2", "smol", @@ -20352,7 +20281,7 @@ dependencies = [ [[package]] name = "zed_emmet" -version = "0.0.4" +version = "0.0.3" dependencies = [ "zed_extension_api 0.1.0", ] @@ -20391,6 +20320,19 @@ dependencies = [ "zed_extension_api 0.1.0", ] +[[package]] +name = "zed_llm_client" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6607f74dee2a18a9ce0f091844944a0e59881359ab62e0768fb0618f55d4c1dc" +dependencies = [ + "anyhow", + "serde", + "serde_json", + "strum 0.27.1", + "uuid", +] + [[package]] name = "zed_proto" version = "0.2.2" @@ -20570,8 +20512,6 @@ dependencies = [ "call", "client", "clock", - "cloud_api_types", - "cloud_llm_client", "collections", "command_palette_hooks", "copilot", @@ -20591,6 +20531,7 @@ dependencies = [ "menu", "postage", "project", + "proto", "regex", "release_channel", "reqwest_client", @@ -20612,6 +20553,7 @@ dependencies = [ "workspace-hack", "worktree", "zed_actions", + "zed_llm_client", "zlog", ] diff --git a/Cargo.toml b/Cargo.toml index 9a05d89e53..ec793a7429 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,13 +1,13 @@ [workspace] resolver = "2" members = [ - "crates/acp_thread", "crates/activity_indicator", - "crates/agent", - "crates/agent_servers", - "crates/agent_settings", + "crates/acp_thread", "crates/agent_ui", + "crates/agent", + "crates/agent_settings", "crates/ai_onboarding", + "crates/agent_servers", "crates/anthropic", "crates/askpass", "crates/assets", @@ -29,9 +29,6 @@ members = [ "crates/cli", "crates/client", "crates/clock", - "crates/cloud_api_client", - "crates/cloud_api_types", - "crates/cloud_llm_client", "crates/collab", "crates/collab_ui", "crates/collections", @@ -51,8 +48,8 @@ members = [ "crates/diagnostics", "crates/docs_preprocessor", "crates/editor", - "crates/eval", "crates/explorer_command_injector", + "crates/eval", "crates/extension", "crates/extension_api", "crates/extension_cli", @@ -73,6 +70,7 @@ members = [ "crates/gpui", "crates/gpui_macros", "crates/gpui_tokio", + "crates/html_to_markdown", "crates/http_client", "crates/http_client_tls", @@ -101,6 +99,7 @@ members = [ "crates/markdown_preview", "crates/media", "crates/menu", + "crates/svg_preview", "crates/migrator", "crates/mistral", "crates/multi_buffer", @@ -141,7 +140,6 @@ members = [ "crates/semantic_version", "crates/session", "crates/settings", - "crates/settings_profile_selector", "crates/settings_ui", "crates/snippet", "crates/snippet_provider", @@ -154,7 +152,6 @@ members = [ "crates/sum_tree", "crates/supermaven", "crates/supermaven_api", - "crates/svg_preview", "crates/tab_switcher", "crates/task", "crates/tasks_ui", @@ -254,9 +251,6 @@ channel = { path = "crates/channel" } cli = { path = "crates/cli" } client = { path = "crates/client" } 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" } collab = { path = "crates/collab" } collab_ui = { path = "crates/collab_ui" } collections = { path = "crates/collections" } @@ -343,7 +337,6 @@ 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" } project_panel = { path = "crates/project_panel" } project_symbols = { path = "crates/project_symbols" } @@ -420,7 +413,6 @@ zlog_settings = { path = "crates/zlog_settings" } # agentic-coding-protocol = "0.0.10" -agent-client-protocol = "0.0.11" aho-corasick = "1.1" alacritty_terminal = { git = "https://github.com/zed-industries/alacritty.git", branch = "add-hush-login-flag" } any_vec = "0.14" @@ -467,7 +459,7 @@ core-video = { version = "0.4.3", features = ["metal"] } cpal = "0.16" criterion = { version = "0.5", features = ["html_reports"] } ctor = "0.4.0" -dap-types = { git = "https://github.com/zed-industries/dap-types", rev = "1b461b310481d01e02b2603c16d7144b926339f8" } +dap-types = { git = "https://github.com/zed-industries/dap-types", rev = "7f39295b441614ca9dbf44293e53c32f666897f9" } dashmap = "6.0" derive_more = "0.99.17" dirs = "4.0" @@ -652,6 +644,7 @@ which = "6.0.0" windows-core = "0.61" wit-component = "0.221" workspace-hack = "0.1.0" +zed_llm_client = "= 0.8.6" zstd = "0.11" [workspace.dependencies.async-stripe] @@ -680,13 +673,8 @@ features = [ "Win32_Globalization", "Win32_Graphics_Direct2D", "Win32_Graphics_Direct2D_Common", - "Win32_Graphics_Direct3D", - "Win32_Graphics_Direct3D11", - "Win32_Graphics_Direct3D_Fxc", - "Win32_Graphics_DirectComposition", "Win32_Graphics_DirectWrite", "Win32_Graphics_Dwm", - "Win32_Graphics_Dxgi", "Win32_Graphics_Dxgi_Common", "Win32_Graphics_Gdi", "Win32_Graphics_Imaging", @@ -731,11 +719,6 @@ workspace-hack = { path = "tooling/workspace-hack" } split-debuginfo = "unpacked" codegen-units = 16 -# mirror configuration for crates compiled for the build platform -# (without this cargo will compile ~400 crates twice) -[profile.dev.build-override] -codegen-units = 16 - [profile.dev.package] taffy = { opt-level = 3 } cranelift-codegen = { opt-level = 3 } diff --git a/README.md b/README.md index 38547c1ca4..4c794efc3d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # Zed -[![Zed](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/zed-industries/zed/main/assets/badge/v0.json)](https://zed.dev) [![CI](https://github.com/zed-industries/zed/actions/workflows/ci.yml/badge.svg)](https://github.com/zed-industries/zed/actions/workflows/ci.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). diff --git a/assets/badge/v0.json b/assets/badge/v0.json deleted file mode 100644 index c7d18bb42b..0000000000 --- a/assets/badge/v0.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "", - "message": "Zed", - "logoSvg": "", - "logoWidth": 16, - "labelColor": "black", - "color": "white" -} diff --git a/assets/icons/audio_off.svg b/assets/icons/audio_off.svg index dfb5a1c458..93b98471ca 100644 --- a/assets/icons/audio_off.svg +++ b/assets/icons/audio_off.svg @@ -1,7 +1 @@ - - - - - - - + diff --git a/assets/icons/audio_on.svg b/assets/icons/audio_on.svg index d1bef0d337..42310ea32c 100644 --- a/assets/icons/audio_on.svg +++ b/assets/icons/audio_on.svg @@ -1,5 +1 @@ - - - - - + diff --git a/assets/icons/cloud_download.svg b/assets/icons/cloud_download.svg deleted file mode 100644 index bc7a8376d1..0000000000 --- a/assets/icons/cloud_download.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/exit.svg b/assets/icons/exit.svg index 1ff9d78824..2cc6ce120d 100644 --- a/assets/icons/exit.svg +++ b/assets/icons/exit.svg @@ -1,5 +1,8 @@ - - - - + + diff --git a/assets/icons/file_icons/surrealql.svg b/assets/icons/file_icons/surrealql.svg deleted file mode 100644 index 076f93e808..0000000000 --- a/assets/icons/file_icons/surrealql.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/assets/icons/mic.svg b/assets/icons/mic.svg index 1d9c5bc9ed..01f4c9bf66 100644 --- a/assets/icons/mic.svg +++ b/assets/icons/mic.svg @@ -1,5 +1,3 @@ - - - - + + diff --git a/assets/icons/mic_mute.svg b/assets/icons/mic_mute.svg index 8c61ae2f1c..fe5f8201cc 100644 --- a/assets/icons/mic_mute.svg +++ b/assets/icons/mic_mute.svg @@ -1,8 +1,3 @@ - - - - - - - + + diff --git a/assets/icons/screen.svg b/assets/icons/screen.svg index 4b686b58f9..ad252e64cf 100644 --- a/assets/icons/screen.svg +++ b/assets/icons/screen.svg @@ -1,5 +1,8 @@ - - - - + + diff --git a/assets/keymaps/default-linux.json b/assets/keymaps/default-linux.json index 9d5c6b2043..a4f812b2fc 100644 --- a/assets/keymaps/default-linux.json +++ b/assets/keymaps/default-linux.json @@ -232,7 +232,7 @@ "ctrl-n": "agent::NewThread", "ctrl-alt-n": "agent::NewTextThread", "ctrl-shift-h": "agent::OpenHistory", - "ctrl-alt-c": "agent::OpenSettings", + "ctrl-alt-c": "agent::OpenConfiguration", "ctrl-alt-p": "agent::OpenRulesLibrary", "ctrl-i": "agent::ToggleProfileSelector", "ctrl-alt-/": "agent::ToggleModelSelector", @@ -495,7 +495,7 @@ "shift-f12": "editor::GoToImplementation", "alt-ctrl-f12": "editor::GoToTypeDefinitionSplit", "alt-shift-f12": "editor::FindAllReferences", - "ctrl-m": "editor::MoveToEnclosingBracket", // from jetbrains + "ctrl-m": "editor::MoveToEnclosingBracket", "ctrl-|": "editor::MoveToEnclosingBracket", "ctrl-{": "editor::Fold", "ctrl-}": "editor::UnfoldLines", diff --git a/assets/keymaps/default-macos.json b/assets/keymaps/default-macos.json index 4c44906d55..eded8c73e6 100644 --- a/assets/keymaps/default-macos.json +++ b/assets/keymaps/default-macos.json @@ -272,7 +272,7 @@ "cmd-n": "agent::NewThread", "cmd-alt-n": "agent::NewTextThread", "cmd-shift-h": "agent::OpenHistory", - "cmd-alt-c": "agent::OpenSettings", + "cmd-alt-c": "agent::OpenConfiguration", "cmd-alt-p": "agent::OpenRulesLibrary", "cmd-i": "agent::ToggleProfileSelector", "cmd-alt-/": "agent::ToggleModelSelector", @@ -549,7 +549,7 @@ "alt-cmd-f12": "editor::GoToTypeDefinitionSplit", "alt-shift-f12": "editor::FindAllReferences", "cmd-|": "editor::MoveToEnclosingBracket", - "ctrl-m": "editor::MoveToEnclosingBracket", // From Jetbrains + "ctrl-m": "editor::MoveToEnclosingBracket", "alt-cmd-[": "editor::Fold", "alt-cmd-]": "editor::UnfoldLines", "cmd-k cmd-l": "editor::ToggleFold", diff --git a/assets/keymaps/linux/cursor.json b/assets/keymaps/linux/cursor.json index 1c381b0cf0..347b7885fc 100644 --- a/assets/keymaps/linux/cursor.json +++ b/assets/keymaps/linux/cursor.json @@ -8,7 +8,7 @@ "ctrl-shift-i": "agent::ToggleFocus", "ctrl-l": "agent::ToggleFocus", "ctrl-shift-l": "agent::ToggleFocus", - "ctrl-shift-j": "agent::OpenSettings" + "ctrl-shift-j": "agent::OpenConfiguration" } }, { diff --git a/assets/keymaps/linux/jetbrains.json b/assets/keymaps/linux/jetbrains.json index 9bc1f24bfb..216597fa43 100644 --- a/assets/keymaps/linux/jetbrains.json +++ b/assets/keymaps/linux/jetbrains.json @@ -4,7 +4,6 @@ "ctrl-alt-s": "zed::OpenSettings", "ctrl-{": "pane::ActivatePreviousItem", "ctrl-}": "pane::ActivateNextItem", - "shift-escape": null, // Unmap workspace::zoom "ctrl-f2": "debugger::Stop", "f6": "debugger::Pause", "f7": "debugger::StepInto", @@ -45,8 +44,8 @@ "ctrl-alt-right": "pane::GoForward", "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-b": "editor::GoToDefinition", // Conflicts with workspace::ToggleLeftDock + // "ctrl-alt-b": "editor::GoToDefinitionSplit", // Conflicts with workspace::ToggleLeftDock "ctrl-shift-b": "editor::GoToTypeDefinition", "ctrl-alt-shift-b": "editor::GoToTypeDefinitionSplit", "f2": "editor::GoToDiagnostic", @@ -101,27 +100,12 @@ "shift shift": "command_palette::Toggle", "ctrl-alt-shift-n": "project_symbols::Toggle", "alt-0": "git_panel::ToggleFocus", - "alt-1": "project_panel::ToggleFocus", + "alt-1": "workspace::ToggleLeftDock", "alt-5": "debug_panel::ToggleFocus", "alt-6": "diagnostics::Deploy", "alt-7": "outline_panel::ToggleFocus" } }, - { - "context": "Pane", // this is to override the default Pane mappings to switch tabs - "bindings": { - "alt-1": "project_panel::ToggleFocus", - "alt-2": null, // Bookmarks (left dock) - "alt-3": null, // Find Panel (bottom dock) - "alt-4": null, // Run Panel (bottom dock) - "alt-5": "debug_panel::ToggleFocus", - "alt-6": "diagnostics::Deploy", - "alt-7": "outline_panel::ToggleFocus", - "alt-8": null, // Services (bottom dock) - "alt-9": null, // Git History (bottom dock) - "alt-0": "git_panel::ToggleFocus" - } - }, { "context": "Workspace || Editor", "bindings": { @@ -167,9 +151,6 @@ { "context": "OutlinePanel", "bindings": { "alt-7": "workspace::CloseActiveDock" } }, { "context": "Dock || Workspace || Terminal || OutlinePanel || ProjectPanel || CollabPanel || (Editor && mode == auto_height)", - "bindings": { - "escape": "editor::ToggleFocus", - "shift-escape": "workspace::CloseActiveDock" - } + "bindings": { "escape": "editor::ToggleFocus" } } ] diff --git a/assets/keymaps/macos/cursor.json b/assets/keymaps/macos/cursor.json index fdf9c437cf..b1d39bef9e 100644 --- a/assets/keymaps/macos/cursor.json +++ b/assets/keymaps/macos/cursor.json @@ -8,7 +8,7 @@ "cmd-shift-i": "agent::ToggleFocus", "cmd-l": "agent::ToggleFocus", "cmd-shift-l": "agent::ToggleFocus", - "cmd-shift-j": "agent::OpenSettings" + "cmd-shift-j": "agent::OpenConfiguration" } }, { diff --git a/assets/keymaps/macos/jetbrains.json b/assets/keymaps/macos/jetbrains.json index b1cd51a338..b4ec17a47b 100644 --- a/assets/keymaps/macos/jetbrains.json +++ b/assets/keymaps/macos/jetbrains.json @@ -4,7 +4,6 @@ "cmd-{": "pane::ActivatePreviousItem", "cmd-}": "pane::ActivateNextItem", "cmd-0": "git_panel::ToggleFocus", // overrides `cmd-0` zoom reset - "shift-escape": null, // Unmap workspace::zoom "ctrl-f2": "debugger::Stop", "f6": "debugger::Pause", "f7": "debugger::StepInto", @@ -109,21 +108,6 @@ "cmd-7": "outline_panel::ToggleFocus" } }, - { - "context": "Pane", // this is to override the default Pane mappings to switch tabs - "bindings": { - "cmd-1": "project_panel::ToggleFocus", - "cmd-2": null, // Bookmarks (left dock) - "cmd-3": null, // Find Panel (bottom dock) - "cmd-4": null, // Run Panel (bottom dock) - "cmd-5": "debug_panel::ToggleFocus", - "cmd-6": "diagnostics::Deploy", - "cmd-7": "outline_panel::ToggleFocus", - "cmd-8": null, // Services (bottom dock) - "cmd-9": null, // Git History (bottom dock) - "cmd-0": "git_panel::ToggleFocus" - } - }, { "context": "Workspace || Editor", "bindings": { @@ -162,15 +146,11 @@ } }, { "context": "GitPanel", "bindings": { "cmd-0": "workspace::CloseActiveDock" } }, - { "context": "ProjectPanel", "bindings": { "cmd-1": "workspace::CloseActiveDock" } }, { "context": "DebugPanel", "bindings": { "cmd-5": "workspace::CloseActiveDock" } }, { "context": "Diagnostics > Editor", "bindings": { "cmd-6": "pane::CloseActiveItem" } }, { "context": "OutlinePanel", "bindings": { "cmd-7": "workspace::CloseActiveDock" } }, { "context": "Dock || Workspace || Terminal || OutlinePanel || ProjectPanel || CollabPanel || (Editor && mode == auto_height)", - "bindings": { - "escape": "editor::ToggleFocus", - "shift-escape": "workspace::CloseActiveDock" - } + "bindings": { "escape": "editor::ToggleFocus" } } ] diff --git a/assets/keymaps/vim.json b/assets/keymaps/vim.json index 6458ac1510..d0cf4621a5 100644 --- a/assets/keymaps/vim.json +++ b/assets/keymaps/vim.json @@ -220,8 +220,6 @@ { "context": "vim_mode == normal", "bindings": { - "i": "vim::InsertBefore", - "a": "vim::InsertAfter", "ctrl-[": "editor::Cancel", ":": "command_palette::Toggle", "c": "vim::PushChange", @@ -355,7 +353,9 @@ "shift-d": "vim::DeleteToEndOfLine", "shift-j": "vim::JoinLines", "shift-y": "vim::YankLine", + "i": "vim::InsertBefore", "shift-i": "vim::InsertFirstNonWhitespace", + "a": "vim::InsertAfter", "shift-a": "vim::InsertEndOfLine", "o": "vim::InsertLineBelow", "shift-o": "vim::InsertLineAbove", @@ -377,8 +377,6 @@ { "context": "vim_mode == helix_normal && !menu", "bindings": { - "i": "vim::HelixInsert", - "a": "vim::HelixAppend", "ctrl-[": "editor::Cancel", ";": "vim::HelixCollapseSelection", ":": "command_palette::Toggle", diff --git a/assets/settings/default.json b/assets/settings/default.json index 4734b5d118..dab1684aef 100644 --- a/assets/settings/default.json +++ b/assets/settings/default.json @@ -691,10 +691,7 @@ // 5. Never show the scrollbar: // "never" "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 + } }, "collaboration_panel": { // Whether to show the collaboration panel button in the status bar. @@ -1877,25 +1874,5 @@ "save_breakpoints": true, "dock": "bottom", "button": true - }, - // Configures any number of settings profiles that are temporarily applied on - // top of your existing user settings when selected from - // `settings profile selector: toggle`. - // Examples: - // "profiles": { - // "Presenting": { - // "agent_font_size": 20.0, - // "buffer_font_size": 20.0, - // "theme": "One Light", - // "ui_font_size": 20.0 - // }, - // "Python (ty)": { - // "languages": { - // "Python": { - // "language_servers": ["ty"] - // } - // } - // } - // } - "profiles": [] + } } diff --git a/crates/acp_thread/Cargo.toml b/crates/acp_thread/Cargo.toml index 011f26f364..b44c25ccc9 100644 --- a/crates/acp_thread/Cargo.toml +++ b/crates/acp_thread/Cargo.toml @@ -16,7 +16,6 @@ doctest = false test-support = ["gpui/test-support", "project/test-support"] [dependencies] -agent-client-protocol.workspace = true agentic-coding-protocol.workspace = true anyhow.workspace = true assistant_tool.workspace = true diff --git a/crates/acp_thread/src/acp_thread.rs b/crates/acp_thread/src/acp_thread.rs index 7203580410..9af1eeb187 100644 --- a/crates/acp_thread/src/acp_thread.rs +++ b/crates/acp_thread/src/acp_thread.rs @@ -1,15 +1,17 @@ mod connection; -mod old_acp_support; pub use connection::*; -pub use old_acp_support::*; -use agent_client_protocol as acp; +pub use acp::ToolCallId; +use agentic_coding_protocol::{ + self as acp, AgentRequest, ProtocolVersion, ToolCallConfirmationOutcome, ToolCallLocation, + UserMessageChunk, +}; use anyhow::{Context as _, Result}; use assistant_tool::ActionLog; use buffer_diff::BufferDiff; use editor::{Bias, MultiBuffer, PathKey}; use futures::{FutureExt, channel::oneshot, future::BoxFuture}; -use gpui::{AppContext, Context, Entity, EventEmitter, SharedString, Task}; +use gpui::{AppContext, AsyncApp, Context, Entity, EventEmitter, SharedString, Task, WeakEntity}; use itertools::Itertools; use language::{ Anchor, Buffer, BufferSnapshot, Capability, LanguageRegistry, OffsetRangeExt as _, Point, @@ -19,37 +21,46 @@ use markdown::Markdown; use project::{AgentLocation, Project}; use std::collections::HashMap; use std::error::Error; -use std::fmt::Formatter; -use std::rc::Rc; +use std::fmt::{Formatter, Write}; use std::{ fmt::Display, mem, path::{Path, PathBuf}, sync::Arc, }; -use ui::App; +use ui::{App, IconName}; use util::ResultExt; -#[derive(Debug)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct UserMessage { - pub content: ContentBlock, + pub content: Entity, } impl UserMessage { pub fn from_acp( - message: impl IntoIterator, + message: &acp::SendUserMessageParams, language_registry: Arc, cx: &mut App, ) -> Self { - let mut content = ContentBlock::Empty; - for chunk in message { - content.append(chunk, &language_registry, cx) + let mut md_source = String::new(); + + for chunk in &message.chunks { + match chunk { + UserMessageChunk::Text { text } => md_source.push_str(&text), + UserMessageChunk::Path { path } => { + write!(&mut md_source, "{}", MentionPath(&path)).unwrap() + } + } + } + + Self { + content: cx + .new(|cx| Markdown::new(md_source.into(), Some(language_registry), None, cx)), } - Self { content: content } } fn to_markdown(&self, cx: &App) -> String { - format!("## User\n\n{}\n\n", self.content.to_markdown(cx)) + format!("## User\n\n{}\n\n", self.content.read(cx).source()) } } @@ -85,7 +96,7 @@ impl Display for MentionPath<'_> { } } -#[derive(Debug, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub struct AssistantMessage { pub chunks: Vec, } @@ -102,24 +113,42 @@ impl AssistantMessage { } } -#[derive(Debug, PartialEq)] +#[derive(Clone, Debug, Eq, PartialEq)] pub enum AssistantMessageChunk { - Message { block: ContentBlock }, - Thought { block: ContentBlock }, + Text { chunk: Entity }, + Thought { chunk: Entity }, } impl AssistantMessageChunk { - pub fn from_str(chunk: &str, language_registry: &Arc, cx: &mut App) -> Self { - Self::Message { - block: ContentBlock::new(chunk.into(), language_registry, cx), + pub fn from_acp( + chunk: acp::AssistantMessageChunk, + language_registry: Arc, + cx: &mut App, + ) -> Self { + match chunk { + acp::AssistantMessageChunk::Text { text } => Self::Text { + chunk: cx.new(|cx| Markdown::new(text.into(), Some(language_registry), None, cx)), + }, + acp::AssistantMessageChunk::Thought { thought } => Self::Thought { + chunk: cx + .new(|cx| Markdown::new(thought.into(), Some(language_registry), None, cx)), + }, + } + } + + pub fn from_str(chunk: &str, language_registry: Arc, cx: &mut App) -> Self { + Self::Text { + chunk: cx.new(|cx| { + Markdown::new(chunk.to_owned().into(), Some(language_registry), None, cx) + }), } } fn to_markdown(&self, cx: &App) -> String { match self { - Self::Message { block } => block.to_markdown(cx).to_string(), - Self::Thought { block } => { - format!("\n{}\n", block.to_markdown(cx)) + Self::Text { chunk } => chunk.read(cx).source().to_string(), + Self::Thought { chunk } => { + format!("\n{}\n", chunk.read(cx).source()) } } } @@ -137,15 +166,19 @@ impl AgentThreadEntry { match self { Self::UserMessage(message) => message.to_markdown(cx), Self::AssistantMessage(message) => message.to_markdown(cx), - Self::ToolCall(tool_call) => tool_call.to_markdown(cx), + Self::ToolCall(too_call) => too_call.to_markdown(cx), } } - pub fn diffs(&self) -> impl Iterator { - if let AgentThreadEntry::ToolCall(call) = self { - itertools::Either::Left(call.diffs()) + pub fn diff(&self) -> Option<&Diff> { + if let AgentThreadEntry::ToolCall(ToolCall { + content: Some(ToolCallContent::Diff { diff }), + .. + }) = self + { + Some(&diff) } else { - itertools::Either::Right(std::iter::empty()) + None } } @@ -162,99 +195,20 @@ impl AgentThreadEntry { pub struct ToolCall { pub id: acp::ToolCallId, pub label: Entity, - pub kind: acp::ToolKind, - pub content: Vec, + pub icon: IconName, + pub content: Option, pub status: ToolCallStatus, pub locations: Vec, - pub raw_input: Option, } impl ToolCall { - fn from_acp( - tool_call: acp::ToolCall, - status: ToolCallStatus, - language_registry: Arc, - cx: &mut App, - ) -> Self { - Self { - id: tool_call.id, - label: cx.new(|cx| { - Markdown::new( - tool_call.label.into(), - Some(language_registry.clone()), - None, - cx, - ) - }), - kind: tool_call.kind, - content: tool_call - .content - .into_iter() - .map(|content| ToolCallContent::from_acp(content, language_registry.clone(), cx)) - .collect(), - locations: tool_call.locations, - status, - raw_input: tool_call.raw_input, - } - } - - fn update( - &mut self, - fields: acp::ToolCallUpdateFields, - language_registry: Arc, - cx: &mut App, - ) { - let acp::ToolCallUpdateFields { - kind, - status, - label, - content, - locations, - raw_input, - } = fields; - - if let Some(kind) = kind { - self.kind = kind; - } - - if let Some(status) = status { - self.status = ToolCallStatus::Allowed { status }; - } - - if let Some(label) = label { - self.label = cx.new(|cx| Markdown::new_text(label.into(), cx)); - } - - if let Some(content) = content { - self.content = content - .into_iter() - .map(|chunk| ToolCallContent::from_acp(chunk, language_registry.clone(), cx)) - .collect(); - } - - if let Some(locations) = locations { - self.locations = locations; - } - - if let Some(raw_input) = raw_input { - self.raw_input = Some(raw_input); - } - } - - pub fn diffs(&self) -> impl Iterator { - self.content.iter().filter_map(|content| match content { - ToolCallContent::ContentBlock { .. } => None, - ToolCallContent::Diff { diff } => Some(diff), - }) - } - fn to_markdown(&self, cx: &App) -> String { let mut markdown = format!( "**Tool Call: {}**\nStatus: {}\n\n", self.label.read(cx).source(), self.status ); - for content in &self.content { + if let Some(content) = &self.content { markdown.push_str(content.to_markdown(cx).as_str()); markdown.push_str("\n\n"); } @@ -265,8 +219,8 @@ impl ToolCall { #[derive(Debug)] pub enum ToolCallStatus { WaitingForConfirmation { - options: Vec, - respond_tx: oneshot::Sender, + confirmation: ToolCallConfirmation, + respond_tx: oneshot::Sender, }, Allowed { status: acp::ToolCallStatus, @@ -283,10 +237,9 @@ impl Display for ToolCallStatus { match self { ToolCallStatus::WaitingForConfirmation { .. } => "Waiting for confirmation", ToolCallStatus::Allowed { status } => match status { - acp::ToolCallStatus::Pending => "Pending", - acp::ToolCallStatus::InProgress => "In Progress", - acp::ToolCallStatus::Completed => "Completed", - acp::ToolCallStatus::Failed => "Failed", + acp::ToolCallStatus::Running => "Running", + acp::ToolCallStatus::Finished => "Finished", + acp::ToolCallStatus::Error => "Error", }, ToolCallStatus::Rejected => "Rejected", ToolCallStatus::Canceled => "Canceled", @@ -295,92 +248,86 @@ impl Display for ToolCallStatus { } } -#[derive(Debug, PartialEq, Clone)] -pub enum ContentBlock { - Empty, - Markdown { markdown: Entity }, +#[derive(Debug)] +pub enum ToolCallConfirmation { + Edit { + description: Option>, + }, + Execute { + command: String, + root_command: String, + description: Option>, + }, + Mcp { + server_name: String, + tool_name: String, + tool_display_name: String, + description: Option>, + }, + Fetch { + urls: Vec, + description: Option>, + }, + Other { + description: Entity, + }, } -impl ContentBlock { - pub fn new( - block: acp::ContentBlock, - language_registry: &Arc, - cx: &mut App, - ) -> Self { - let mut this = Self::Empty; - this.append(block, language_registry, cx); - this - } - - pub fn new_combined( - blocks: impl IntoIterator, +impl ToolCallConfirmation { + pub fn from_acp( + confirmation: acp::ToolCallConfirmation, language_registry: Arc, cx: &mut App, ) -> Self { - let mut this = Self::Empty; - for block in blocks { - this.append(block, &language_registry, cx); - } - this - } - - pub fn append( - &mut self, - block: acp::ContentBlock, - language_registry: &Arc, - cx: &mut App, - ) { - let new_content = match block { - acp::ContentBlock::Text(text_content) => text_content.text.clone(), - acp::ContentBlock::ResourceLink(resource_link) => { - if let Some(path) = resource_link.uri.strip_prefix("file://") { - format!("{}", MentionPath(path.as_ref())) - } else { - resource_link.uri.clone() - } - } - acp::ContentBlock::Image(_) - | acp::ContentBlock::Audio(_) - | acp::ContentBlock::Resource(_) => String::new(), + let to_md = |description: String, cx: &mut App| -> Entity { + cx.new(|cx| { + Markdown::new( + description.into(), + Some(language_registry.clone()), + None, + cx, + ) + }) }; - match self { - ContentBlock::Empty => { - *self = ContentBlock::Markdown { - markdown: cx.new(|cx| { - Markdown::new( - new_content.into(), - Some(language_registry.clone()), - None, - cx, - ) - }), - }; - } - ContentBlock::Markdown { markdown } => { - markdown.update(cx, |markdown, cx| markdown.append(&new_content, cx)); - } - } - } - - fn to_markdown<'a>(&'a self, cx: &'a App) -> &'a str { - match self { - ContentBlock::Empty => "", - ContentBlock::Markdown { markdown } => markdown.read(cx).source(), - } - } - - pub fn markdown(&self) -> Option<&Entity> { - match self { - ContentBlock::Empty => None, - ContentBlock::Markdown { markdown } => Some(markdown), + match confirmation { + acp::ToolCallConfirmation::Edit { description } => Self::Edit { + description: description.map(|description| to_md(description, cx)), + }, + acp::ToolCallConfirmation::Execute { + command, + root_command, + description, + } => Self::Execute { + command, + root_command, + description: description.map(|description| to_md(description, cx)), + }, + acp::ToolCallConfirmation::Mcp { + server_name, + tool_name, + tool_display_name, + description, + } => Self::Mcp { + server_name, + tool_name, + tool_display_name, + description: description.map(|description| to_md(description, cx)), + }, + acp::ToolCallConfirmation::Fetch { urls, description } => Self::Fetch { + urls: urls.iter().map(|url| url.into()).collect(), + description: description.map(|description| to_md(description, cx)), + }, + acp::ToolCallConfirmation::Other { description } => Self::Other { + description: to_md(description, cx), + }, } } } #[derive(Debug)] pub enum ToolCallContent { - ContentBlock { content: ContentBlock }, + Markdown { markdown: Entity }, Diff { diff: Diff }, } @@ -391,8 +338,8 @@ impl ToolCallContent { cx: &mut App, ) -> Self { match content { - acp::ToolCallContent::ContentBlock(content) => Self::ContentBlock { - content: ContentBlock::new(content, &language_registry, cx), + acp::ToolCallContent::Markdown { markdown } => Self::Markdown { + markdown: cx.new(|cx| Markdown::new_text(markdown.into(), cx)), }, acp::ToolCallContent::Diff { diff } => Self::Diff { diff: Diff::from_acp(diff, language_registry, cx), @@ -400,9 +347,9 @@ impl ToolCallContent { } } - pub fn to_markdown(&self, cx: &App) -> String { + fn to_markdown(&self, cx: &App) -> String { match self { - Self::ContentBlock { content } => content.to_markdown(cx).to_string(), + Self::Markdown { markdown } => markdown.read(cx).source().to_string(), Self::Diff { diff } => diff.to_markdown(cx), } } @@ -573,8 +520,8 @@ pub struct AcpThread { action_log: Entity, shared_buffers: HashMap, BufferSnapshot>, send_task: Option>, - connection: Rc, - session_id: acp::SessionId, + connection: Arc, + child_status: Option>>, } pub enum AcpThreadEvent { @@ -616,9 +563,10 @@ impl Error for LoadError {} impl AcpThread { pub fn new( - connection: Rc, + connection: impl AgentConnection + 'static, + title: SharedString, + child_status: Option>>, project: Entity, - session_id: acp::SessionId, cx: &mut Context, ) -> Self { let action_log = cx.new(|_| ActionLog::new(project.clone())); @@ -628,11 +576,24 @@ impl AcpThread { shared_buffers: Default::default(), entries: Default::default(), plan: Default::default(), - title: connection.name().into(), + title, project, send_task: None, - connection, - session_id, + connection: Arc::new(connection), + child_status, + } + } + + /// Send a request to the agent and wait for a response. + pub fn request( + &self, + params: R, + ) -> impl use + Future> { + let params = params.into_any(); + let result = self.connection.request_any(params); + async move { + let result = result.await?; + Ok(R::response_from_any(result)?) } } @@ -668,7 +629,15 @@ impl AcpThread { for entry in self.entries.iter().rev() { match entry { AgentThreadEntry::UserMessage(_) => return false, - AgentThreadEntry::ToolCall(call) if call.diffs().next().is_some() => return true, + AgentThreadEntry::ToolCall(ToolCall { + status: + ToolCallStatus::Allowed { + status: acp::ToolCallStatus::Running, + .. + }, + content: Some(ToolCallContent::Diff { .. }), + .. + }) => return true, AgentThreadEntry::ToolCall(_) | AgentThreadEntry::AssistantMessage(_) => {} } } @@ -676,82 +645,49 @@ impl AcpThread { false } - pub fn handle_session_update( - &mut self, - update: acp::SessionUpdate, - cx: &mut Context, - ) -> Result<()> { - match update { - acp::SessionUpdate::UserMessage(content_block) => { - self.push_user_content_block(content_block, cx); - } - acp::SessionUpdate::AgentMessageChunk(content_block) => { - self.push_assistant_content_block(content_block, false, cx); - } - acp::SessionUpdate::AgentThoughtChunk(content_block) => { - self.push_assistant_content_block(content_block, true, cx); - } - acp::SessionUpdate::ToolCall(tool_call) => { - self.upsert_tool_call(tool_call, cx); - } - acp::SessionUpdate::ToolCallUpdate(tool_call_update) => { - self.update_tool_call(tool_call_update, cx)?; - } - acp::SessionUpdate::Plan(plan) => { - self.update_plan(plan, cx); - } - } - Ok(()) + pub fn push_entry(&mut self, entry: AgentThreadEntry, cx: &mut Context) { + self.entries.push(entry); + cx.emit(AcpThreadEvent::NewEntry); } - pub fn push_user_content_block(&mut self, chunk: acp::ContentBlock, cx: &mut Context) { - let language_registry = self.project.read(cx).languages().clone(); - let entries_len = self.entries.len(); - - if let Some(last_entry) = self.entries.last_mut() - && let AgentThreadEntry::UserMessage(UserMessage { content }) = last_entry - { - content.append(chunk, &language_registry, cx); - cx.emit(AcpThreadEvent::EntryUpdated(entries_len - 1)); - } else { - let content = ContentBlock::new(chunk, &language_registry, cx); - self.push_entry(AgentThreadEntry::UserMessage(UserMessage { content }), cx); - } - } - - pub fn push_assistant_content_block( + pub fn push_assistant_chunk( &mut self, - chunk: acp::ContentBlock, - is_thought: bool, + chunk: acp::AssistantMessageChunk, cx: &mut Context, ) { - let language_registry = self.project.read(cx).languages().clone(); let entries_len = self.entries.len(); if let Some(last_entry) = self.entries.last_mut() && let AgentThreadEntry::AssistantMessage(AssistantMessage { chunks }) = last_entry { cx.emit(AcpThreadEvent::EntryUpdated(entries_len - 1)); - match (chunks.last_mut(), is_thought) { - (Some(AssistantMessageChunk::Message { block }), false) - | (Some(AssistantMessageChunk::Thought { block }), true) => { - block.append(chunk, &language_registry, cx) + + match (chunks.last_mut(), &chunk) { + ( + Some(AssistantMessageChunk::Text { chunk: old_chunk }), + acp::AssistantMessageChunk::Text { text: new_chunk }, + ) + | ( + Some(AssistantMessageChunk::Thought { chunk: old_chunk }), + acp::AssistantMessageChunk::Thought { thought: new_chunk }, + ) => { + old_chunk.update(cx, |old_chunk, cx| { + old_chunk.append(&new_chunk, cx); + }); } _ => { - let block = ContentBlock::new(chunk, &language_registry, cx); - if is_thought { - chunks.push(AssistantMessageChunk::Thought { block }) - } else { - chunks.push(AssistantMessageChunk::Message { block }) - } + chunks.push(AssistantMessageChunk::from_acp( + chunk, + self.project.read(cx).languages().clone(), + cx, + )); } } } else { - let block = ContentBlock::new(chunk, &language_registry, cx); - let chunk = if is_thought { - AssistantMessageChunk::Thought { block } - } else { - AssistantMessageChunk::Message { block } - }; + let chunk = AssistantMessageChunk::from_acp( + chunk, + self.project.read(cx).languages().clone(), + cx, + ); self.push_entry( AgentThreadEntry::AssistantMessage(AssistantMessage { @@ -762,79 +698,212 @@ impl AcpThread { } } - fn push_entry(&mut self, entry: AgentThreadEntry, cx: &mut Context) { - self.entries.push(entry); - cx.emit(AcpThreadEvent::NewEntry); + pub fn request_new_tool_call( + &mut self, + tool_call: acp::RequestToolCallConfirmationParams, + cx: &mut Context, + ) -> ToolCallRequest { + let (tx, rx) = oneshot::channel(); + + let status = ToolCallStatus::WaitingForConfirmation { + confirmation: ToolCallConfirmation::from_acp( + tool_call.confirmation, + self.project.read(cx).languages().clone(), + cx, + ), + respond_tx: tx, + }; + + let id = self.insert_tool_call(tool_call.tool_call, status, cx); + ToolCallRequest { id, outcome: rx } + } + + pub fn request_tool_call_confirmation( + &mut self, + tool_call_id: ToolCallId, + confirmation: acp::ToolCallConfirmation, + cx: &mut Context, + ) -> Result { + let project = self.project.read(cx).languages().clone(); + let Some((idx, call)) = self.tool_call_mut(tool_call_id) else { + anyhow::bail!("Tool call not found"); + }; + + let (tx, rx) = oneshot::channel(); + + call.status = ToolCallStatus::WaitingForConfirmation { + confirmation: ToolCallConfirmation::from_acp(confirmation, project, cx), + respond_tx: tx, + }; + + cx.emit(AcpThreadEvent::EntryUpdated(idx)); + + Ok(ToolCallRequest { + id: tool_call_id, + outcome: rx, + }) + } + + pub fn push_tool_call( + &mut self, + request: acp::PushToolCallParams, + cx: &mut Context, + ) -> acp::ToolCallId { + let status = ToolCallStatus::Allowed { + status: acp::ToolCallStatus::Running, + }; + + self.insert_tool_call(request, status, cx) + } + + fn insert_tool_call( + &mut self, + tool_call: acp::PushToolCallParams, + status: ToolCallStatus, + cx: &mut Context, + ) -> acp::ToolCallId { + let language_registry = self.project.read(cx).languages().clone(); + let id = acp::ToolCallId(self.entries.len() as u64); + let call = ToolCall { + id, + label: cx.new(|cx| { + Markdown::new( + tool_call.label.into(), + Some(language_registry.clone()), + None, + cx, + ) + }), + icon: acp_icon_to_ui_icon(tool_call.icon), + content: tool_call + .content + .map(|content| ToolCallContent::from_acp(content, language_registry, cx)), + locations: tool_call.locations, + status, + }; + + let location = call.locations.last().cloned(); + if let Some(location) = location { + self.set_project_location(location, cx) + } + + self.push_entry(AgentThreadEntry::ToolCall(call), cx); + + id + } + + pub fn authorize_tool_call( + &mut self, + id: acp::ToolCallId, + outcome: acp::ToolCallConfirmationOutcome, + cx: &mut Context, + ) { + let Some((ix, call)) = self.tool_call_mut(id) else { + return; + }; + + let new_status = if outcome == acp::ToolCallConfirmationOutcome::Reject { + ToolCallStatus::Rejected + } else { + ToolCallStatus::Allowed { + status: acp::ToolCallStatus::Running, + } + }; + + let curr_status = mem::replace(&mut call.status, new_status); + + if let ToolCallStatus::WaitingForConfirmation { respond_tx, .. } = curr_status { + respond_tx.send(outcome).log_err(); + } else if cfg!(debug_assertions) { + panic!("tried to authorize an already authorized tool call"); + } + + cx.emit(AcpThreadEvent::EntryUpdated(ix)); } pub fn update_tool_call( &mut self, - update: acp::ToolCallUpdate, + id: acp::ToolCallId, + new_status: acp::ToolCallStatus, + new_content: Option, cx: &mut Context, ) -> Result<()> { - let languages = self.project.read(cx).languages().clone(); - - let (ix, current_call) = self - .tool_call_mut(&update.id) - .context("Tool call not found")?; - current_call.update(update.fields, languages, cx); - - cx.emit(AcpThreadEvent::EntryUpdated(ix)); - - Ok(()) - } - - /// Updates a tool call if id matches an existing entry, otherwise inserts a new one. - pub fn upsert_tool_call(&mut self, tool_call: acp::ToolCall, cx: &mut Context) { - let status = ToolCallStatus::Allowed { - status: tool_call.status, - }; - self.upsert_tool_call_inner(tool_call, status, cx) - } - - pub fn upsert_tool_call_inner( - &mut self, - tool_call: acp::ToolCall, - status: ToolCallStatus, - cx: &mut Context, - ) { let language_registry = self.project.read(cx).languages().clone(); - let call = ToolCall::from_acp(tool_call, status, language_registry, cx); + let (ix, call) = self.tool_call_mut(id).context("Entry not found")?; - let location = call.locations.last().cloned(); - - if let Some((ix, current_call)) = self.tool_call_mut(&call.id) { - *current_call = call; - - cx.emit(AcpThreadEvent::EntryUpdated(ix)); - } else { - self.push_entry(AgentThreadEntry::ToolCall(call), cx); + if let Some(new_content) = new_content { + call.content = Some(ToolCallContent::from_acp( + new_content, + language_registry, + cx, + )); } + match &mut call.status { + ToolCallStatus::Allowed { status } => { + *status = new_status; + } + ToolCallStatus::WaitingForConfirmation { .. } => { + anyhow::bail!("Tool call hasn't been authorized yet") + } + ToolCallStatus::Rejected => { + anyhow::bail!("Tool call was rejected and therefore can't be updated") + } + ToolCallStatus::Canceled => { + call.status = ToolCallStatus::Allowed { status: new_status }; + } + } + + let location = call.locations.last().cloned(); if let Some(location) = location { self.set_project_location(location, cx) } + + cx.emit(AcpThreadEvent::EntryUpdated(ix)); + Ok(()) } - fn tool_call_mut(&mut self, id: &acp::ToolCallId) -> Option<(usize, &mut ToolCall)> { - // The tool call we are looking for is typically the last one, or very close to the end. - // At the moment, it doesn't seem like a hashmap would be a good fit for this use case. - self.entries - .iter_mut() - .enumerate() - .rev() - .find_map(|(index, tool_call)| { - if let AgentThreadEntry::ToolCall(tool_call) = tool_call - && &tool_call.id == id - { - Some((index, tool_call)) - } else { - None + fn tool_call_mut(&mut self, id: acp::ToolCallId) -> Option<(usize, &mut ToolCall)> { + let entry = self.entries.get_mut(id.0 as usize); + debug_assert!( + entry.is_some(), + "We shouldn't give out ids to entries that don't exist" + ); + match entry { + Some(AgentThreadEntry::ToolCall(call)) if call.id == id => Some((id.0 as usize, call)), + _ => { + if cfg!(debug_assertions) { + panic!("entry is not a tool call"); } - }) + None + } + } } - pub fn set_project_location(&self, location: acp::ToolCallLocation, cx: &mut Context) { + pub fn plan(&self) -> &Plan { + &self.plan + } + + pub fn update_plan(&mut self, request: acp::UpdatePlanParams, cx: &mut Context) { + self.plan = Plan { + entries: request + .entries + .into_iter() + .map(|entry| PlanEntry::from_acp(entry, cx)) + .collect(), + }; + + cx.notify(); + } + + pub fn clear_completed_plan_entries(&mut self, cx: &mut Context) { + self.plan + .entries + .retain(|entry| !matches!(entry.status, acp::PlanEntryStatus::Completed)); + cx.notify(); + } + + pub fn set_project_location(&self, location: ToolCallLocation, cx: &mut Context) { self.project.update(cx, |project, cx| { let Some(path) = project.project_path_for_absolute_path(&location.path, cx) else { return; @@ -865,56 +934,6 @@ impl AcpThread { }); } - pub fn request_tool_call_permission( - &mut self, - tool_call: acp::ToolCall, - options: Vec, - cx: &mut Context, - ) -> oneshot::Receiver { - let (tx, rx) = oneshot::channel(); - - let status = ToolCallStatus::WaitingForConfirmation { - options, - respond_tx: tx, - }; - - self.upsert_tool_call_inner(tool_call, status, cx); - rx - } - - pub fn authorize_tool_call( - &mut self, - id: acp::ToolCallId, - option_id: acp::PermissionOptionId, - option_kind: acp::PermissionOptionKind, - cx: &mut Context, - ) { - let Some((ix, call)) = self.tool_call_mut(&id) else { - return; - }; - - let new_status = match option_kind { - acp::PermissionOptionKind::RejectOnce | acp::PermissionOptionKind::RejectAlways => { - ToolCallStatus::Rejected - } - acp::PermissionOptionKind::AllowOnce | acp::PermissionOptionKind::AllowAlways => { - ToolCallStatus::Allowed { - status: acp::ToolCallStatus::InProgress, - } - } - }; - - let curr_status = mem::replace(&mut call.status, new_status); - - if let ToolCallStatus::WaitingForConfirmation { respond_tx, .. } = curr_status { - respond_tx.send(option_id).log_err(); - } else if cfg!(debug_assertions) { - panic!("tried to authorize an already authorized tool call"); - } - - cx.emit(AcpThreadEvent::EntryUpdated(ix)); - } - /// Returns true if the last turn is awaiting tool authorization pub fn waiting_for_tool_confirmation(&self) -> bool { for entry in self.entries.iter().rev() { @@ -934,31 +953,14 @@ impl AcpThread { false } - pub fn plan(&self) -> &Plan { - &self.plan + pub fn initialize(&self) -> impl use<> + Future> { + self.request(acp::InitializeParams { + protocol_version: ProtocolVersion::latest(), + }) } - pub fn update_plan(&mut self, request: acp::Plan, cx: &mut Context) { - self.plan = Plan { - entries: request - .entries - .into_iter() - .map(|entry| PlanEntry::from_acp(entry, cx)) - .collect(), - }; - - cx.notify(); - } - - fn clear_completed_plan_entries(&mut self, cx: &mut Context) { - self.plan - .entries - .retain(|entry| !matches!(entry.status, acp::PlanEntryStatus::Completed)); - cx.notify(); - } - - pub fn authenticate(&self, cx: &mut App) -> impl use<> + Future> { - self.connection.authenticate(cx) + pub fn authenticate(&self) -> impl use<> + Future> { + self.request(acp::AuthenticateParams) } #[cfg(any(test, feature = "test-support"))] @@ -966,50 +968,39 @@ impl AcpThread { &mut self, message: &str, cx: &mut Context, - ) -> BoxFuture<'static, Result<()>> { + ) -> BoxFuture<'static, Result<(), acp::Error>> { self.send( - vec![acp::ContentBlock::Text(acp::TextContent { - text: message.to_string(), - annotations: None, - })], + acp::SendUserMessageParams { + chunks: vec![acp::UserMessageChunk::Text { + text: message.to_string(), + }], + }, cx, ) } pub fn send( &mut self, - message: Vec, + message: acp::SendUserMessageParams, cx: &mut Context, - ) -> BoxFuture<'static, Result<()>> { - let block = ContentBlock::new_combined( - message.clone(), - self.project.read(cx).languages().clone(), - cx, - ); + ) -> BoxFuture<'static, Result<(), acp::Error>> { self.push_entry( - AgentThreadEntry::UserMessage(UserMessage { content: block }), + AgentThreadEntry::UserMessage(UserMessage::from_acp( + &message, + self.project.read(cx).languages().clone(), + cx, + )), cx, ); - self.clear_completed_plan_entries(cx); let (tx, rx) = oneshot::channel(); - let cancel_task = self.cancel(cx); + let cancel = self.cancel(cx); self.send_task = Some(cx.spawn(async move |this, cx| { async { - cancel_task.await; + cancel.await.log_err(); - let result = this - .update(cx, |this, cx| { - this.connection.prompt( - acp::PromptArguments { - prompt: message, - session_id: this.session_id.clone(), - }, - cx, - ) - })? - .await; + let result = this.update(cx, |this, _| this.request(message))?.await; tx.send(result).log_err(); this.update(cx, |this, _cx| this.send_task.take())?; anyhow::Ok(()) @@ -1027,38 +1018,48 @@ impl AcpThread { .boxed() } - pub fn cancel(&mut self, cx: &mut Context) -> Task<()> { - let Some(send_task) = self.send_task.take() else { - return Task::ready(()); - }; + pub fn cancel(&mut self, cx: &mut Context) -> Task> { + if self.send_task.take().is_some() { + let request = self.request(acp::CancelSendMessageParams); + cx.spawn(async move |this, cx| { + request.await?; + this.update(cx, |this, _cx| { + for entry in this.entries.iter_mut() { + if let AgentThreadEntry::ToolCall(call) = entry { + let cancel = matches!( + call.status, + ToolCallStatus::WaitingForConfirmation { .. } + | ToolCallStatus::Allowed { + status: acp::ToolCallStatus::Running + } + ); - for entry in self.entries.iter_mut() { - if let AgentThreadEntry::ToolCall(call) = entry { - let cancel = matches!( - call.status, - ToolCallStatus::WaitingForConfirmation { .. } - | ToolCallStatus::Allowed { - status: acp::ToolCallStatus::InProgress + if cancel { + let curr_status = + mem::replace(&mut call.status, ToolCallStatus::Canceled); + + if let ToolCallStatus::WaitingForConfirmation { + respond_tx, .. + } = curr_status + { + respond_tx + .send(acp::ToolCallConfirmationOutcome::Cancel) + .ok(); + } + } } - ); - - if cancel { - call.status = ToolCallStatus::Canceled; - } - } + } + })?; + Ok(()) + }) + } else { + Task::ready(Ok(())) } - - self.connection.cancel(&self.session_id, cx); - - // Wait for the send task to complete - cx.foreground_executor().spawn(send_task) } pub fn read_text_file( &self, - path: PathBuf, - line: Option, - limit: Option, + request: acp::ReadTextFileParams, reuse_shared_snapshot: bool, cx: &mut Context, ) -> Task> { @@ -1067,7 +1068,7 @@ impl AcpThread { cx.spawn(async move |this, cx| { let load = project.update(cx, |project, cx| { let path = project - .project_path_for_absolute_path(&path, cx) + .project_path_for_absolute_path(&request.path, cx) .context("invalid path")?; anyhow::Ok(project.open_buffer(path, cx)) }); @@ -1093,7 +1094,7 @@ impl AcpThread { let position = buffer .read(cx) .snapshot() - .anchor_before(Point::new(line.unwrap_or_default(), 0)); + .anchor_before(Point::new(request.line.unwrap_or_default(), 0)); project.set_agent_location( Some(AgentLocation { buffer: buffer.downgrade(), @@ -1109,11 +1110,11 @@ impl AcpThread { this.update(cx, |this, _| { let text = snapshot.text(); this.shared_buffers.insert(buffer.clone(), snapshot); - if line.is_none() && limit.is_none() { + if request.line.is_none() && request.limit.is_none() { return Ok(text); } - let limit = limit.unwrap_or(u32::MAX) as usize; - let Some(line) = line else { + let limit = request.limit.unwrap_or(u32::MAX) as usize; + let Some(line) = request.line else { return Ok(text.lines().take(limit).collect::()); }; @@ -1198,15 +1199,197 @@ impl AcpThread { }) } + pub fn child_status(&mut self) -> Option>> { + self.child_status.take() + } + pub fn to_markdown(&self, cx: &App) -> String { self.entries.iter().map(|e| e.to_markdown(cx)).collect() } } +#[derive(Clone)] +pub struct AcpClientDelegate { + thread: WeakEntity, + cx: AsyncApp, + // sent_buffer_versions: HashMap, HashMap>, +} + +impl AcpClientDelegate { + pub fn new(thread: WeakEntity, cx: AsyncApp) -> Self { + Self { thread, cx } + } + + pub async fn clear_completed_plan_entries(&self) -> Result<()> { + let cx = &mut self.cx.clone(); + cx.update(|cx| { + self.thread + .update(cx, |thread, cx| thread.clear_completed_plan_entries(cx)) + })? + .context("Failed to update thread")?; + + Ok(()) + } + + pub async fn request_existing_tool_call_confirmation( + &self, + tool_call_id: ToolCallId, + confirmation: acp::ToolCallConfirmation, + ) -> Result { + let cx = &mut self.cx.clone(); + let ToolCallRequest { outcome, .. } = cx + .update(|cx| { + self.thread.update(cx, |thread, cx| { + thread.request_tool_call_confirmation(tool_call_id, confirmation, cx) + }) + })? + .context("Failed to update thread")??; + + Ok(outcome.await?) + } + + pub async fn read_text_file_reusing_snapshot( + &self, + request: acp::ReadTextFileParams, + ) -> Result { + let content = self + .cx + .update(|cx| { + self.thread + .update(cx, |thread, cx| thread.read_text_file(request, true, cx)) + })? + .context("Failed to update thread")? + .await?; + Ok(acp::ReadTextFileResponse { content }) + } +} + +impl acp::Client for AcpClientDelegate { + async fn stream_assistant_message_chunk( + &self, + params: acp::StreamAssistantMessageChunkParams, + ) -> Result<(), acp::Error> { + let cx = &mut self.cx.clone(); + + cx.update(|cx| { + self.thread + .update(cx, |thread, cx| { + thread.push_assistant_chunk(params.chunk, cx) + }) + .ok(); + })?; + + Ok(()) + } + + async fn request_tool_call_confirmation( + &self, + request: acp::RequestToolCallConfirmationParams, + ) -> Result { + let cx = &mut self.cx.clone(); + let ToolCallRequest { id, outcome } = cx + .update(|cx| { + self.thread + .update(cx, |thread, cx| thread.request_new_tool_call(request, cx)) + })? + .context("Failed to update thread")?; + + Ok(acp::RequestToolCallConfirmationResponse { + id, + outcome: outcome.await.map_err(acp::Error::into_internal_error)?, + }) + } + + async fn push_tool_call( + &self, + request: acp::PushToolCallParams, + ) -> Result { + let cx = &mut self.cx.clone(); + let id = cx + .update(|cx| { + self.thread + .update(cx, |thread, cx| thread.push_tool_call(request, cx)) + })? + .context("Failed to update thread")?; + + Ok(acp::PushToolCallResponse { id }) + } + + async fn update_tool_call(&self, request: acp::UpdateToolCallParams) -> Result<(), acp::Error> { + let cx = &mut self.cx.clone(); + + cx.update(|cx| { + self.thread.update(cx, |thread, cx| { + thread.update_tool_call(request.tool_call_id, request.status, request.content, cx) + }) + })? + .context("Failed to update thread")??; + + Ok(()) + } + + async fn update_plan(&self, request: acp::UpdatePlanParams) -> Result<(), acp::Error> { + let cx = &mut self.cx.clone(); + + cx.update(|cx| { + self.thread + .update(cx, |thread, cx| thread.update_plan(request, cx)) + })? + .context("Failed to update thread")?; + + Ok(()) + } + + async fn read_text_file( + &self, + request: acp::ReadTextFileParams, + ) -> Result { + let content = self + .cx + .update(|cx| { + self.thread + .update(cx, |thread, cx| thread.read_text_file(request, false, cx)) + })? + .context("Failed to update thread")? + .await?; + Ok(acp::ReadTextFileResponse { content }) + } + + async fn write_text_file(&self, request: acp::WriteTextFileParams) -> Result<(), acp::Error> { + self.cx + .update(|cx| { + self.thread.update(cx, |thread, cx| { + thread.write_text_file(request.path, request.content, cx) + }) + })? + .context("Failed to update thread")? + .await?; + + Ok(()) + } +} + +fn acp_icon_to_ui_icon(icon: acp::Icon) -> IconName { + match icon { + acp::Icon::FileSearch => IconName::ToolSearch, + acp::Icon::Folder => IconName::ToolFolder, + acp::Icon::Globe => IconName::ToolWeb, + acp::Icon::Hammer => IconName::ToolHammer, + acp::Icon::LightBulb => IconName::ToolBulb, + acp::Icon::Pencil => IconName::ToolPencil, + acp::Icon::Regex => IconName::ToolRegex, + acp::Icon::Terminal => IconName::ToolTerminal, + } +} + +pub struct ToolCallRequest { + pub id: acp::ToolCallId, + pub outcome: oneshot::Receiver, +} + #[cfg(test)] mod tests { use super::*; - use agentic_coding_protocol as acp_old; use anyhow::anyhow; use async_pipe::{PipeReader, PipeWriter}; use futures::{channel::mpsc, future::LocalBoxFuture, select}; @@ -1217,7 +1400,6 @@ mod tests { use settings::SettingsStore; use smol::{future::BoxedLocal, stream::StreamExt as _}; use std::{cell::RefCell, rc::Rc, time::Duration}; - use util::path; fn init_test(cx: &mut TestAppContext) { @@ -1231,87 +1413,7 @@ mod tests { } #[gpui::test] - async fn test_push_user_content_block(cx: &mut gpui::TestAppContext) { - init_test(cx); - - let fs = FakeFs::new(cx.executor()); - let project = Project::test(fs, [], cx).await; - let (thread, _fake_server) = fake_acp_thread(project, cx); - - // Test creating a new user message - thread.update(cx, |thread, cx| { - thread.push_user_content_block( - acp::ContentBlock::Text(acp::TextContent { - annotations: None, - text: "Hello, ".to_string(), - }), - cx, - ); - }); - - thread.update(cx, |thread, cx| { - assert_eq!(thread.entries.len(), 1); - if let AgentThreadEntry::UserMessage(user_msg) = &thread.entries[0] { - assert_eq!(user_msg.content.to_markdown(cx), "Hello, "); - } else { - panic!("Expected UserMessage"); - } - }); - - // Test appending to existing user message - thread.update(cx, |thread, cx| { - thread.push_user_content_block( - acp::ContentBlock::Text(acp::TextContent { - annotations: None, - text: "world!".to_string(), - }), - cx, - ); - }); - - thread.update(cx, |thread, cx| { - assert_eq!(thread.entries.len(), 1); - if let AgentThreadEntry::UserMessage(user_msg) = &thread.entries[0] { - assert_eq!(user_msg.content.to_markdown(cx), "Hello, world!"); - } else { - panic!("Expected UserMessage"); - } - }); - - // Test creating new user message after assistant message - thread.update(cx, |thread, cx| { - thread.push_assistant_content_block( - acp::ContentBlock::Text(acp::TextContent { - annotations: None, - text: "Assistant response".to_string(), - }), - false, - cx, - ); - }); - - thread.update(cx, |thread, cx| { - thread.push_user_content_block( - acp::ContentBlock::Text(acp::TextContent { - annotations: None, - text: "New user message".to_string(), - }), - cx, - ); - }); - - thread.update(cx, |thread, cx| { - assert_eq!(thread.entries.len(), 3); - if let AgentThreadEntry::UserMessage(user_msg) = &thread.entries[2] { - assert_eq!(user_msg.content.to_markdown(cx), "New user message"); - } else { - panic!("Expected UserMessage at index 2"); - } - }); - } - - #[gpui::test] - async fn test_thinking_concatenation(cx: &mut gpui::TestAppContext) { + async fn test_thinking_concatenation(cx: &mut TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor()); @@ -1322,8 +1424,8 @@ mod tests { fake_server.on_user_message(move |_, server, mut cx| async move { server .update(&mut cx, |server, _| { - server.send_to_zed(acp_old::StreamAssistantMessageChunkParams { - chunk: acp_old::AssistantMessageChunk::Thought { + server.send_to_zed(acp::StreamAssistantMessageChunkParams { + chunk: acp::AssistantMessageChunk::Thought { thought: "Thinking ".into(), }, }) @@ -1332,8 +1434,8 @@ mod tests { .unwrap(); server .update(&mut cx, |server, _| { - server.send_to_zed(acp_old::StreamAssistantMessageChunkParams { - chunk: acp_old::AssistantMessageChunk::Thought { + server.send_to_zed(acp::StreamAssistantMessageChunkParams { + chunk: acp::AssistantMessageChunk::Thought { thought: "hard!".into(), }, }) @@ -1399,7 +1501,7 @@ mod tests { async move { let content = server .update(&mut cx, |server, _| { - server.send_to_zed(acp_old::ReadTextFileParams { + server.send_to_zed(acp::ReadTextFileParams { path: path!("/tmp/foo").into(), line: None, limit: None, @@ -1411,7 +1513,7 @@ mod tests { read_file_tx.take().unwrap().send(()).unwrap(); server .update(&mut cx, |server, _| { - server.send_to_zed(acp_old::WriteTextFileParams { + server.send_to_zed(acp::WriteTextFileParams { path: path!("/tmp/foo").into(), content: "one\ntwo\nthree\nfour\nfive\n".to_string(), }) @@ -1462,9 +1564,9 @@ mod tests { async move { let tool_call_result = server .update(&mut cx, |server, _| { - server.send_to_zed(acp_old::PushToolCallParams { + server.send_to_zed(acp::PushToolCallParams { label: "Fetch".to_string(), - icon: acp_old::Icon::Globe, + icon: acp::Icon::Globe, content: None, locations: vec![], }) @@ -1490,7 +1592,7 @@ mod tests { thread.entries[1], AgentThreadEntry::ToolCall(ToolCall { status: ToolCallStatus::Allowed { - status: acp::ToolCallStatus::InProgress, + status: acp::ToolCallStatus::Running, .. }, .. @@ -1500,7 +1602,10 @@ mod tests { cx.run_until_parked(); - thread.update(cx, |thread, cx| thread.cancel(cx)).await; + thread + .update(cx, |thread, cx| thread.cancel(cx)) + .await + .unwrap(); thread.read_with(cx, |thread, _| { assert!(matches!( @@ -1514,9 +1619,9 @@ mod tests { fake_server .update(cx, |fake_server, _| { - fake_server.send_to_zed(acp_old::UpdateToolCallParams { + fake_server.send_to_zed(acp::UpdateToolCallParams { tool_call_id: tool_call_id.borrow().unwrap(), - status: acp_old::ToolCallStatus::Finished, + status: acp::ToolCallStatus::Finished, content: None, }) }) @@ -1524,14 +1629,14 @@ mod tests { .unwrap(); drop(end_turn_tx); - assert!(request.await.unwrap_err().to_string().contains("canceled")); + request.await.unwrap(); thread.read_with(cx, |thread, _| { assert!(matches!( thread.entries[1], AgentThreadEntry::ToolCall(ToolCall { status: ToolCallStatus::Allowed { - status: acp::ToolCallStatus::Completed, + status: acp::ToolCallStatus::Finished, .. }, .. @@ -1576,10 +1681,8 @@ mod tests { let thread = cx.new(|cx| { let foreground_executor = cx.foreground_executor().clone(); - let thread_rc = Rc::new(RefCell::new(cx.entity().downgrade())); - - let (connection, io_fut) = acp_old::AgentConnection::connect_to_agent( - OldAcpClientDelegate::new(thread_rc.clone(), cx.to_async()), + let (connection, io_fut) = acp::AgentConnection::connect_to_agent( + AcpClientDelegate::new(cx.entity().downgrade(), cx.to_async()), stdin_tx, stdout_rx, move |fut| { @@ -1593,35 +1696,23 @@ mod tests { Ok(()) } }); - let connection = OldAcpAgentConnection { - name: "test", - connection, - child_status: io_task, - current_thread: thread_rc, - }; - - AcpThread::new( - Rc::new(connection), - project, - acp::SessionId("test".into()), - cx, - ) + AcpThread::new(connection, "Test".into(), Some(io_task), project, cx) }); let agent = cx.update(|cx| cx.new(|cx| FakeAcpServer::new(stdin_rx, stdout_tx, cx))); (thread, agent) } pub struct FakeAcpServer { - connection: acp_old::ClientConnection, + connection: acp::ClientConnection, _io_task: Task<()>, on_user_message: Option< Rc< dyn Fn( - acp_old::SendUserMessageParams, + acp::SendUserMessageParams, Entity, AsyncApp, - ) -> LocalBoxFuture<'static, Result<(), acp_old::Error>>, + ) -> LocalBoxFuture<'static, Result<(), acp::Error>>, >, >, } @@ -1630,38 +1721,31 @@ mod tests { struct FakeAgent { server: Entity, cx: AsyncApp, - cancel_tx: Rc>>>, } - impl acp_old::Agent for FakeAgent { + impl acp::Agent for FakeAgent { async fn initialize( &self, - params: acp_old::InitializeParams, - ) -> Result { - Ok(acp_old::InitializeResponse { + params: acp::InitializeParams, + ) -> Result { + Ok(acp::InitializeResponse { protocol_version: params.protocol_version, is_authenticated: true, }) } - async fn authenticate(&self) -> Result<(), acp_old::Error> { + async fn authenticate(&self) -> Result<(), acp::Error> { Ok(()) } - async fn cancel_send_message(&self) -> Result<(), acp_old::Error> { - if let Some(cancel_tx) = self.cancel_tx.take() { - cancel_tx.send(()).log_err(); - } + async fn cancel_send_message(&self) -> Result<(), acp::Error> { Ok(()) } async fn send_user_message( &self, - request: acp_old::SendUserMessageParams, - ) -> Result<(), acp_old::Error> { - let (cancel_tx, cancel_rx) = oneshot::channel(); - self.cancel_tx.replace(Some(cancel_tx)); - + request: acp::SendUserMessageParams, + ) -> Result<(), acp::Error> { let mut cx = self.cx.clone(); let handler = self .server @@ -1669,10 +1753,7 @@ mod tests { .ok() .flatten(); if let Some(handler) = handler { - select! { - _ = cancel_rx.fuse() => Err(anyhow::anyhow!("Message sending canceled").into()), - _ = handler(request, self.server.clone(), self.cx.clone()).fuse() => Ok(()), - } + handler(request, self.server.clone(), self.cx.clone()).await } else { Err(anyhow::anyhow!("No handler for on_user_message").into()) } @@ -1684,11 +1765,10 @@ mod tests { let agent = FakeAgent { server: cx.entity(), cx: cx.to_async(), - cancel_tx: Default::default(), }; let foreground_executor = cx.foreground_executor().clone(); - let (connection, io_fut) = acp_old::ClientConnection::connect_to_client( + let (connection, io_fut) = acp::ClientConnection::connect_to_client( agent.clone(), stdout, stdin, @@ -1707,14 +1787,10 @@ mod tests { fn on_user_message( &mut self, - handler: impl for<'a> Fn( - acp_old::SendUserMessageParams, - Entity, - AsyncApp, - ) -> F + handler: impl for<'a> Fn(acp::SendUserMessageParams, Entity, AsyncApp) -> F + 'static, ) where - F: Future> + 'static, + F: Future> + 'static, { self.on_user_message .replace(Rc::new(move |request, server, cx| { @@ -1722,7 +1798,7 @@ mod tests { })); } - fn send_to_zed( + fn send_to_zed( &self, message: T, ) -> BoxedLocal> { diff --git a/crates/acp_thread/src/connection.rs b/crates/acp_thread/src/connection.rs index 5b25b71863..7c0ba4f41c 100644 --- a/crates/acp_thread/src/connection.rs +++ b/crates/acp_thread/src/connection.rs @@ -1,26 +1,20 @@ -use std::{path::Path, rc::Rc}; - -use agent_client_protocol as acp; +use agentic_coding_protocol as acp; use anyhow::Result; -use gpui::{AsyncApp, Entity, Task}; -use project::Project; -use ui::App; - -use crate::AcpThread; +use futures::future::{FutureExt as _, LocalBoxFuture}; pub trait AgentConnection { - fn name(&self) -> &'static str; - - fn new_thread( - self: Rc, - project: Entity, - cwd: &Path, - cx: &mut AsyncApp, - ) -> Task>>; - - fn authenticate(&self, cx: &mut App) -> Task>; - - fn prompt(&self, params: acp::PromptArguments, cx: &mut App) -> Task>; - - fn cancel(&self, session_id: &acp::SessionId, cx: &mut App); + fn request_any( + &self, + params: acp::AnyAgentRequest, + ) -> LocalBoxFuture<'static, Result>; +} + +impl AgentConnection for acp::AgentConnection { + fn request_any( + &self, + params: acp::AnyAgentRequest, + ) -> LocalBoxFuture<'static, Result> { + let task = self.request_any(params); + async move { Ok(task.await?) }.boxed_local() + } } diff --git a/crates/acp_thread/src/old_acp_support.rs b/crates/acp_thread/src/old_acp_support.rs deleted file mode 100644 index 571023239f..0000000000 --- a/crates/acp_thread/src/old_acp_support.rs +++ /dev/null @@ -1,453 +0,0 @@ -// Translates old acp agents into the new schema -use agent_client_protocol as acp; -use agentic_coding_protocol::{self as acp_old, AgentRequest as _}; -use anyhow::{Context as _, Result}; -use futures::channel::oneshot; -use gpui::{AppContext as _, AsyncApp, Entity, Task, WeakEntity}; -use project::Project; -use std::{cell::RefCell, error::Error, fmt, path::Path, rc::Rc}; -use ui::App; -use util::ResultExt as _; - -use crate::{AcpThread, AgentConnection}; - -#[derive(Clone)] -pub struct OldAcpClientDelegate { - thread: Rc>>, - cx: AsyncApp, - next_tool_call_id: Rc>, - // sent_buffer_versions: HashMap, HashMap>, -} - -impl OldAcpClientDelegate { - pub fn new(thread: Rc>>, cx: AsyncApp) -> Self { - Self { - thread, - cx, - next_tool_call_id: Rc::new(RefCell::new(0)), - } - } -} - -impl acp_old::Client for OldAcpClientDelegate { - async fn stream_assistant_message_chunk( - &self, - params: acp_old::StreamAssistantMessageChunkParams, - ) -> Result<(), acp_old::Error> { - let cx = &mut self.cx.clone(); - - cx.update(|cx| { - self.thread - .borrow() - .update(cx, |thread, cx| match params.chunk { - acp_old::AssistantMessageChunk::Text { text } => { - thread.push_assistant_content_block(text.into(), false, cx) - } - acp_old::AssistantMessageChunk::Thought { thought } => { - thread.push_assistant_content_block(thought.into(), true, cx) - } - }) - .log_err(); - })?; - - Ok(()) - } - - async fn request_tool_call_confirmation( - &self, - request: acp_old::RequestToolCallConfirmationParams, - ) -> Result { - let cx = &mut self.cx.clone(); - - let old_acp_id = *self.next_tool_call_id.borrow() + 1; - self.next_tool_call_id.replace(old_acp_id); - - let tool_call = into_new_tool_call( - acp::ToolCallId(old_acp_id.to_string().into()), - request.tool_call, - ); - - let mut options = match request.confirmation { - acp_old::ToolCallConfirmation::Edit { .. } => vec![( - acp_old::ToolCallConfirmationOutcome::AlwaysAllow, - acp::PermissionOptionKind::AllowAlways, - "Always Allow Edits".to_string(), - )], - acp_old::ToolCallConfirmation::Execute { root_command, .. } => vec![( - acp_old::ToolCallConfirmationOutcome::AlwaysAllow, - acp::PermissionOptionKind::AllowAlways, - format!("Always Allow {}", root_command), - )], - acp_old::ToolCallConfirmation::Mcp { - server_name, - tool_name, - .. - } => vec![ - ( - acp_old::ToolCallConfirmationOutcome::AlwaysAllowMcpServer, - acp::PermissionOptionKind::AllowAlways, - format!("Always Allow {}", server_name), - ), - ( - acp_old::ToolCallConfirmationOutcome::AlwaysAllowTool, - acp::PermissionOptionKind::AllowAlways, - format!("Always Allow {}", tool_name), - ), - ], - acp_old::ToolCallConfirmation::Fetch { .. } => vec![( - acp_old::ToolCallConfirmationOutcome::AlwaysAllow, - acp::PermissionOptionKind::AllowAlways, - "Always Allow".to_string(), - )], - acp_old::ToolCallConfirmation::Other { .. } => vec![( - acp_old::ToolCallConfirmationOutcome::AlwaysAllow, - acp::PermissionOptionKind::AllowAlways, - "Always Allow".to_string(), - )], - }; - - options.extend([ - ( - acp_old::ToolCallConfirmationOutcome::Allow, - acp::PermissionOptionKind::AllowOnce, - "Allow".to_string(), - ), - ( - acp_old::ToolCallConfirmationOutcome::Reject, - acp::PermissionOptionKind::RejectOnce, - "Reject".to_string(), - ), - ]); - - let mut outcomes = Vec::with_capacity(options.len()); - let mut acp_options = Vec::with_capacity(options.len()); - - for (index, (outcome, kind, label)) in options.into_iter().enumerate() { - outcomes.push(outcome); - acp_options.push(acp::PermissionOption { - id: acp::PermissionOptionId(index.to_string().into()), - label, - kind, - }) - } - - let response = cx - .update(|cx| { - self.thread.borrow().update(cx, |thread, cx| { - thread.request_tool_call_permission(tool_call, acp_options, cx) - }) - })? - .context("Failed to update thread")? - .await; - - let outcome = match response { - Ok(option_id) => outcomes[option_id.0.parse::().unwrap_or(0)], - Err(oneshot::Canceled) => acp_old::ToolCallConfirmationOutcome::Cancel, - }; - - Ok(acp_old::RequestToolCallConfirmationResponse { - id: acp_old::ToolCallId(old_acp_id), - outcome: outcome, - }) - } - - async fn push_tool_call( - &self, - request: acp_old::PushToolCallParams, - ) -> Result { - let cx = &mut self.cx.clone(); - - let old_acp_id = *self.next_tool_call_id.borrow() + 1; - self.next_tool_call_id.replace(old_acp_id); - - cx.update(|cx| { - self.thread.borrow().update(cx, |thread, cx| { - thread.upsert_tool_call( - into_new_tool_call(acp::ToolCallId(old_acp_id.to_string().into()), request), - cx, - ) - }) - })? - .context("Failed to update thread")?; - - Ok(acp_old::PushToolCallResponse { - id: acp_old::ToolCallId(old_acp_id), - }) - } - - async fn update_tool_call( - &self, - request: acp_old::UpdateToolCallParams, - ) -> Result<(), acp_old::Error> { - let cx = &mut self.cx.clone(); - - cx.update(|cx| { - self.thread.borrow().update(cx, |thread, cx| { - thread.update_tool_call( - acp::ToolCallUpdate { - id: acp::ToolCallId(request.tool_call_id.0.to_string().into()), - fields: acp::ToolCallUpdateFields { - status: Some(into_new_tool_call_status(request.status)), - content: Some( - request - .content - .into_iter() - .map(into_new_tool_call_content) - .collect::>(), - ), - ..Default::default() - }, - }, - cx, - ) - }) - })? - .context("Failed to update thread")??; - - Ok(()) - } - - async fn update_plan(&self, request: acp_old::UpdatePlanParams) -> Result<(), acp_old::Error> { - let cx = &mut self.cx.clone(); - - cx.update(|cx| { - self.thread.borrow().update(cx, |thread, cx| { - thread.update_plan( - acp::Plan { - entries: request - .entries - .into_iter() - .map(into_new_plan_entry) - .collect(), - }, - cx, - ) - }) - })? - .context("Failed to update thread")?; - - Ok(()) - } - - async fn read_text_file( - &self, - acp_old::ReadTextFileParams { path, line, limit }: acp_old::ReadTextFileParams, - ) -> Result { - let content = self - .cx - .update(|cx| { - self.thread.borrow().update(cx, |thread, cx| { - thread.read_text_file(path, line, limit, false, cx) - }) - })? - .context("Failed to update thread")? - .await?; - Ok(acp_old::ReadTextFileResponse { content }) - } - - async fn write_text_file( - &self, - acp_old::WriteTextFileParams { path, content }: acp_old::WriteTextFileParams, - ) -> Result<(), acp_old::Error> { - self.cx - .update(|cx| { - self.thread - .borrow() - .update(cx, |thread, cx| thread.write_text_file(path, content, cx)) - })? - .context("Failed to update thread")? - .await?; - - Ok(()) - } -} - -fn into_new_tool_call(id: acp::ToolCallId, request: acp_old::PushToolCallParams) -> acp::ToolCall { - acp::ToolCall { - id: id, - label: request.label, - kind: acp_kind_from_old_icon(request.icon), - status: acp::ToolCallStatus::InProgress, - content: request - .content - .into_iter() - .map(into_new_tool_call_content) - .collect(), - locations: request - .locations - .into_iter() - .map(into_new_tool_call_location) - .collect(), - raw_input: None, - } -} - -fn acp_kind_from_old_icon(icon: acp_old::Icon) -> acp::ToolKind { - match icon { - acp_old::Icon::FileSearch => acp::ToolKind::Search, - acp_old::Icon::Folder => acp::ToolKind::Search, - acp_old::Icon::Globe => acp::ToolKind::Search, - acp_old::Icon::Hammer => acp::ToolKind::Other, - acp_old::Icon::LightBulb => acp::ToolKind::Think, - acp_old::Icon::Pencil => acp::ToolKind::Edit, - acp_old::Icon::Regex => acp::ToolKind::Search, - acp_old::Icon::Terminal => acp::ToolKind::Execute, - } -} - -fn into_new_tool_call_status(status: acp_old::ToolCallStatus) -> acp::ToolCallStatus { - match status { - acp_old::ToolCallStatus::Running => acp::ToolCallStatus::InProgress, - acp_old::ToolCallStatus::Finished => acp::ToolCallStatus::Completed, - acp_old::ToolCallStatus::Error => acp::ToolCallStatus::Failed, - } -} - -fn into_new_tool_call_content(content: acp_old::ToolCallContent) -> acp::ToolCallContent { - match content { - acp_old::ToolCallContent::Markdown { markdown } => markdown.into(), - acp_old::ToolCallContent::Diff { diff } => acp::ToolCallContent::Diff { - diff: into_new_diff(diff), - }, - } -} - -fn into_new_diff(diff: acp_old::Diff) -> acp::Diff { - acp::Diff { - path: diff.path, - old_text: diff.old_text, - new_text: diff.new_text, - } -} - -fn into_new_tool_call_location(location: acp_old::ToolCallLocation) -> acp::ToolCallLocation { - acp::ToolCallLocation { - path: location.path, - line: location.line, - } -} - -fn into_new_plan_entry(entry: acp_old::PlanEntry) -> acp::PlanEntry { - acp::PlanEntry { - content: entry.content, - priority: into_new_plan_priority(entry.priority), - status: into_new_plan_status(entry.status), - } -} - -fn into_new_plan_priority(priority: acp_old::PlanEntryPriority) -> acp::PlanEntryPriority { - match priority { - acp_old::PlanEntryPriority::Low => acp::PlanEntryPriority::Low, - acp_old::PlanEntryPriority::Medium => acp::PlanEntryPriority::Medium, - acp_old::PlanEntryPriority::High => acp::PlanEntryPriority::High, - } -} - -fn into_new_plan_status(status: acp_old::PlanEntryStatus) -> acp::PlanEntryStatus { - match status { - acp_old::PlanEntryStatus::Pending => acp::PlanEntryStatus::Pending, - acp_old::PlanEntryStatus::InProgress => acp::PlanEntryStatus::InProgress, - acp_old::PlanEntryStatus::Completed => acp::PlanEntryStatus::Completed, - } -} - -#[derive(Debug)] -pub struct Unauthenticated; - -impl Error for Unauthenticated {} -impl fmt::Display for Unauthenticated { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "Unauthenticated") - } -} - -pub struct OldAcpAgentConnection { - pub name: &'static str, - pub connection: acp_old::AgentConnection, - pub child_status: Task>, - pub current_thread: Rc>>, -} - -impl AgentConnection for OldAcpAgentConnection { - fn name(&self) -> &'static str { - self.name - } - - fn new_thread( - self: Rc, - project: Entity, - _cwd: &Path, - cx: &mut AsyncApp, - ) -> Task>> { - let task = self.connection.request_any( - acp_old::InitializeParams { - protocol_version: acp_old::ProtocolVersion::latest(), - } - .into_any(), - ); - let current_thread = self.current_thread.clone(); - cx.spawn(async move |cx| { - let result = task.await?; - let result = acp_old::InitializeParams::response_from_any(result)?; - - if !result.is_authenticated { - anyhow::bail!(Unauthenticated) - } - - cx.update(|cx| { - let thread = cx.new(|cx| { - let session_id = acp::SessionId("acp-old-no-id".into()); - AcpThread::new(self.clone(), project, session_id, cx) - }); - current_thread.replace(thread.downgrade()); - thread - }) - }) - } - - fn authenticate(&self, cx: &mut App) -> Task> { - let task = self - .connection - .request_any(acp_old::AuthenticateParams.into_any()); - cx.foreground_executor().spawn(async move { - task.await?; - Ok(()) - }) - } - - fn prompt(&self, params: acp::PromptArguments, cx: &mut App) -> Task> { - let chunks = params - .prompt - .into_iter() - .filter_map(|block| match block { - acp::ContentBlock::Text(text) => { - Some(acp_old::UserMessageChunk::Text { text: text.text }) - } - acp::ContentBlock::ResourceLink(link) => Some(acp_old::UserMessageChunk::Path { - path: link.uri.into(), - }), - _ => None, - }) - .collect(); - - let task = self - .connection - .request_any(acp_old::SendUserMessageParams { chunks }.into_any()); - cx.foreground_executor().spawn(async move { - task.await?; - anyhow::Ok(()) - }) - } - - fn cancel(&self, _session_id: &acp::SessionId, cx: &mut App) { - let task = self - .connection - .request_any(acp_old::CancelSendMessageParams.into_any()); - cx.foreground_executor() - .spawn(async move { - task.await?; - anyhow::Ok(()) - }) - .detach_and_log_err(cx) - } -} diff --git a/crates/agent/Cargo.toml b/crates/agent/Cargo.toml index c89a7f3303..135363ab65 100644 --- a/crates/agent/Cargo.toml +++ b/crates/agent/Cargo.toml @@ -25,7 +25,6 @@ assistant_context.workspace = true assistant_tool.workspace = true chrono.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true component.workspace = true context_server.workspace = true @@ -36,9 +35,9 @@ futures.workspace = true git.workspace = true gpui.workspace = true heed.workspace = true -http_client.workspace = true icons.workspace = true indoc.workspace = true +http_client.workspace = true itertools.workspace = true language.workspace = true language_model.workspace = true @@ -64,6 +63,7 @@ time.workspace = true util.workspace = true uuid.workspace = true workspace-hack.workspace = true +zed_llm_client.workspace = true zstd.workspace = true [dev-dependencies] diff --git a/crates/agent/src/thread.rs b/crates/agent/src/thread.rs index 0e5da2d43b..1b8aa012a1 100644 --- a/crates/agent/src/thread.rs +++ b/crates/agent/src/thread.rs @@ -13,7 +13,6 @@ use anyhow::{Result, anyhow}; use assistant_tool::{ActionLog, AnyToolCard, Tool, ToolWorkingSet}; use chrono::{DateTime, Utc}; use client::{ModelRequestUsage, RequestUsage}; -use cloud_llm_client::{CompletionIntent, CompletionRequestStatus, UsageLimit}; use collections::HashMap; use feature_flags::{self, FeatureFlagAppExt}; use futures::{FutureExt, StreamExt as _, future::Shared}; @@ -50,6 +49,7 @@ use std::{ use thiserror::Error; use util::{ResultExt as _, post_inc}; use uuid::Uuid; +use zed_llm_client::{CompletionIntent, CompletionRequestStatus, UsageLimit}; const MAX_RETRY_ATTEMPTS: u8 = 4; const BASE_RETRY_DELAY: Duration = Duration::from_secs(5); @@ -1681,7 +1681,7 @@ impl Thread { let completion_mode = request .mode - .unwrap_or(cloud_llm_client::CompletionMode::Normal); + .unwrap_or(zed_llm_client::CompletionMode::Normal); self.last_received_chunk_at = Some(Instant::now()); diff --git a/crates/agent_servers/Cargo.toml b/crates/agent_servers/Cargo.toml index dcffb05bc0..4714245b94 100644 --- a/crates/agent_servers/Cargo.toml +++ b/crates/agent_servers/Cargo.toml @@ -18,7 +18,6 @@ doctest = false [dependencies] acp_thread.workspace = true -agent-client-protocol.workspace = true agentic-coding-protocol.workspace = true anyhow.workspace = true collections.workspace = true @@ -29,7 +28,6 @@ itertools.workspace = true log.workspace = true paths.workspace = true project.workspace = true -rand.workspace = true schemars.workspace = true serde.workspace = true serde_json.workspace = true @@ -41,7 +39,6 @@ ui.workspace = true util.workspace = true uuid.workspace = true watch.workspace = true -indoc.workspace = true which.workspace = true workspace-hack.workspace = true diff --git a/crates/agent_servers/src/agent_servers.rs b/crates/agent_servers/src/agent_servers.rs index 212bb74d8a..6d9c77f296 100644 --- a/crates/agent_servers/src/agent_servers.rs +++ b/crates/agent_servers/src/agent_servers.rs @@ -1,18 +1,17 @@ mod claude; -mod codex; mod gemini; -mod mcp_server; mod settings; +mod stdio_agent_server; #[cfg(test)] mod e2e_tests; pub use claude::*; -pub use codex::*; pub use gemini::*; pub use settings::*; +pub use stdio_agent_server::*; -use acp_thread::AgentConnection; +use acp_thread::AcpThread; use anyhow::Result; use collections::HashMap; use gpui::{App, AsyncApp, Entity, SharedString, Task}; @@ -21,7 +20,6 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use std::{ path::{Path, PathBuf}, - rc::Rc, sync::Arc, }; use util::ResultExt as _; @@ -35,14 +33,14 @@ pub trait AgentServer: Send { fn name(&self) -> &'static str; fn empty_state_headline(&self) -> &'static str; fn empty_state_message(&self) -> &'static str; + fn supports_always_allow(&self) -> bool; - fn connect( + fn new_thread( &self, - // these will go away when old_acp is fully removed root_dir: &Path, project: &Entity, cx: &mut App, - ) -> Task>>; + ) -> Task>>; } impl std::fmt::Debug for AgentServerCommand { diff --git a/crates/agent_servers/src/claude.rs b/crates/agent_servers/src/claude.rs index 6565786204..835efbd655 100644 --- a/crates/agent_servers/src/claude.rs +++ b/crates/agent_servers/src/claude.rs @@ -1,35 +1,39 @@ mod mcp_server; -pub mod tools; +mod tools; use collections::HashMap; -use context_server::listener::McpServerTool; use project::Project; use settings::SettingsStore; use smol::process::Child; use std::cell::RefCell; use std::fmt::Display; use std::path::Path; +use std::pin::pin; use std::rc::Rc; use uuid::Uuid; -use agent_client_protocol as acp; +use agentic_coding_protocol::{ + self as acp, AnyAgentRequest, AnyAgentResult, Client, ProtocolVersion, + StreamAssistantMessageChunkParams, ToolCallContent, UpdateToolCallParams, +}; use anyhow::{Result, anyhow}; use futures::channel::oneshot; -use futures::{AsyncBufReadExt, AsyncWriteExt}; +use futures::future::LocalBoxFuture; +use futures::{AsyncBufReadExt, AsyncWriteExt, SinkExt}; use futures::{ AsyncRead, AsyncWrite, FutureExt, StreamExt, channel::mpsc::{self, UnboundedReceiver, UnboundedSender}, io::BufReader, select_biased, }; -use gpui::{App, AppContext, AsyncApp, Entity, Task, WeakEntity}; +use gpui::{App, AppContext, Entity, Task}; use serde::{Deserialize, Serialize}; use util::ResultExt; -use crate::claude::mcp_server::{ClaudeZedMcpServer, McpConfig}; +use crate::claude::mcp_server::ClaudeMcpServer; use crate::claude::tools::ClaudeTool; use crate::{AgentServer, AgentServerCommand, AllAgentServersSettings}; -use acp_thread::{AcpThread, AgentConnection}; +use acp_thread::{AcpClientDelegate, AcpThread, AgentConnection}; #[derive(Clone)] pub struct ClaudeCode; @@ -44,51 +48,36 @@ impl AgentServer for ClaudeCode { } fn empty_state_message(&self) -> &'static str { - "How can I help you today?" + "" } fn logo(&self) -> ui::IconName { ui::IconName::AiClaude } - fn connect( - &self, - _root_dir: &Path, - _project: &Entity, - _cx: &mut App, - ) -> Task>> { - let connection = ClaudeAgentConnection { - sessions: Default::default(), - }; - - Task::ready(Ok(Rc::new(connection) as _)) - } -} - -struct ClaudeAgentConnection { - sessions: Rc>>, -} - -impl AgentConnection for ClaudeAgentConnection { - fn name(&self) -> &'static str { - ClaudeCode.name() + fn supports_always_allow(&self) -> bool { + false } fn new_thread( - self: Rc, - project: Entity, - cwd: &Path, - cx: &mut AsyncApp, + &self, + root_dir: &Path, + project: &Entity, + cx: &mut App, ) -> Task>> { - let cwd = cwd.to_owned(); + let project = project.clone(); + let root_dir = root_dir.to_path_buf(); + let title = self.name().into(); cx.spawn(async move |cx| { - let (mut thread_tx, thread_rx) = watch::channel(WeakEntity::new_invalid()); - let permission_mcp_server = ClaudeZedMcpServer::new(thread_rx.clone(), cx).await?; + let (mut delegate_tx, delegate_rx) = watch::channel(None); + let tool_id_map = Rc::new(RefCell::new(HashMap::default())); + + let mcp_server = ClaudeMcpServer::new(delegate_rx, tool_id_map.clone(), cx).await?; let mut mcp_servers = HashMap::default(); mcp_servers.insert( mcp_server::SERVER_NAME.to_string(), - permission_mcp_server.server_config()?, + mcp_server.server_config()?, ); let mcp_config = McpConfig { mcp_servers }; @@ -113,158 +102,192 @@ impl AgentConnection for ClaudeAgentConnection { let (incoming_message_tx, mut incoming_message_rx) = mpsc::unbounded(); let (outgoing_tx, outgoing_rx) = mpsc::unbounded(); + let (cancel_tx, mut cancel_rx) = mpsc::unbounded::>>(); - let session_id = acp::SessionId(Uuid::new_v4().to_string().into()); + let session_id = Uuid::new_v4(); log::trace!("Starting session with id: {}", session_id); - cx.background_spawn({ - let session_id = session_id.clone(); - async move { - let mut outgoing_rx = Some(outgoing_rx); + cx.background_spawn(async move { + let mut outgoing_rx = Some(outgoing_rx); + let mut mode = ClaudeSessionMode::Start; - let mut child = spawn_claude( - &command, - ClaudeSessionMode::Start, - session_id.clone(), - &mcp_config_path, - &cwd, - ) - .await?; + loop { + let mut child = + spawn_claude(&command, mode, session_id, &mcp_config_path, &root_dir) + .await?; + mode = ClaudeSessionMode::Resume; let pid = child.id(); log::trace!("Spawned (pid: {})", pid); - ClaudeAgentSession::handle_io( - outgoing_rx.take().unwrap(), - incoming_message_tx.clone(), - child.stdin.take().unwrap(), - child.stdout.take().unwrap(), - ) - .await?; + let mut io_fut = pin!( + ClaudeAgentConnection::handle_io( + outgoing_rx.take().unwrap(), + incoming_message_tx.clone(), + child.stdin.take().unwrap(), + child.stdout.take().unwrap(), + ) + .fuse() + ); + + select_biased! { + done_tx = cancel_rx.next() => { + if let Some(done_tx) = done_tx { + log::trace!("Interrupted (pid: {})", pid); + let result = send_interrupt(pid as i32); + outgoing_rx.replace(io_fut.await?); + done_tx.send(result).log_err(); + continue; + } + } + result = io_fut => { + result?; + } + } log::trace!("Stopped (pid: {})", pid); - - drop(mcp_config_path); - anyhow::Ok(()) + break; } + + drop(mcp_config_path); + anyhow::Ok(()) }) .detach(); - let end_turn_tx = Rc::new(RefCell::new(None)); - let handler_task = cx.spawn({ - let end_turn_tx = end_turn_tx.clone(); - let thread_rx = thread_rx.clone(); - async move |cx| { - while let Some(message) = incoming_message_rx.next().await { - ClaudeAgentSession::handle_message( - thread_rx.clone(), - message, - end_turn_tx.clone(), - cx, - ) - .await + cx.new(|cx| { + let end_turn_tx = Rc::new(RefCell::new(None)); + let delegate = AcpClientDelegate::new(cx.entity().downgrade(), cx.to_async()); + delegate_tx.send(Some(delegate.clone())).log_err(); + + let handler_task = cx.foreground_executor().spawn({ + let end_turn_tx = end_turn_tx.clone(); + let tool_id_map = tool_id_map.clone(); + let delegate = delegate.clone(); + async move { + while let Some(message) = incoming_message_rx.next().await { + ClaudeAgentConnection::handle_message( + delegate.clone(), + message, + end_turn_tx.clone(), + tool_id_map.clone(), + ) + .await + } } - } - }); + }); - let thread = - cx.new(|cx| AcpThread::new(self.clone(), project, session_id.clone(), cx))?; + let mut connection = ClaudeAgentConnection { + delegate, + outgoing_tx, + end_turn_tx, + cancel_tx, + session_id, + _handler_task: handler_task, + _mcp_server: None, + }; - thread_tx.send(thread.downgrade())?; - - let session = ClaudeAgentSession { - outgoing_tx, - end_turn_tx, - _handler_task: handler_task, - _mcp_server: Some(permission_mcp_server), - }; - - self.sessions.borrow_mut().insert(session_id, session); - - Ok(thread) + connection._mcp_server = Some(mcp_server); + acp_thread::AcpThread::new(connection, title, None, project.clone(), cx) + }) }) } +} - fn authenticate(&self, _cx: &mut App) -> Task> { - Task::ready(Err(anyhow!("Authentication not supported"))) - } +#[cfg(unix)] +fn send_interrupt(pid: libc::pid_t) -> anyhow::Result<()> { + let pid = nix::unistd::Pid::from_raw(pid); - fn prompt(&self, params: acp::PromptArguments, cx: &mut App) -> Task> { - let sessions = self.sessions.borrow(); - let Some(session) = sessions.get(¶ms.session_id) else { - return Task::ready(Err(anyhow!( - "Attempted to send message to nonexistent session {}", - params.session_id - ))); - }; + nix::sys::signal::kill(pid, nix::sys::signal::SIGINT) + .map_err(|e| anyhow!("Failed to interrupt process: {}", e)) +} - let (tx, rx) = oneshot::channel(); - session.end_turn_tx.borrow_mut().replace(tx); +#[cfg(windows)] +fn send_interrupt(_pid: i32) -> anyhow::Result<()> { + panic!("Cancel not implemented on Windows") +} - let mut content = String::new(); - for chunk in params.prompt { - match chunk { - acp::ContentBlock::Text(text_content) => { - content.push_str(&text_content.text); +impl AgentConnection for ClaudeAgentConnection { + /// Send a request to the agent and wait for a response. + fn request_any( + &self, + params: AnyAgentRequest, + ) -> LocalBoxFuture<'static, Result> { + let delegate = self.delegate.clone(); + let end_turn_tx = self.end_turn_tx.clone(); + let outgoing_tx = self.outgoing_tx.clone(); + let mut cancel_tx = self.cancel_tx.clone(); + let session_id = self.session_id; + async move { + match params { + // todo: consider sending an empty request so we get the init response? + AnyAgentRequest::InitializeParams(_) => Ok(AnyAgentResult::InitializeResponse( + acp::InitializeResponse { + is_authenticated: true, + protocol_version: ProtocolVersion::latest(), + }, + )), + AnyAgentRequest::AuthenticateParams(_) => { + Err(anyhow!("Authentication not supported")) } - acp::ContentBlock::ResourceLink(resource_link) => { - content.push_str(&format!("@{}", resource_link.uri)); + AnyAgentRequest::SendUserMessageParams(message) => { + delegate.clear_completed_plan_entries().await?; + + let (tx, rx) = oneshot::channel(); + end_turn_tx.borrow_mut().replace(tx); + let mut content = String::new(); + for chunk in message.chunks { + match chunk { + agentic_coding_protocol::UserMessageChunk::Text { text } => { + content.push_str(&text) + } + agentic_coding_protocol::UserMessageChunk::Path { path } => { + content.push_str(&format!("@{path:?}")) + } + } + } + outgoing_tx.unbounded_send(SdkMessage::User { + message: Message { + role: Role::User, + content: Content::UntaggedText(content), + id: None, + model: None, + stop_reason: None, + stop_sequence: None, + usage: None, + }, + session_id: Some(session_id), + })?; + rx.await??; + Ok(AnyAgentResult::SendUserMessageResponse( + acp::SendUserMessageResponse, + )) } - acp::ContentBlock::Audio(_) - | acp::ContentBlock::Image(_) - | acp::ContentBlock::Resource(_) => { - // TODO + AnyAgentRequest::CancelSendMessageParams(_) => { + let (done_tx, done_rx) = oneshot::channel(); + cancel_tx.send(done_tx).await?; + done_rx.await??; + + Ok(AnyAgentResult::CancelSendMessageResponse( + acp::CancelSendMessageResponse, + )) } } } - - if let Err(err) = session.outgoing_tx.unbounded_send(SdkMessage::User { - message: Message { - role: Role::User, - content: Content::UntaggedText(content), - id: None, - model: None, - stop_reason: None, - stop_sequence: None, - usage: None, - }, - session_id: Some(params.session_id.to_string()), - }) { - return Task::ready(Err(anyhow!(err))); - } - - cx.foreground_executor().spawn(async move { - rx.await??; - Ok(()) - }) - } - - fn cancel(&self, session_id: &acp::SessionId, _cx: &mut App) { - let sessions = self.sessions.borrow(); - let Some(session) = sessions.get(&session_id) else { - log::warn!("Attempted to cancel nonexistent session {}", session_id); - return; - }; - - session - .outgoing_tx - .unbounded_send(SdkMessage::new_interrupt_message()) - .log_err(); + .boxed_local() } } #[derive(Clone, Copy)] enum ClaudeSessionMode { Start, - #[expect(dead_code)] Resume, } async fn spawn_claude( command: &AgentServerCommand, mode: ClaudeSessionMode, - session_id: acp::SessionId, + session_id: Uuid, mcp_config_path: &Path, root_dir: &Path, ) -> Result { @@ -282,16 +305,10 @@ async fn spawn_claude( &format!( "mcp__{}__{}", mcp_server::SERVER_NAME, - mcp_server::PermissionTool::NAME, + mcp_server::PERMISSION_TOOL ), "--allowedTools", - &format!( - "mcp__{}__{},mcp__{}__{}", - mcp_server::SERVER_NAME, - mcp_server::EditTool::NAME, - mcp_server::SERVER_NAME, - mcp_server::ReadTool::NAME - ), + "mcp__zed__Read,mcp__zed__Edit", "--disallowedTools", "Read,Edit", ]) @@ -310,135 +327,105 @@ async fn spawn_claude( Ok(child) } -struct ClaudeAgentSession { +struct ClaudeAgentConnection { + delegate: AcpClientDelegate, + session_id: Uuid, outgoing_tx: UnboundedSender, end_turn_tx: Rc>>>>, - _mcp_server: Option, + cancel_tx: UnboundedSender>>, + _mcp_server: Option, _handler_task: Task<()>, } -impl ClaudeAgentSession { +impl ClaudeAgentConnection { async fn handle_message( - mut thread_rx: watch::Receiver>, + delegate: AcpClientDelegate, message: SdkMessage, end_turn_tx: Rc>>>>, - cx: &mut AsyncApp, + tool_id_map: Rc>>, ) { match message { - // we should only be sending these out, they don't need to be in the thread - SdkMessage::ControlRequest { .. } => {} - SdkMessage::Assistant { - message, - session_id: _, - } - | SdkMessage::User { - message, - session_id: _, - } => { - let Some(thread) = thread_rx - .recv() - .await - .log_err() - .and_then(|entity| entity.upgrade()) - else { - log::error!("Received an SDK message but thread is gone"); - return; - }; - + SdkMessage::Assistant { message, .. } | SdkMessage::User { message, .. } => { for chunk in message.content.chunks() { match chunk { ContentChunk::Text { text } | ContentChunk::UntaggedText(text) => { - thread - .update(cx, |thread, cx| { - thread.push_assistant_content_block(text.into(), false, cx) + delegate + .stream_assistant_message_chunk(StreamAssistantMessageChunkParams { + chunk: acp::AssistantMessageChunk::Text { text }, }) + .await .log_err(); } ContentChunk::ToolUse { id, name, input } => { let claude_tool = ClaudeTool::infer(&name, input); - thread - .update(cx, |thread, cx| { - if let ClaudeTool::TodoWrite(Some(params)) = claude_tool { - thread.update_plan( - acp::Plan { - entries: params - .todos - .into_iter() - .map(Into::into) - .collect(), - }, - cx, - ) - } else { - thread.upsert_tool_call( - claude_tool.as_acp(acp::ToolCallId(id.into())), - cx, - ); - } - }) - .log_err(); + if let ClaudeTool::TodoWrite(Some(params)) = claude_tool { + delegate + .update_plan(acp::UpdatePlanParams { + entries: params.todos.into_iter().map(Into::into).collect(), + }) + .await + .log_err(); + } else if let Some(resp) = delegate + .push_tool_call(claude_tool.as_acp()) + .await + .log_err() + { + tool_id_map.borrow_mut().insert(id, resp.id); + } } ContentChunk::ToolResult { content, tool_use_id, } => { - let content = content.to_string(); - thread - .update(cx, |thread, cx| { - thread.update_tool_call( - acp::ToolCallUpdate { - id: acp::ToolCallId(tool_use_id.into()), - fields: acp::ToolCallUpdateFields { - status: Some(acp::ToolCallStatus::Completed), - content: (!content.is_empty()) - .then(|| vec![content.into()]), - ..Default::default() + let id = tool_id_map.borrow_mut().remove(&tool_use_id); + if let Some(id) = id { + let content = content.to_string(); + delegate + .update_tool_call(UpdateToolCallParams { + tool_call_id: id, + status: acp::ToolCallStatus::Finished, + // Don't unset existing content + content: (!content.is_empty()).then_some( + ToolCallContent::Markdown { + // For now we only include text content + markdown: content, }, - }, - cx, - ) - }) - .log_err(); + ), + }) + .await + .log_err(); + } } ContentChunk::Image | ContentChunk::Document | ContentChunk::Thinking | ContentChunk::RedactedThinking | ContentChunk::WebSearchToolResult => { - thread - .update(cx, |thread, cx| { - thread.push_assistant_content_block( - format!("Unsupported content: {:?}", chunk).into(), - false, - cx, - ) + delegate + .stream_assistant_message_chunk(StreamAssistantMessageChunkParams { + chunk: acp::AssistantMessageChunk::Text { + text: format!("Unsupported content: {:?}", chunk), + }, }) + .await .log_err(); } } } } SdkMessage::Result { - is_error, - subtype, - result, - .. + is_error, subtype, .. } => { if let Some(end_turn_tx) = end_turn_tx.borrow_mut().take() { if is_error { - end_turn_tx - .send(Err(anyhow!( - "Error: {}", - result.unwrap_or_else(|| subtype.to_string()) - ))) - .ok(); + end_turn_tx.send(Err(anyhow!("Error: {subtype}"))).ok(); } else { end_turn_tx.send(Ok(())).ok(); } } } - SdkMessage::System { .. } | SdkMessage::ControlResponse { .. } => {} + SdkMessage::System { .. } => {} } } @@ -605,14 +592,16 @@ enum SdkMessage { Assistant { message: Message, // from Anthropic SDK #[serde(skip_serializing_if = "Option::is_none")] - session_id: Option, + session_id: Option, }, + // A user message User { message: Message, // from Anthropic SDK #[serde(skip_serializing_if = "Option::is_none")] - session_id: Option, + session_id: Option, }, + // Emitted as the last message in a conversation Result { subtype: ResultErrorType, @@ -637,26 +626,6 @@ enum SdkMessage { #[serde(rename = "permissionMode")] permission_mode: PermissionMode, }, - /// Messages used to control the conversation, outside of chat messages to the model - ControlRequest { - request_id: String, - request: ControlRequest, - }, - /// Response to a control request - ControlResponse { response: ControlResponse }, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(tag = "subtype", rename_all = "snake_case")] -enum ControlRequest { - /// Cancel the current conversation - Interrupt, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -struct ControlResponse { - request_id: String, - subtype: ResultErrorType, } #[derive(Debug, Clone, Serialize, Deserialize)] @@ -677,24 +646,6 @@ impl Display for ResultErrorType { } } -impl SdkMessage { - fn new_interrupt_message() -> Self { - use rand::Rng; - // In the Claude Code TS SDK they just generate a random 12 character string, - // `Math.random().toString(36).substring(2, 15)` - let request_id = rand::thread_rng() - .sample_iter(&rand::distributions::Alphanumeric) - .take(12) - .map(char::from) - .collect(); - - Self::ControlRequest { - request_id, - request: ControlRequest::Interrupt, - } - } -} - #[derive(Debug, Clone, Serialize, Deserialize)] struct McpServer { name: String, @@ -710,12 +661,27 @@ enum PermissionMode { Plan, } +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct McpConfig { + mcp_servers: HashMap, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct McpServerConfig { + command: String, + args: Vec, + #[serde(skip_serializing_if = "Option::is_none")] + env: Option>, +} + #[cfg(test)] pub(crate) mod tests { use super::*; use serde_json::json; - crate::common_e2e_tests!(ClaudeCode, allow_option_id = "allow"); + crate::common_e2e_tests!(ClaudeCode); pub fn local_command() -> AgentServerCommand { AgentServerCommand { diff --git a/crates/agent_servers/src/claude/mcp_server.rs b/crates/agent_servers/src/claude/mcp_server.rs index cc303016f1..2405603550 100644 --- a/crates/agent_servers/src/claude/mcp_server.rs +++ b/crates/agent_servers/src/claude/mcp_server.rs @@ -1,53 +1,78 @@ -use std::path::PathBuf; +use std::{cell::RefCell, rc::Rc}; -use crate::claude::tools::{ClaudeTool, EditToolParams, ReadToolParams}; -use acp_thread::AcpThread; -use agent_client_protocol as acp; +use acp_thread::AcpClientDelegate; +use agentic_coding_protocol::{self as acp, Client, ReadTextFileParams, WriteTextFileParams}; use anyhow::{Context, Result}; use collections::HashMap; -use context_server::listener::{McpServerTool, ToolResponse}; -use context_server::types::{ - Implementation, InitializeParams, InitializeResponse, ProtocolVersion, ServerCapabilities, - ToolAnnotations, ToolResponseContent, ToolsCapabilities, requests, +use context_server::{ + listener::McpServer, + types::{ + CallToolParams, CallToolResponse, Implementation, InitializeParams, InitializeResponse, + ListToolsResponse, ProtocolVersion, ServerCapabilities, Tool, ToolAnnotations, + ToolResponseContent, ToolsCapabilities, requests, + }, }; -use gpui::{App, AsyncApp, Task, WeakEntity}; +use gpui::{App, AsyncApp, Task}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use util::debug_panic; -pub struct ClaudeZedMcpServer { - server: context_server::listener::McpServer, +use crate::claude::{ + McpServerConfig, + tools::{ClaudeTool, EditToolParams, ReadToolParams}, +}; + +pub struct ClaudeMcpServer { + server: McpServer, } pub const SERVER_NAME: &str = "zed"; +pub const READ_TOOL: &str = "Read"; +pub const EDIT_TOOL: &str = "Edit"; +pub const PERMISSION_TOOL: &str = "Confirmation"; -impl ClaudeZedMcpServer { +#[derive(Deserialize, JsonSchema, Debug)] +struct PermissionToolParams { + tool_name: String, + input: serde_json::Value, + tool_use_id: Option, +} + +#[derive(Serialize)] +#[serde(rename_all = "camelCase")] +struct PermissionToolResponse { + behavior: PermissionToolBehavior, + updated_input: serde_json::Value, +} + +#[derive(Serialize)] +#[serde(rename_all = "snake_case")] +enum PermissionToolBehavior { + Allow, + Deny, +} + +impl ClaudeMcpServer { pub async fn new( - thread_rx: watch::Receiver>, + delegate: watch::Receiver>, + tool_id_map: Rc>>, cx: &AsyncApp, ) -> Result { - let mut mcp_server = context_server::listener::McpServer::new(cx).await?; + let mut mcp_server = McpServer::new(cx).await?; mcp_server.handle_request::(Self::handle_initialize); - - mcp_server.add_tool(PermissionTool { - thread_rx: thread_rx.clone(), - }); - mcp_server.add_tool(ReadTool { - thread_rx: thread_rx.clone(), - }); - mcp_server.add_tool(EditTool { - thread_rx: thread_rx.clone(), + mcp_server.handle_request::(Self::handle_list_tools); + mcp_server.handle_request::(move |request, cx| { + Self::handle_call_tool(request, delegate.clone(), tool_id_map.clone(), cx) }); Ok(Self { server: mcp_server }) } pub fn server_config(&self) -> Result { - #[cfg(not(test))] let zed_path = std::env::current_exe() - .context("finding current executable path for use in mcp_server")?; - - #[cfg(test)] - let zed_path = crate::e2e_tests::get_zed_path(); + .context("finding current executable path for use in mcp_server")? + .to_string_lossy() + .to_string(); Ok(McpServerConfig { command: zed_path, @@ -81,222 +106,191 @@ impl ClaudeZedMcpServer { }) }) } -} -#[derive(Serialize)] -#[serde(rename_all = "camelCase")] -pub struct McpConfig { - pub mcp_servers: HashMap, -} - -#[derive(Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct McpServerConfig { - pub command: PathBuf, - pub args: Vec, - #[serde(skip_serializing_if = "Option::is_none")] - pub env: Option>, -} - -// Tools - -#[derive(Clone)] -pub struct PermissionTool { - thread_rx: watch::Receiver>, -} - -#[derive(Deserialize, JsonSchema, Debug)] -pub struct PermissionToolParams { - tool_name: String, - input: serde_json::Value, - tool_use_id: Option, -} - -#[derive(Serialize)] -#[serde(rename_all = "camelCase")] -pub struct PermissionToolResponse { - behavior: PermissionToolBehavior, - updated_input: serde_json::Value, -} - -#[derive(Serialize)] -#[serde(rename_all = "snake_case")] -enum PermissionToolBehavior { - Allow, - Deny, -} - -impl McpServerTool for PermissionTool { - type Input = PermissionToolParams; - type Output = (); - - const NAME: &'static str = "Confirmation"; - - fn description(&self) -> &'static str { - "Request permission for tool calls" + fn handle_list_tools(_: (), cx: &App) -> Task> { + cx.foreground_executor().spawn(async move { + Ok(ListToolsResponse { + tools: vec![ + Tool { + name: PERMISSION_TOOL.into(), + input_schema: schemars::schema_for!(PermissionToolParams).into(), + description: None, + annotations: None, + }, + Tool { + name: READ_TOOL.into(), + input_schema: schemars::schema_for!(ReadToolParams).into(), + description: Some("Read the contents of a file. In sessions with mcp__zed__Read always use it instead of Read as it contains the most up-to-date contents.".to_string()), + annotations: Some(ToolAnnotations { + title: Some("Read file".to_string()), + read_only_hint: Some(true), + destructive_hint: Some(false), + open_world_hint: Some(false), + // if time passes the contents might change, but it's not going to do anything different + // true or false seem too strong, let's try a none. + idempotent_hint: None, + }), + }, + Tool { + name: EDIT_TOOL.into(), + input_schema: schemars::schema_for!(EditToolParams).into(), + description: Some("Edits a file. In sessions with mcp__zed__Edit always use it instead of Edit as it will show the diff to the user better.".to_string()), + annotations: Some(ToolAnnotations { + title: Some("Edit file".to_string()), + read_only_hint: Some(false), + destructive_hint: Some(false), + open_world_hint: Some(false), + idempotent_hint: Some(false), + }), + }, + ], + next_cursor: None, + meta: None, + }) + }) } - async fn run( - &self, - input: Self::Input, - cx: &mut AsyncApp, - ) -> Result> { - let mut thread_rx = self.thread_rx.clone(); - let Some(thread) = thread_rx.recv().await?.upgrade() else { - anyhow::bail!("Thread closed"); - }; + fn handle_call_tool( + request: CallToolParams, + mut delegate_watch: watch::Receiver>, + tool_id_map: Rc>>, + cx: &App, + ) -> Task> { + cx.spawn(async move |cx| { + let Some(delegate) = delegate_watch.recv().await? else { + debug_panic!("Sent None delegate"); + anyhow::bail!("Server not available"); + }; - let claude_tool = ClaudeTool::infer(&input.tool_name, input.input.clone()); - let tool_call_id = acp::ToolCallId(input.tool_use_id.context("Tool ID required")?.into()); - let allow_option_id = acp::PermissionOptionId("allow".into()); - let reject_option_id = acp::PermissionOptionId("reject".into()); + if request.name.as_str() == PERMISSION_TOOL { + let input = + serde_json::from_value(request.arguments.context("Arguments required")?)?; - let chosen_option = thread - .update(cx, |thread, cx| { - thread.request_tool_call_permission( - claude_tool.as_acp(tool_call_id), - vec![ - acp::PermissionOption { - id: allow_option_id.clone(), - label: "Allow".into(), - kind: acp::PermissionOptionKind::AllowOnce, - }, - acp::PermissionOption { - id: reject_option_id.clone(), - label: "Reject".into(), - kind: acp::PermissionOptionKind::RejectOnce, - }, - ], - cx, + let result = + Self::handle_permissions_tool_call(input, delegate, tool_id_map, cx).await?; + Ok(CallToolResponse { + content: vec![ToolResponseContent::Text { + text: serde_json::to_string(&result)?, + }], + is_error: None, + meta: None, + }) + } else if request.name.as_str() == READ_TOOL { + let input = + serde_json::from_value(request.arguments.context("Arguments required")?)?; + + let content = Self::handle_read_tool_call(input, delegate, cx).await?; + Ok(CallToolResponse { + content, + is_error: None, + meta: None, + }) + } else if request.name.as_str() == EDIT_TOOL { + let input = + serde_json::from_value(request.arguments.context("Arguments required")?)?; + + Self::handle_edit_tool_call(input, delegate, cx).await?; + Ok(CallToolResponse { + content: vec![], + is_error: None, + meta: None, + }) + } else { + anyhow::bail!("Unsupported tool"); + } + }) + } + + fn handle_read_tool_call( + params: ReadToolParams, + delegate: AcpClientDelegate, + cx: &AsyncApp, + ) -> Task>> { + cx.foreground_executor().spawn(async move { + let response = delegate + .read_text_file(ReadTextFileParams { + path: params.abs_path, + line: params.offset, + limit: params.limit, + }) + .await?; + + Ok(vec![ToolResponseContent::Text { + text: response.content, + }]) + }) + } + + fn handle_edit_tool_call( + params: EditToolParams, + delegate: AcpClientDelegate, + cx: &AsyncApp, + ) -> Task> { + cx.foreground_executor().spawn(async move { + let response = delegate + .read_text_file_reusing_snapshot(ReadTextFileParams { + path: params.abs_path.clone(), + line: None, + limit: None, + }) + .await?; + + let new_content = response.content.replace(¶ms.old_text, ¶ms.new_text); + if new_content == response.content { + return Err(anyhow::anyhow!("The old_text was not found in the content")); + } + + delegate + .write_text_file(WriteTextFileParams { + path: params.abs_path, + content: new_content, + }) + .await?; + + Ok(()) + }) + } + + fn handle_permissions_tool_call( + params: PermissionToolParams, + delegate: AcpClientDelegate, + tool_id_map: Rc>>, + cx: &AsyncApp, + ) -> Task> { + cx.foreground_executor().spawn(async move { + let claude_tool = ClaudeTool::infer(¶ms.tool_name, params.input.clone()); + + let tool_call_id = match params.tool_use_id { + Some(tool_use_id) => tool_id_map + .borrow() + .get(&tool_use_id) + .cloned() + .context("Tool call ID not found")?, + + None => delegate.push_tool_call(claude_tool.as_acp()).await?.id, + }; + + let outcome = delegate + .request_existing_tool_call_confirmation( + tool_call_id, + claude_tool.confirmation(None), ) - })? - .await?; + .await?; - let response = if chosen_option == allow_option_id { - PermissionToolResponse { - behavior: PermissionToolBehavior::Allow, - updated_input: input.input, + match outcome { + acp::ToolCallConfirmationOutcome::Allow + | acp::ToolCallConfirmationOutcome::AlwaysAllow + | acp::ToolCallConfirmationOutcome::AlwaysAllowMcpServer + | acp::ToolCallConfirmationOutcome::AlwaysAllowTool => Ok(PermissionToolResponse { + behavior: PermissionToolBehavior::Allow, + updated_input: params.input, + }), + acp::ToolCallConfirmationOutcome::Reject + | acp::ToolCallConfirmationOutcome::Cancel => Ok(PermissionToolResponse { + behavior: PermissionToolBehavior::Deny, + updated_input: params.input, + }), } - } else { - debug_assert_eq!(chosen_option, reject_option_id); - PermissionToolResponse { - behavior: PermissionToolBehavior::Deny, - updated_input: input.input, - } - }; - - Ok(ToolResponse { - content: vec![ToolResponseContent::Text { - text: serde_json::to_string(&response)?, - }], - structured_content: (), - }) - } -} - -#[derive(Clone)] -pub struct ReadTool { - thread_rx: watch::Receiver>, -} - -impl McpServerTool for ReadTool { - type Input = ReadToolParams; - type Output = (); - - const NAME: &'static str = "Read"; - - fn description(&self) -> &'static str { - "Read the contents of a file. In sessions with mcp__zed__Read always use it instead of Read as it contains the most up-to-date contents." - } - - fn annotations(&self) -> ToolAnnotations { - ToolAnnotations { - title: Some("Read file".to_string()), - read_only_hint: Some(true), - destructive_hint: Some(false), - open_world_hint: Some(false), - idempotent_hint: None, - } - } - - async fn run( - &self, - input: Self::Input, - cx: &mut AsyncApp, - ) -> Result> { - let mut thread_rx = self.thread_rx.clone(); - let Some(thread) = thread_rx.recv().await?.upgrade() else { - anyhow::bail!("Thread closed"); - }; - - let content = thread - .update(cx, |thread, cx| { - thread.read_text_file(input.abs_path, input.offset, input.limit, false, cx) - })? - .await?; - - Ok(ToolResponse { - content: vec![ToolResponseContent::Text { text: content }], - structured_content: (), - }) - } -} - -#[derive(Clone)] -pub struct EditTool { - thread_rx: watch::Receiver>, -} - -impl McpServerTool for EditTool { - type Input = EditToolParams; - type Output = (); - - const NAME: &'static str = "Edit"; - - fn description(&self) -> &'static str { - "Edits a file. In sessions with mcp__zed__Edit always use it instead of Edit as it will show the diff to the user better." - } - - fn annotations(&self) -> ToolAnnotations { - ToolAnnotations { - title: Some("Edit file".to_string()), - read_only_hint: Some(false), - destructive_hint: Some(false), - open_world_hint: Some(false), - idempotent_hint: Some(false), - } - } - - async fn run( - &self, - input: Self::Input, - cx: &mut AsyncApp, - ) -> Result> { - let mut thread_rx = self.thread_rx.clone(); - let Some(thread) = thread_rx.recv().await?.upgrade() else { - anyhow::bail!("Thread closed"); - }; - - let content = thread - .update(cx, |thread, cx| { - thread.read_text_file(input.abs_path.clone(), None, None, true, cx) - })? - .await?; - - let new_content = content.replace(&input.old_text, &input.new_text); - if new_content == content { - return Err(anyhow::anyhow!("The old_text was not found in the content")); - } - - thread - .update(cx, |thread, cx| { - thread.write_text_file(input.abs_path, new_content, cx) - })? - .await?; - - Ok(ToolResponse { - content: vec![], - structured_content: (), }) } } diff --git a/crates/agent_servers/src/claude/tools.rs b/crates/agent_servers/src/claude/tools.rs index 6acb6355aa..75a26ee230 100644 --- a/crates/agent_servers/src/claude/tools.rs +++ b/crates/agent_servers/src/claude/tools.rs @@ -1,6 +1,6 @@ use std::path::PathBuf; -use agent_client_protocol as acp; +use agentic_coding_protocol::{self as acp, PushToolCallParams, ToolCallLocation}; use itertools::Itertools; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; @@ -115,36 +115,51 @@ impl ClaudeTool { Self::Other { name, .. } => name.clone(), } } - pub fn content(&self) -> Vec { + + pub fn content(&self) -> Option { match &self { - Self::Other { input, .. } => vec![ - format!( + Self::Other { input, .. } => Some(acp::ToolCallContent::Markdown { + markdown: format!( "```json\n{}```", serde_json::to_string_pretty(&input).unwrap_or("{}".to_string()) - ) - .into(), - ], - Self::Task(Some(params)) => vec![params.prompt.clone().into()], - Self::NotebookRead(Some(params)) => { - vec![params.notebook_path.display().to_string().into()] - } - Self::NotebookEdit(Some(params)) => vec![params.new_source.clone().into()], - Self::Terminal(Some(params)) => vec![ - format!( + ), + }), + Self::Task(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.prompt.clone(), + }), + Self::NotebookRead(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.notebook_path.display().to_string(), + }), + Self::NotebookEdit(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.new_source.clone(), + }), + Self::Terminal(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: format!( "`{}`\n\n{}", params.command, params.description.as_deref().unwrap_or_default() - ) - .into(), - ], - Self::ReadFile(Some(params)) => vec![params.abs_path.display().to_string().into()], - Self::Ls(Some(params)) => vec![params.path.display().to_string().into()], - Self::Glob(Some(params)) => vec![params.to_string().into()], - Self::Grep(Some(params)) => vec![format!("`{params}`").into()], - Self::WebFetch(Some(params)) => vec![params.prompt.clone().into()], - Self::WebSearch(Some(params)) => vec![params.to_string().into()], - Self::TodoWrite(Some(params)) => vec![ - params + ), + }), + Self::ReadFile(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.abs_path.display().to_string(), + }), + Self::Ls(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.path.display().to_string(), + }), + Self::Glob(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.to_string(), + }), + Self::Grep(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: format!("`{params}`"), + }), + Self::WebFetch(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.prompt.clone(), + }), + Self::WebSearch(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.to_string(), + }), + Self::TodoWrite(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params .todos .iter() .map(|todo| { @@ -159,39 +174,34 @@ impl ClaudeTool { todo.content ) }) - .join("\n") - .into(), - ], - Self::ExitPlanMode(Some(params)) => vec![params.plan.clone().into()], - Self::Edit(Some(params)) => vec![acp::ToolCallContent::Diff { + .join("\n"), + }), + Self::ExitPlanMode(Some(params)) => Some(acp::ToolCallContent::Markdown { + markdown: params.plan.clone(), + }), + Self::Edit(Some(params)) => Some(acp::ToolCallContent::Diff { diff: acp::Diff { path: params.abs_path.clone(), old_text: Some(params.old_text.clone()), new_text: params.new_text.clone(), }, - }], - Self::Write(Some(params)) => vec![acp::ToolCallContent::Diff { + }), + Self::Write(Some(params)) => Some(acp::ToolCallContent::Diff { diff: acp::Diff { path: params.file_path.clone(), old_text: None, new_text: params.content.clone(), }, - }], + }), Self::MultiEdit(Some(params)) => { // todo: show multiple edits in a multibuffer? - params - .edits - .first() - .map(|edit| { - vec![acp::ToolCallContent::Diff { - diff: acp::Diff { - path: params.file_path.clone(), - old_text: Some(edit.old_string.clone()), - new_text: edit.new_string.clone(), - }, - }] - }) - .unwrap_or_default() + params.edits.first().map(|edit| acp::ToolCallContent::Diff { + diff: acp::Diff { + path: params.file_path.clone(), + old_text: Some(edit.old_string.clone()), + new_text: edit.new_string.clone(), + }, + }) } Self::Task(None) | Self::NotebookRead(None) @@ -207,80 +217,181 @@ impl ClaudeTool { | Self::ExitPlanMode(None) | Self::Edit(None) | Self::Write(None) - | Self::MultiEdit(None) => vec![], + | Self::MultiEdit(None) => None, } } - pub fn kind(&self) -> acp::ToolKind { + pub fn icon(&self) -> acp::Icon { match self { - Self::Task(_) => acp::ToolKind::Think, - Self::NotebookRead(_) => acp::ToolKind::Read, - Self::NotebookEdit(_) => acp::ToolKind::Edit, - Self::Edit(_) => acp::ToolKind::Edit, - Self::MultiEdit(_) => acp::ToolKind::Edit, - Self::Write(_) => acp::ToolKind::Edit, - Self::ReadFile(_) => acp::ToolKind::Read, - Self::Ls(_) => acp::ToolKind::Search, - Self::Glob(_) => acp::ToolKind::Search, - Self::Grep(_) => acp::ToolKind::Search, - Self::Terminal(_) => acp::ToolKind::Execute, - Self::WebSearch(_) => acp::ToolKind::Search, - Self::WebFetch(_) => acp::ToolKind::Fetch, - Self::TodoWrite(_) => acp::ToolKind::Think, - Self::ExitPlanMode(_) => acp::ToolKind::Think, - Self::Other { .. } => acp::ToolKind::Other, + Self::Task(_) => acp::Icon::Hammer, + Self::NotebookRead(_) => acp::Icon::FileSearch, + Self::NotebookEdit(_) => acp::Icon::Pencil, + Self::Edit(_) => acp::Icon::Pencil, + Self::MultiEdit(_) => acp::Icon::Pencil, + Self::Write(_) => acp::Icon::Pencil, + Self::ReadFile(_) => acp::Icon::FileSearch, + Self::Ls(_) => acp::Icon::Folder, + Self::Glob(_) => acp::Icon::FileSearch, + Self::Grep(_) => acp::Icon::Regex, + Self::Terminal(_) => acp::Icon::Terminal, + Self::WebSearch(_) => acp::Icon::Globe, + Self::WebFetch(_) => acp::Icon::Globe, + Self::TodoWrite(_) => acp::Icon::LightBulb, + Self::ExitPlanMode(_) => acp::Icon::Hammer, + Self::Other { .. } => acp::Icon::Hammer, + } + } + + pub fn confirmation(&self, description: Option) -> acp::ToolCallConfirmation { + match &self { + Self::Edit(_) | Self::Write(_) | Self::NotebookEdit(_) | Self::MultiEdit(_) => { + acp::ToolCallConfirmation::Edit { description } + } + Self::WebFetch(params) => acp::ToolCallConfirmation::Fetch { + urls: params + .as_ref() + .map(|p| vec![p.url.clone()]) + .unwrap_or_default(), + description, + }, + Self::Terminal(Some(BashToolParams { + description, + command, + .. + })) => acp::ToolCallConfirmation::Execute { + command: command.clone(), + root_command: command.clone(), + description: description.clone(), + }, + Self::ExitPlanMode(Some(params)) => acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {}", params.plan) + } else { + params.plan.clone() + }, + }, + Self::Task(Some(params)) => acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {}", params.description) + } else { + params.description.clone() + }, + }, + Self::Ls(Some(LsToolParams { path, .. })) + | Self::ReadFile(Some(ReadToolParams { abs_path: path, .. })) => { + let path = path.display(); + acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {path}") + } else { + path.to_string() + }, + } + } + Self::NotebookRead(Some(NotebookReadToolParams { notebook_path, .. })) => { + let path = notebook_path.display(); + acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {path}") + } else { + path.to_string() + }, + } + } + Self::Glob(Some(params)) => acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {params}") + } else { + params.to_string() + }, + }, + Self::Grep(Some(params)) => acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {params}") + } else { + params.to_string() + }, + }, + Self::WebSearch(Some(params)) => acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {params}") + } else { + params.to_string() + }, + }, + Self::TodoWrite(Some(params)) => { + let params = params.todos.iter().map(|todo| &todo.content).join(", "); + acp::ToolCallConfirmation::Other { + description: if let Some(description) = description { + format!("{description} {params}") + } else { + params + }, + } + } + Self::Terminal(None) + | Self::Task(None) + | Self::NotebookRead(None) + | Self::ExitPlanMode(None) + | Self::Ls(None) + | Self::Glob(None) + | Self::Grep(None) + | Self::ReadFile(None) + | Self::WebSearch(None) + | Self::TodoWrite(None) + | Self::Other { .. } => acp::ToolCallConfirmation::Other { + description: description.unwrap_or("".to_string()), + }, } } pub fn locations(&self) -> Vec { match &self { - Self::Edit(Some(EditToolParams { abs_path, .. })) => vec![acp::ToolCallLocation { + Self::Edit(Some(EditToolParams { abs_path, .. })) => vec![ToolCallLocation { path: abs_path.clone(), line: None, }], Self::MultiEdit(Some(MultiEditToolParams { file_path, .. })) => { - vec![acp::ToolCallLocation { - path: file_path.clone(), - line: None, - }] - } - Self::Write(Some(WriteToolParams { file_path, .. })) => { - vec![acp::ToolCallLocation { + vec![ToolCallLocation { path: file_path.clone(), line: None, }] } + Self::Write(Some(WriteToolParams { file_path, .. })) => vec![ToolCallLocation { + path: file_path.clone(), + line: None, + }], Self::ReadFile(Some(ReadToolParams { abs_path, offset, .. - })) => vec![acp::ToolCallLocation { + })) => vec![ToolCallLocation { path: abs_path.clone(), line: *offset, }], Self::NotebookRead(Some(NotebookReadToolParams { notebook_path, .. })) => { - vec![acp::ToolCallLocation { + vec![ToolCallLocation { path: notebook_path.clone(), line: None, }] } Self::NotebookEdit(Some(NotebookEditToolParams { notebook_path, .. })) => { - vec![acp::ToolCallLocation { + vec![ToolCallLocation { path: notebook_path.clone(), line: None, }] } Self::Glob(Some(GlobToolParams { path: Some(path), .. - })) => vec![acp::ToolCallLocation { + })) => vec![ToolCallLocation { path: path.clone(), line: None, }], - Self::Ls(Some(LsToolParams { path, .. })) => vec![acp::ToolCallLocation { + Self::Ls(Some(LsToolParams { path, .. })) => vec![ToolCallLocation { path: path.clone(), line: None, }], Self::Grep(Some(GrepToolParams { path: Some(path), .. - })) => vec![acp::ToolCallLocation { + })) => vec![ToolCallLocation { path: PathBuf::from(path), line: None, }], @@ -303,15 +414,12 @@ impl ClaudeTool { } } - pub fn as_acp(&self, id: acp::ToolCallId) -> acp::ToolCall { - acp::ToolCall { - id, - kind: self.kind(), - status: acp::ToolCallStatus::InProgress, + pub fn as_acp(&self) -> PushToolCallParams { + PushToolCallParams { label: self.label(), content: self.content(), + icon: self.icon(), locations: self.locations(), - raw_input: None, } } } diff --git a/crates/agent_servers/src/codex.rs b/crates/agent_servers/src/codex.rs deleted file mode 100644 index 712c333221..0000000000 --- a/crates/agent_servers/src/codex.rs +++ /dev/null @@ -1,319 +0,0 @@ -use agent_client_protocol as acp; -use anyhow::anyhow; -use collections::HashMap; -use context_server::listener::McpServerTool; -use context_server::types::requests; -use context_server::{ContextServer, ContextServerCommand, ContextServerId}; -use futures::channel::{mpsc, oneshot}; -use project::Project; -use settings::SettingsStore; -use smol::stream::StreamExt as _; -use std::cell::RefCell; -use std::rc::Rc; -use std::{path::Path, sync::Arc}; -use util::ResultExt; - -use anyhow::{Context, Result}; -use gpui::{App, AppContext as _, AsyncApp, Entity, Task, WeakEntity}; - -use crate::mcp_server::ZedMcpServer; -use crate::{AgentServer, AgentServerCommand, AllAgentServersSettings, mcp_server}; -use acp_thread::{AcpThread, AgentConnection}; - -#[derive(Clone)] -pub struct Codex; - -impl AgentServer for Codex { - fn name(&self) -> &'static str { - "Codex" - } - - fn empty_state_headline(&self) -> &'static str { - "Welcome to Codex" - } - - fn empty_state_message(&self) -> &'static str { - "What can I help with?" - } - - fn logo(&self) -> ui::IconName { - ui::IconName::AiOpenAi - } - - fn connect( - &self, - _root_dir: &Path, - project: &Entity, - cx: &mut App, - ) -> Task>> { - let project = project.clone(); - let working_directory = project.read(cx).active_project_directory(cx); - cx.spawn(async move |cx| { - let settings = cx.read_global(|settings: &SettingsStore, _| { - settings.get::(None).codex.clone() - })?; - - let Some(command) = - AgentServerCommand::resolve("codex", &["mcp"], settings, &project, cx).await - else { - anyhow::bail!("Failed to find codex binary"); - }; - - let client: Arc = ContextServer::stdio( - ContextServerId("codex-mcp-server".into()), - ContextServerCommand { - path: command.path, - args: command.args, - env: command.env, - }, - working_directory, - ) - .into(); - ContextServer::start(client.clone(), cx).await?; - - let (notification_tx, mut notification_rx) = mpsc::unbounded(); - client - .client() - .context("Failed to subscribe")? - .on_notification(acp::SESSION_UPDATE_METHOD_NAME, { - move |notification, _cx| { - let notification_tx = notification_tx.clone(); - log::trace!( - "ACP Notification: {}", - serde_json::to_string_pretty(¬ification).unwrap() - ); - - if let Some(notification) = - serde_json::from_value::(notification) - .log_err() - { - notification_tx.unbounded_send(notification).ok(); - } - } - }); - - let sessions = Rc::new(RefCell::new(HashMap::default())); - - let notification_handler_task = cx.spawn({ - let sessions = sessions.clone(); - async move |cx| { - while let Some(notification) = notification_rx.next().await { - CodexConnection::handle_session_notification( - notification, - sessions.clone(), - cx, - ) - } - } - }); - - let connection = CodexConnection { - client, - sessions, - _notification_handler_task: notification_handler_task, - }; - Ok(Rc::new(connection) as _) - }) - } -} - -struct CodexConnection { - client: Arc, - sessions: Rc>>, - _notification_handler_task: Task<()>, -} - -struct CodexSession { - thread: WeakEntity, - cancel_tx: Option>, - _mcp_server: ZedMcpServer, -} - -impl AgentConnection for CodexConnection { - fn name(&self) -> &'static str { - "Codex" - } - - fn new_thread( - self: Rc, - project: Entity, - cwd: &Path, - cx: &mut AsyncApp, - ) -> Task>> { - let client = self.client.client(); - let sessions = self.sessions.clone(); - let cwd = cwd.to_path_buf(); - cx.spawn(async move |cx| { - let client = client.context("MCP server is not initialized yet")?; - let (mut thread_tx, thread_rx) = watch::channel(WeakEntity::new_invalid()); - - let mcp_server = ZedMcpServer::new(thread_rx, cx).await?; - - let response = client - .request::(context_server::types::CallToolParams { - name: acp::NEW_SESSION_TOOL_NAME.into(), - arguments: Some(serde_json::to_value(acp::NewSessionArguments { - mcp_servers: [( - mcp_server::SERVER_NAME.to_string(), - mcp_server.server_config()?, - )] - .into(), - client_tools: acp::ClientTools { - request_permission: Some(acp::McpToolId { - mcp_server: mcp_server::SERVER_NAME.into(), - tool_name: mcp_server::RequestPermissionTool::NAME.into(), - }), - read_text_file: Some(acp::McpToolId { - mcp_server: mcp_server::SERVER_NAME.into(), - tool_name: mcp_server::ReadTextFileTool::NAME.into(), - }), - write_text_file: Some(acp::McpToolId { - mcp_server: mcp_server::SERVER_NAME.into(), - tool_name: mcp_server::WriteTextFileTool::NAME.into(), - }), - }, - cwd, - })?), - meta: None, - }) - .await?; - - if response.is_error.unwrap_or_default() { - return Err(anyhow!(response.text_contents())); - } - - let result = serde_json::from_value::( - response.structured_content.context("Empty response")?, - )?; - - let thread = - cx.new(|cx| AcpThread::new(self.clone(), project, result.session_id.clone(), cx))?; - - thread_tx.send(thread.downgrade())?; - - let session = CodexSession { - thread: thread.downgrade(), - cancel_tx: None, - _mcp_server: mcp_server, - }; - sessions.borrow_mut().insert(result.session_id, session); - - Ok(thread) - }) - } - - fn authenticate(&self, _cx: &mut App) -> Task> { - Task::ready(Err(anyhow!("Authentication not supported"))) - } - - fn prompt( - &self, - params: agent_client_protocol::PromptArguments, - cx: &mut App, - ) -> Task> { - let client = self.client.client(); - let sessions = self.sessions.clone(); - - cx.foreground_executor().spawn(async move { - let client = client.context("MCP server is not initialized yet")?; - - let (new_cancel_tx, cancel_rx) = oneshot::channel(); - { - let mut sessions = sessions.borrow_mut(); - let session = sessions - .get_mut(¶ms.session_id) - .context("Session not found")?; - session.cancel_tx.replace(new_cancel_tx); - } - - let result = client - .request_with::( - context_server::types::CallToolParams { - name: acp::PROMPT_TOOL_NAME.into(), - arguments: Some(serde_json::to_value(params)?), - meta: None, - }, - Some(cancel_rx), - None, - ) - .await; - - if let Err(err) = &result - && err.is::() - { - return Ok(()); - } - - let response = result?; - - if response.is_error.unwrap_or_default() { - return Err(anyhow!(response.text_contents())); - } - - Ok(()) - }) - } - - fn cancel(&self, session_id: &agent_client_protocol::SessionId, _cx: &mut App) { - let mut sessions = self.sessions.borrow_mut(); - - if let Some(cancel_tx) = sessions - .get_mut(session_id) - .and_then(|session| session.cancel_tx.take()) - { - cancel_tx.send(()).ok(); - } - } -} - -impl CodexConnection { - pub fn handle_session_notification( - notification: acp::SessionNotification, - threads: Rc>>, - cx: &mut AsyncApp, - ) { - let threads = threads.borrow(); - let Some(thread) = threads - .get(¬ification.session_id) - .and_then(|session| session.thread.upgrade()) - else { - log::error!( - "Thread not found for session ID: {}", - notification.session_id - ); - return; - }; - - thread - .update(cx, |thread, cx| { - thread.handle_session_update(notification.update, cx) - }) - .log_err(); - } -} - -impl Drop for CodexConnection { - fn drop(&mut self) { - self.client.stop().log_err(); - } -} - -#[cfg(test)] -pub(crate) mod tests { - use super::*; - use crate::AgentServerCommand; - use std::path::Path; - - crate::common_e2e_tests!(Codex, allow_option_id = "approve"); - - pub fn local_command() -> AgentServerCommand { - let cli_path = Path::new(env!("CARGO_MANIFEST_DIR")) - .join("../../../codex/codex-rs/target/debug/codex"); - - AgentServerCommand { - path: cli_path, - args: vec![], - env: None, - } - } -} diff --git a/crates/agent_servers/src/e2e_tests.rs b/crates/agent_servers/src/e2e_tests.rs index e9c72eabc9..12f74cb13e 100644 --- a/crates/agent_servers/src/e2e_tests.rs +++ b/crates/agent_servers/src/e2e_tests.rs @@ -1,17 +1,15 @@ -use std::{ - path::{Path, PathBuf}, - sync::Arc, - time::Duration, -}; +use std::{path::Path, sync::Arc, time::Duration}; use crate::{AgentServer, AgentServerSettings, AllAgentServersSettings}; -use acp_thread::{AcpThread, AgentThreadEntry, ToolCall, ToolCallStatus}; -use agent_client_protocol as acp; - +use acp_thread::{ + AcpThread, AgentThreadEntry, ToolCall, ToolCallConfirmation, ToolCallContent, ToolCallStatus, +}; +use agentic_coding_protocol as acp; use futures::{FutureExt, StreamExt, channel::mpsc, select}; use gpui::{Entity, TestAppContext}; use indoc::indoc; use project::{FakeFs, Project}; +use serde_json::json; use settings::{Settings, SettingsStore}; use util::path; @@ -26,11 +24,7 @@ pub async fn test_basic(server: impl AgentServer + 'static, cx: &mut TestAppCont .unwrap(); thread.read_with(cx, |thread, _| { - assert!( - thread.entries().len() >= 2, - "Expected at least 2 entries. Got: {:?}", - thread.entries() - ); + assert_eq!(thread.entries().len(), 2); assert!(matches!( thread.entries()[0], AgentThreadEntry::UserMessage(_) @@ -60,25 +54,19 @@ pub async fn test_path_mentions(server: impl AgentServer + 'static, cx: &mut Tes thread .update(cx, |thread, cx| { thread.send( - vec![ - acp::ContentBlock::Text(acp::TextContent { - text: "Read the file ".into(), - annotations: None, - }), - acp::ContentBlock::ResourceLink(acp::ResourceLink { - uri: "foo.rs".into(), - name: "foo.rs".into(), - annotations: None, - description: None, - mime_type: None, - size: None, - title: None, - }), - acp::ContentBlock::Text(acp::TextContent { - text: " and tell me what the content of the println! is".into(), - annotations: None, - }), - ], + acp::SendUserMessageParams { + chunks: vec![ + acp::UserMessageChunk::Text { + text: "Read the file ".into(), + }, + acp::UserMessageChunk::Path { + path: Path::new("foo.rs").into(), + }, + acp::UserMessageChunk::Text { + text: " and tell me what the content of the println! is".into(), + }, + ], + }, cx, ) }) @@ -86,44 +74,37 @@ pub async fn test_path_mentions(server: impl AgentServer + 'static, cx: &mut Tes .unwrap(); thread.read_with(cx, |thread, cx| { + assert_eq!(thread.entries().len(), 3); assert!(matches!( thread.entries()[0], AgentThreadEntry::UserMessage(_) )); - let assistant_message = &thread - .entries() - .iter() - .rev() - .find_map(|entry| match entry { - AgentThreadEntry::AssistantMessage(msg) => Some(msg), - _ => None, - }) - .unwrap(); - + assert!(matches!(thread.entries()[1], AgentThreadEntry::ToolCall(_))); + let AgentThreadEntry::AssistantMessage(assistant_message) = &thread.entries()[2] else { + panic!("Expected AssistantMessage") + }; assert!( assistant_message.to_markdown(cx).contains("Hello, world!"), "unexpected assistant message: {:?}", assistant_message.to_markdown(cx) ); }); - - drop(tempdir); } pub async fn test_tool_call(server: impl AgentServer + 'static, cx: &mut TestAppContext) { - let _fs = init_test(cx).await; - - let tempdir = tempfile::tempdir().unwrap(); - let foo_path = tempdir.path().join("foo"); - std::fs::write(&foo_path, "Lorem ipsum dolor").expect("failed to write file"); - - let project = Project::example([tempdir.path()], &mut cx.to_async()).await; + let fs = init_test(cx).await; + fs.insert_tree( + path!("/private/tmp"), + json!({"foo": "Lorem ipsum dolor", "bar": "bar", "baz": "baz"}), + ) + .await; + let project = Project::test(fs, [path!("/private/tmp").as_ref()], cx).await; let thread = new_test_thread(server, project.clone(), "/private/tmp", cx).await; thread .update(cx, |thread, cx| { thread.send_raw( - &format!("Read {} and tell me what you see.", foo_path.display()), + "Read the '/private/tmp/foo' file and tell me what you see.", cx, ) }) @@ -146,13 +127,10 @@ pub async fn test_tool_call(server: impl AgentServer + 'static, cx: &mut TestApp .any(|entry| { matches!(entry, AgentThreadEntry::AssistantMessage(_)) }) ); }); - - drop(tempdir); } pub async fn test_tool_call_with_confirmation( server: impl AgentServer + 'static, - allow_option_id: acp::PermissionOptionId, cx: &mut TestAppContext, ) { let fs = init_test(cx).await; @@ -160,7 +138,7 @@ pub async fn test_tool_call_with_confirmation( let thread = new_test_thread(server, project.clone(), "/private/tmp", cx).await; let full_turn = thread.update(cx, |thread, cx| { thread.send_raw( - r#"Run exactly `touch hello.txt && echo "Hello, world!" | tee hello.txt` in the terminal."#, + r#"Run `touch hello.txt && echo "Hello, world!" | tee hello.txt`"#, cx, ) }); @@ -180,11 +158,14 @@ pub async fn test_tool_call_with_confirmation( ) .await; - let tool_call_id = thread.read_with(cx, |thread, cx| { + let tool_call_id = thread.read_with(cx, |thread, _cx| { let AgentThreadEntry::ToolCall(ToolCall { id, - label, - status: ToolCallStatus::WaitingForConfirmation { .. }, + status: + ToolCallStatus::WaitingForConfirmation { + confirmation: ToolCallConfirmation::Execute { root_command, .. }, + .. + }, .. }) = &thread .entries() @@ -195,19 +176,13 @@ pub async fn test_tool_call_with_confirmation( panic!(); }; - let label = label.read(cx).source(); - assert!(label.contains("touch"), "Got: {}", label); + assert!(root_command.contains("touch")); - id.clone() + *id }); thread.update(cx, |thread, cx| { - thread.authorize_tool_call( - tool_call_id, - allow_option_id, - acp::PermissionOptionKind::AllowOnce, - cx, - ); + thread.authorize_tool_call(tool_call_id, acp::ToolCallConfirmationOutcome::Allow, cx); assert!(thread.entries().iter().any(|entry| matches!( entry, @@ -222,7 +197,7 @@ pub async fn test_tool_call_with_confirmation( thread.read_with(cx, |thread, cx| { let AgentThreadEntry::ToolCall(ToolCall { - content, + content: Some(ToolCallContent::Markdown { markdown }), status: ToolCallStatus::Allowed { .. }, .. }) = thread @@ -234,10 +209,13 @@ pub async fn test_tool_call_with_confirmation( panic!(); }; - assert!( - content.iter().any(|c| c.to_markdown(cx).contains("Hello")), - "Expected content to contain 'Hello'" - ); + markdown.read_with(cx, |md, _cx| { + assert!( + md.source().contains("Hello"), + r#"Expected '{}' to contain "Hello""#, + md.source() + ); + }); }); } @@ -248,7 +226,7 @@ pub async fn test_cancel(server: impl AgentServer + 'static, cx: &mut TestAppCon let thread = new_test_thread(server, project.clone(), "/private/tmp", cx).await; let full_turn = thread.update(cx, |thread, cx| { thread.send_raw( - r#"Run exactly `touch hello.txt && echo "Hello, world!" | tee hello.txt` in the terminal."#, + r#"Run `touch hello.txt && echo "Hello, world!" >> hello.txt`"#, cx, ) }); @@ -268,24 +246,29 @@ pub async fn test_cancel(server: impl AgentServer + 'static, cx: &mut TestAppCon ) .await; - thread.read_with(cx, |thread, cx| { + thread.read_with(cx, |thread, _cx| { let AgentThreadEntry::ToolCall(ToolCall { id, - label, - status: ToolCallStatus::WaitingForConfirmation { .. }, + status: + ToolCallStatus::WaitingForConfirmation { + confirmation: ToolCallConfirmation::Execute { root_command, .. }, + .. + }, .. }) = &thread.entries()[first_tool_call_ix] else { panic!("{:?}", thread.entries()[1]); }; - let label = label.read(cx).source(); - assert!(label.contains("touch"), "Got: {}", label); + assert!(root_command.contains("touch")); - id.clone() + *id }); - let _ = thread.update(cx, |thread, cx| thread.cancel(cx)); + thread + .update(cx, |thread, cx| thread.cancel(cx)) + .await + .unwrap(); full_turn.await.unwrap(); thread.read_with(cx, |thread, _| { let AgentThreadEntry::ToolCall(ToolCall { @@ -313,7 +296,7 @@ pub async fn test_cancel(server: impl AgentServer + 'static, cx: &mut TestAppCon #[macro_export] macro_rules! common_e2e_tests { - ($server:expr, allow_option_id = $allow_option_id:expr) => { + ($server:expr) => { mod common_e2e { use super::*; @@ -338,12 +321,7 @@ macro_rules! common_e2e_tests { #[::gpui::test] #[cfg_attr(not(feature = "e2e"), ignore)] async fn tool_call_with_confirmation(cx: &mut ::gpui::TestAppContext) { - $crate::e2e_tests::test_tool_call_with_confirmation( - $server, - ::agent_client_protocol::PermissionOptionId($allow_option_id.into()), - cx, - ) - .await; + $crate::e2e_tests::test_tool_call_with_confirmation($server, cx).await; } #[::gpui::test] @@ -375,9 +353,6 @@ pub async fn init_test(cx: &mut TestAppContext) -> Arc { gemini: Some(AgentServerSettings { command: crate::gemini::tests::local_command(), }), - codex: Some(AgentServerSettings { - command: crate::codex::tests::local_command(), - }), }, cx, ); @@ -394,16 +369,15 @@ pub async fn new_test_thread( current_dir: impl AsRef, cx: &mut TestAppContext, ) -> Entity { - let connection = cx - .update(|cx| server.connect(current_dir.as_ref(), &project, cx)) + let thread = cx + .update(|cx| server.new_thread(current_dir.as_ref(), &project, cx)) .await .unwrap(); - let thread = connection - .new_thread(project.clone(), current_dir.as_ref(), &mut cx.to_async()) + thread + .update(cx, |thread, _| thread.initialize()) .await .unwrap(); - thread } @@ -436,24 +410,3 @@ pub async fn run_until_first_tool_call( } } } - -pub fn get_zed_path() -> PathBuf { - let mut zed_path = std::env::current_exe().unwrap(); - - while zed_path - .file_name() - .map_or(true, |name| name.to_string_lossy() != "debug") - { - if !zed_path.pop() { - panic!("Could not find target directory"); - } - } - - zed_path.push("zed"); - - if !zed_path.exists() { - panic!("\n🚨 Run `cargo build` at least once before running e2e tests\n\n"); - } - - zed_path -} diff --git a/crates/agent_servers/src/gemini.rs b/crates/agent_servers/src/gemini.rs index a97ff3f462..8ad147cbff 100644 --- a/crates/agent_servers/src/gemini.rs +++ b/crates/agent_servers/src/gemini.rs @@ -1,17 +1,9 @@ -use anyhow::anyhow; -use std::cell::RefCell; -use std::path::Path; -use std::rc::Rc; -use util::ResultExt as _; - -use crate::{AgentServer, AgentServerCommand, AgentServerVersion}; -use acp_thread::{AgentConnection, LoadError, OldAcpAgentConnection, OldAcpClientDelegate}; -use agentic_coding_protocol as acp_old; +use crate::stdio_agent_server::StdioAgentServer; +use crate::{AgentServerCommand, AgentServerVersion}; use anyhow::{Context as _, Result}; -use gpui::{AppContext as _, AsyncApp, Entity, Task, WeakEntity}; +use gpui::{AsyncApp, Entity}; use project::Project; use settings::SettingsStore; -use ui::App; use crate::AllAgentServersSettings; @@ -20,7 +12,7 @@ pub struct Gemini; const ACP_ARG: &str = "--experimental-acp"; -impl AgentServer for Gemini { +impl StdioAgentServer for Gemini { fn name(&self) -> &'static str { "Gemini" } @@ -33,89 +25,14 @@ impl AgentServer for Gemini { "Ask questions, edit files, run commands.\nBe specific for the best results." } + fn supports_always_allow(&self) -> bool { + true + } + fn logo(&self) -> ui::IconName { ui::IconName::AiGemini } - fn connect( - &self, - root_dir: &Path, - project: &Entity, - cx: &mut App, - ) -> Task>> { - let root_dir = root_dir.to_path_buf(); - let project = project.clone(); - let this = self.clone(); - let name = self.name(); - - cx.spawn(async move |cx| { - let command = this.command(&project, cx).await?; - - let mut child = util::command::new_smol_command(&command.path) - .args(command.args.iter()) - .current_dir(root_dir) - .stdin(std::process::Stdio::piped()) - .stdout(std::process::Stdio::piped()) - .stderr(std::process::Stdio::inherit()) - .kill_on_drop(true) - .spawn()?; - - let stdin = child.stdin.take().unwrap(); - let stdout = child.stdout.take().unwrap(); - - let foreground_executor = cx.foreground_executor().clone(); - - let thread_rc = Rc::new(RefCell::new(WeakEntity::new_invalid())); - - let (connection, io_fut) = acp_old::AgentConnection::connect_to_agent( - OldAcpClientDelegate::new(thread_rc.clone(), cx.clone()), - stdin, - stdout, - move |fut| foreground_executor.spawn(fut).detach(), - ); - - let io_task = cx.background_spawn(async move { - io_fut.await.log_err(); - }); - - let child_status = cx.background_spawn(async move { - let result = match child.status().await { - Err(e) => Err(anyhow!(e)), - Ok(result) if result.success() => Ok(()), - Ok(result) => { - if let Some(AgentServerVersion::Unsupported { - error_message, - upgrade_message, - upgrade_command, - }) = this.version(&command).await.log_err() - { - Err(anyhow!(LoadError::Unsupported { - error_message, - upgrade_message, - upgrade_command - })) - } else { - Err(anyhow!(LoadError::Exited(result.code().unwrap_or(-127)))) - } - } - }; - drop(io_task); - result - }); - - let connection: Rc = Rc::new(OldAcpAgentConnection { - name, - connection, - child_status, - current_thread: thread_rc, - }); - - Ok(connection) - }) - } -} - -impl Gemini { async fn command( &self, project: &Entity, @@ -189,7 +106,7 @@ pub(crate) mod tests { use crate::AgentServerCommand; use std::path::Path; - crate::common_e2e_tests!(Gemini, allow_option_id = "0"); + crate::common_e2e_tests!(Gemini); pub fn local_command() -> AgentServerCommand { let cli_path = Path::new(env!("CARGO_MANIFEST_DIR")) diff --git a/crates/agent_servers/src/mcp_server.rs b/crates/agent_servers/src/mcp_server.rs deleted file mode 100644 index 055b89dfe2..0000000000 --- a/crates/agent_servers/src/mcp_server.rs +++ /dev/null @@ -1,207 +0,0 @@ -use acp_thread::AcpThread; -use agent_client_protocol as acp; -use anyhow::Result; -use context_server::listener::{McpServerTool, ToolResponse}; -use context_server::types::{ - Implementation, InitializeParams, InitializeResponse, ProtocolVersion, ServerCapabilities, - ToolsCapabilities, requests, -}; -use futures::channel::oneshot; -use gpui::{App, AsyncApp, Task, WeakEntity}; -use indoc::indoc; - -pub struct ZedMcpServer { - server: context_server::listener::McpServer, -} - -pub const SERVER_NAME: &str = "zed"; - -impl ZedMcpServer { - pub async fn new( - thread_rx: watch::Receiver>, - cx: &AsyncApp, - ) -> Result { - let mut mcp_server = context_server::listener::McpServer::new(cx).await?; - mcp_server.handle_request::(Self::handle_initialize); - - mcp_server.add_tool(RequestPermissionTool { - thread_rx: thread_rx.clone(), - }); - mcp_server.add_tool(ReadTextFileTool { - thread_rx: thread_rx.clone(), - }); - mcp_server.add_tool(WriteTextFileTool { - thread_rx: thread_rx.clone(), - }); - - Ok(Self { server: mcp_server }) - } - - pub fn server_config(&self) -> Result { - #[cfg(not(test))] - let zed_path = anyhow::Context::context( - std::env::current_exe(), - "finding current executable path for use in mcp_server", - )?; - - #[cfg(test)] - let zed_path = crate::e2e_tests::get_zed_path(); - - Ok(acp::McpServerConfig { - command: zed_path, - args: vec![ - "--nc".into(), - self.server.socket_path().display().to_string(), - ], - env: None, - }) - } - - fn handle_initialize(_: InitializeParams, cx: &App) -> Task> { - cx.foreground_executor().spawn(async move { - Ok(InitializeResponse { - protocol_version: ProtocolVersion("2025-06-18".into()), - capabilities: ServerCapabilities { - experimental: None, - logging: None, - completions: None, - prompts: None, - resources: None, - tools: Some(ToolsCapabilities { - list_changed: Some(false), - }), - }, - server_info: Implementation { - name: SERVER_NAME.into(), - version: "0.1.0".into(), - }, - meta: None, - }) - }) - } -} - -// Tools - -#[derive(Clone)] -pub struct RequestPermissionTool { - thread_rx: watch::Receiver>, -} - -impl McpServerTool for RequestPermissionTool { - type Input = acp::RequestPermissionArguments; - type Output = acp::RequestPermissionOutput; - - const NAME: &'static str = "Confirmation"; - - fn description(&self) -> &'static str { - indoc! {" - Request permission for tool calls. - - This tool is meant to be called programmatically by the agent loop, not the LLM. - "} - } - - async fn run( - &self, - input: Self::Input, - cx: &mut AsyncApp, - ) -> Result> { - let mut thread_rx = self.thread_rx.clone(); - let Some(thread) = thread_rx.recv().await?.upgrade() else { - anyhow::bail!("Thread closed"); - }; - - let result = thread - .update(cx, |thread, cx| { - thread.request_tool_call_permission(input.tool_call, input.options, cx) - })? - .await; - - let outcome = match result { - Ok(option_id) => acp::RequestPermissionOutcome::Selected { option_id }, - Err(oneshot::Canceled) => acp::RequestPermissionOutcome::Canceled, - }; - - Ok(ToolResponse { - content: vec![], - structured_content: acp::RequestPermissionOutput { outcome }, - }) - } -} - -#[derive(Clone)] -pub struct ReadTextFileTool { - thread_rx: watch::Receiver>, -} - -impl McpServerTool for ReadTextFileTool { - type Input = acp::ReadTextFileArguments; - type Output = acp::ReadTextFileOutput; - - const NAME: &'static str = "Read"; - - fn description(&self) -> &'static str { - "Reads the content of the given file in the project including unsaved changes." - } - - async fn run( - &self, - input: Self::Input, - cx: &mut AsyncApp, - ) -> Result> { - let mut thread_rx = self.thread_rx.clone(); - let Some(thread) = thread_rx.recv().await?.upgrade() else { - anyhow::bail!("Thread closed"); - }; - - let content = thread - .update(cx, |thread, cx| { - thread.read_text_file(input.path, input.line, input.limit, false, cx) - })? - .await?; - - Ok(ToolResponse { - content: vec![], - structured_content: acp::ReadTextFileOutput { content }, - }) - } -} - -#[derive(Clone)] -pub struct WriteTextFileTool { - thread_rx: watch::Receiver>, -} - -impl McpServerTool for WriteTextFileTool { - type Input = acp::WriteTextFileArguments; - type Output = (); - - const NAME: &'static str = "Write"; - - fn description(&self) -> &'static str { - "Write to a file replacing its contents" - } - - async fn run( - &self, - input: Self::Input, - cx: &mut AsyncApp, - ) -> Result> { - let mut thread_rx = self.thread_rx.clone(); - let Some(thread) = thread_rx.recv().await?.upgrade() else { - anyhow::bail!("Thread closed"); - }; - - thread - .update(cx, |thread, cx| { - thread.write_text_file(input.path, input.content, cx) - })? - .await?; - - Ok(ToolResponse { - content: vec![], - structured_content: (), - }) - } -} diff --git a/crates/agent_servers/src/settings.rs b/crates/agent_servers/src/settings.rs index aeb34a5e61..645674b5f1 100644 --- a/crates/agent_servers/src/settings.rs +++ b/crates/agent_servers/src/settings.rs @@ -13,7 +13,6 @@ pub fn init(cx: &mut App) { pub struct AllAgentServersSettings { pub gemini: Option, pub claude: Option, - pub codex: Option, } #[derive(Deserialize, Serialize, Clone, JsonSchema, Debug)] @@ -30,21 +29,13 @@ impl settings::Settings for AllAgentServersSettings { fn load(sources: SettingsSources, _: &mut App) -> Result { let mut settings = AllAgentServersSettings::default(); - for AllAgentServersSettings { - gemini, - claude, - codex, - } in sources.defaults_and_customizations() - { + for AllAgentServersSettings { gemini, claude } in sources.defaults_and_customizations() { if gemini.is_some() { settings.gemini = gemini.clone(); } if claude.is_some() { settings.claude = claude.clone(); } - if codex.is_some() { - settings.codex = codex.clone(); - } } Ok(settings) diff --git a/crates/agent_servers/src/stdio_agent_server.rs b/crates/agent_servers/src/stdio_agent_server.rs new file mode 100644 index 0000000000..e60dd39de4 --- /dev/null +++ b/crates/agent_servers/src/stdio_agent_server.rs @@ -0,0 +1,119 @@ +use crate::{AgentServer, AgentServerCommand, AgentServerVersion}; +use acp_thread::{AcpClientDelegate, AcpThread, LoadError}; +use agentic_coding_protocol as acp; +use anyhow::{Result, anyhow}; +use gpui::{App, AsyncApp, Entity, Task, prelude::*}; +use project::Project; +use std::path::Path; +use util::ResultExt; + +pub trait StdioAgentServer: Send + Clone { + fn logo(&self) -> ui::IconName; + fn name(&self) -> &'static str; + fn empty_state_headline(&self) -> &'static str; + fn empty_state_message(&self) -> &'static str; + fn supports_always_allow(&self) -> bool; + + fn command( + &self, + project: &Entity, + cx: &mut AsyncApp, + ) -> impl Future>; + + fn version( + &self, + command: &AgentServerCommand, + ) -> impl Future> + Send; +} + +impl AgentServer for T { + fn name(&self) -> &'static str { + self.name() + } + + fn empty_state_headline(&self) -> &'static str { + self.empty_state_headline() + } + + fn empty_state_message(&self) -> &'static str { + self.empty_state_message() + } + + fn logo(&self) -> ui::IconName { + self.logo() + } + + fn supports_always_allow(&self) -> bool { + self.supports_always_allow() + } + + fn new_thread( + &self, + root_dir: &Path, + project: &Entity, + cx: &mut App, + ) -> Task>> { + let root_dir = root_dir.to_path_buf(); + let project = project.clone(); + let this = self.clone(); + let title = self.name().into(); + + cx.spawn(async move |cx| { + let command = this.command(&project, cx).await?; + + let mut child = util::command::new_smol_command(&command.path) + .args(command.args.iter()) + .current_dir(root_dir) + .stdin(std::process::Stdio::piped()) + .stdout(std::process::Stdio::piped()) + .stderr(std::process::Stdio::inherit()) + .kill_on_drop(true) + .spawn()?; + + let stdin = child.stdin.take().unwrap(); + let stdout = child.stdout.take().unwrap(); + + cx.new(|cx| { + let foreground_executor = cx.foreground_executor().clone(); + + let (connection, io_fut) = acp::AgentConnection::connect_to_agent( + AcpClientDelegate::new(cx.entity().downgrade(), cx.to_async()), + stdin, + stdout, + move |fut| foreground_executor.spawn(fut).detach(), + ); + + let io_task = cx.background_spawn(async move { + io_fut.await.log_err(); + }); + + let child_status = cx.background_spawn(async move { + let result = match child.status().await { + Err(e) => Err(anyhow!(e)), + Ok(result) if result.success() => Ok(()), + Ok(result) => { + if let Some(AgentServerVersion::Unsupported { + error_message, + upgrade_message, + upgrade_command, + }) = this.version(&command).await.log_err() + { + Err(anyhow!(LoadError::Unsupported { + error_message, + upgrade_message, + upgrade_command + })) + } else { + Err(anyhow!(LoadError::Exited(result.code().unwrap_or(-127)))) + } + } + }; + drop(io_task); + result + }); + + AcpThread::new(connection, title, Some(child_status), project.clone(), cx) + }) + }) + } +} diff --git a/crates/agent_settings/Cargo.toml b/crates/agent_settings/Cargo.toml index d34396a5d3..3afe5ae547 100644 --- a/crates/agent_settings/Cargo.toml +++ b/crates/agent_settings/Cargo.toml @@ -13,7 +13,6 @@ path = "src/agent_settings.rs" [dependencies] anyhow.workspace = true -cloud_llm_client.workspace = true collections.workspace = true gpui.workspace = true language_model.workspace = true @@ -21,6 +20,7 @@ schemars.workspace = true serde.workspace = true settings.workspace = true workspace-hack.workspace = true +zed_llm_client.workspace = true [dev-dependencies] fs.workspace = true diff --git a/crates/agent_settings/src/agent_settings.rs b/crates/agent_settings/src/agent_settings.rs index 4e872c78d7..13b966608c 100644 --- a/crates/agent_settings/src/agent_settings.rs +++ b/crates/agent_settings/src/agent_settings.rs @@ -321,11 +321,11 @@ pub enum CompletionMode { Burn, } -impl From for cloud_llm_client::CompletionMode { +impl From for zed_llm_client::CompletionMode { fn from(value: CompletionMode) -> Self { match value { - CompletionMode::Normal => cloud_llm_client::CompletionMode::Normal, - CompletionMode::Burn => cloud_llm_client::CompletionMode::Max, + CompletionMode::Normal => zed_llm_client::CompletionMode::Normal, + CompletionMode::Burn => zed_llm_client::CompletionMode::Max, } } } diff --git a/crates/agent_ui/Cargo.toml b/crates/agent_ui/Cargo.toml index 95fd2b1757..7d3b84e42e 100644 --- a/crates/agent_ui/Cargo.toml +++ b/crates/agent_ui/Cargo.toml @@ -17,10 +17,10 @@ test-support = ["gpui/test-support", "language/test-support"] [dependencies] acp_thread.workspace = true -agent-client-protocol.workspace = true agent.workspace = true -agent_servers.workspace = true +agentic-coding-protocol.workspace = true agent_settings.workspace = true +agent_servers.workspace = true ai_onboarding.workspace = true anyhow.workspace = true assistant_context.workspace = true @@ -31,7 +31,6 @@ audio.workspace = true buffer_diff.workspace = true chrono.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true command_palette_hooks.workspace = true component.workspace = true @@ -47,9 +46,9 @@ futures.workspace = true fuzzy.workspace = true gpui.workspace = true html_to_markdown.workspace = true +indoc.workspace = true http_client.workspace = true indexed_docs.workspace = true -indoc.workspace = true inventory.workspace = true itertools.workspace = true jsonschema.workspace = true @@ -98,6 +97,7 @@ watch.workspace = true workspace-hack.workspace = true workspace.workspace = true zed_actions.workspace = true +zed_llm_client.workspace = true [dev-dependencies] assistant_tools.workspace = true diff --git a/crates/agent_ui/src/acp/thread_view.rs b/crates/agent_ui/src/acp/thread_view.rs index e46e1ae3ab..95f4f81205 100644 --- a/crates/agent_ui/src/acp/thread_view.rs +++ b/crates/agent_ui/src/acp/thread_view.rs @@ -1,4 +1,4 @@ -use acp_thread::{AgentConnection, Plan}; +use acp_thread::Plan; use agent_servers::AgentServer; use std::cell::RefCell; use std::collections::BTreeMap; @@ -7,7 +7,7 @@ use std::rc::Rc; use std::sync::Arc; use std::time::Duration; -use agent_client_protocol as acp; +use agentic_coding_protocol::{self as acp}; use assistant_tool::ActionLog; use buffer_diff::BufferDiff; use collections::{HashMap, HashSet}; @@ -16,6 +16,7 @@ use editor::{ EditorStyle, MinimapVisibility, MultiBuffer, PathKey, }; use file_icons::FileIcons; +use futures::channel::oneshot; use gpui::{ Action, Animation, AnimationExt, App, BorderStyle, EdgesRefinement, Empty, Entity, EntityId, FocusHandle, Focusable, Hsla, Length, ListOffset, ListState, SharedString, StyleRefinement, @@ -38,7 +39,8 @@ use zed_actions::agent::{Chat, NextHistoryMessage, PreviousHistoryMessage}; use ::acp_thread::{ AcpThread, AcpThreadEvent, AgentThreadEntry, AssistantMessage, AssistantMessageChunk, Diff, - LoadError, MentionPath, ThreadStatus, ToolCall, ToolCallContent, ToolCallStatus, + LoadError, MentionPath, ThreadStatus, ToolCall, ToolCallConfirmation, ToolCallContent, + ToolCallId, ToolCallStatus, }; use crate::acp::completion_provider::{ContextPickerCompletionProvider, MentionSet}; @@ -62,13 +64,12 @@ pub struct AcpThreadView { last_error: Option>, list_state: ListState, auth_task: Option>, - expanded_tool_calls: HashSet, + expanded_tool_calls: HashSet, expanded_thinking_blocks: HashSet<(usize, usize)>, edits_expanded: bool, plan_expanded: bool, editor_expanded: bool, - message_history: Rc>>>, - _cancel_task: Option>, + message_history: Rc>>, } enum ThreadState { @@ -81,16 +82,22 @@ enum ThreadState { }, LoadError(LoadError), Unauthenticated { - connection: Rc, + thread: Entity, }, } +struct AlwaysAllowOption { + id: &'static str, + label: SharedString, + outcome: acp::ToolCallConfirmationOutcome, +} + impl AcpThreadView { pub fn new( agent: Rc, workspace: WeakEntity, project: Entity, - message_history: Rc>>>, + message_history: Rc>>, min_lines: usize, max_lines: Option, window: &mut Window, @@ -184,7 +191,6 @@ impl AcpThreadView { plan_expanded: false, editor_expanded: false, message_history, - _cancel_task: None, } } @@ -202,9 +208,9 @@ impl AcpThreadView { .map(|worktree| worktree.read(cx).abs_path()) .unwrap_or_else(|| paths::home_dir().as_path().into()); - let connect_task = agent.connect(&root_dir, &project, cx); + let task = agent.new_thread(&root_dir, &project, cx); let load_task = cx.spawn_in(window, async move |this, cx| { - let connection = match connect_task.await { + let thread = match task.await { Ok(thread) => thread, Err(err) => { this.update(cx, |this, cx| { @@ -216,30 +222,48 @@ impl AcpThreadView { } }; - let result = match connection - .clone() - .new_thread(project.clone(), &root_dir, cx) - .await - { + let init_response = async { + let resp = thread + .read_with(cx, |thread, _cx| thread.initialize())? + .await?; + anyhow::Ok(resp) + }; + + let result = match init_response.await { Err(e) => { let mut cx = cx.clone(); - if e.downcast_ref::().is_some() { - this.update(&mut cx, |this, cx| { - this.thread_state = ThreadState::Unauthenticated { connection }; - cx.notify(); - }) - .ok(); - return; + if e.downcast_ref::().is_some() { + let child_status = thread + .update(&mut cx, |thread, _| thread.child_status()) + .ok() + .flatten(); + if let Some(child_status) = child_status { + match child_status.await { + Ok(_) => Err(e), + Err(e) => Err(e), + } + } else { + Err(e) + } } else { Err(e) } } - Ok(session_id) => Ok(session_id), + Ok(response) => { + if !response.is_authenticated { + this.update(cx, |this, _| { + this.thread_state = ThreadState::Unauthenticated { thread }; + }) + .ok(); + return; + }; + Ok(()) + } }; this.update_in(cx, |this, window, cx| { match result { - Ok(thread) => { + Ok(()) => { let thread_subscription = cx.subscribe_in(&thread, window, Self::handle_thread_event); @@ -281,10 +305,10 @@ impl AcpThreadView { pub fn thread(&self) -> Option<&Entity> { match &self.thread_state { - ThreadState::Ready { thread, .. } => Some(thread), - ThreadState::Unauthenticated { .. } - | ThreadState::Loading { .. } - | ThreadState::LoadError(..) => None, + ThreadState::Ready { thread, .. } | ThreadState::Unauthenticated { thread } => { + Some(thread) + } + ThreadState::Loading { .. } | ThreadState::LoadError(..) => None, } } @@ -301,7 +325,7 @@ impl AcpThreadView { self.last_error.take(); if let Some(thread) = self.thread() { - self._cancel_task = Some(thread.update(cx, |thread, cx| thread.cancel(cx))); + thread.update(cx, |thread, cx| thread.cancel(cx)).detach(); } } @@ -338,7 +362,7 @@ impl AcpThreadView { self.last_error.take(); let mut ix = 0; - let mut chunks: Vec = Vec::new(); + let mut chunks: Vec = Vec::new(); let project = self.project.clone(); self.message_editor.update(cx, |editor, cx| { let text = editor.text(cx); @@ -350,19 +374,12 @@ impl AcpThreadView { { let crease_range = crease.range().to_offset(&snapshot.buffer_snapshot); if crease_range.start > ix { - chunks.push(text[ix..crease_range.start].into()); + chunks.push(acp::UserMessageChunk::Text { + text: text[ix..crease_range.start].to_string(), + }); } if let Some(abs_path) = project.read(cx).absolute_path(&project_path, cx) { - let path_str = abs_path.display().to_string(); - chunks.push(acp::ContentBlock::ResourceLink(acp::ResourceLink { - uri: path_str.clone(), - name: path_str, - annotations: None, - description: None, - mime_type: None, - size: None, - title: None, - })); + chunks.push(acp::UserMessageChunk::Path { path: abs_path }); } ix = crease_range.end; } @@ -371,7 +388,9 @@ impl AcpThreadView { if ix < text.len() { let last_chunk = text[ix..].trim(); if !last_chunk.is_empty() { - chunks.push(last_chunk.into()); + chunks.push(acp::UserMessageChunk::Text { + text: last_chunk.into(), + }); } } }) @@ -382,7 +401,8 @@ impl AcpThreadView { } let Some(thread) = self.thread() else { return }; - let task = thread.update(cx, |thread, cx| thread.send(chunks.clone(), cx)); + let message = acp::SendUserMessageParams { chunks }; + let task = thread.update(cx, |thread, cx| thread.send(message.clone(), cx)); cx.spawn(async move |this, cx| { let result = task.await; @@ -404,7 +424,7 @@ impl AcpThreadView { editor.remove_creases(mention_set.lock().drain(), cx) }); - self.message_history.borrow_mut().push(chunks); + self.message_history.borrow_mut().push(message); } fn previous_history_message( @@ -470,7 +490,7 @@ impl AcpThreadView { message_editor: Entity, mention_set: Arc>, project: Entity, - message: Option<&Vec>, + message: Option<&acp::SendUserMessageParams>, window: &mut Window, cx: &mut Context, ) -> bool { @@ -483,19 +503,18 @@ impl AcpThreadView { let mut text = String::new(); let mut mentions = Vec::new(); - for chunk in message { + for chunk in &message.chunks { match chunk { - acp::ContentBlock::Text(text_content) => { - text.push_str(&text_content.text); + acp::UserMessageChunk::Text { text: chunk } => { + text.push_str(&chunk); } - acp::ContentBlock::ResourceLink(resource_link) => { - let path = Path::new(&resource_link.uri); + acp::UserMessageChunk::Path { path } => { let start = text.len(); - let content = MentionPath::new(&path).to_string(); + let content = MentionPath::new(path).to_string(); text.push_str(&content); let end = text.len(); if let Some(project_path) = - project.read(cx).project_path_for_absolute_path(&path, cx) + project.read(cx).project_path_for_absolute_path(path, cx) { let filename: SharedString = path .file_name() @@ -506,9 +525,6 @@ impl AcpThreadView { mentions.push((start..end, project_path, filename)); } } - acp::ContentBlock::Image(_) - | acp::ContentBlock::Audio(_) - | acp::ContentBlock::Resource(_) => {} } } @@ -574,79 +590,71 @@ impl AcpThreadView { window: &mut Window, cx: &mut Context, ) { - let Some(multibuffers) = self.entry_diff_multibuffers(entry_ix, cx) else { + let Some(multibuffer) = self.entry_diff_multibuffer(entry_ix, cx) else { return; }; - let multibuffers = multibuffers.collect::>(); - - for multibuffer in multibuffers { - if self.diff_editors.contains_key(&multibuffer.entity_id()) { - return; - } - - let editor = cx.new(|cx| { - let mut editor = Editor::new( - EditorMode::Full { - scale_ui_elements_with_buffer_font_size: false, - show_active_line_background: false, - sized_by_content: true, - }, - multibuffer.clone(), - None, - window, - cx, - ); - editor.set_show_gutter(false, cx); - editor.disable_inline_diagnostics(); - editor.disable_expand_excerpt_buttons(cx); - editor.set_show_vertical_scrollbar(false, cx); - editor.set_minimap_visibility(MinimapVisibility::Disabled, window, cx); - editor.set_soft_wrap_mode(SoftWrap::None, cx); - editor.scroll_manager.set_forbid_vertical_scroll(true); - editor.set_show_indent_guides(false, cx); - editor.set_read_only(true); - editor.set_show_breakpoints(false, cx); - editor.set_show_code_actions(false, cx); - editor.set_show_git_diff_gutter(false, cx); - editor.set_expand_all_diff_hunks(cx); - editor.set_text_style_refinement(TextStyleRefinement { - font_size: Some( - TextSize::Small - .rems(cx) - .to_pixels(ThemeSettings::get_global(cx).agent_font_size(cx)) - .into(), - ), - ..Default::default() - }); - editor - }); - let entity_id = multibuffer.entity_id(); - cx.observe_release(&multibuffer, move |this, _, _| { - this.diff_editors.remove(&entity_id); - }) - .detach(); - - self.diff_editors.insert(entity_id, editor); + if self.diff_editors.contains_key(&multibuffer.entity_id()) { + return; } + + let editor = cx.new(|cx| { + let mut editor = Editor::new( + EditorMode::Full { + scale_ui_elements_with_buffer_font_size: false, + show_active_line_background: false, + sized_by_content: true, + }, + multibuffer.clone(), + None, + window, + cx, + ); + editor.set_show_gutter(false, cx); + editor.disable_inline_diagnostics(); + editor.disable_expand_excerpt_buttons(cx); + editor.set_show_vertical_scrollbar(false, cx); + editor.set_minimap_visibility(MinimapVisibility::Disabled, window, cx); + editor.set_soft_wrap_mode(SoftWrap::None, cx); + editor.scroll_manager.set_forbid_vertical_scroll(true); + editor.set_show_indent_guides(false, cx); + editor.set_read_only(true); + editor.set_show_breakpoints(false, cx); + editor.set_show_code_actions(false, cx); + editor.set_show_git_diff_gutter(false, cx); + editor.set_expand_all_diff_hunks(cx); + editor.set_text_style_refinement(TextStyleRefinement { + font_size: Some( + TextSize::Small + .rems(cx) + .to_pixels(ThemeSettings::get_global(cx).agent_font_size(cx)) + .into(), + ), + ..Default::default() + }); + editor + }); + let entity_id = multibuffer.entity_id(); + cx.observe_release(&multibuffer, move |this, _, _| { + this.diff_editors.remove(&entity_id); + }) + .detach(); + + self.diff_editors.insert(entity_id, editor); } - fn entry_diff_multibuffers( - &self, - entry_ix: usize, - cx: &App, - ) -> Option>> { + fn entry_diff_multibuffer(&self, entry_ix: usize, cx: &App) -> Option> { let entry = self.thread()?.read(cx).entries().get(entry_ix)?; - Some(entry.diffs().map(|diff| diff.multibuffer.clone())) + entry.diff().map(|diff| diff.multibuffer.clone()) } fn authenticate(&mut self, window: &mut Window, cx: &mut Context) { - let ThreadState::Unauthenticated { ref connection } = self.thread_state else { + let Some(thread) = self.thread().cloned() else { return; }; self.last_error.take(); - let authenticate = connection.authenticate(cx); + let authenticate = thread.read(cx).authenticate(); self.auth_task = Some(cx.spawn_in(window, { let project = self.project.clone(); let agent = self.agent.clone(); @@ -676,16 +684,15 @@ impl AcpThreadView { fn authorize_tool_call( &mut self, - tool_call_id: acp::ToolCallId, - option_id: acp::PermissionOptionId, - option_kind: acp::PermissionOptionKind, + id: ToolCallId, + outcome: acp::ToolCallConfirmationOutcome, cx: &mut Context, ) { let Some(thread) = self.thread() else { return; }; thread.update(cx, |thread, cx| { - thread.authorize_tool_call(tool_call_id, option_id, option_kind, cx); + thread.authorize_tool_call(id, outcome, cx); }); cx.notify(); } @@ -712,12 +719,10 @@ impl AcpThreadView { .border_1() .border_color(cx.theme().colors().border) .text_xs() - .children(message.content.markdown().map(|md| { - self.render_markdown( - md.clone(), - user_message_markdown_style(window, cx), - ) - })), + .child(self.render_markdown( + message.content.clone(), + user_message_markdown_style(window, cx), + )), ) .into_any(), AgentThreadEntry::AssistantMessage(AssistantMessage { chunks }) => { @@ -725,28 +730,20 @@ impl AcpThreadView { let message_body = v_flex() .w_full() .gap_2p5() - .children(chunks.iter().enumerate().filter_map( - |(chunk_ix, chunk)| match chunk { - AssistantMessageChunk::Message { block } => { - block.markdown().map(|md| { - self.render_markdown(md.clone(), style.clone()) - .into_any_element() - }) - } - AssistantMessageChunk::Thought { block } => { - block.markdown().map(|md| { - self.render_thinking_block( - index, - chunk_ix, - md.clone(), - window, - cx, - ) - .into_any_element() - }) - } - }, - )) + .children(chunks.iter().enumerate().map(|(chunk_ix, chunk)| { + match chunk { + AssistantMessageChunk::Text { chunk } => self + .render_markdown(chunk.clone(), style.clone()) + .into_any_element(), + AssistantMessageChunk::Thought { chunk } => self.render_thinking_block( + index, + chunk_ix, + chunk.clone(), + window, + cx, + ), + } + })) .into_any(); v_flex() @@ -872,12 +869,9 @@ impl AcpThreadView { let header_id = SharedString::from(format!("tool-call-header-{}", entry_ix)); let status_icon = match &tool_call.status { + ToolCallStatus::WaitingForConfirmation { .. } => None, ToolCallStatus::Allowed { - status: acp::ToolCallStatus::Pending, - } - | ToolCallStatus::WaitingForConfirmation { .. } => None, - ToolCallStatus::Allowed { - status: acp::ToolCallStatus::InProgress, + status: acp::ToolCallStatus::Running, .. } => Some( Icon::new(IconName::ArrowCircle) @@ -891,13 +885,13 @@ impl AcpThreadView { .into_any(), ), ToolCallStatus::Allowed { - status: acp::ToolCallStatus::Completed, + status: acp::ToolCallStatus::Finished, .. } => None, ToolCallStatus::Rejected | ToolCallStatus::Canceled | ToolCallStatus::Allowed { - status: acp::ToolCallStatus::Failed, + status: acp::ToolCallStatus::Error, .. } => Some( Icon::new(IconName::X) @@ -915,9 +909,34 @@ impl AcpThreadView { .any(|content| matches!(content, ToolCallContent::Diff { .. })), }; - let is_collapsible = !tool_call.content.is_empty() && !needs_confirmation; + let is_collapsible = tool_call.content.is_some() && !needs_confirmation; let is_open = !is_collapsible || self.expanded_tool_calls.contains(&tool_call.id); + let content = if is_open { + match &tool_call.status { + ToolCallStatus::WaitingForConfirmation { confirmation, .. } => { + Some(self.render_tool_call_confirmation( + tool_call.id, + confirmation, + tool_call.content.as_ref(), + window, + cx, + )) + } + ToolCallStatus::Allowed { .. } | ToolCallStatus::Canceled => { + tool_call.content.as_ref().map(|content| { + div() + .py_1p5() + .child(self.render_tool_call_content(content, window, cx)) + .into_any_element() + }) + } + ToolCallStatus::Rejected => None, + } + } else { + None + }; + v_flex() .when(needs_confirmation, |this| { this.rounded_lg() @@ -957,19 +976,9 @@ impl AcpThreadView { }) .gap_1p5() .child( - Icon::new(match tool_call.kind { - acp::ToolKind::Read => IconName::ToolRead, - acp::ToolKind::Edit => IconName::ToolPencil, - acp::ToolKind::Delete => IconName::ToolDeleteFile, - acp::ToolKind::Move => IconName::ArrowRightLeft, - acp::ToolKind::Search => IconName::ToolSearch, - acp::ToolKind::Execute => IconName::ToolTerminal, - acp::ToolKind::Think => IconName::ToolBulb, - acp::ToolKind::Fetch => IconName::ToolWeb, - acp::ToolKind::Other => IconName::ToolHammer, - }) - .size(IconSize::Small) - .color(Color::Muted), + Icon::new(tool_call.icon) + .size(IconSize::Small) + .color(Color::Muted), ) .child(if tool_call.locations.len() == 1 { let name = tool_call.locations[0] @@ -1014,16 +1023,16 @@ impl AcpThreadView { .gap_0p5() .when(is_collapsible, |this| { this.child( - Disclosure::new(("expand", entry_ix), is_open) + Disclosure::new(("expand", tool_call.id.0), is_open) .opened_icon(IconName::ChevronUp) .closed_icon(IconName::ChevronDown) .on_click(cx.listener({ - let id = tool_call.id.clone(); + let id = tool_call.id; move |this: &mut Self, _, _, cx: &mut Context| { if is_open { this.expanded_tool_calls.remove(&id); } else { - this.expanded_tool_calls.insert(id.clone()); + this.expanded_tool_calls.insert(id); } cx.notify(); } @@ -1033,12 +1042,12 @@ impl AcpThreadView { .children(status_icon), ) .on_click(cx.listener({ - let id = tool_call.id.clone(); + let id = tool_call.id; move |this: &mut Self, _, _, cx: &mut Context| { if is_open { this.expanded_tool_calls.remove(&id); } else { - this.expanded_tool_calls.insert(id.clone()); + this.expanded_tool_calls.insert(id); } cx.notify(); } @@ -1046,7 +1055,7 @@ impl AcpThreadView { ) .when(is_open, |this| { this.child( - v_flex() + div() .text_xs() .when(is_collapsible, |this| { this.mt_1() @@ -1055,45 +1064,7 @@ impl AcpThreadView { .bg(cx.theme().colors().editor_background) .rounded_lg() }) - .map(|this| { - if is_open { - match &tool_call.status { - ToolCallStatus::WaitingForConfirmation { options, .. } => this - .children(tool_call.content.iter().map(|content| { - div() - .py_1p5() - .child( - self.render_tool_call_content( - content, window, cx, - ), - ) - .into_any_element() - })) - .child(self.render_permission_buttons( - options, - entry_ix, - tool_call.id.clone(), - tool_call.content.is_empty(), - cx, - )), - ToolCallStatus::Allowed { .. } | ToolCallStatus::Canceled => { - this.children(tool_call.content.iter().map(|content| { - div() - .py_1p5() - .child( - self.render_tool_call_content( - content, window, cx, - ), - ) - .into_any_element() - })) - } - ToolCallStatus::Rejected => this, - } - } else { - this - } - }), + .children(content), ) }) } @@ -1105,20 +1076,14 @@ impl AcpThreadView { cx: &Context, ) -> AnyElement { match content { - ToolCallContent::ContentBlock { content } => { - if let Some(md) = content.markdown() { - div() - .p_2() - .child( - self.render_markdown( - md.clone(), - default_markdown_style(false, window, cx), - ), - ) - .into_any_element() - } else { - Empty.into_any_element() - } + ToolCallContent::Markdown { markdown } => { + div() + .p_2() + .child(self.render_markdown( + markdown.clone(), + default_markdown_style(false, window, cx), + )) + .into_any_element() } ToolCallContent::Diff { diff: Diff { multibuffer, .. }, @@ -1127,56 +1092,223 @@ impl AcpThreadView { } } - fn render_permission_buttons( + fn render_tool_call_confirmation( &self, - options: &[acp::PermissionOption], - entry_ix: usize, - tool_call_id: acp::ToolCallId, - empty_content: bool, + tool_call_id: ToolCallId, + confirmation: &ToolCallConfirmation, + content: Option<&ToolCallContent>, + window: &Window, + cx: &Context, + ) -> AnyElement { + let confirmation_container = v_flex().mt_1().py_1p5(); + + match confirmation { + ToolCallConfirmation::Edit { description } => confirmation_container + .child( + div() + .px_2() + .children(description.clone().map(|description| { + self.render_markdown( + description, + default_markdown_style(false, window, cx), + ) + })), + ) + .children(content.map(|content| self.render_tool_call_content(content, window, cx))) + .child(self.render_confirmation_buttons( + &[AlwaysAllowOption { + id: "always_allow", + label: "Always Allow Edits".into(), + outcome: acp::ToolCallConfirmationOutcome::AlwaysAllow, + }], + tool_call_id, + cx, + )) + .into_any(), + ToolCallConfirmation::Execute { + command, + root_command, + description, + } => confirmation_container + .child(v_flex().px_2().pb_1p5().child(command.clone()).children( + description.clone().map(|description| { + self.render_markdown(description, default_markdown_style(false, window, cx)) + .on_url_click({ + let workspace = self.workspace.clone(); + move |text, window, cx| { + Self::open_link(text, &workspace, window, cx); + } + }) + }), + )) + .children(content.map(|content| self.render_tool_call_content(content, window, cx))) + .child(self.render_confirmation_buttons( + &[AlwaysAllowOption { + id: "always_allow", + label: format!("Always Allow {root_command}").into(), + outcome: acp::ToolCallConfirmationOutcome::AlwaysAllow, + }], + tool_call_id, + cx, + )) + .into_any(), + ToolCallConfirmation::Mcp { + server_name, + tool_name: _, + tool_display_name, + description, + } => confirmation_container + .child( + v_flex() + .px_2() + .pb_1p5() + .child(format!("{server_name} - {tool_display_name}")) + .children(description.clone().map(|description| { + self.render_markdown( + description, + default_markdown_style(false, window, cx), + ) + })), + ) + .children(content.map(|content| self.render_tool_call_content(content, window, cx))) + .child(self.render_confirmation_buttons( + &[ + AlwaysAllowOption { + id: "always_allow_server", + label: format!("Always Allow {server_name}").into(), + outcome: acp::ToolCallConfirmationOutcome::AlwaysAllowMcpServer, + }, + AlwaysAllowOption { + id: "always_allow_tool", + label: format!("Always Allow {tool_display_name}").into(), + outcome: acp::ToolCallConfirmationOutcome::AlwaysAllowTool, + }, + ], + tool_call_id, + cx, + )) + .into_any(), + ToolCallConfirmation::Fetch { description, urls } => confirmation_container + .child( + v_flex() + .px_2() + .pb_1p5() + .gap_1() + .children(urls.iter().map(|url| { + h_flex().child( + Button::new(url.clone(), url) + .icon(IconName::ArrowUpRight) + .icon_color(Color::Muted) + .icon_size(IconSize::XSmall) + .on_click({ + let url = url.clone(); + move |_, _, cx| cx.open_url(&url) + }), + ) + })) + .children(description.clone().map(|description| { + self.render_markdown( + description, + default_markdown_style(false, window, cx), + ) + })), + ) + .children(content.map(|content| self.render_tool_call_content(content, window, cx))) + .child(self.render_confirmation_buttons( + &[AlwaysAllowOption { + id: "always_allow", + label: "Always Allow".into(), + outcome: acp::ToolCallConfirmationOutcome::AlwaysAllow, + }], + tool_call_id, + cx, + )) + .into_any(), + ToolCallConfirmation::Other { description } => confirmation_container + .child(v_flex().px_2().pb_1p5().child(self.render_markdown( + description.clone(), + default_markdown_style(false, window, cx), + ))) + .children(content.map(|content| self.render_tool_call_content(content, window, cx))) + .child(self.render_confirmation_buttons( + &[AlwaysAllowOption { + id: "always_allow", + label: "Always Allow".into(), + outcome: acp::ToolCallConfirmationOutcome::AlwaysAllow, + }], + tool_call_id, + cx, + )) + .into_any(), + } + } + + fn render_confirmation_buttons( + &self, + always_allow_options: &[AlwaysAllowOption], + tool_call_id: ToolCallId, cx: &Context, ) -> Div { h_flex() - .py_1p5() + .pt_1p5() .px_1p5() .gap_1() .justify_end() - .when(!empty_content, |this| { - this.border_t_1() - .border_color(self.tool_card_border_color(cx)) - }) - .children(options.iter().map(|option| { - let option_id = SharedString::from(option.id.0.clone()); - Button::new((option_id, entry_ix), option.label.clone()) - .map(|this| match option.kind { - acp::PermissionOptionKind::AllowOnce => { - this.icon(IconName::Check).icon_color(Color::Success) - } - acp::PermissionOptionKind::AllowAlways => { - this.icon(IconName::CheckDouble).icon_color(Color::Success) - } - acp::PermissionOptionKind::RejectOnce => { - this.icon(IconName::X).icon_color(Color::Error) - } - acp::PermissionOptionKind::RejectAlways => { - this.icon(IconName::X).icon_color(Color::Error) - } - }) + .border_t_1() + .border_color(self.tool_card_border_color(cx)) + .when(self.agent.supports_always_allow(), |this| { + this.children(always_allow_options.into_iter().map(|always_allow_option| { + let outcome = always_allow_option.outcome; + Button::new( + (always_allow_option.id, tool_call_id.0), + always_allow_option.label.clone(), + ) + .icon(IconName::CheckDouble) .icon_position(IconPosition::Start) .icon_size(IconSize::XSmall) + .icon_color(Color::Success) .on_click(cx.listener({ - let tool_call_id = tool_call_id.clone(); - let option_id = option.id.clone(); - let option_kind = option.kind; + let id = tool_call_id; + move |this, _, _, cx| { + this.authorize_tool_call(id, outcome, cx); + } + })) + })) + }) + .child( + Button::new(("allow", tool_call_id.0), "Allow") + .icon(IconName::Check) + .icon_position(IconPosition::Start) + .icon_size(IconSize::XSmall) + .icon_color(Color::Success) + .on_click(cx.listener({ + let id = tool_call_id; move |this, _, _, cx| { this.authorize_tool_call( - tool_call_id.clone(), - option_id.clone(), - option_kind, + id, + acp::ToolCallConfirmationOutcome::Allow, cx, ); } - })) - })) + })), + ) + .child( + Button::new(("reject", tool_call_id.0), "Reject") + .icon(IconName::X) + .icon_position(IconPosition::Start) + .icon_size(IconSize::XSmall) + .icon_color(Color::Error) + .on_click(cx.listener({ + let id = tool_call_id; + move |this, _, _, cx| { + this.authorize_tool_call( + id, + acp::ToolCallConfirmationOutcome::Reject, + cx, + ); + } + })), + ) } fn render_diff_editor(&self, multibuffer: &Entity) -> AnyElement { @@ -2113,11 +2245,12 @@ impl AcpThreadView { .languages .language_for_name("Markdown"); - let (thread_summary, markdown) = if let Some(thread) = self.thread() { - let thread = thread.read(cx); - (thread.title().to_string(), thread.to_markdown(cx)) - } else { - return Task::ready(Ok(())); + let (thread_summary, markdown) = match &self.thread_state { + ThreadState::Ready { thread, .. } | ThreadState::Unauthenticated { thread } => { + let thread = thread.read(cx); + (thread.title().to_string(), thread.to_markdown(cx)) + } + ThreadState::Loading { .. } | ThreadState::LoadError(..) => return Task::ready(Ok(())), }; window.spawn(cx, async move |cx| { diff --git a/crates/agent_ui/src/active_thread.rs b/crates/agent_ui/src/active_thread.rs index 04a093c7d0..e27c318221 100644 --- a/crates/agent_ui/src/active_thread.rs +++ b/crates/agent_ui/src/active_thread.rs @@ -14,7 +14,6 @@ use agent_settings::{AgentSettings, NotifyWhenAgentWaiting}; use anyhow::Context as _; use assistant_tool::ToolUseStatus; use audio::{Audio, Sound}; -use cloud_llm_client::CompletionIntent; use collections::{HashMap, HashSet}; use editor::actions::{MoveUp, Paste}; use editor::scroll::Autoscroll; @@ -53,6 +52,7 @@ use util::ResultExt as _; use util::markdown::MarkdownCodeBlock; use workspace::{CollaboratorId, Workspace}; use zed_actions::assistant::OpenRulesLibrary; +use zed_llm_client::CompletionIntent; const CODEBLOCK_CONTAINER_GROUP: &str = "codeblock_container"; const EDIT_PREVIOUS_MESSAGE_MIN_LINES: usize = 1; diff --git a/crates/agent_ui/src/agent_configuration.rs b/crates/agent_ui/src/agent_configuration.rs index fae04188eb..fabeee2bce 100644 --- a/crates/agent_ui/src/agent_configuration.rs +++ b/crates/agent_ui/src/agent_configuration.rs @@ -193,7 +193,6 @@ impl AgentConfiguration { .unwrap_or(false); v_flex() - .w_full() .when(is_expanded, |this| this.mb_2()) .child( div() @@ -224,7 +223,6 @@ impl AgentConfiguration { .hover(|hover| hover.bg(cx.theme().colors().element_hover)) .child( h_flex() - .w_full() .gap_2() .child( Icon::new(provider.icon()) @@ -233,7 +231,6 @@ impl AgentConfiguration { ) .child( h_flex() - .w_full() .gap_1() .child( Label::new(provider_name.clone()) @@ -317,7 +314,6 @@ impl AgentConfiguration { let providers = LanguageModelRegistry::read_global(cx).providers(); v_flex() - .w_full() .child( h_flex() .p(DynamicSpacing::Base16.rems(cx)) @@ -328,67 +324,50 @@ impl AgentConfiguration { .justify_between() .child( v_flex() - .w_full() .gap_0p5() - .child( - h_flex() - .w_full() - .gap_2() - .justify_between() - .child(Headline::new("LLM Providers")) - .child( - PopoverMenu::new("add-provider-popover") - .trigger( - Button::new("add-provider", "Add Provider") - .icon_position(IconPosition::Start) - .icon(IconName::Plus) - .icon_size(IconSize::Small) - .icon_color(Color::Muted) - .label_size(LabelSize::Small), - ) - .anchor(gpui::Corner::TopRight) - .menu({ - let workspace = self.workspace.clone(); - move |window, cx| { - Some(ContextMenu::build( - window, - cx, - |menu, _window, _cx| { - menu.header("Compatible APIs").entry( - "OpenAI", - None, - { - let workspace = - workspace.clone(); - move |window, cx| { - workspace - .update(cx, |workspace, cx| { - AddLlmProviderModal::toggle( - LlmCompatibleProvider::OpenAi, - workspace, - window, - cx, - ); - }) - .log_err(); - } - }, - ) - }, - )) - } - }), - ), - ) + .child(Headline::new("LLM Providers")) .child( Label::new("Add at least one provider to use AI-powered features.") .color(Color::Muted), ), + ) + .child( + PopoverMenu::new("add-provider-popover") + .trigger( + Button::new("add-provider", "Add Provider") + .icon_position(IconPosition::Start) + .icon(IconName::Plus) + .icon_size(IconSize::Small) + .icon_color(Color::Muted) + .label_size(LabelSize::Small), + ) + .anchor(gpui::Corner::TopRight) + .menu({ + let workspace = self.workspace.clone(); + move |window, cx| { + Some(ContextMenu::build(window, cx, |menu, _window, _cx| { + menu.header("Compatible APIs").entry("OpenAI", None, { + let workspace = workspace.clone(); + move |window, cx| { + workspace + .update(cx, |workspace, cx| { + AddLlmProviderModal::toggle( + LlmCompatibleProvider::OpenAi, + workspace, + window, + cx, + ); + }) + .log_err(); + } + }) + })) + } + }), ), ) .child( div() - .w_full() .pl(DynamicSpacing::Base08.rems(cx)) .pr(DynamicSpacing::Base20.rems(cx)) .children( @@ -404,9 +383,9 @@ impl AgentConfiguration { let fs = self.fs.clone(); SwitchField::new( - "always-allow-tool-actions-switch", - "Allow running commands without asking for confirmation", - "The agent can perform potentially destructive actions without asking for your confirmation.", + "single-file-review", + "Enable single-file agent reviews", + "Agent edits are also displayed in single-file editors for review.", always_allow_tool_actions, move |state, _window, cx| { let allow = state == &ToggleState::Selected; diff --git a/crates/agent_ui/src/agent_diff.rs b/crates/agent_ui/src/agent_diff.rs index ec0a11f86b..e69664ce88 100644 --- a/crates/agent_ui/src/agent_diff.rs +++ b/crates/agent_ui/src/agent_diff.rs @@ -1506,7 +1506,8 @@ impl AgentDiff { .read(cx) .entries() .last() - .map_or(false, |entry| entry.diffs().next().is_some()) + .and_then(|entry| entry.diff()) + .is_some() { self.update_reviewing_editors(workspace, window, cx); } @@ -1516,7 +1517,8 @@ impl AgentDiff { .read(cx) .entries() .get(*ix) - .map_or(false, |entry| entry.diffs().next().is_some()) + .and_then(|entry| entry.diff()) + .is_some() { self.update_reviewing_editors(workspace, window, cx); } diff --git a/crates/agent_ui/src/agent_panel.rs b/crates/agent_ui/src/agent_panel.rs index e7b1943561..a0250816a0 100644 --- a/crates/agent_ui/src/agent_panel.rs +++ b/crates/agent_ui/src/agent_panel.rs @@ -44,7 +44,6 @@ use assistant_context::{AssistantContext, ContextEvent, ContextSummary}; use assistant_slash_command::SlashCommandWorkingSet; use assistant_tool::ToolWorkingSet; use client::{DisableAiSettings, UserStore, zed_urls}; -use cloud_llm_client::{CompletionIntent, UsageLimit}; use editor::{Anchor, AnchorRangeExt as _, Editor, EditorEvent, MultiBuffer}; use feature_flags::{self, FeatureFlagAppExt}; use fs::Fs; @@ -78,9 +77,10 @@ use workspace::{ }; use zed_actions::{ DecreaseBufferFontSize, IncreaseBufferFontSize, ResetBufferFontSize, - agent::{OpenOnboardingModal, OpenSettings, ResetOnboarding, ToggleModelSelector}, + agent::{OpenConfiguration, OpenOnboardingModal, ResetOnboarding, ToggleModelSelector}, assistant::{OpenRulesLibrary, ToggleFocus}, }; +use zed_llm_client::{CompletionIntent, UsageLimit}; const AGENT_PANEL_KEY: &str = "agent_panel"; @@ -105,7 +105,7 @@ pub fn init(cx: &mut App) { panel.update(cx, |panel, cx| panel.open_history(window, cx)); } }) - .register_action(|workspace, _: &OpenSettings, window, cx| { + .register_action(|workspace, _: &OpenConfiguration, window, cx| { if let Some(panel) = workspace.panel::(cx) { workspace.focus_panel::(window, cx); panel.update(cx, |panel, cx| panel.open_configuration(window, cx)); @@ -440,7 +440,7 @@ pub struct AgentPanel { local_timezone: UtcOffset, active_view: ActiveView, acp_message_history: - Rc>>>, + Rc>>, previous_view: Option, history_store: Entity, history: Entity, @@ -1991,20 +1991,6 @@ impl AgentPanel { ); }), ) - .item( - ContextMenuEntry::new("New Codex Thread") - .icon(IconName::AiOpenAi) - .icon_color(Color::Muted) - .handler(move |window, cx| { - window.dispatch_action( - NewExternalAgentThread { - agent: Some(crate::ExternalAgent::Codex), - } - .boxed_clone(), - cx, - ); - }), - ) }); menu })) @@ -2030,69 +2016,65 @@ impl AgentPanel { ) .anchor(Corner::TopRight) .with_handle(self.agent_panel_menu_handle.clone()) - .menu({ - let focus_handle = focus_handle.clone(); - move |window, cx| { - Some(ContextMenu::build(window, cx, |mut menu, _window, _| { - menu = menu.context(focus_handle.clone()); - if let Some(usage) = usage { - menu = menu - .header_with_link("Prompt Usage", "Manage", account_url.clone()) - .custom_entry( - move |_window, cx| { - let used_percentage = match usage.limit { - UsageLimit::Limited(limit) => { - Some((usage.amount as f32 / limit as f32) * 100.) - } - UsageLimit::Unlimited => None, - }; - - h_flex() - .flex_1() - .gap_1p5() - .children(used_percentage.map(|percent| { - ProgressBar::new("usage", percent, 100., cx) - })) - .child( - Label::new(match usage.limit { - UsageLimit::Limited(limit) => { - format!("{} / {limit}", usage.amount) - } - UsageLimit::Unlimited => { - format!("{} / ∞", usage.amount) - } - }) - .size(LabelSize::Small) - .color(Color::Muted), - ) - .into_any_element() - }, - move |_, cx| cx.open_url(&zed_urls::account_url(cx)), - ) - .separator() - } - + .menu(move |window, cx| { + Some(ContextMenu::build(window, cx, |mut menu, _window, _| { + if let Some(usage) = usage { menu = menu - .header("MCP Servers") - .action( - "View Server Extensions", - Box::new(zed_actions::Extensions { - category_filter: Some( - zed_actions::ExtensionCategoryFilter::ContextServers, - ), - id: None, - }), + .header_with_link("Prompt Usage", "Manage", account_url.clone()) + .custom_entry( + move |_window, cx| { + let used_percentage = match usage.limit { + UsageLimit::Limited(limit) => { + Some((usage.amount as f32 / limit as f32) * 100.) + } + UsageLimit::Unlimited => None, + }; + + h_flex() + .flex_1() + .gap_1p5() + .children(used_percentage.map(|percent| { + ProgressBar::new("usage", percent, 100., cx) + })) + .child( + Label::new(match usage.limit { + UsageLimit::Limited(limit) => { + format!("{} / {limit}", usage.amount) + } + UsageLimit::Unlimited => { + format!("{} / ∞", usage.amount) + } + }) + .size(LabelSize::Small) + .color(Color::Muted), + ) + .into_any_element() + }, + move |_, cx| cx.open_url(&zed_urls::account_url(cx)), ) - .action("Add Custom Server…", Box::new(AddContextServer)) - .separator(); + .separator() + } - menu = menu - .action("Rules…", Box::new(OpenRulesLibrary::default())) - .action("Settings", Box::new(OpenSettings)) - .action(zoom_in_label, Box::new(ToggleZoom)); - menu - })) - } + menu = menu + .header("MCP Servers") + .action( + "View Server Extensions", + Box::new(zed_actions::Extensions { + category_filter: Some( + zed_actions::ExtensionCategoryFilter::ContextServers, + ), + id: None, + }), + ) + .action("Add Custom Server…", Box::new(AddContextServer)) + .separator(); + + menu = menu + .action("Rules…", Box::new(OpenRulesLibrary::default())) + .action("Settings", Box::new(OpenConfiguration)) + .action(zoom_in_label, Box::new(ToggleZoom)); + menu + })) }); h_flex() @@ -2482,14 +2464,14 @@ impl AgentPanel { .icon_color(Color::Muted) .full_width() .key_binding(KeyBinding::for_action_in( - &OpenSettings, + &OpenConfiguration, &focus_handle, window, cx, )) .on_click(|_event, window, cx| { window.dispatch_action( - OpenSettings.boxed_clone(), + OpenConfiguration.boxed_clone(), cx, ) }), @@ -2666,25 +2648,6 @@ impl AgentPanel { ) }, ), - ) - .child( - NewThreadButton::new( - "new-codex-thread-btn", - "New Codex Thread", - IconName::AiOpenAi, - ) - .on_click( - |window, cx| { - window.dispatch_action( - Box::new(NewExternalAgentThread { - agent: Some( - crate::ExternalAgent::Codex, - ), - }), - cx, - ) - }, - ), ), ) }), @@ -2713,11 +2676,16 @@ impl AgentPanel { .style(ButtonStyle::Tinted(ui::TintColor::Warning)) .label_size(LabelSize::Small) .key_binding( - KeyBinding::for_action_in(&OpenSettings, &focus_handle, window, cx) - .map(|kb| kb.size(rems_from_px(12.))), + KeyBinding::for_action_in( + &OpenConfiguration, + &focus_handle, + window, + cx, + ) + .map(|kb| kb.size(rems_from_px(12.))), ) .on_click(|_event, window, cx| { - window.dispatch_action(OpenSettings.boxed_clone(), cx) + window.dispatch_action(OpenConfiguration.boxed_clone(), cx) }), ), ConfigurationError::ProviderPendingTermsAcceptance(provider) => { @@ -3221,7 +3189,7 @@ impl Render for AgentPanel { .on_action(cx.listener(|this, _: &OpenHistory, window, cx| { this.open_history(window, cx); })) - .on_action(cx.listener(|this, _: &OpenSettings, window, cx| { + .on_action(cx.listener(|this, _: &OpenConfiguration, window, cx| { this.open_configuration(window, cx); })) .on_action(cx.listener(Self::open_active_thread_as_markdown)) diff --git a/crates/agent_ui/src/agent_ui.rs b/crates/agent_ui/src/agent_ui.rs index 0800031abe..22f1f92e90 100644 --- a/crates/agent_ui/src/agent_ui.rs +++ b/crates/agent_ui/src/agent_ui.rs @@ -150,7 +150,6 @@ enum ExternalAgent { #[default] Gemini, ClaudeCode, - Codex, } impl ExternalAgent { @@ -158,7 +157,6 @@ impl ExternalAgent { match self { ExternalAgent::Gemini => Rc::new(agent_servers::Gemini), ExternalAgent::ClaudeCode => Rc::new(agent_servers::ClaudeCode), - ExternalAgent::Codex => Rc::new(agent_servers::Codex), } } } @@ -286,7 +284,6 @@ fn update_command_palette_filter(cx: &mut App) { } else { filter.show_namespace("agent"); filter.show_namespace("assistant"); - filter.show_namespace("copilot"); filter.show_namespace("zed_predict_onboarding"); filter.show_namespace("edit_prediction"); diff --git a/crates/agent_ui/src/buffer_codegen.rs b/crates/agent_ui/src/buffer_codegen.rs index 615142b73d..64498e9281 100644 --- a/crates/agent_ui/src/buffer_codegen.rs +++ b/crates/agent_ui/src/buffer_codegen.rs @@ -6,7 +6,6 @@ use agent::{ use agent_settings::AgentSettings; use anyhow::{Context as _, Result}; use client::telemetry::Telemetry; -use cloud_llm_client::CompletionIntent; use collections::HashSet; use editor::{Anchor, AnchorRangeExt, MultiBuffer, MultiBufferSnapshot, ToOffset as _, ToPoint}; use futures::{ @@ -36,6 +35,7 @@ use std::{ }; use streaming_diff::{CharOperation, LineDiff, LineOperation, StreamingDiff}; use telemetry_events::{AssistantEventData, AssistantKind, AssistantPhase}; +use zed_llm_client::CompletionIntent; pub struct BufferCodegen { alternatives: Vec>, diff --git a/crates/agent_ui/src/debug.rs b/crates/agent_ui/src/debug.rs index bd34659210..ff6538dc85 100644 --- a/crates/agent_ui/src/debug.rs +++ b/crates/agent_ui/src/debug.rs @@ -1,10 +1,10 @@ #![allow(unused, dead_code)] use client::{ModelRequestUsage, RequestUsage}; -use cloud_llm_client::{Plan, UsageLimit}; use gpui::Global; use std::ops::{Deref, DerefMut}; use ui::prelude::*; +use zed_llm_client::{Plan, UsageLimit}; /// Debug only: Used for testing various account states /// diff --git a/crates/agent_ui/src/inline_assistant.rs b/crates/agent_ui/src/inline_assistant.rs index ffa654d12b..44ec050ae2 100644 --- a/crates/agent_ui/src/inline_assistant.rs +++ b/crates/agent_ui/src/inline_assistant.rs @@ -48,7 +48,7 @@ use text::{OffsetRangeExt, ToPoint as _}; use ui::prelude::*; use util::{RangeExt, ResultExt, maybe}; use workspace::{ItemHandle, Toast, Workspace, dock::Panel, notifications::NotificationId}; -use zed_actions::agent::OpenSettings; +use zed_actions::agent::OpenConfiguration; pub fn init( fs: Arc, @@ -345,7 +345,7 @@ impl InlineAssistant { if let Some(answer) = answer { if answer == 0 { cx.update(|window, cx| { - window.dispatch_action(Box::new(OpenSettings), cx) + window.dispatch_action(Box::new(OpenConfiguration), cx) }) .ok(); } diff --git a/crates/agent_ui/src/language_model_selector.rs b/crates/agent_ui/src/language_model_selector.rs index 7121624c87..655e87d7cd 100644 --- a/crates/agent_ui/src/language_model_selector.rs +++ b/crates/agent_ui/src/language_model_selector.rs @@ -576,7 +576,7 @@ impl PickerDelegate for LanguageModelPickerDelegate { .icon_position(IconPosition::Start) .on_click(|_, window, cx| { window.dispatch_action( - zed_actions::agent::OpenSettings.boxed_clone(), + zed_actions::agent::OpenConfiguration.boxed_clone(), cx, ); }), diff --git a/crates/agent_ui/src/message_editor.rs b/crates/agent_ui/src/message_editor.rs index 082d1dfb51..c160f1de04 100644 --- a/crates/agent_ui/src/message_editor.rs +++ b/crates/agent_ui/src/message_editor.rs @@ -18,7 +18,6 @@ use agent_settings::{AgentSettings, CompletionMode}; use ai_onboarding::ApiKeysWithProviders; use buffer_diff::BufferDiff; use client::UserStore; -use cloud_llm_client::CompletionIntent; use collections::{HashMap, HashSet}; use editor::actions::{MoveUp, Paste}; use editor::display_map::CreaseId; @@ -54,6 +53,7 @@ use util::ResultExt as _; use workspace::{CollaboratorId, Workspace}; use zed_actions::agent::Chat; use zed_actions::agent::ToggleModelSelector; +use zed_llm_client::CompletionIntent; use crate::context_picker::{ContextPicker, ContextPickerCompletionProvider, crease_for_mention}; use crate::context_strip::{ContextStrip, ContextStripEvent, SuggestContextKind}; @@ -1300,11 +1300,11 @@ impl MessageEditor { let plan = user_store .current_plan() .map(|plan| match plan { - Plan::Free => cloud_llm_client::Plan::ZedFree, - Plan::ZedPro => cloud_llm_client::Plan::ZedPro, - Plan::ZedProTrial => cloud_llm_client::Plan::ZedProTrial, + Plan::Free => zed_llm_client::Plan::ZedFree, + Plan::ZedPro => zed_llm_client::Plan::ZedPro, + Plan::ZedProTrial => zed_llm_client::Plan::ZedProTrial, }) - .unwrap_or(cloud_llm_client::Plan::ZedFree); + .unwrap_or(zed_llm_client::Plan::ZedFree); let usage = user_store.model_request_usage()?; diff --git a/crates/agent_ui/src/terminal_inline_assistant.rs b/crates/agent_ui/src/terminal_inline_assistant.rs index bcbc308c99..91867957cd 100644 --- a/crates/agent_ui/src/terminal_inline_assistant.rs +++ b/crates/agent_ui/src/terminal_inline_assistant.rs @@ -10,7 +10,6 @@ use agent::{ use agent_settings::AgentSettings; use anyhow::{Context as _, Result}; use client::telemetry::Telemetry; -use cloud_llm_client::CompletionIntent; use collections::{HashMap, VecDeque}; use editor::{MultiBuffer, actions::SelectAll}; use fs::Fs; @@ -28,6 +27,7 @@ use terminal_view::TerminalView; use ui::prelude::*; use util::ResultExt; use workspace::{Toast, Workspace, notifications::NotificationId}; +use zed_llm_client::CompletionIntent; pub fn init( fs: Arc, diff --git a/crates/agent_ui/src/ui/preview/usage_callouts.rs b/crates/agent_ui/src/ui/preview/usage_callouts.rs index 64869a6ec7..45af41395b 100644 --- a/crates/agent_ui/src/ui/preview/usage_callouts.rs +++ b/crates/agent_ui/src/ui/preview/usage_callouts.rs @@ -1,8 +1,8 @@ use client::{ModelRequestUsage, RequestUsage, zed_urls}; -use cloud_llm_client::{Plan, UsageLimit}; use component::{empty_example, example_group_with_title, single_example}; use gpui::{AnyElement, App, IntoElement, RenderOnce, Window}; use ui::{Callout, prelude::*}; +use zed_llm_client::{Plan, UsageLimit}; #[derive(IntoElement, RegisterComponent)] pub struct UsageCallout { diff --git a/crates/ai_onboarding/src/agent_api_keys_onboarding.rs b/crates/ai_onboarding/src/agent_api_keys_onboarding.rs index e86568fe7a..5f56e4d26e 100644 --- a/crates/ai_onboarding/src/agent_api_keys_onboarding.rs +++ b/crates/ai_onboarding/src/agent_api_keys_onboarding.rs @@ -136,7 +136,10 @@ impl RenderOnce for ApiKeysWithoutProviders { .full_width() .style(ButtonStyle::Outlined) .on_click(move |_, window, cx| { - window.dispatch_action(zed_actions::agent::OpenSettings.boxed_clone(), cx); + window.dispatch_action( + zed_actions::agent::OpenConfiguration.boxed_clone(), + cx, + ); }), ) } diff --git a/crates/ai_onboarding/src/ai_onboarding.rs b/crates/ai_onboarding/src/ai_onboarding.rs index 3aec9c62cd..7fffb60ecc 100644 --- a/crates/ai_onboarding/src/ai_onboarding.rs +++ b/crates/ai_onboarding/src/ai_onboarding.rs @@ -1,14 +1,12 @@ mod agent_api_keys_onboarding; mod agent_panel_onboarding_card; mod agent_panel_onboarding_content; -mod ai_upsell_card; mod edit_prediction_onboarding_content; mod young_account_banner; pub use agent_api_keys_onboarding::{ApiKeysWithProviders, ApiKeysWithoutProviders}; pub use agent_panel_onboarding_card::AgentPanelOnboardingCard; pub use agent_panel_onboarding_content::AgentPanelOnboarding; -pub use ai_upsell_card::AiUpsellCard; pub use edit_prediction_onboarding_content::EditPredictionOnboarding; pub use young_account_banner::YoungAccountBanner; @@ -56,7 +54,6 @@ impl RenderOnce for BulletItem { } } -#[derive(PartialEq)] pub enum SignInStatus { SignedIn, SigningIn, diff --git a/crates/ai_onboarding/src/ai_upsell_card.rs b/crates/ai_onboarding/src/ai_upsell_card.rs deleted file mode 100644 index 041e0d87ec..0000000000 --- a/crates/ai_onboarding/src/ai_upsell_card.rs +++ /dev/null @@ -1,201 +0,0 @@ -use std::sync::Arc; - -use client::{Client, zed_urls}; -use gpui::{AnyElement, App, IntoElement, RenderOnce, Window}; -use ui::{Divider, List, Vector, VectorName, prelude::*}; - -use crate::{BulletItem, SignInStatus}; - -#[derive(IntoElement, RegisterComponent)] -pub struct AiUpsellCard { - pub sign_in_status: SignInStatus, - pub sign_in: Arc, -} - -impl AiUpsellCard { - pub fn new(client: Arc) -> Self { - let status = *client.status().borrow(); - - Self { - sign_in_status: status.into(), - sign_in: Arc::new(move |_window, cx| { - cx.spawn({ - let client = client.clone(); - async move |cx| { - client.authenticate_and_connect(true, cx).await; - } - }) - .detach(); - }), - } - } -} - -impl RenderOnce for AiUpsellCard { - fn render(self, _window: &mut Window, cx: &mut App) -> impl IntoElement { - let pro_section = v_flex() - .w_full() - .gap_1() - .child( - h_flex() - .gap_2() - .child( - Label::new("Pro") - .size(LabelSize::Small) - .color(Color::Accent) - .buffer_font(cx), - ) - .child(Divider::horizontal()), - ) - .child( - List::new() - .child(BulletItem::new("500 prompts with Claude models")) - .child(BulletItem::new( - "Unlimited edit predictions with Zeta, our open-source model", - )), - ); - - let free_section = v_flex() - .w_full() - .gap_1() - .child( - h_flex() - .gap_2() - .child( - Label::new("Free") - .size(LabelSize::Small) - .color(Color::Muted) - .buffer_font(cx), - ) - .child(Divider::horizontal()), - ) - .child( - List::new() - .child(BulletItem::new("50 prompts with the Claude models")) - .child(BulletItem::new("2,000 accepted edit predictions")), - ); - - let grid_bg = h_flex().absolute().inset_0().w_full().h(px(240.)).child( - Vector::new(VectorName::Grid, rems_from_px(500.), rems_from_px(240.)) - .color(Color::Custom(cx.theme().colors().border.opacity(0.05))), - ); - - let gradient_bg = div() - .absolute() - .inset_0() - .size_full() - .bg(gpui::linear_gradient( - 180., - gpui::linear_color_stop( - cx.theme().colors().elevated_surface_background.opacity(0.8), - 0., - ), - gpui::linear_color_stop( - cx.theme().colors().elevated_surface_background.opacity(0.), - 0.8, - ), - )); - - const DESCRIPTION: &str = "Zed offers a complete agentic experience, with robust editing and reviewing features to collaborate with AI."; - - let footer_buttons = match self.sign_in_status { - SignInStatus::SignedIn => v_flex() - .items_center() - .gap_1() - .child( - Button::new("sign_in", "Start 14-day Free Pro Trial") - .full_width() - .style(ButtonStyle::Tinted(ui::TintColor::Accent)) - .on_click(move |_, _window, cx| { - telemetry::event!("Start Trial Clicked", state = "post-sign-in"); - cx.open_url(&zed_urls::start_trial_url(cx)) - }), - ) - .child( - Label::new("No credit card required") - .size(LabelSize::Small) - .color(Color::Muted), - ) - .into_any_element(), - _ => Button::new("sign_in", "Sign In") - .full_width() - .style(ButtonStyle::Tinted(ui::TintColor::Accent)) - .on_click({ - let callback = self.sign_in.clone(); - move |_, window, cx| { - telemetry::event!("Start Trial Clicked", state = "pre-sign-in"); - callback(window, cx) - } - }) - .into_any_element(), - }; - - v_flex() - .relative() - .p_6() - .pt_4() - .border_1() - .border_color(cx.theme().colors().border) - .rounded_lg() - .overflow_hidden() - .child(grid_bg) - .child(gradient_bg) - .child(Headline::new("Try Zed AI")) - .child(Label::new(DESCRIPTION).color(Color::Muted).mb_2()) - .child( - h_flex() - .mt_1p5() - .mb_2p5() - .items_start() - .gap_12() - .child(free_section) - .child(pro_section), - ) - .child(footer_buttons) - } -} - -impl Component for AiUpsellCard { - fn scope() -> ComponentScope { - ComponentScope::Agent - } - - fn name() -> &'static str { - "AI Upsell Card" - } - - fn sort_name() -> &'static str { - "AI Upsell Card" - } - - fn description() -> Option<&'static str> { - Some("A card presenting the Zed AI product during user's first-open onboarding flow.") - } - - fn preview(_window: &mut Window, _cx: &mut App) -> Option { - Some( - v_flex() - .p_4() - .gap_4() - .children(vec![example_group(vec![ - single_example( - "Signed Out State", - AiUpsellCard { - sign_in_status: SignInStatus::SignedOut, - sign_in: Arc::new(|_, _| {}), - } - .into_any_element(), - ), - single_example( - "Signed In State", - AiUpsellCard { - sign_in_status: SignInStatus::SignedIn, - sign_in: Arc::new(|_, _| {}), - } - .into_any_element(), - ), - ])]) - .into_any_element(), - ) - } -} diff --git a/crates/assistant_context/Cargo.toml b/crates/assistant_context/Cargo.toml index 8f5ff98790..f35dc43340 100644 --- a/crates/assistant_context/Cargo.toml +++ b/crates/assistant_context/Cargo.toml @@ -19,7 +19,6 @@ assistant_slash_commands.workspace = true chrono.workspace = true client.workspace = true clock.workspace = true -cloud_llm_client.workspace = true collections.workspace = true context_server.workspace = true fs.workspace = true @@ -49,6 +48,7 @@ util.workspace = true uuid.workspace = true workspace-hack.workspace = true workspace.workspace = true +zed_llm_client.workspace = true [dev-dependencies] indoc.workspace = true diff --git a/crates/assistant_context/src/assistant_context.rs b/crates/assistant_context/src/assistant_context.rs index 4518bbff79..136468e084 100644 --- a/crates/assistant_context/src/assistant_context.rs +++ b/crates/assistant_context/src/assistant_context.rs @@ -11,7 +11,6 @@ use assistant_slash_command::{ use assistant_slash_commands::FileCommandMetadata; use client::{self, Client, proto, telemetry::Telemetry}; use clock::ReplicaId; -use cloud_llm_client::CompletionIntent; use collections::{HashMap, HashSet}; use fs::{Fs, RenameOptions}; use futures::{FutureExt, StreamExt, future::Shared}; @@ -47,6 +46,7 @@ use text::{BufferSnapshot, ToPoint}; use ui::IconName; use util::{ResultExt, TryFutureExt, post_inc}; use uuid::Uuid; +use zed_llm_client::CompletionIntent; pub use crate::context_store::*; diff --git a/crates/assistant_tools/Cargo.toml b/crates/assistant_tools/Cargo.toml index d4b8fa3afc..146800e094 100644 --- a/crates/assistant_tools/Cargo.toml +++ b/crates/assistant_tools/Cargo.toml @@ -21,11 +21,9 @@ assistant_tool.workspace = true buffer_diff.workspace = true chrono.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true component.workspace = true derive_more.workspace = true -diffy = "0.4.2" editor.workspace = true feature_flags.workspace = true futures.workspace = true @@ -65,6 +63,8 @@ web_search.workspace = true which.workspace = true workspace-hack.workspace = true workspace.workspace = true +zed_llm_client.workspace = true +diffy = "0.4.2" [dev-dependencies] lsp = { workspace = true, features = ["test-support"] } diff --git a/crates/assistant_tools/src/edit_agent.rs b/crates/assistant_tools/src/edit_agent.rs index fed79434bb..0184dff36c 100644 --- a/crates/assistant_tools/src/edit_agent.rs +++ b/crates/assistant_tools/src/edit_agent.rs @@ -7,7 +7,6 @@ mod streaming_fuzzy_matcher; use crate::{Template, Templates}; use anyhow::Result; use assistant_tool::ActionLog; -use cloud_llm_client::CompletionIntent; use create_file_parser::{CreateFileParser, CreateFileParserEvent}; pub use edit_parser::EditFormat; use edit_parser::{EditParser, EditParserEvent, EditParserMetrics}; @@ -30,6 +29,7 @@ use std::{cmp, iter, mem, ops::Range, path::PathBuf, pin::Pin, sync::Arc, task:: use streaming_diff::{CharOperation, StreamingDiff}; use streaming_fuzzy_matcher::StreamingFuzzyMatcher; use util::debug_panic; +use zed_llm_client::CompletionIntent; #[derive(Serialize)] struct CreateFilePromptTemplate { diff --git a/crates/assistant_tools/src/web_search_tool.rs b/crates/assistant_tools/src/web_search_tool.rs index d4a12f22c5..5eeca9c2c4 100644 --- a/crates/assistant_tools/src/web_search_tool.rs +++ b/crates/assistant_tools/src/web_search_tool.rs @@ -6,7 +6,6 @@ use anyhow::{Context as _, Result, anyhow}; use assistant_tool::{ ActionLog, Tool, ToolCard, ToolResult, ToolResultContent, ToolResultOutput, ToolUseStatus, }; -use cloud_llm_client::{WebSearchResponse, WebSearchResult}; use futures::{Future, FutureExt, TryFutureExt}; use gpui::{ AnyWindowHandle, App, AppContext, Context, Entity, IntoElement, Task, WeakEntity, Window, @@ -18,6 +17,7 @@ use serde::{Deserialize, Serialize}; use ui::{IconName, Tooltip, prelude::*}; use web_search::WebSearchRegistry; use workspace::Workspace; +use zed_llm_client::{WebSearchResponse, WebSearchResult}; #[derive(Debug, Serialize, Deserialize, JsonSchema)] pub struct WebSearchToolInput { diff --git a/crates/audio/Cargo.toml b/crates/audio/Cargo.toml index d857a3eb2f..960aaf8e08 100644 --- a/crates/audio/Cargo.toml +++ b/crates/audio/Cargo.toml @@ -18,6 +18,6 @@ collections.workspace = true derive_more.workspace = true gpui.workspace = true parking_lot.workspace = true -rodio = { version = "0.21.1", default-features = false, features = ["wav", "playback", "tracing"] } +rodio = { version = "0.20.0", default-features = false, features = ["wav"] } util.workspace = true workspace-hack.workspace = true diff --git a/crates/audio/src/assets.rs b/crates/audio/src/assets.rs index fd5c935d87..02da79dc24 100644 --- a/crates/audio/src/assets.rs +++ b/crates/audio/src/assets.rs @@ -3,9 +3,12 @@ use std::{io::Cursor, sync::Arc}; use anyhow::{Context as _, Result}; use collections::HashMap; use gpui::{App, AssetSource, Global}; -use rodio::{Decoder, Source, source::Buffered}; +use rodio::{ + Decoder, Source, + source::{Buffered, SamplesConverter}, +}; -type Sound = Buffered>>>; +type Sound = Buffered>>, f32>>; pub struct SoundRegistry { cache: Arc>>, @@ -45,7 +48,7 @@ impl SoundRegistry { .with_context(|| format!("No asset available for path {path}"))?? .into_owned(); let cursor = Cursor::new(bytes); - let source = Decoder::new(cursor)?.buffered(); + let source = Decoder::new(cursor)?.convert_samples::().buffered(); self.cache.lock().insert(name.to_string(), source.clone()); diff --git a/crates/audio/src/audio.rs b/crates/audio/src/audio.rs index 44baa16aa2..e7b9a59e8f 100644 --- a/crates/audio/src/audio.rs +++ b/crates/audio/src/audio.rs @@ -1,7 +1,7 @@ use assets::SoundRegistry; use derive_more::{Deref, DerefMut}; use gpui::{App, AssetSource, BorrowAppContext, Global}; -use rodio::{OutputStream, OutputStreamBuilder}; +use rodio::{OutputStream, OutputStreamHandle}; use util::ResultExt; mod assets; @@ -37,7 +37,8 @@ impl Sound { #[derive(Default)] pub struct Audio { - output_handle: Option, + _output_stream: Option, + output_handle: Option, } #[derive(Deref, DerefMut)] @@ -50,9 +51,11 @@ impl Audio { Self::default() } - fn ensure_output_exists(&mut self) -> Option<&OutputStream> { + fn ensure_output_exists(&mut self) -> Option<&OutputStreamHandle> { if self.output_handle.is_none() { - self.output_handle = OutputStreamBuilder::open_default_stream().log_err(); + let (_output_stream, output_handle) = OutputStream::try_default().log_err().unzip(); + self.output_handle = output_handle; + self._output_stream = _output_stream; } self.output_handle.as_ref() @@ -66,7 +69,7 @@ impl Audio { cx.update_global::(|this, cx| { let output_handle = this.ensure_output_exists()?; let source = SoundRegistry::global(cx).get(sound.file()).log_err()?; - output_handle.mixer().add(source); + output_handle.play_raw(source).log_err()?; Some(()) }); } @@ -77,6 +80,7 @@ impl Audio { } cx.update_global::(|this, _| { + this._output_stream.take(); this.output_handle.take(); }); } diff --git a/crates/channel/src/channel_store.rs b/crates/channel/src/channel_store.rs index 4ad156b9fb..b7ba811421 100644 --- a/crates/channel/src/channel_store.rs +++ b/crates/channel/src/channel_store.rs @@ -126,7 +126,7 @@ impl ChannelMembership { proto::channel_member::Kind::Member => 0, proto::channel_member::Kind::Invitee => 1, }, - username_order: &self.user.github_login, + username_order: self.user.github_login.as_str(), } } } diff --git a/crates/client/Cargo.toml b/crates/client/Cargo.toml index 3ff03114ea..b741f515fd 100644 --- a/crates/client/Cargo.toml +++ b/crates/client/Cargo.toml @@ -22,8 +22,6 @@ async-tungstenite = { workspace = true, features = ["tokio", "tokio-rustls-manua base64.workspace = true chrono = { workspace = true, features = ["serde"] } clock.workspace = true -cloud_api_client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true credentials_provider.workspace = true derive_more.workspace = true @@ -35,8 +33,8 @@ http_client.workspace = true http_client_tls.workspace = true httparse = "1.10" log.workspace = true -parking_lot.workspace = true paths.workspace = true +parking_lot.workspace = true postage.workspace = true rand.workspace = true regex.workspace = true @@ -48,18 +46,19 @@ serde_json.workspace = true settings.workspace = true sha2.workspace = true smol.workspace = true -telemetry.workspace = true telemetry_events.workspace = true text.workspace = true thiserror.workspace = true time.workspace = true tiny_http.workspace = true tokio-socks = { version = "0.5.2", default-features = false, features = ["futures-io"] } -tokio.workspace = true url.workspace = true util.workspace = true -workspace-hack.workspace = true worktree.workspace = true +telemetry.workspace = true +tokio.workspace = true +workspace-hack.workspace = true +zed_llm_client.workspace = true [dev-dependencies] clock = { workspace = true, features = ["test-support"] } diff --git a/crates/client/src/client.rs b/crates/client/src/client.rs index 998ce04636..8aafbf383f 100644 --- a/crates/client/src/client.rs +++ b/crates/client/src/client.rs @@ -1,7 +1,6 @@ #[cfg(any(test, feature = "test-support"))] pub mod test; -mod cloud; mod proxy; pub mod telemetry; pub mod user; @@ -16,7 +15,6 @@ use async_tungstenite::tungstenite::{ }; use chrono::{DateTime, Utc}; use clock::SystemClock; -use cloud_api_client::CloudApiClient; use credentials_provider::CredentialsProvider; use futures::{ AsyncReadExt, FutureExt, SinkExt, Stream, StreamExt, TryFutureExt as _, TryStreamExt, @@ -53,7 +51,6 @@ use tokio::net::TcpStream; use url::Url; use util::{ConnectionResult, ResultExt}; -pub use cloud::*; pub use rpc::*; pub use telemetry_events::Event; pub use user::*; @@ -216,7 +213,6 @@ pub struct Client { id: AtomicU64, peer: Arc, http: Arc, - cloud_client: Arc, telemetry: Arc, credentials_provider: ClientCredentialsProvider, state: RwLock, @@ -590,7 +586,6 @@ impl Client { id: AtomicU64::new(0), peer: Peer::new(0), telemetry: Telemetry::new(clock, http.clone(), cx), - cloud_client: Arc::new(CloudApiClient::new(http.clone())), http, credentials_provider: ClientCredentialsProvider::new(cx), state: Default::default(), @@ -623,10 +618,6 @@ impl Client { self.http.clone() } - pub fn cloud_client(&self) -> Arc { - self.cloud_client.clone() - } - pub fn set_id(&self, id: u64) -> &Self { self.id.store(id, Ordering::SeqCst); self @@ -939,8 +930,6 @@ impl Client { } let credentials = credentials.unwrap(); self.set_id(credentials.user_id); - self.cloud_client - .set_credentials(credentials.user_id as u32, credentials.access_token.clone()); if was_disconnected { self.set_status(Status::Connecting, cx); @@ -1148,7 +1137,7 @@ impl Client { .to_str() .map_err(EstablishConnectionError::other)? .to_string(); - Url::parse(&collab_url).with_context(|| format!("parsing collab rpc url {collab_url}")) + Url::parse(&collab_url).with_context(|| format!("parsing colab rpc url {collab_url}")) } } @@ -1491,7 +1480,6 @@ impl Client { pub async fn sign_out(self: &Arc, cx: &AsyncApp) { self.state.write().credentials = None; - self.cloud_client.clear_credentials(); self.disconnect(cx); if self.has_credentials(cx).await { diff --git a/crates/client/src/cloud.rs b/crates/client/src/cloud.rs deleted file mode 100644 index 39c9d04887..0000000000 --- a/crates/client/src/cloud.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod user_store; - -pub use user_store::*; diff --git a/crates/client/src/cloud/user_store.rs b/crates/client/src/cloud/user_store.rs deleted file mode 100644 index ea432f71ed..0000000000 --- a/crates/client/src/cloud/user_store.rs +++ /dev/null @@ -1,182 +0,0 @@ -use std::sync::Arc; -use std::time::Duration; - -use anyhow::Context as _; -use chrono::{DateTime, Utc}; -use cloud_api_client::{AuthenticatedUser, CloudApiClient, GetAuthenticatedUserResponse, PlanInfo}; -use cloud_llm_client::Plan; -use gpui::{Context, Entity, Subscription, Task}; -use util::{ResultExt as _, maybe}; - -use crate::user::Event as RpcUserStoreEvent; -use crate::{EditPredictionUsage, RequestUsage, UserStore}; - -pub struct CloudUserStore { - cloud_client: Arc, - authenticated_user: Option>, - plan_info: Option>, - edit_prediction_usage: Option, - _maintain_authenticated_user_task: Task<()>, - _rpc_plan_updated_subscription: Subscription, -} - -impl CloudUserStore { - pub fn new( - cloud_client: Arc, - rpc_user_store: Entity, - cx: &mut Context, - ) -> Self { - let rpc_plan_updated_subscription = - cx.subscribe(&rpc_user_store, Self::handle_rpc_user_store_event); - - Self { - cloud_client: cloud_client.clone(), - authenticated_user: None, - plan_info: None, - edit_prediction_usage: None, - _maintain_authenticated_user_task: cx.spawn(async move |this, cx| { - maybe!(async move { - loop { - let Some(this) = this.upgrade() else { - return anyhow::Ok(()); - }; - - if cloud_client.has_credentials() { - let already_fetched_authenticated_user = this - .read_with(cx, |this, _cx| this.authenticated_user().is_some()) - .unwrap_or(false); - - if already_fetched_authenticated_user { - // We already fetched the authenticated user; nothing to do. - } else { - let authenticated_user_result = cloud_client - .get_authenticated_user() - .await - .context("failed to fetch authenticated user"); - if let Some(response) = authenticated_user_result.log_err() { - this.update(cx, |this, _cx| { - this.update_authenticated_user(response); - }) - .ok(); - } - } - } else { - this.update(cx, |this, _cx| { - this.authenticated_user.take(); - this.plan_info.take(); - }) - .ok(); - } - - cx.background_executor() - .timer(Duration::from_millis(100)) - .await; - } - }) - .await - .log_err(); - }), - _rpc_plan_updated_subscription: rpc_plan_updated_subscription, - } - } - - pub fn is_authenticated(&self) -> bool { - self.authenticated_user.is_some() - } - - pub fn authenticated_user(&self) -> Option> { - self.authenticated_user.clone() - } - - pub fn plan(&self) -> Option { - self.plan_info.as_ref().map(|plan| plan.plan) - } - - pub fn subscription_period(&self) -> Option<(DateTime, DateTime)> { - self.plan_info - .as_ref() - .and_then(|plan| plan.subscription_period) - .map(|subscription_period| { - ( - subscription_period.started_at.0, - subscription_period.ended_at.0, - ) - }) - } - - pub fn has_accepted_tos(&self) -> bool { - self.authenticated_user - .as_ref() - .map(|user| user.accepted_tos_at.is_some()) - .unwrap_or_default() - } - - /// Returns whether the user's account is too new to use the service. - pub fn account_too_young(&self) -> bool { - self.plan_info - .as_ref() - .map(|plan| plan.is_account_too_young) - .unwrap_or_default() - } - - /// Returns whether the current user has overdue invoices and usage should be blocked. - pub fn has_overdue_invoices(&self) -> bool { - self.plan_info - .as_ref() - .map(|plan| plan.has_overdue_invoices) - .unwrap_or_default() - } - - pub fn edit_prediction_usage(&self) -> Option { - self.edit_prediction_usage - } - - pub fn update_edit_prediction_usage( - &mut self, - usage: EditPredictionUsage, - cx: &mut Context, - ) { - self.edit_prediction_usage = Some(usage); - cx.notify(); - } - - fn update_authenticated_user(&mut self, response: GetAuthenticatedUserResponse) { - self.authenticated_user = Some(Arc::new(response.user)); - self.edit_prediction_usage = Some(EditPredictionUsage(RequestUsage { - limit: response.plan.usage.edit_predictions.limit, - amount: response.plan.usage.edit_predictions.used as i32, - })); - self.plan_info = Some(Arc::new(response.plan)); - } - - fn handle_rpc_user_store_event( - &mut self, - _: Entity, - event: &RpcUserStoreEvent, - cx: &mut Context, - ) { - match event { - RpcUserStoreEvent::PlanUpdated => { - cx.spawn(async move |this, cx| { - let cloud_client = - cx.update(|cx| this.read_with(cx, |this, _cx| this.cloud_client.clone()))??; - - let response = cloud_client - .get_authenticated_user() - .await - .context("failed to fetch authenticated user")?; - - cx.update(|cx| { - this.update(cx, |this, _cx| { - this.update_authenticated_user(response); - }) - })??; - - anyhow::Ok(()) - }) - .detach_and_log_err(cx); - } - _ => {} - } - } -} diff --git a/crates/client/src/telemetry.rs b/crates/client/src/telemetry.rs index 7d39464e4a..4983fda5ef 100644 --- a/crates/client/src/telemetry.rs +++ b/crates/client/src/telemetry.rs @@ -358,13 +358,13 @@ impl Telemetry { worktree_id: WorktreeId, updated_entries_set: &UpdatedEntriesSet, ) { - let Some(project_types) = self.detect_project_types(worktree_id, updated_entries_set) + let Some(project_type_names) = self.detect_project_types(worktree_id, updated_entries_set) else { return; }; - for project_type in project_types { - telemetry::event!("Project Opened", project_type = project_type); + for project_type_name in project_type_names { + telemetry::event!("Project Opened", project_type = project_type_name); } } diff --git a/crates/client/src/user.rs b/crates/client/src/user.rs index 0ba7d1472b..5ed258aa8e 100644 --- a/crates/client/src/user.rs +++ b/crates/client/src/user.rs @@ -1,10 +1,6 @@ use super::{Client, Status, TypedEnvelope, proto}; use anyhow::{Context as _, Result, anyhow}; use chrono::{DateTime, Utc}; -use cloud_llm_client::{ - EDIT_PREDICTIONS_USAGE_AMOUNT_HEADER_NAME, EDIT_PREDICTIONS_USAGE_LIMIT_HEADER_NAME, - MODEL_REQUESTS_USAGE_AMOUNT_HEADER_NAME, MODEL_REQUESTS_USAGE_LIMIT_HEADER_NAME, UsageLimit, -}; use collections::{HashMap, HashSet, hash_map::Entry}; use derive_more::Deref; use feature_flags::FeatureFlagAppExt; @@ -21,6 +17,10 @@ use std::{ }; use text::ReplicaId; use util::{TryFutureExt as _, maybe}; +use zed_llm_client::{ + EDIT_PREDICTIONS_USAGE_AMOUNT_HEADER_NAME, EDIT_PREDICTIONS_USAGE_LIMIT_HEADER_NAME, + MODEL_REQUESTS_USAGE_AMOUNT_HEADER_NAME, MODEL_REQUESTS_USAGE_LIMIT_HEADER_NAME, UsageLimit, +}; pub type UserId = u64; @@ -55,7 +55,7 @@ pub struct ParticipantIndex(pub u32); #[derive(Default, Debug)] pub struct User { pub id: UserId, - pub github_login: SharedString, + pub github_login: String, pub avatar_uri: SharedUri, pub name: Option, } @@ -107,13 +107,14 @@ pub enum ContactRequestStatus { pub struct UserStore { users: HashMap>, - by_github_login: HashMap, + by_github_login: HashMap, participant_indices: HashMap, update_contacts_tx: mpsc::UnboundedSender, current_plan: Option, subscription_period: Option<(DateTime, DateTime)>, trial_started_at: Option>, model_request_usage: Option, + edit_prediction_usage: Option, is_usage_based_billing_enabled: Option, account_too_young: Option, has_overdue_invoices: Option, @@ -144,7 +145,6 @@ pub enum Event { ShowContacts, ParticipantIndicesChanged, PrivateUserInfoUpdated, - PlanUpdated, } #[derive(Clone, Copy)] @@ -192,6 +192,7 @@ impl UserStore { subscription_period: None, trial_started_at: None, model_request_usage: None, + edit_prediction_usage: None, is_usage_based_billing_enabled: None, account_too_young: None, has_overdue_invoices: None, @@ -379,9 +380,14 @@ impl UserStore { RequestUsage::from_proto(usage.model_requests_usage_amount, limit) }) .map(ModelRequestUsage); + this.edit_prediction_usage = usage + .edit_predictions_usage_limit + .and_then(|limit| { + RequestUsage::from_proto(usage.model_requests_usage_amount, limit) + }) + .map(EditPredictionUsage); } - cx.emit(Event::PlanUpdated); cx.notify(); })?; Ok(()) @@ -392,6 +398,15 @@ impl UserStore { cx.notify(); } + pub fn update_edit_prediction_usage( + &mut self, + usage: EditPredictionUsage, + cx: &mut Context, + ) { + self.edit_prediction_usage = Some(usage); + cx.notify(); + } + fn update_contacts(&mut self, message: UpdateContacts, cx: &Context) -> Task> { match message { UpdateContacts::Wait(barrier) => { @@ -780,6 +795,10 @@ impl UserStore { self.model_request_usage } + pub fn edit_prediction_usage(&self) -> Option { + self.edit_prediction_usage + } + pub fn watch_current_user(&self) -> watch::Receiver>> { self.current_user.clone() } @@ -883,7 +902,7 @@ impl UserStore { let mut missing_user_ids = Vec::new(); for id in user_ids { if let Some(github_login) = self.get_cached_user(id).map(|u| u.github_login.clone()) { - ret.insert(id, github_login); + ret.insert(id, github_login.into()); } else { missing_user_ids.push(id) } @@ -904,7 +923,7 @@ impl User { fn new(message: proto::User) -> Arc { Arc::new(User { id: message.id, - github_login: message.github_login.into(), + github_login: message.github_login, avatar_uri: message.avatar_url.into(), name: message.name, }) diff --git a/crates/cloud_api_client/Cargo.toml b/crates/cloud_api_client/Cargo.toml deleted file mode 100644 index d56aa94c6e..0000000000 --- a/crates/cloud_api_client/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -name = "cloud_api_client" -version = "0.1.0" -edition.workspace = true -publish.workspace = true -license = "Apache-2.0" - -[lints] -workspace = true - -[lib] -path = "src/cloud_api_client.rs" - -[dependencies] -anyhow.workspace = true -cloud_api_types.workspace = true -futures.workspace = true -http_client.workspace = true -parking_lot.workspace = true -serde_json.workspace = true -workspace-hack.workspace = true diff --git a/crates/cloud_api_client/LICENSE-APACHE b/crates/cloud_api_client/LICENSE-APACHE deleted file mode 120000 index 1cd601d0a3..0000000000 --- a/crates/cloud_api_client/LICENSE-APACHE +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE-APACHE \ No newline at end of file diff --git a/crates/cloud_api_client/src/cloud_api_client.rs b/crates/cloud_api_client/src/cloud_api_client.rs deleted file mode 100644 index 5a768810c0..0000000000 --- a/crates/cloud_api_client/src/cloud_api_client.rs +++ /dev/null @@ -1,121 +0,0 @@ -use std::sync::Arc; - -use anyhow::{Result, anyhow}; -pub use cloud_api_types::*; -use futures::AsyncReadExt as _; -use http_client::{AsyncBody, HttpClientWithUrl, Method, Request}; -use parking_lot::RwLock; - -struct Credentials { - user_id: u32, - access_token: String, -} - -pub struct CloudApiClient { - credentials: RwLock>, - http_client: Arc, -} - -impl CloudApiClient { - pub fn new(http_client: Arc) -> Self { - Self { - credentials: RwLock::new(None), - http_client, - } - } - - pub fn has_credentials(&self) -> bool { - self.credentials.read().is_some() - } - - pub fn set_credentials(&self, user_id: u32, access_token: String) { - *self.credentials.write() = Some(Credentials { - user_id, - access_token, - }); - } - - pub fn clear_credentials(&self) { - *self.credentials.write() = None; - } - - fn authorization_header(&self) -> Result { - let guard = self.credentials.read(); - let credentials = guard - .as_ref() - .ok_or_else(|| anyhow!("No credentials provided"))?; - - Ok(format!( - "{} {}", - credentials.user_id, credentials.access_token - )) - } - - pub async fn get_authenticated_user(&self) -> Result { - let request = Request::builder() - .method(Method::GET) - .uri( - self.http_client - .build_zed_cloud_url("/client/users/me", &[])? - .as_ref(), - ) - .header("Content-Type", "application/json") - .header("Authorization", self.authorization_header()?) - .body(AsyncBody::default())?; - - let mut response = self.http_client.send(request).await?; - - if !response.status().is_success() { - let mut body = String::new(); - response.body_mut().read_to_string(&mut body).await?; - - anyhow::bail!( - "Failed to get authenticated user.\nStatus: {:?}\nBody: {body}", - response.status() - ) - } - - let mut body = String::new(); - response.body_mut().read_to_string(&mut body).await?; - - Ok(serde_json::from_str(&body)?) - } - - pub async fn create_llm_token( - &self, - system_id: Option, - ) -> Result { - let mut request_builder = Request::builder() - .method(Method::POST) - .uri( - self.http_client - .build_zed_cloud_url("/client/llm_tokens", &[])? - .as_ref(), - ) - .header("Content-Type", "application/json") - .header("Authorization", self.authorization_header()?); - - if let Some(system_id) = system_id { - request_builder = request_builder.header(ZED_SYSTEM_ID_HEADER_NAME, system_id); - } - - let request = request_builder.body(AsyncBody::default())?; - - let mut response = self.http_client.send(request).await?; - - if !response.status().is_success() { - let mut body = String::new(); - response.body_mut().read_to_string(&mut body).await?; - - anyhow::bail!( - "Failed to create LLM token.\nStatus: {:?}\nBody: {body}", - response.status() - ) - } - - let mut body = String::new(); - response.body_mut().read_to_string(&mut body).await?; - - Ok(serde_json::from_str(&body)?) - } -} diff --git a/crates/cloud_api_types/Cargo.toml b/crates/cloud_api_types/Cargo.toml deleted file mode 100644 index 868797df3b..0000000000 --- a/crates/cloud_api_types/Cargo.toml +++ /dev/null @@ -1,22 +0,0 @@ -[package] -name = "cloud_api_types" -version = "0.1.0" -edition.workspace = true -publish.workspace = true -license = "Apache-2.0" - -[lints] -workspace = true - -[lib] -path = "src/cloud_api_types.rs" - -[dependencies] -chrono.workspace = true -cloud_llm_client.workspace = true -serde.workspace = true -workspace-hack.workspace = true - -[dev-dependencies] -pretty_assertions.workspace = true -serde_json.workspace = true diff --git a/crates/cloud_api_types/LICENSE-APACHE b/crates/cloud_api_types/LICENSE-APACHE deleted file mode 120000 index 1cd601d0a3..0000000000 --- a/crates/cloud_api_types/LICENSE-APACHE +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE-APACHE \ No newline at end of file diff --git a/crates/cloud_api_types/src/cloud_api_types.rs b/crates/cloud_api_types/src/cloud_api_types.rs deleted file mode 100644 index e4d4a27af5..0000000000 --- a/crates/cloud_api_types/src/cloud_api_types.rs +++ /dev/null @@ -1,50 +0,0 @@ -mod timestamp; - -use serde::{Deserialize, Serialize}; - -pub use crate::timestamp::Timestamp; - -pub const ZED_SYSTEM_ID_HEADER_NAME: &str = "x-zed-system-id"; - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -pub struct GetAuthenticatedUserResponse { - pub user: AuthenticatedUser, - pub feature_flags: Vec, - pub plan: PlanInfo, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -pub struct AuthenticatedUser { - pub id: i32, - pub metrics_id: String, - pub avatar_url: String, - pub github_login: String, - pub name: Option, - pub is_staff: bool, - pub accepted_tos_at: Option, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -pub struct PlanInfo { - pub plan: cloud_llm_client::Plan, - pub subscription_period: Option, - pub usage: cloud_llm_client::CurrentUsage, - pub trial_started_at: Option, - pub is_usage_based_billing_enabled: bool, - pub is_account_too_young: bool, - pub has_overdue_invoices: bool, -} - -#[derive(Debug, PartialEq, Clone, Copy, Serialize, Deserialize)] -pub struct SubscriptionPeriod { - pub started_at: Timestamp, - pub ended_at: Timestamp, -} - -#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)] -pub struct LlmToken(pub String); - -#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)] -pub struct CreateLlmTokenResponse { - pub token: LlmToken, -} diff --git a/crates/cloud_api_types/src/timestamp.rs b/crates/cloud_api_types/src/timestamp.rs deleted file mode 100644 index 1f055d58ef..0000000000 --- a/crates/cloud_api_types/src/timestamp.rs +++ /dev/null @@ -1,166 +0,0 @@ -use chrono::{DateTime, NaiveDateTime, SecondsFormat, Utc}; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; - -/// A timestamp with a serialized representation in RFC 3339 format. -#[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)] -pub struct Timestamp(pub DateTime); - -impl Timestamp { - pub fn new(datetime: DateTime) -> Self { - Self(datetime) - } -} - -impl From> for Timestamp { - fn from(value: DateTime) -> Self { - Self(value) - } -} - -impl From for Timestamp { - fn from(value: NaiveDateTime) -> Self { - Self(value.and_utc()) - } -} - -impl Serialize for Timestamp { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let rfc3339_string = self.0.to_rfc3339_opts(SecondsFormat::Millis, true); - serializer.serialize_str(&rfc3339_string) - } -} - -impl<'de> Deserialize<'de> for Timestamp { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let value = String::deserialize(deserializer)?; - let datetime = DateTime::parse_from_rfc3339(&value) - .map_err(serde::de::Error::custom)? - .to_utc(); - Ok(Self(datetime)) - } -} - -#[cfg(test)] -mod tests { - use chrono::NaiveDate; - use pretty_assertions::assert_eq; - - use super::*; - - #[test] - fn test_timestamp_serialization() { - let datetime = DateTime::parse_from_rfc3339("2023-12-25T14:30:45.123Z") - .unwrap() - .to_utc(); - let timestamp = Timestamp::new(datetime); - - let json = serde_json::to_string(×tamp).unwrap(); - assert_eq!(json, "\"2023-12-25T14:30:45.123Z\""); - } - - #[test] - fn test_timestamp_deserialization() { - let json = "\"2023-12-25T14:30:45.123Z\""; - let timestamp: Timestamp = serde_json::from_str(json).unwrap(); - - let expected = DateTime::parse_from_rfc3339("2023-12-25T14:30:45.123Z") - .unwrap() - .to_utc(); - - assert_eq!(timestamp.0, expected); - } - - #[test] - fn test_timestamp_roundtrip() { - let original = DateTime::parse_from_rfc3339("2023-12-25T14:30:45.123Z") - .unwrap() - .to_utc(); - - let timestamp = Timestamp::new(original); - let json = serde_json::to_string(×tamp).unwrap(); - let deserialized: Timestamp = serde_json::from_str(&json).unwrap(); - - assert_eq!(deserialized.0, original); - } - - #[test] - fn test_timestamp_from_datetime_utc() { - let datetime = DateTime::parse_from_rfc3339("2023-12-25T14:30:45.123Z") - .unwrap() - .to_utc(); - - let timestamp = Timestamp::from(datetime); - assert_eq!(timestamp.0, datetime); - } - - #[test] - fn test_timestamp_from_naive_datetime() { - let naive_dt = NaiveDate::from_ymd_opt(2023, 12, 25) - .unwrap() - .and_hms_milli_opt(14, 30, 45, 123) - .unwrap(); - - let timestamp = Timestamp::from(naive_dt); - let expected = naive_dt.and_utc(); - - assert_eq!(timestamp.0, expected); - } - - #[test] - fn test_timestamp_serialization_with_microseconds() { - // Test that microseconds are truncated to milliseconds - let datetime = NaiveDate::from_ymd_opt(2023, 12, 25) - .unwrap() - .and_hms_micro_opt(14, 30, 45, 123456) - .unwrap() - .and_utc(); - - let timestamp = Timestamp::new(datetime); - let json = serde_json::to_string(×tamp).unwrap(); - - // Should be truncated to milliseconds - assert_eq!(json, "\"2023-12-25T14:30:45.123Z\""); - } - - #[test] - fn test_timestamp_deserialization_without_milliseconds() { - let json = "\"2023-12-25T14:30:45Z\""; - let timestamp: Timestamp = serde_json::from_str(json).unwrap(); - - let expected = NaiveDate::from_ymd_opt(2023, 12, 25) - .unwrap() - .and_hms_opt(14, 30, 45) - .unwrap() - .and_utc(); - - assert_eq!(timestamp.0, expected); - } - - #[test] - fn test_timestamp_deserialization_with_timezone() { - let json = "\"2023-12-25T14:30:45.123+05:30\""; - let timestamp: Timestamp = serde_json::from_str(json).unwrap(); - - // Should be converted to UTC - let expected = NaiveDate::from_ymd_opt(2023, 12, 25) - .unwrap() - .and_hms_milli_opt(9, 0, 45, 123) // 14:30:45 + 5:30 = 20:00:45, but we want UTC so subtract 5:30 - .unwrap() - .and_utc(); - - assert_eq!(timestamp.0, expected); - } - - #[test] - fn test_timestamp_deserialization_with_invalid_format() { - let json = "\"invalid-date\""; - let result: Result = serde_json::from_str(json); - assert!(result.is_err()); - } -} diff --git a/crates/cloud_llm_client/Cargo.toml b/crates/cloud_llm_client/Cargo.toml deleted file mode 100644 index 6f090d3c6e..0000000000 --- a/crates/cloud_llm_client/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -[package] -name = "cloud_llm_client" -version = "0.1.0" -publish.workspace = true -edition.workspace = true -license = "Apache-2.0" - -[lints] -workspace = true - -[lib] -path = "src/cloud_llm_client.rs" - -[dependencies] -anyhow.workspace = true -serde = { workspace = true, features = ["derive", "rc"] } -serde_json.workspace = true -strum = { workspace = true, features = ["derive"] } -uuid = { workspace = true, features = ["serde"] } -workspace-hack.workspace = true - -[dev-dependencies] -pretty_assertions.workspace = true diff --git a/crates/cloud_llm_client/LICENSE-APACHE b/crates/cloud_llm_client/LICENSE-APACHE deleted file mode 120000 index 1cd601d0a3..0000000000 --- a/crates/cloud_llm_client/LICENSE-APACHE +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE-APACHE \ No newline at end of file diff --git a/crates/cloud_llm_client/src/cloud_llm_client.rs b/crates/cloud_llm_client/src/cloud_llm_client.rs deleted file mode 100644 index 171c923154..0000000000 --- a/crates/cloud_llm_client/src/cloud_llm_client.rs +++ /dev/null @@ -1,370 +0,0 @@ -use std::str::FromStr; -use std::sync::Arc; - -use anyhow::Context as _; -use serde::{Deserialize, Serialize}; -use strum::{Display, EnumIter, EnumString}; -use uuid::Uuid; - -/// The name of the header used to indicate which version of Zed the client is running. -pub const ZED_VERSION_HEADER_NAME: &str = "x-zed-version"; - -/// The name of the header used to indicate when a request failed due to an -/// expired LLM token. -/// -/// The client may use this as a signal to refresh the token. -pub const EXPIRED_LLM_TOKEN_HEADER_NAME: &str = "x-zed-expired-token"; - -/// The name of the header used to indicate what plan the user is currently on. -pub const CURRENT_PLAN_HEADER_NAME: &str = "x-zed-plan"; - -/// The name of the header used to indicate the usage limit for model requests. -pub const MODEL_REQUESTS_USAGE_LIMIT_HEADER_NAME: &str = "x-zed-model-requests-usage-limit"; - -/// The name of the header used to indicate the usage amount for model requests. -pub const MODEL_REQUESTS_USAGE_AMOUNT_HEADER_NAME: &str = "x-zed-model-requests-usage-amount"; - -/// The name of the header used to indicate the usage limit for edit predictions. -pub const EDIT_PREDICTIONS_USAGE_LIMIT_HEADER_NAME: &str = "x-zed-edit-predictions-usage-limit"; - -/// The name of the header used to indicate the usage amount for edit predictions. -pub const EDIT_PREDICTIONS_USAGE_AMOUNT_HEADER_NAME: &str = "x-zed-edit-predictions-usage-amount"; - -/// The name of the header used to indicate the resource for which the subscription limit has been reached. -pub const SUBSCRIPTION_LIMIT_RESOURCE_HEADER_NAME: &str = "x-zed-subscription-limit-resource"; - -pub const MODEL_REQUESTS_RESOURCE_HEADER_VALUE: &str = "model_requests"; -pub const EDIT_PREDICTIONS_RESOURCE_HEADER_VALUE: &str = "edit_predictions"; - -/// The name of the header used to indicate that the maximum number of consecutive tool uses has been reached. -pub const TOOL_USE_LIMIT_REACHED_HEADER_NAME: &str = "x-zed-tool-use-limit-reached"; - -/// The name of the header used to indicate the the minimum required Zed version. -/// -/// This can be used to force a Zed upgrade in order to continue communicating -/// with the LLM service. -pub const MINIMUM_REQUIRED_VERSION_HEADER_NAME: &str = "x-zed-minimum-required-version"; - -/// The name of the header used by the client to indicate to the server that it supports receiving status messages. -pub const CLIENT_SUPPORTS_STATUS_MESSAGES_HEADER_NAME: &str = - "x-zed-client-supports-status-messages"; - -/// The name of the header used by the server to indicate to the client that it supports sending status messages. -pub const SERVER_SUPPORTS_STATUS_MESSAGES_HEADER_NAME: &str = - "x-zed-server-supports-status-messages"; - -#[derive(Debug, PartialEq, Clone, Copy, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum UsageLimit { - Limited(i32), - Unlimited, -} - -impl FromStr for UsageLimit { - type Err = anyhow::Error; - - fn from_str(value: &str) -> Result { - match value { - "unlimited" => Ok(Self::Unlimited), - limit => limit - .parse::() - .map(Self::Limited) - .context("failed to parse limit"), - } - } -} - -#[derive(Debug, Clone, Copy, Default, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum Plan { - #[default] - #[serde(alias = "Free")] - ZedFree, - #[serde(alias = "ZedPro")] - ZedPro, - #[serde(alias = "ZedProTrial")] - ZedProTrial, -} - -impl Plan { - pub fn as_str(&self) -> &'static str { - match self { - Plan::ZedFree => "zed_free", - Plan::ZedPro => "zed_pro", - Plan::ZedProTrial => "zed_pro_trial", - } - } - - pub fn model_requests_limit(&self) -> UsageLimit { - match self { - Plan::ZedPro => UsageLimit::Limited(500), - Plan::ZedProTrial => UsageLimit::Limited(150), - Plan::ZedFree => UsageLimit::Limited(50), - } - } - - pub fn edit_predictions_limit(&self) -> UsageLimit { - match self { - Plan::ZedPro => UsageLimit::Unlimited, - Plan::ZedProTrial => UsageLimit::Unlimited, - Plan::ZedFree => UsageLimit::Limited(2_000), - } - } -} - -impl FromStr for Plan { - type Err = anyhow::Error; - - fn from_str(value: &str) -> Result { - match value { - "zed_free" => Ok(Plan::ZedFree), - "zed_pro" => Ok(Plan::ZedPro), - "zed_pro_trial" => Ok(Plan::ZedProTrial), - plan => Err(anyhow::anyhow!("invalid plan: {plan:?}")), - } - } -} - -#[derive( - Debug, PartialEq, Eq, Hash, Clone, Copy, Serialize, Deserialize, EnumString, EnumIter, Display, -)] -#[serde(rename_all = "snake_case")] -#[strum(serialize_all = "snake_case")] -pub enum LanguageModelProvider { - Anthropic, - OpenAi, - Google, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct PredictEditsBody { - #[serde(skip_serializing_if = "Option::is_none", default)] - pub outline: Option, - pub input_events: String, - pub input_excerpt: String, - #[serde(skip_serializing_if = "Option::is_none", default)] - pub speculated_output: Option, - /// Whether the user provided consent for sampling this interaction. - #[serde(default, alias = "data_collection_permission")] - pub can_collect_data: bool, - #[serde(skip_serializing_if = "Option::is_none", default)] - pub diagnostic_groups: Option>, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct PredictEditsResponse { - pub request_id: Uuid, - pub output_excerpt: String, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct AcceptEditPredictionBody { - pub request_id: Uuid, -} - -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum CompletionMode { - Normal, - Max, -} - -#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Clone, Copy, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum CompletionIntent { - UserPrompt, - ToolResults, - ThreadSummarization, - ThreadContextSummarization, - CreateFile, - EditFile, - InlineAssist, - TerminalInlineAssist, - GenerateGitCommitMessage, -} - -#[derive(Debug, Serialize, Deserialize)] -pub struct CompletionBody { - #[serde(skip_serializing_if = "Option::is_none", default)] - pub thread_id: Option, - #[serde(skip_serializing_if = "Option::is_none", default)] - pub prompt_id: Option, - #[serde(skip_serializing_if = "Option::is_none", default)] - pub intent: Option, - #[serde(skip_serializing_if = "Option::is_none", default)] - pub mode: Option, - pub provider: LanguageModelProvider, - pub model: String, - pub provider_request: serde_json::Value, -} - -#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum CompletionRequestStatus { - Queued { - position: usize, - }, - Started, - Failed { - code: String, - message: String, - request_id: Uuid, - /// Retry duration in seconds. - retry_after: Option, - }, - UsageUpdated { - amount: usize, - limit: UsageLimit, - }, - ToolUseLimitReached, -} - -#[derive(Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum CompletionEvent { - Status(CompletionRequestStatus), - Event(T), -} - -impl CompletionEvent { - pub fn into_status(self) -> Option { - match self { - Self::Status(status) => Some(status), - Self::Event(_) => None, - } - } - - pub fn into_event(self) -> Option { - match self { - Self::Event(event) => Some(event), - Self::Status(_) => None, - } - } -} - -#[derive(Serialize, Deserialize)] -pub struct WebSearchBody { - pub query: String, -} - -#[derive(Serialize, Deserialize, Clone)] -pub struct WebSearchResponse { - pub results: Vec, -} - -#[derive(Serialize, Deserialize, Clone)] -pub struct WebSearchResult { - pub title: String, - pub url: String, - pub text: String, -} - -#[derive(Serialize, Deserialize)] -pub struct CountTokensBody { - pub provider: LanguageModelProvider, - pub model: String, - pub provider_request: serde_json::Value, -} - -#[derive(Serialize, Deserialize)] -pub struct CountTokensResponse { - pub tokens: usize, -} - -#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize, Deserialize)] -pub struct LanguageModelId(pub Arc); - -impl std::fmt::Display for LanguageModelId { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self.0) - } -} - -#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct LanguageModel { - pub provider: LanguageModelProvider, - pub id: LanguageModelId, - pub display_name: String, - pub max_token_count: usize, - pub max_token_count_in_max_mode: Option, - pub max_output_tokens: usize, - pub supports_tools: bool, - pub supports_images: bool, - pub supports_thinking: bool, - pub supports_max_mode: bool, -} - -#[derive(Debug, Serialize, Deserialize)] -pub struct ListModelsResponse { - pub models: Vec, - pub default_model: LanguageModelId, - pub default_fast_model: LanguageModelId, - pub recommended_models: Vec, -} - -#[derive(Debug, Serialize, Deserialize)] -pub struct GetSubscriptionResponse { - pub plan: Plan, - pub usage: Option, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -pub struct CurrentUsage { - pub model_requests: UsageData, - pub edit_predictions: UsageData, -} - -#[derive(Debug, PartialEq, Serialize, Deserialize)] -pub struct UsageData { - pub used: u32, - pub limit: UsageLimit, -} - -#[cfg(test)] -mod tests { - use pretty_assertions::assert_eq; - use serde_json::json; - - use super::*; - - #[test] - fn test_plan_deserialize_snake_case() { - let plan = serde_json::from_value::(json!("zed_free")).unwrap(); - assert_eq!(plan, Plan::ZedFree); - - let plan = serde_json::from_value::(json!("zed_pro")).unwrap(); - assert_eq!(plan, Plan::ZedPro); - - let plan = serde_json::from_value::(json!("zed_pro_trial")).unwrap(); - assert_eq!(plan, Plan::ZedProTrial); - } - - #[test] - fn test_plan_deserialize_aliases() { - let plan = serde_json::from_value::(json!("Free")).unwrap(); - assert_eq!(plan, Plan::ZedFree); - - let plan = serde_json::from_value::(json!("ZedPro")).unwrap(); - assert_eq!(plan, Plan::ZedPro); - - let plan = serde_json::from_value::(json!("ZedProTrial")).unwrap(); - assert_eq!(plan, Plan::ZedProTrial); - } - - #[test] - fn test_usage_limit_from_str() { - let limit = UsageLimit::from_str("unlimited").unwrap(); - assert!(matches!(limit, UsageLimit::Unlimited)); - - let limit = UsageLimit::from_str(&0.to_string()).unwrap(); - assert!(matches!(limit, UsageLimit::Limited(0))); - - let limit = UsageLimit::from_str(&50.to_string()).unwrap(); - assert!(matches!(limit, UsageLimit::Limited(50))); - - for value in ["not_a_number", "50xyz"] { - let limit = UsageLimit::from_str(value); - assert!(limit.is_err()); - } - } -} diff --git a/crates/collab/Cargo.toml b/crates/collab/Cargo.toml index 9af95317e6..d3b5048283 100644 --- a/crates/collab/Cargo.toml +++ b/crates/collab/Cargo.toml @@ -23,14 +23,13 @@ async-stripe.workspace = true async-trait.workspace = true async-tungstenite.workspace = true aws-config = { version = "1.1.5" } -aws-sdk-kinesis = "1.51.0" aws-sdk-s3 = { version = "1.15.0" } +aws-sdk-kinesis = "1.51.0" axum = { version = "0.6", features = ["json", "headers", "ws"] } axum-extra = { version = "0.4", features = ["erased-json"] } base64.workspace = true chrono.workspace = true clock.workspace = true -cloud_llm_client.workspace = true collections.workspace = true dashmap.workspace = true derive_more.workspace = true @@ -76,6 +75,7 @@ tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json", "re util.workspace = true uuid.workspace = true workspace-hack.workspace = true +zed_llm_client.workspace = true [dev-dependencies] agent_settings.workspace = true diff --git a/crates/collab/src/api.rs b/crates/collab/src/api.rs index 609fdd128c..3b0f5396a7 100644 --- a/crates/collab/src/api.rs +++ b/crates/collab/src/api.rs @@ -100,12 +100,13 @@ impl std::fmt::Display for SystemIdHeader { pub fn routes(rpc_server: Arc) -> Router<(), Body> { Router::new() - .route("/user", get(legacy_update_or_create_authenticated_user)) + .route("/user", get(update_or_create_authenticated_user)) .route("/users/look_up", get(look_up_user)) .route("/users/:id/access_tokens", post(create_access_token)) .route("/users/:id/refresh_llm_tokens", post(refresh_llm_tokens)) .route("/users/:id/update_plan", post(update_plan)) .route("/rpc_server_snapshot", get(get_rpc_server_snapshot)) + .merge(billing::router()) .merge(contributors::router()) .layer( ServiceBuilder::new() @@ -161,10 +162,7 @@ struct AuthenticatedUserResponse { feature_flags: Vec, } -/// This is a legacy endpoint that is no longer used in production. -/// -/// It currently only exists to be used when developing Collab locally. -async fn legacy_update_or_create_authenticated_user( +async fn update_or_create_authenticated_user( Query(params): Query, Extension(app): Extension>, ) -> Result> { @@ -356,9 +354,9 @@ async fn refresh_llm_tokens( #[derive(Debug, Serialize, Deserialize)] struct UpdatePlanBody { - pub plan: cloud_llm_client::Plan, + pub plan: zed_llm_client::Plan, pub subscription_period: SubscriptionPeriod, - pub usage: cloud_llm_client::CurrentUsage, + pub usage: zed_llm_client::CurrentUsage, pub trial_started_at: Option>, pub is_usage_based_billing_enabled: bool, pub is_account_too_young: bool, @@ -380,9 +378,9 @@ async fn update_plan( extract::Json(body): extract::Json, ) -> Result> { let plan = match body.plan { - cloud_llm_client::Plan::ZedFree => proto::Plan::Free, - cloud_llm_client::Plan::ZedPro => proto::Plan::ZedPro, - cloud_llm_client::Plan::ZedProTrial => proto::Plan::ZedProTrial, + zed_llm_client::Plan::ZedFree => proto::Plan::Free, + zed_llm_client::Plan::ZedPro => proto::Plan::ZedPro, + zed_llm_client::Plan::ZedProTrial => proto::Plan::ZedProTrial, }; let update_user_plan = proto::UpdateUserPlan { @@ -414,15 +412,15 @@ async fn update_plan( Ok(Json(UpdatePlanResponse {})) } -fn usage_limit_to_proto(limit: cloud_llm_client::UsageLimit) -> proto::UsageLimit { +fn usage_limit_to_proto(limit: zed_llm_client::UsageLimit) -> proto::UsageLimit { proto::UsageLimit { variant: Some(match limit { - cloud_llm_client::UsageLimit::Limited(limit) => { + zed_llm_client::UsageLimit::Limited(limit) => { proto::usage_limit::Variant::Limited(proto::usage_limit::Limited { limit: limit as u32, }) } - cloud_llm_client::UsageLimit::Unlimited => { + zed_llm_client::UsageLimit::Unlimited => { proto::usage_limit::Variant::Unlimited(proto::usage_limit::Unlimited {}) } }), diff --git a/crates/collab/src/api/billing.rs b/crates/collab/src/api/billing.rs index 0e15308ffe..bd7b99b3eb 100644 --- a/crates/collab/src/api/billing.rs +++ b/crates/collab/src/api/billing.rs @@ -1,13 +1,23 @@ use anyhow::{Context as _, bail}; +use axum::{Extension, Json, Router, extract, routing::post}; use chrono::{DateTime, Utc}; -use cloud_llm_client::LanguageModelProvider; use collections::{HashMap, HashSet}; +use reqwest::StatusCode; use sea_orm::ActiveValue; -use std::{sync::Arc, time::Duration}; -use stripe::{CancellationDetailsReason, EventObject, EventType, ListEvents, SubscriptionStatus}; +use serde::{Deserialize, Serialize}; +use std::{str::FromStr, sync::Arc, time::Duration}; +use stripe::{ + BillingPortalSession, CancellationDetailsReason, CreateBillingPortalSession, + CreateBillingPortalSessionFlowData, CreateBillingPortalSessionFlowDataAfterCompletion, + CreateBillingPortalSessionFlowDataAfterCompletionRedirect, + CreateBillingPortalSessionFlowDataSubscriptionUpdateConfirm, + CreateBillingPortalSessionFlowDataSubscriptionUpdateConfirmItems, + CreateBillingPortalSessionFlowDataType, CustomerId, EventObject, EventType, ListEvents, + PaymentMethod, Subscription, SubscriptionId, SubscriptionStatus, +}; use util::{ResultExt, maybe}; +use zed_llm_client::LanguageModelProvider; -use crate::AppState; use crate::db::billing_subscription::{ StripeCancellationReason, StripeSubscriptionStatus, SubscriptionKind, }; @@ -17,16 +27,331 @@ use crate::stripe_client::{ StripeCancellationDetailsReason, StripeClient, StripeCustomerId, StripeSubscription, StripeSubscriptionId, }; +use crate::{AppState, Error, Result}; use crate::{db::UserId, llm::db::LlmDatabase}; use crate::{ db::{ - CreateBillingCustomerParams, CreateBillingSubscriptionParams, + BillingSubscriptionId, CreateBillingCustomerParams, CreateBillingSubscriptionParams, CreateProcessedStripeEventParams, UpdateBillingCustomerParams, UpdateBillingSubscriptionParams, billing_customer, }, stripe_billing::StripeBilling, }; +pub fn router() -> Router { + Router::new() + .route( + "/billing/subscriptions/manage", + post(manage_billing_subscription), + ) + .route( + "/billing/subscriptions/sync", + post(sync_billing_subscription), + ) +} + +#[derive(Debug, PartialEq, Deserialize)] +#[serde(rename_all = "snake_case")] +enum ManageSubscriptionIntent { + /// The user intends to manage their subscription. + /// + /// This will open the Stripe billing portal without putting the user in a specific flow. + ManageSubscription, + /// The user intends to update their payment method. + UpdatePaymentMethod, + /// The user intends to upgrade to Zed Pro. + UpgradeToPro, + /// The user intends to cancel their subscription. + Cancel, + /// The user intends to stop the cancellation of their subscription. + StopCancellation, +} + +#[derive(Debug, Deserialize)] +struct ManageBillingSubscriptionBody { + github_user_id: i32, + intent: ManageSubscriptionIntent, + /// The ID of the subscription to manage. + subscription_id: BillingSubscriptionId, + redirect_to: Option, +} + +#[derive(Debug, Serialize)] +struct ManageBillingSubscriptionResponse { + billing_portal_session_url: Option, +} + +/// Initiates a Stripe customer portal session for managing a billing subscription. +async fn manage_billing_subscription( + Extension(app): Extension>, + extract::Json(body): extract::Json, +) -> Result> { + let user = app + .db + .get_user_by_github_user_id(body.github_user_id) + .await? + .context("user not found")?; + + let Some(stripe_client) = app.real_stripe_client.clone() else { + log::error!("failed to retrieve Stripe client"); + Err(Error::http( + StatusCode::NOT_IMPLEMENTED, + "not supported".into(), + ))? + }; + + let Some(stripe_billing) = app.stripe_billing.clone() else { + log::error!("failed to retrieve Stripe billing object"); + Err(Error::http( + StatusCode::NOT_IMPLEMENTED, + "not supported".into(), + ))? + }; + + let customer = app + .db + .get_billing_customer_by_user_id(user.id) + .await? + .context("billing customer not found")?; + let customer_id = CustomerId::from_str(&customer.stripe_customer_id) + .context("failed to parse customer ID")?; + + let subscription = app + .db + .get_billing_subscription_by_id(body.subscription_id) + .await? + .context("subscription not found")?; + let subscription_id = SubscriptionId::from_str(&subscription.stripe_subscription_id) + .context("failed to parse subscription ID")?; + + if body.intent == ManageSubscriptionIntent::StopCancellation { + let updated_stripe_subscription = Subscription::update( + &stripe_client, + &subscription_id, + stripe::UpdateSubscription { + cancel_at_period_end: Some(false), + ..Default::default() + }, + ) + .await?; + + app.db + .update_billing_subscription( + subscription.id, + &UpdateBillingSubscriptionParams { + stripe_cancel_at: ActiveValue::set( + updated_stripe_subscription + .cancel_at + .and_then(|cancel_at| DateTime::from_timestamp(cancel_at, 0)) + .map(|time| time.naive_utc()), + ), + ..Default::default() + }, + ) + .await?; + + return Ok(Json(ManageBillingSubscriptionResponse { + billing_portal_session_url: None, + })); + } + + let flow = match body.intent { + ManageSubscriptionIntent::ManageSubscription => None, + ManageSubscriptionIntent::UpgradeToPro => { + let zed_pro_price_id: stripe::PriceId = + stripe_billing.zed_pro_price_id().await?.try_into()?; + let zed_free_price_id: stripe::PriceId = + stripe_billing.zed_free_price_id().await?.try_into()?; + + let stripe_subscription = + Subscription::retrieve(&stripe_client, &subscription_id, &[]).await?; + + let is_on_zed_pro_trial = stripe_subscription.status == SubscriptionStatus::Trialing + && stripe_subscription.items.data.iter().any(|item| { + item.price + .as_ref() + .map_or(false, |price| price.id == zed_pro_price_id) + }); + if is_on_zed_pro_trial { + let payment_methods = PaymentMethod::list( + &stripe_client, + &stripe::ListPaymentMethods { + customer: Some(stripe_subscription.customer.id()), + ..Default::default() + }, + ) + .await?; + + let has_payment_method = !payment_methods.data.is_empty(); + if !has_payment_method { + return Err(Error::http( + StatusCode::BAD_REQUEST, + "missing payment method".into(), + )); + } + + // If the user is already on a Zed Pro trial and wants to upgrade to Pro, we just need to end their trial early. + Subscription::update( + &stripe_client, + &stripe_subscription.id, + stripe::UpdateSubscription { + trial_end: Some(stripe::Scheduled::now()), + ..Default::default() + }, + ) + .await?; + + return Ok(Json(ManageBillingSubscriptionResponse { + billing_portal_session_url: None, + })); + } + + let subscription_item_to_update = stripe_subscription + .items + .data + .iter() + .find_map(|item| { + let price = item.price.as_ref()?; + + if price.id == zed_free_price_id { + Some(item.id.clone()) + } else { + None + } + }) + .context("No subscription item to update")?; + + Some(CreateBillingPortalSessionFlowData { + type_: CreateBillingPortalSessionFlowDataType::SubscriptionUpdateConfirm, + subscription_update_confirm: Some( + CreateBillingPortalSessionFlowDataSubscriptionUpdateConfirm { + subscription: subscription.stripe_subscription_id, + items: vec![ + CreateBillingPortalSessionFlowDataSubscriptionUpdateConfirmItems { + id: subscription_item_to_update.to_string(), + price: Some(zed_pro_price_id.to_string()), + quantity: Some(1), + }, + ], + discounts: None, + }, + ), + ..Default::default() + }) + } + ManageSubscriptionIntent::UpdatePaymentMethod => Some(CreateBillingPortalSessionFlowData { + type_: CreateBillingPortalSessionFlowDataType::PaymentMethodUpdate, + after_completion: Some(CreateBillingPortalSessionFlowDataAfterCompletion { + type_: stripe::CreateBillingPortalSessionFlowDataAfterCompletionType::Redirect, + redirect: Some(CreateBillingPortalSessionFlowDataAfterCompletionRedirect { + return_url: format!( + "{}{path}", + app.config.zed_dot_dev_url(), + path = body.redirect_to.unwrap_or_else(|| "/account".to_string()) + ), + }), + ..Default::default() + }), + ..Default::default() + }), + ManageSubscriptionIntent::Cancel => { + if subscription.kind == Some(SubscriptionKind::ZedFree) { + return Err(Error::http( + StatusCode::BAD_REQUEST, + "free subscription cannot be canceled".into(), + )); + } + + Some(CreateBillingPortalSessionFlowData { + type_: CreateBillingPortalSessionFlowDataType::SubscriptionCancel, + after_completion: Some(CreateBillingPortalSessionFlowDataAfterCompletion { + type_: stripe::CreateBillingPortalSessionFlowDataAfterCompletionType::Redirect, + redirect: Some(CreateBillingPortalSessionFlowDataAfterCompletionRedirect { + return_url: format!("{}/account", app.config.zed_dot_dev_url()), + }), + ..Default::default() + }), + subscription_cancel: Some( + stripe::CreateBillingPortalSessionFlowDataSubscriptionCancel { + subscription: subscription.stripe_subscription_id, + retention: None, + }, + ), + ..Default::default() + }) + } + ManageSubscriptionIntent::StopCancellation => unreachable!(), + }; + + let mut params = CreateBillingPortalSession::new(customer_id); + params.flow_data = flow; + let return_url = format!("{}/account", app.config.zed_dot_dev_url()); + params.return_url = Some(&return_url); + + let session = BillingPortalSession::create(&stripe_client, params).await?; + + Ok(Json(ManageBillingSubscriptionResponse { + billing_portal_session_url: Some(session.url), + })) +} + +#[derive(Debug, Deserialize)] +struct SyncBillingSubscriptionBody { + github_user_id: i32, +} + +#[derive(Debug, Serialize)] +struct SyncBillingSubscriptionResponse { + stripe_customer_id: String, +} + +async fn sync_billing_subscription( + Extension(app): Extension>, + extract::Json(body): extract::Json, +) -> Result> { + let Some(stripe_client) = app.stripe_client.clone() else { + log::error!("failed to retrieve Stripe client"); + Err(Error::http( + StatusCode::NOT_IMPLEMENTED, + "not supported".into(), + ))? + }; + + let user = app + .db + .get_user_by_github_user_id(body.github_user_id) + .await? + .context("user not found")?; + + let billing_customer = app + .db + .get_billing_customer_by_user_id(user.id) + .await? + .context("billing customer not found")?; + let stripe_customer_id = StripeCustomerId(billing_customer.stripe_customer_id.clone().into()); + + let subscriptions = stripe_client + .list_subscriptions_for_customer(&stripe_customer_id) + .await?; + + for subscription in subscriptions { + let subscription_id = subscription.id.clone(); + + sync_subscription(&app, &stripe_client, subscription) + .await + .with_context(|| { + format!( + "failed to sync subscription {subscription_id} for user {}", + user.id, + ) + })?; + } + + Ok(Json(SyncBillingSubscriptionResponse { + stripe_customer_id: billing_customer.stripe_customer_id.clone(), + })) +} + /// The amount of time we wait in between each poll of Stripe events. /// /// This value should strike a balance between: @@ -87,14 +412,6 @@ async fn poll_stripe_events( stripe_client: &Arc, real_stripe_client: &stripe::Client, ) -> anyhow::Result<()> { - let feature_flags = app.db.list_feature_flags().await?; - let sync_events_using_cloud = feature_flags - .iter() - .any(|flag| flag.flag == "cloud-stripe-events-polling" && flag.enabled_for_all); - if sync_events_using_cloud { - return Ok(()); - } - fn event_type_to_string(event_type: EventType) -> String { // Calling `to_string` on `stripe::EventType` members gives us a quoted string, // so we need to unquote it. @@ -577,14 +894,6 @@ async fn sync_model_request_usage_with_stripe( llm_db: &Arc, stripe_billing: &Arc, ) -> anyhow::Result<()> { - let feature_flags = app.db.list_feature_flags().await?; - let sync_model_request_usage_using_cloud = feature_flags - .iter() - .any(|flag| flag.flag == "cloud-stripe-usage-meters-sync" && flag.enabled_for_all); - if sync_model_request_usage_using_cloud { - return Ok(()); - } - log::info!("Stripe usage sync: Starting"); let started_at = Utc::now(); diff --git a/crates/collab/src/api/contributors.rs b/crates/collab/src/api/contributors.rs index 8cfef0ad7e..9296c1d428 100644 --- a/crates/collab/src/api/contributors.rs +++ b/crates/collab/src/api/contributors.rs @@ -8,6 +8,7 @@ use axum::{ use chrono::{NaiveDateTime, SecondsFormat}; use serde::{Deserialize, Serialize}; +use crate::api::AuthenticatedUserParams; use crate::db::ContributorSelector; use crate::{AppState, Result}; @@ -103,18 +104,9 @@ impl RenovateBot { } } -#[derive(Debug, Deserialize)] -struct AddContributorBody { - github_user_id: i32, - github_login: String, - github_email: Option, - github_name: Option, - github_user_created_at: chrono::DateTime, -} - async fn add_contributor( Extension(app): Extension>, - extract::Json(params): extract::Json, + extract::Json(params): extract::Json, ) -> Result<()> { let initial_channel_id = app.config.auto_join_channel_id; app.db diff --git a/crates/collab/src/db/tables/billing_subscription.rs b/crates/collab/src/db/tables/billing_subscription.rs index 522973dbc9..43198f9859 100644 --- a/crates/collab/src/db/tables/billing_subscription.rs +++ b/crates/collab/src/db/tables/billing_subscription.rs @@ -95,7 +95,7 @@ pub enum SubscriptionKind { ZedFree, } -impl From for cloud_llm_client::Plan { +impl From for zed_llm_client::Plan { fn from(value: SubscriptionKind) -> Self { match value { SubscriptionKind::ZedPro => Self::ZedPro, diff --git a/crates/collab/src/llm/db.rs b/crates/collab/src/llm/db.rs index 18ad624dab..6a6efca0de 100644 --- a/crates/collab/src/llm/db.rs +++ b/crates/collab/src/llm/db.rs @@ -6,11 +6,11 @@ mod tables; #[cfg(test)] mod tests; -use cloud_llm_client::LanguageModelProvider; use collections::HashMap; pub use ids::*; pub use seed::*; pub use tables::*; +use zed_llm_client::LanguageModelProvider; #[cfg(test)] pub use tests::TestLlmDb; diff --git a/crates/collab/src/llm/db/tests/provider_tests.rs b/crates/collab/src/llm/db/tests/provider_tests.rs index f4e1de40ec..7d52964b93 100644 --- a/crates/collab/src/llm/db/tests/provider_tests.rs +++ b/crates/collab/src/llm/db/tests/provider_tests.rs @@ -1,5 +1,5 @@ -use cloud_llm_client::LanguageModelProvider; use pretty_assertions::assert_eq; +use zed_llm_client::LanguageModelProvider; use crate::llm::db::LlmDatabase; use crate::test_llm_db; diff --git a/crates/collab/src/llm/token.rs b/crates/collab/src/llm/token.rs index da01c7f3be..d4566ffcb4 100644 --- a/crates/collab/src/llm/token.rs +++ b/crates/collab/src/llm/token.rs @@ -4,12 +4,12 @@ use crate::llm::{AGENT_EXTENDED_TRIAL_FEATURE_FLAG, BYPASS_ACCOUNT_AGE_CHECK_FEA use crate::{Config, db::billing_preference}; use anyhow::{Context as _, Result}; use chrono::{NaiveDateTime, Utc}; -use cloud_llm_client::Plan; use jsonwebtoken::{DecodingKey, EncodingKey, Header, Validation}; use serde::{Deserialize, Serialize}; use std::time::Duration; use thiserror::Error; use uuid::Uuid; +use zed_llm_client::Plan; #[derive(Clone, Debug, Default, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] diff --git a/crates/collab/src/rpc.rs b/crates/collab/src/rpc.rs index e648617fe1..0735b08e89 100644 --- a/crates/collab/src/rpc.rs +++ b/crates/collab/src/rpc.rs @@ -23,7 +23,6 @@ use anyhow::{Context as _, anyhow, bail}; use async_tungstenite::tungstenite::{ Message as TungsteniteMessage, protocol::CloseFrame as TungsteniteCloseFrame, }; -use axum::headers::UserAgent; use axum::{ Extension, Router, TypedHeader, body::Body, @@ -42,7 +41,7 @@ use collections::{HashMap, HashSet}; pub use connection_pool::{ConnectionPool, ZedVersion}; use core::fmt::{self, Debug, Formatter}; use reqwest_client::ReqwestClient; -use rpc::proto::{MultiLspQuery, split_repository_update}; +use rpc::proto::split_repository_update; use supermaven_api::{CreateExternalUserRequest, SupermavenAdminApi}; use futures::{ @@ -374,7 +373,7 @@ impl Server { .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) - .add_request_handler(multi_lsp_query) + .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) @@ -434,8 +433,6 @@ impl Server { .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) - .add_request_handler(forward_mutating_project_request::) - .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_mutating_project_request::) .add_request_handler(forward_read_only_project_request::) @@ -751,7 +748,6 @@ impl Server { address: String, principal: Principal, zed_version: ZedVersion, - user_agent: Option, geoip_country_code: Option, system_id: Option, send_connection_id: Option>, @@ -764,14 +760,9 @@ impl Server { user_id=field::Empty, login=field::Empty, impersonator=field::Empty, - user_agent=field::Empty, geoip_country_code=field::Empty ); principal.update_span(&span); - if let Some(user_agent) = user_agent { - span.record("user_agent", user_agent); - } - if let Some(country_code) = geoip_country_code.as_ref() { span.record("geoip_country_code", country_code); } @@ -865,7 +856,6 @@ impl Server { user_id=field::Empty, login=field::Empty, impersonator=field::Empty, - multi_lsp_query_request=field::Empty, ); principal.update_span(&span); let span_enter = span.enter(); @@ -1180,7 +1170,6 @@ pub async fn handle_websocket_request( ConnectInfo(socket_address): ConnectInfo, Extension(server): Extension>, Extension(principal): Extension, - user_agent: Option>, country_code_header: Option>, system_id_header: Option>, ws: WebSocketUpgrade, @@ -1236,7 +1225,6 @@ pub async fn handle_websocket_request( socket_address, principal, version, - user_agent.map(|header| header.to_string()), country_code_header.map(|header| header.to_string()), system_id_header.map(|header| header.to_string()), None, @@ -2330,15 +2318,6 @@ where Ok(()) } -async fn multi_lsp_query( - request: MultiLspQuery, - response: Response, - session: Session, -) -> Result<()> { - tracing::Span::current().record("multi_lsp_query_request", request.request_str()); - forward_mutating_project_request(request, response, session).await -} - /// Notify other participants that a new buffer has been created async fn create_buffer_for_peer( request: proto::CreateBufferForPeer, @@ -2878,12 +2857,12 @@ async fn make_update_user_plan_message( } fn model_requests_limit( - plan: cloud_llm_client::Plan, + plan: zed_llm_client::Plan, feature_flags: &Vec, -) -> cloud_llm_client::UsageLimit { +) -> zed_llm_client::UsageLimit { match plan.model_requests_limit() { - cloud_llm_client::UsageLimit::Limited(limit) => { - let limit = if plan == cloud_llm_client::Plan::ZedProTrial + zed_llm_client::UsageLimit::Limited(limit) => { + let limit = if plan == zed_llm_client::Plan::ZedProTrial && feature_flags .iter() .any(|flag| flag == AGENT_EXTENDED_TRIAL_FEATURE_FLAG) @@ -2893,9 +2872,9 @@ fn model_requests_limit( limit }; - cloud_llm_client::UsageLimit::Limited(limit) + zed_llm_client::UsageLimit::Limited(limit) } - cloud_llm_client::UsageLimit::Unlimited => cloud_llm_client::UsageLimit::Unlimited, + zed_llm_client::UsageLimit::Unlimited => zed_llm_client::UsageLimit::Unlimited, } } @@ -2905,21 +2884,21 @@ fn subscription_usage_to_proto( feature_flags: &Vec, ) -> proto::SubscriptionUsage { let plan = match plan { - proto::Plan::Free => cloud_llm_client::Plan::ZedFree, - proto::Plan::ZedPro => cloud_llm_client::Plan::ZedPro, - proto::Plan::ZedProTrial => cloud_llm_client::Plan::ZedProTrial, + proto::Plan::Free => zed_llm_client::Plan::ZedFree, + proto::Plan::ZedPro => zed_llm_client::Plan::ZedPro, + proto::Plan::ZedProTrial => zed_llm_client::Plan::ZedProTrial, }; proto::SubscriptionUsage { model_requests_usage_amount: usage.model_requests as u32, model_requests_usage_limit: Some(proto::UsageLimit { variant: Some(match model_requests_limit(plan, feature_flags) { - cloud_llm_client::UsageLimit::Limited(limit) => { + zed_llm_client::UsageLimit::Limited(limit) => { proto::usage_limit::Variant::Limited(proto::usage_limit::Limited { limit: limit as u32, }) } - cloud_llm_client::UsageLimit::Unlimited => { + zed_llm_client::UsageLimit::Unlimited => { proto::usage_limit::Variant::Unlimited(proto::usage_limit::Unlimited {}) } }), @@ -2927,12 +2906,12 @@ fn subscription_usage_to_proto( edit_predictions_usage_amount: usage.edit_predictions as u32, edit_predictions_usage_limit: Some(proto::UsageLimit { variant: Some(match plan.edit_predictions_limit() { - cloud_llm_client::UsageLimit::Limited(limit) => { + zed_llm_client::UsageLimit::Limited(limit) => { proto::usage_limit::Variant::Limited(proto::usage_limit::Limited { limit: limit as u32, }) } - cloud_llm_client::UsageLimit::Unlimited => { + zed_llm_client::UsageLimit::Unlimited => { proto::usage_limit::Variant::Unlimited(proto::usage_limit::Unlimited {}) } }), @@ -2945,21 +2924,21 @@ fn make_default_subscription_usage( feature_flags: &Vec, ) -> proto::SubscriptionUsage { let plan = match plan { - proto::Plan::Free => cloud_llm_client::Plan::ZedFree, - proto::Plan::ZedPro => cloud_llm_client::Plan::ZedPro, - proto::Plan::ZedProTrial => cloud_llm_client::Plan::ZedProTrial, + proto::Plan::Free => zed_llm_client::Plan::ZedFree, + proto::Plan::ZedPro => zed_llm_client::Plan::ZedPro, + proto::Plan::ZedProTrial => zed_llm_client::Plan::ZedProTrial, }; proto::SubscriptionUsage { model_requests_usage_amount: 0, model_requests_usage_limit: Some(proto::UsageLimit { variant: Some(match model_requests_limit(plan, feature_flags) { - cloud_llm_client::UsageLimit::Limited(limit) => { + zed_llm_client::UsageLimit::Limited(limit) => { proto::usage_limit::Variant::Limited(proto::usage_limit::Limited { limit: limit as u32, }) } - cloud_llm_client::UsageLimit::Unlimited => { + zed_llm_client::UsageLimit::Unlimited => { proto::usage_limit::Variant::Unlimited(proto::usage_limit::Unlimited {}) } }), @@ -2967,12 +2946,12 @@ fn make_default_subscription_usage( edit_predictions_usage_amount: 0, edit_predictions_usage_limit: Some(proto::UsageLimit { variant: Some(match plan.edit_predictions_limit() { - cloud_llm_client::UsageLimit::Limited(limit) => { + zed_llm_client::UsageLimit::Limited(limit) => { proto::usage_limit::Variant::Limited(proto::usage_limit::Limited { limit: limit as u32, }) } - cloud_llm_client::UsageLimit::Unlimited => { + zed_llm_client::UsageLimit::Unlimited => { proto::usage_limit::Variant::Unlimited(proto::usage_limit::Unlimited {}) } }), diff --git a/crates/collab/src/tests.rs b/crates/collab/src/tests.rs index 8d5d076780..19e410de5b 100644 --- a/crates/collab/src/tests.rs +++ b/crates/collab/src/tests.rs @@ -38,12 +38,12 @@ fn room_participants(room: &Entity, cx: &mut TestAppContext) -> RoomPartic let mut remote = room .remote_participants() .values() - .map(|participant| participant.user.github_login.clone().to_string()) + .map(|participant| participant.user.github_login.clone()) .collect::>(); let mut pending = room .pending_participants() .iter() - .map(|user| user.github_login.clone().to_string()) + .map(|user| user.github_login.clone()) .collect::>(); remote.sort(); pending.sort(); diff --git a/crates/collab/src/tests/integration_tests.rs b/crates/collab/src/tests/integration_tests.rs index 7aa41e0e7d..f1cc2bf24a 100644 --- a/crates/collab/src/tests/integration_tests.rs +++ b/crates/collab/src/tests/integration_tests.rs @@ -1881,7 +1881,7 @@ async fn test_active_call_events( vec![room::Event::RemoteProjectShared { owner: Arc::new(User { id: client_a.user_id().unwrap(), - github_login: "user_a".into(), + github_login: "user_a".to_string(), avatar_uri: "avatar_a".into(), name: None, }), @@ -1900,7 +1900,7 @@ async fn test_active_call_events( vec![room::Event::RemoteProjectShared { owner: Arc::new(User { id: client_b.user_id().unwrap(), - github_login: "user_b".into(), + github_login: "user_b".to_string(), avatar_uri: "avatar_b".into(), name: None, }), @@ -6079,7 +6079,7 @@ async fn test_contacts( .iter() .map(|contact| { ( - contact.user.github_login.clone().to_string(), + contact.user.github_login.clone(), if contact.online { "online" } else { "offline" }, if contact.busy { "busy" } else { "free" }, ) diff --git a/crates/collab/src/tests/test_server.rs b/crates/collab/src/tests/test_server.rs index 3751d6918e..ab84e02b19 100644 --- a/crates/collab/src/tests/test_server.rs +++ b/crates/collab/src/tests/test_server.rs @@ -8,7 +8,6 @@ use crate::{ use anyhow::anyhow; use call::ActiveCall; use channel::{ChannelBuffer, ChannelStore}; -use client::CloudUserStore; use client::{ self, ChannelId, Client, Connection, Credentials, EstablishConnectionError, UserStore, proto::PeerId, @@ -257,7 +256,6 @@ impl TestServer { ZedVersion(SemanticVersion::new(1, 0, 0)), None, None, - None, Some(connection_id_tx), Executor::Deterministic(cx.background_executor().clone()), None, @@ -282,15 +280,12 @@ impl TestServer { .register_hosting_provider(Arc::new(git_hosting_providers::Github::public_instance())); let user_store = cx.new(|cx| UserStore::new(client.clone(), cx)); - let cloud_user_store = - cx.new(|cx| CloudUserStore::new(client.cloud_client(), user_store.clone(), cx)); let workspace_store = cx.new(|cx| WorkspaceStore::new(client.clone(), cx)); let language_registry = Arc::new(LanguageRegistry::test(cx.executor())); let session = cx.new(|cx| AppSession::new(Session::test(), cx)); let app_state = Arc::new(workspace::AppState { client: client.clone(), user_store: user_store.clone(), - cloud_user_store, workspace_store, languages: language_registry, fs: fs.clone(), @@ -696,17 +691,17 @@ impl TestClient { current: store .contacts() .iter() - .map(|contact| contact.user.github_login.clone().to_string()) + .map(|contact| contact.user.github_login.clone()) .collect(), outgoing_requests: store .outgoing_contact_requests() .iter() - .map(|user| user.github_login.clone().to_string()) + .map(|user| user.github_login.clone()) .collect(), incoming_requests: store .incoming_contact_requests() .iter() - .map(|user| user.github_login.clone().to_string()) + .map(|user| user.github_login.clone()) .collect(), }) } diff --git a/crates/collab_ui/src/collab_panel.rs b/crates/collab_ui/src/collab_panel.rs index f53b94c209..4d5973481e 100644 --- a/crates/collab_ui/src/collab_panel.rs +++ b/crates/collab_ui/src/collab_panel.rs @@ -940,7 +940,7 @@ impl CollabPanel { room.read(cx).local_participant().role == proto::ChannelRole::Admin }); - ListItem::new(user.github_login.clone()) + ListItem::new(SharedString::from(user.github_login.clone())) .start_slot(Avatar::new(user.avatar_uri.clone())) .child(Label::new(user.github_login.clone())) .toggle_state(is_selected) @@ -2583,7 +2583,7 @@ impl CollabPanel { ) -> impl IntoElement { let online = contact.online; let busy = contact.busy || calling; - let github_login = contact.user.github_login.clone(); + let github_login = SharedString::from(contact.user.github_login.clone()); let item = ListItem::new(github_login.clone()) .indent_level(1) .indent_step_size(px(20.)) @@ -2662,7 +2662,7 @@ impl CollabPanel { is_selected: bool, cx: &mut Context, ) -> impl IntoElement { - let github_login = user.github_login.clone(); + let github_login = SharedString::from(user.github_login.clone()); let user_id = user.id; let is_response_pending = self.user_store.read(cx).is_contact_request_pending(user); let color = if is_response_pending { diff --git a/crates/context_server/src/client.rs b/crates/context_server/src/client.rs index 1eb29bbbf9..a1facb817d 100644 --- a/crates/context_server/src/client.rs +++ b/crates/context_server/src/client.rs @@ -1,6 +1,6 @@ use anyhow::{Context as _, Result, anyhow}; use collections::HashMap; -use futures::{FutureExt, StreamExt, channel::oneshot, future, select}; +use futures::{FutureExt, StreamExt, channel::oneshot, select}; use gpui::{AppContext as _, AsyncApp, BackgroundExecutor, Task}; use parking_lot::Mutex; use postage::barrier; @@ -10,19 +10,15 @@ use smol::channel; use std::{ fmt, path::PathBuf, - pin::pin, sync::{ Arc, atomic::{AtomicI32, Ordering::SeqCst}, }, time::{Duration, Instant}, }; -use util::{ResultExt, TryFutureExt}; +use util::TryFutureExt; -use crate::{ - transport::{StdioTransport, Transport}, - types::{CancelledParams, ClientNotification, Notification as _, notifications::Cancelled}, -}; +use crate::transport::{StdioTransport, Transport}; const JSON_RPC_VERSION: &str = "2.0"; const REQUEST_TIMEOUT: Duration = Duration::from_secs(60); @@ -36,7 +32,6 @@ pub const INTERNAL_ERROR: i32 = -32603; type ResponseHandler = Box)>; type NotificationHandler = Box; -type RequestHandler = Box; #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)] #[serde(untagged)] @@ -83,15 +78,6 @@ pub struct Request<'a, T> { pub params: T, } -#[derive(Serialize, Deserialize)] -pub struct AnyRequest<'a> { - pub jsonrpc: &'a str, - pub id: RequestId, - pub method: &'a str, - #[serde(skip_serializing_if = "is_null_value")] - pub params: Option<&'a RawValue>, -} - #[derive(Serialize, Deserialize)] struct AnyResponse<'a> { jsonrpc: &'a str, @@ -191,23 +177,15 @@ impl Client { Arc::new(Mutex::new(HashMap::<_, NotificationHandler>::default())); let response_handlers = Arc::new(Mutex::new(Some(HashMap::<_, ResponseHandler>::default()))); - let request_handlers = Arc::new(Mutex::new(HashMap::<_, RequestHandler>::default())); let receive_input_task = cx.spawn({ let notification_handlers = notification_handlers.clone(); let response_handlers = response_handlers.clone(); - let request_handlers = request_handlers.clone(); let transport = transport.clone(); async move |cx| { - Self::handle_input( - transport, - notification_handlers, - request_handlers, - response_handlers, - cx, - ) - .log_err() - .await + Self::handle_input(transport, notification_handlers, response_handlers, cx) + .log_err() + .await } }); let receive_err_task = cx.spawn({ @@ -253,24 +231,13 @@ impl Client { async fn handle_input( transport: Arc, notification_handlers: Arc>>, - request_handlers: Arc>>, response_handlers: Arc>>>, cx: &mut AsyncApp, ) -> anyhow::Result<()> { let mut receiver = transport.receive(); while let Some(message) = receiver.next().await { - log::trace!("recv: {}", &message); - if let Ok(request) = serde_json::from_str::(&message) { - let mut request_handlers = request_handlers.lock(); - if let Some(handler) = request_handlers.get_mut(request.method) { - handler( - request.id, - request.params.unwrap_or(RawValue::NULL), - cx.clone(), - ); - } - } else if let Ok(response) = serde_json::from_str::(&message) { + if let Ok(response) = serde_json::from_str::(&message) { if let Some(handlers) = response_handlers.lock().as_mut() { if let Some(handler) = handlers.remove(&response.id) { handler(Ok(message.to_string())); @@ -281,8 +248,6 @@ impl Client { if let Some(handler) = notification_handlers.get_mut(notification.method.as_str()) { handler(notification.params.unwrap_or(Value::Null), cx.clone()); } - } else { - log::error!("Unhandled JSON from context_server: {}", message); } } @@ -330,17 +295,6 @@ impl Client { &self, method: &str, params: impl Serialize, - ) -> Result { - self.request_with(method, params, None, Some(REQUEST_TIMEOUT)) - .await - } - - pub async fn request_with( - &self, - method: &str, - params: impl Serialize, - cancel_rx: Option>, - timeout: Option, ) -> Result { let id = self.next_id.fetch_add(1, SeqCst); let request = serde_json::to_string(&Request { @@ -376,23 +330,7 @@ impl Client { handle_response?; send?; - let mut timeout_fut = pin!( - match timeout { - Some(timeout) => future::Either::Left(executor.timer(timeout)), - None => future::Either::Right(future::pending()), - } - .fuse() - ); - let mut cancel_fut = pin!( - match cancel_rx { - Some(rx) => future::Either::Left(async { - rx.await.log_err(); - }), - None => future::Either::Right(future::pending()), - } - .fuse() - ); - + let mut timeout = executor.timer(REQUEST_TIMEOUT).fuse(); select! { response = rx.fuse() => { let elapsed = started.elapsed(); @@ -411,18 +349,8 @@ impl Client { Err(_) => anyhow::bail!("cancelled") } } - _ = cancel_fut => { - self.notify( - Cancelled::METHOD, - ClientNotification::Cancelled(CancelledParams { - request_id: RequestId::Int(id), - reason: None - }) - ).log_err(); - anyhow::bail!(RequestCanceled) - } - _ = timeout_fut => { - log::error!("cancelled csp request task for {method:?} id {id} which took over {:?}", timeout.unwrap()); + _ = timeout => { + log::error!("cancelled csp request task for {method:?} id {id} which took over {:?}", REQUEST_TIMEOUT); anyhow::bail!("Context server request timeout"); } } @@ -452,17 +380,6 @@ impl Client { } } -#[derive(Debug)] -pub struct RequestCanceled; - -impl std::error::Error for RequestCanceled {} - -impl std::fmt::Display for RequestCanceled { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str("Context server request was canceled") - } -} - impl fmt::Display for ContextServerId { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { self.0.fmt(f) diff --git a/crates/context_server/src/listener.rs b/crates/context_server/src/listener.rs index 34e3a9a78c..9295ad979c 100644 --- a/crates/context_server/src/listener.rs +++ b/crates/context_server/src/listener.rs @@ -9,8 +9,6 @@ use futures::{ }; use gpui::{App, AppContext, AsyncApp, Task}; use net::async_net::{UnixListener, UnixStream}; -use schemars::JsonSchema; -use serde::de::DeserializeOwned; use serde_json::{json, value::RawValue}; use smol::stream::StreamExt; use std::{ @@ -22,32 +20,16 @@ use util::ResultExt; use crate::{ client::{CspResult, RequestId, Response}, - types::{ - CallToolParams, CallToolResponse, ListToolsResponse, Request, Tool, ToolAnnotations, - ToolResponseContent, - requests::{CallTool, ListTools}, - }, + types::Request, }; pub struct McpServer { socket_path: PathBuf, - tools: Rc>>, - handlers: Rc>>, + handlers: Rc>>, _server_task: Task<()>, } -struct RegisteredTool { - tool: Tool, - handler: ToolHandler, -} - -type ToolHandler = Box< - dyn Fn( - Option, - &mut AsyncApp, - ) -> Task>>, ->; -type RequestHandler = Box>, &App) -> Task>; +type McpHandler = Box>, &App) -> Task>; impl McpServer { pub fn new(cx: &AsyncApp) -> Task> { @@ -61,14 +43,12 @@ impl McpServer { cx.spawn(async move |cx| { let (temp_dir, socket_path, listener) = task.await?; - let tools = Rc::new(RefCell::new(HashMap::default())); let handlers = Rc::new(RefCell::new(HashMap::default())); let server_task = cx.spawn({ - let tools = tools.clone(); let handlers = handlers.clone(); async move |cx| { while let Ok((stream, _)) = listener.accept().await { - Self::serve_connection(stream, tools.clone(), handlers.clone(), cx); + Self::serve_connection(stream, handlers.clone(), cx); } drop(temp_dir) } @@ -76,56 +56,11 @@ impl McpServer { Ok(Self { socket_path, _server_task: server_task, - tools, - handlers: handlers, + handlers: handlers.clone(), }) }) } - pub fn add_tool(&mut self, tool: T) { - let output_schema = schemars::schema_for!(T::Output); - let unit_schema = schemars::schema_for!(()); - - let registered_tool = RegisteredTool { - tool: Tool { - name: T::NAME.into(), - description: Some(tool.description().into()), - input_schema: schemars::schema_for!(T::Input).into(), - output_schema: if output_schema == unit_schema { - None - } else { - Some(output_schema.into()) - }, - annotations: Some(tool.annotations()), - }, - handler: Box::new({ - let tool = tool.clone(); - move |input_value, cx| { - let input = match input_value { - Some(input) => serde_json::from_value(input), - None => serde_json::from_value(serde_json::Value::Null), - }; - - let tool = tool.clone(); - match input { - Ok(input) => cx.spawn(async move |cx| { - let output = tool.run(input, cx).await?; - - Ok(ToolResponse { - content: output.content, - structured_content: serde_json::to_value(output.structured_content) - .unwrap_or_default(), - }) - }), - Err(err) => Task::ready(Err(err.into())), - } - } - }), - }; - - self.tools.borrow_mut().insert(T::NAME, registered_tool); - } - pub fn handle_request( &mut self, f: impl Fn(R::Params, &App) -> Task> + 'static, @@ -185,8 +120,7 @@ impl McpServer { fn serve_connection( stream: UnixStream, - tools: Rc>>, - handlers: Rc>>, + handlers: Rc>>, cx: &mut AsyncApp, ) { let (read, write) = smol::io::split(stream); @@ -201,13 +135,7 @@ impl McpServer { let Some(request_id) = request.id.clone() else { continue; }; - - if request.method == CallTool::METHOD { - Self::handle_call_tool(request_id, request.params, &tools, &outgoing_tx, cx) - .await; - } else if request.method == ListTools::METHOD { - Self::handle_list_tools(request.id.unwrap(), &tools, &outgoing_tx); - } else if let Some(handler) = handlers.borrow().get(&request.method.as_ref()) { + if let Some(handler) = handlers.borrow().get(&request.method.as_ref()) { let outgoing_tx = outgoing_tx.clone(); if let Some(task) = cx @@ -221,126 +149,25 @@ impl McpServer { .detach(); } } else { - Self::send_err( - request_id, - format!("unhandled method {}", request.method), - &outgoing_tx, - ); + outgoing_tx + .unbounded_send( + serde_json::to_string(&Response::<()> { + jsonrpc: "2.0", + id: request.id.unwrap(), + value: CspResult::Error(Some(crate::client::Error { + message: format!("unhandled method {}", request.method), + code: -32601, + })), + }) + .unwrap(), + ) + .ok(); } } }) .detach(); } - fn handle_list_tools( - request_id: RequestId, - tools: &Rc>>, - outgoing_tx: &UnboundedSender, - ) { - let response = ListToolsResponse { - tools: tools.borrow().values().map(|t| t.tool.clone()).collect(), - next_cursor: None, - meta: None, - }; - - outgoing_tx - .unbounded_send( - serde_json::to_string(&Response { - jsonrpc: "2.0", - id: request_id, - value: CspResult::Ok(Some(response)), - }) - .unwrap_or_default(), - ) - .ok(); - } - - async fn handle_call_tool( - request_id: RequestId, - params: Option>, - tools: &Rc>>, - outgoing_tx: &UnboundedSender, - cx: &mut AsyncApp, - ) { - let result: Result = match params.as_ref() { - Some(params) => serde_json::from_str(params.get()), - None => serde_json::from_value(serde_json::Value::Null), - }; - - match result { - Ok(params) => { - if let Some(tool) = tools.borrow().get(¶ms.name.as_ref()) { - let outgoing_tx = outgoing_tx.clone(); - - let task = (tool.handler)(params.arguments, cx); - cx.spawn(async move |_| { - let response = match task.await { - Ok(result) => CallToolResponse { - content: result.content, - is_error: Some(false), - meta: None, - structured_content: if result.structured_content.is_null() { - None - } else { - Some(result.structured_content) - }, - }, - Err(err) => CallToolResponse { - content: vec![ToolResponseContent::Text { - text: err.to_string(), - }], - is_error: Some(true), - meta: None, - structured_content: None, - }, - }; - - outgoing_tx - .unbounded_send( - serde_json::to_string(&Response { - jsonrpc: "2.0", - id: request_id, - value: CspResult::Ok(Some(response)), - }) - .unwrap_or_default(), - ) - .ok(); - }) - .detach(); - } else { - Self::send_err( - request_id, - format!("Tool not found: {}", params.name), - &outgoing_tx, - ); - } - } - Err(err) => { - Self::send_err(request_id, err.to_string(), &outgoing_tx); - } - } - } - - fn send_err( - request_id: RequestId, - message: impl Into, - outgoing_tx: &UnboundedSender, - ) { - outgoing_tx - .unbounded_send( - serde_json::to_string(&Response::<()> { - jsonrpc: "2.0", - id: request_id, - value: CspResult::Error(Some(crate::client::Error { - message: message.into(), - code: -32601, - })), - }) - .unwrap(), - ) - .ok(); - } - async fn handle_io( mut outgoing_rx: UnboundedReceiver, incoming_tx: UnboundedSender, @@ -389,37 +216,7 @@ impl McpServer { } } -pub trait McpServerTool { - type Input: DeserializeOwned + JsonSchema; - type Output: Serialize + JsonSchema; - - const NAME: &'static str; - - fn description(&self) -> &'static str; - - fn annotations(&self) -> ToolAnnotations { - ToolAnnotations { - title: None, - read_only_hint: None, - destructive_hint: None, - idempotent_hint: None, - open_world_hint: None, - } - } - - fn run( - &self, - input: Self::Input, - cx: &mut AsyncApp, - ) -> impl Future>>; -} - -pub struct ToolResponse { - pub content: Vec, - pub structured_content: T, -} - -#[derive(Debug, Serialize, Deserialize)] +#[derive(Serialize, Deserialize)] struct RawRequest { #[serde(skip_serializing_if = "Option::is_none")] id: Option, diff --git a/crates/context_server/src/protocol.rs b/crates/context_server/src/protocol.rs index 9ccbc8a553..d8bbac60d6 100644 --- a/crates/context_server/src/protocol.rs +++ b/crates/context_server/src/protocol.rs @@ -5,12 +5,7 @@ //! read/write messages and the types from types.rs for serialization/deserialization //! of messages. -use std::time::Duration; - use anyhow::Result; -use futures::channel::oneshot; -use gpui::AsyncApp; -use serde_json::Value; use crate::client::Client; use crate::types::{self, Notification, Request}; @@ -100,25 +95,7 @@ impl InitializedContextServerProtocol { self.inner.request(T::METHOD, params).await } - pub async fn request_with( - &self, - params: T::Params, - cancel_rx: Option>, - timeout: Option, - ) -> Result { - self.inner - .request_with(T::METHOD, params, cancel_rx, timeout) - .await - } - pub fn notify(&self, params: T::Params) -> Result<()> { self.inner.notify(T::METHOD, params) } - - pub fn on_notification(&self, method: &'static str, f: F) - where - F: 'static + Send + FnMut(Value, AsyncApp), - { - self.inner.on_notification(method, f); - } } diff --git a/crates/context_server/src/types.rs b/crates/context_server/src/types.rs index 5fa2420a3d..4a6fdcabd3 100644 --- a/crates/context_server/src/types.rs +++ b/crates/context_server/src/types.rs @@ -3,8 +3,6 @@ use serde::de::DeserializeOwned; use serde::{Deserialize, Serialize}; use url::Url; -use crate::client::RequestId; - pub const LATEST_PROTOCOL_VERSION: &str = "2025-03-26"; pub const VERSION_2024_11_05: &str = "2024-11-05"; @@ -102,7 +100,6 @@ pub mod notifications { notification!("notifications/initialized", Initialized, ()); notification!("notifications/progress", Progress, ProgressParams); notification!("notifications/message", Message, MessageParams); - notification!("notifications/cancelled", Cancelled, CancelledParams); notification!( "notifications/resources/updated", ResourcesUpdated, @@ -495,20 +492,18 @@ pub struct RootsCapabilities { pub list_changed: Option, } -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Tool { pub name: String, #[serde(skip_serializing_if = "Option::is_none")] pub description: Option, pub input_schema: serde_json::Value, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub output_schema: Option, #[serde(skip_serializing_if = "Option::is_none")] pub annotations: Option, } -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct ToolAnnotations { /// A human-readable title for the tool. @@ -622,15 +617,11 @@ pub enum ClientNotification { Initialized, Progress(ProgressParams), RootsListChanged, - Cancelled(CancelledParams), -} - -#[derive(Debug, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct CancelledParams { - pub request_id: RequestId, - #[serde(skip_serializing_if = "Option::is_none")] - pub reason: Option, + Cancelled { + request_id: String, + #[serde(skip_serializing_if = "Option::is_none")] + reason: Option, + }, } #[derive(Debug, Serialize, Deserialize)] @@ -682,20 +673,6 @@ pub struct CallToolResponse { pub is_error: Option, #[serde(rename = "_meta", skip_serializing_if = "Option::is_none")] pub meta: Option>, - #[serde(default, skip_serializing_if = "Option::is_none")] - pub structured_content: Option, -} - -impl CallToolResponse { - pub fn text_contents(&self) -> String { - let mut text = String::new(); - for chunk in &self.content { - if let ToolResponseContent::Text { text: chunk } = chunk { - text.push_str(&chunk) - }; - } - text - } } #[derive(Debug, Serialize, Deserialize)] diff --git a/crates/debugger_ui/src/tests/debugger_panel.rs b/crates/debugger_ui/src/tests/debugger_panel.rs index 6180831ea9..505df09cfb 100644 --- a/crates/debugger_ui/src/tests/debugger_panel.rs +++ b/crates/debugger_ui/src/tests/debugger_panel.rs @@ -918,7 +918,7 @@ async fn test_debug_panel_item_thread_status_reset_on_failure( .unwrap(); let client = session.update(cx, |session, _| session.adapter_client().unwrap()); - const THREAD_ID_NUM: i64 = 1; + const THREAD_ID_NUM: u64 = 1; client.on_request::(move |_, _| { Ok(dap::ThreadsResponse { diff --git a/crates/docs_preprocessor/Cargo.toml b/crates/docs_preprocessor/Cargo.toml index e46ceb18db..a0df669abe 100644 --- a/crates/docs_preprocessor/Cargo.toml +++ b/crates/docs_preprocessor/Cargo.toml @@ -7,19 +7,17 @@ license = "GPL-3.0-or-later" [dependencies] anyhow.workspace = true -command_palette.workspace = true -gpui.workspace = true -# We are specifically pinning this version of mdbook, as later versions introduce issues with double-nested subdirectories. -# Ask @maxdeviant about this before bumping. -mdbook = "= 0.4.40" -regex.workspace = true +clap.workspace = true +mdbook = "0.4.40" serde.workspace = true serde_json.workspace = true settings.workspace = true +regex.workspace = true util.workspace = true workspace-hack.workspace = true zed.workspace = true -zlog.workspace = true +gpui.workspace = true +command_palette.workspace = true [lints] workspace = true diff --git a/crates/docs_preprocessor/src/main.rs b/crates/docs_preprocessor/src/main.rs index 1448f4cb52..8eeeb6f0c5 100644 --- a/crates/docs_preprocessor/src/main.rs +++ b/crates/docs_preprocessor/src/main.rs @@ -1,15 +1,14 @@ -use anyhow::{Context, Result}; +use anyhow::Result; +use clap::{Arg, ArgMatches, Command}; use mdbook::BookItem; use mdbook::book::{Book, Chapter}; use mdbook::preprocess::CmdPreprocessor; use regex::Regex; use settings::KeymapFile; -use std::borrow::Cow; -use std::collections::{HashMap, HashSet}; +use std::collections::HashSet; use std::io::{self, Read}; use std::process; use std::sync::LazyLock; -use util::paths::PathExt; static KEYMAP_MACOS: LazyLock = LazyLock::new(|| { load_keymap("keymaps/default-macos.json").expect("Failed to load MacOS keymap") @@ -21,68 +20,60 @@ static KEYMAP_LINUX: LazyLock = LazyLock::new(|| { static ALL_ACTIONS: LazyLock> = LazyLock::new(dump_all_gpui_actions); -const FRONT_MATTER_COMMENT: &'static str = ""; +pub fn make_app() -> Command { + Command::new("zed-docs-preprocessor") + .about("Preprocesses Zed Docs content to provide rich action & keybinding support and more") + .subcommand( + Command::new("supports") + .arg(Arg::new("renderer").required(true)) + .about("Check whether a renderer is supported by this preprocessor"), + ) +} fn main() -> Result<()> { - zlog::init(); - zlog::init_output_stderr(); + let matches = make_app().get_matches(); // call a zed:: function so everything in `zed` crate is linked and // all actions in the actual app are registered zed::stdout_is_a_pty(); - let args = std::env::args().skip(1).collect::>(); - match args.get(0).map(String::as_str) { - Some("supports") => { - let renderer = args.get(1).expect("Required argument"); - let supported = renderer != "not-supported"; - if supported { - process::exit(0); - } else { - process::exit(1); - } - } - Some("postprocess") => handle_postprocessing()?, - _ => handle_preprocessing()?, + if let Some(sub_args) = matches.subcommand_matches("supports") { + handle_supports(sub_args); + } else { + handle_preprocessing()?; } Ok(()) } #[derive(Debug, Clone, PartialEq, Eq, Hash)] -enum PreprocessorError { +enum Error { ActionNotFound { action_name: String }, DeprecatedActionUsed { used: String, should_be: String }, - InvalidFrontmatterLine(String), } -impl PreprocessorError { +impl Error { fn new_for_not_found_action(action_name: String) -> Self { for action in &*ALL_ACTIONS { for alias in action.deprecated_aliases { if alias == &action_name { - return PreprocessorError::DeprecatedActionUsed { + return Error::DeprecatedActionUsed { used: action_name.clone(), should_be: action.name.to_string(), }; } } } - PreprocessorError::ActionNotFound { + Error::ActionNotFound { action_name: action_name.to_string(), } } } -impl std::fmt::Display for PreprocessorError { +impl std::fmt::Display for Error { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - PreprocessorError::InvalidFrontmatterLine(line) => { - write!(f, "Invalid frontmatter line: {}", line) - } - PreprocessorError::ActionNotFound { action_name } => { - write!(f, "Action not found: {}", action_name) - } - PreprocessorError::DeprecatedActionUsed { used, should_be } => write!( + Error::ActionNotFound { action_name } => write!(f, "Action not found: {}", action_name), + Error::DeprecatedActionUsed { used, should_be } => write!( f, "Deprecated action used: {} should be {}", used, should_be @@ -98,9 +89,8 @@ fn handle_preprocessing() -> Result<()> { let (_ctx, mut book) = CmdPreprocessor::parse_input(input.as_bytes())?; - let mut errors = HashSet::::new(); + let mut errors = HashSet::::new(); - handle_frontmatter(&mut book, &mut errors); template_and_validate_keybindings(&mut book, &mut errors); template_and_validate_actions(&mut book, &mut errors); @@ -118,41 +108,19 @@ fn handle_preprocessing() -> Result<()> { Ok(()) } -fn handle_frontmatter(book: &mut Book, errors: &mut HashSet) { - let frontmatter_regex = Regex::new(r"(?s)^\s*---(.*?)---").unwrap(); - for_each_chapter_mut(book, |chapter| { - let new_content = frontmatter_regex.replace(&chapter.content, |caps: ®ex::Captures| { - let frontmatter = caps[1].trim(); - let frontmatter = frontmatter.trim_matches(&[' ', '-', '\n']); - let mut metadata = HashMap::::default(); - for line in frontmatter.lines() { - let Some((name, value)) = line.split_once(':') else { - errors.insert(PreprocessorError::InvalidFrontmatterLine(format!( - "{}: {}", - chapter_breadcrumbs(&chapter), - line - ))); - continue; - }; - let name = name.trim(); - let value = value.trim(); - metadata.insert(name.to_string(), value.to_string()); - } - FRONT_MATTER_COMMENT.replace( - "{}", - &serde_json::to_string(&metadata).expect("Failed to serialize metadata"), - ) - }); - match new_content { - Cow::Owned(content) => { - chapter.content = content; - } - Cow::Borrowed(_) => {} - } - }); +fn handle_supports(sub_args: &ArgMatches) -> ! { + let renderer = sub_args + .get_one::("renderer") + .expect("Required argument"); + let supported = renderer != "not-supported"; + if supported { + process::exit(0); + } else { + process::exit(1); + } } -fn template_and_validate_keybindings(book: &mut Book, errors: &mut HashSet) { +fn template_and_validate_keybindings(book: &mut Book, errors: &mut HashSet) { let regex = Regex::new(r"\{#kb (.*?)\}").unwrap(); for_each_chapter_mut(book, |chapter| { @@ -160,9 +128,7 @@ fn template_and_validate_keybindings(book: &mut Book, errors: &mut HashSet) { +fn template_and_validate_actions(book: &mut Book, errors: &mut HashSet) { let regex = Regex::new(r"\{#action (.*?)\}").unwrap(); for_each_chapter_mut(book, |chapter| { @@ -186,9 +152,7 @@ fn template_and_validate_actions(book: &mut Book, errors: &mut HashSet{}", &action.human_name) @@ -253,13 +217,6 @@ fn name_for_action(action_as_str: String) -> String { .unwrap_or(action_as_str) } -fn chapter_breadcrumbs(chapter: &Chapter) -> String { - let mut breadcrumbs = Vec::with_capacity(chapter.parent_names.len() + 1); - breadcrumbs.extend(chapter.parent_names.iter().map(String::as_str)); - breadcrumbs.push(chapter.name.as_str()); - format!("[{:?}] {}", chapter.source_path, breadcrumbs.join(" > ")) -} - fn load_keymap(asset_path: &str) -> Result { let content = util::asset_str::(asset_path); KeymapFile::parse(content.as_ref()) @@ -297,126 +254,3 @@ fn dump_all_gpui_actions() -> Vec { return actions; } - -fn handle_postprocessing() -> Result<()> { - let logger = zlog::scoped!("render"); - let mut ctx = mdbook::renderer::RenderContext::from_json(io::stdin())?; - let output = ctx - .config - .get_mut("output") - .expect("has output") - .as_table_mut() - .expect("output is table"); - let zed_html = output.remove("zed-html").expect("zed-html output defined"); - let default_description = zed_html - .get("default-description") - .expect("Default description not found") - .as_str() - .expect("Default description not a string") - .to_string(); - let default_title = zed_html - .get("default-title") - .expect("Default title not found") - .as_str() - .expect("Default title not a string") - .to_string(); - - output.insert("html".to_string(), zed_html); - mdbook::Renderer::render(&mdbook::renderer::HtmlHandlebars::new(), &ctx)?; - let ignore_list = ["toc.html"]; - - let root_dir = ctx.destination.clone(); - let mut files = Vec::with_capacity(128); - let mut queue = Vec::with_capacity(64); - queue.push(root_dir.clone()); - while let Some(dir) = queue.pop() { - for entry in std::fs::read_dir(&dir).context(dir.to_sanitized_string())? { - let Ok(entry) = entry else { - continue; - }; - let file_type = entry.file_type().context("Failed to determine file type")?; - if file_type.is_dir() { - queue.push(entry.path()); - } - if file_type.is_file() - && matches!( - entry.path().extension().and_then(std::ffi::OsStr::to_str), - Some("html") - ) - { - if ignore_list.contains(&&*entry.file_name().to_string_lossy()) { - zlog::info!(logger => "Ignoring {}", entry.path().to_string_lossy()); - } else { - files.push(entry.path()); - } - } - } - } - - zlog::info!(logger => "Processing {} `.html` files", files.len()); - let meta_regex = Regex::new(&FRONT_MATTER_COMMENT.replace("{}", "(.*)")).unwrap(); - for file in files { - let contents = std::fs::read_to_string(&file)?; - let mut meta_description = None; - let mut meta_title = None; - let contents = meta_regex.replace(&contents, |caps: ®ex::Captures| { - let metadata: HashMap = serde_json::from_str(&caps[1]).with_context(|| format!("JSON Metadata: {:?}", &caps[1])).expect("Failed to deserialize metadata"); - for (kind, content) in metadata { - match kind.as_str() { - "description" => { - meta_description = Some(content); - } - "title" => { - meta_title = Some(content); - } - _ => { - zlog::warn!(logger => "Unrecognized frontmatter key: {} in {:?}", kind, pretty_path(&file, &root_dir)); - } - } - } - String::new() - }); - let meta_description = meta_description.as_ref().unwrap_or_else(|| { - zlog::warn!(logger => "No meta description found for {:?}", pretty_path(&file, &root_dir)); - &default_description - }); - let page_title = extract_title_from_page(&contents, pretty_path(&file, &root_dir)); - let meta_title = meta_title.as_ref().unwrap_or_else(|| { - zlog::debug!(logger => "No meta title found for {:?}", pretty_path(&file, &root_dir)); - &default_title - }); - let meta_title = format!("{} | {}", page_title, meta_title); - zlog::trace!(logger => "Updating {:?}", pretty_path(&file, &root_dir)); - let contents = contents.replace("#description#", meta_description); - let contents = TITLE_REGEX - .replace(&contents, |_: ®ex::Captures| { - format!("{}", meta_title) - }) - .to_string(); - // let contents = contents.replace("#title#", &meta_title); - std::fs::write(file, contents)?; - } - return Ok(()); - - fn pretty_path<'a>( - path: &'a std::path::PathBuf, - root: &'a std::path::PathBuf, - ) -> &'a std::path::Path { - &path.strip_prefix(&root).unwrap_or(&path) - } - const TITLE_REGEX: std::cell::LazyCell = - std::cell::LazyCell::new(|| Regex::new(r"\s*(.*?)\s*").unwrap()); - fn extract_title_from_page(contents: &str, pretty_path: &std::path::Path) -> String { - let title_tag_contents = &TITLE_REGEX - .captures(&contents) - .with_context(|| format!("Failed to find title in {:?}", pretty_path)) - .expect("Page has element")[1]; - let title = title_tag_contents - .trim() - .strip_suffix("- Zed") - .unwrap_or(title_tag_contents) - .trim() - .to_string(); - title - } -} diff --git a/crates/editor/Cargo.toml b/crates/editor/Cargo.toml index ab2d1c8ecb..41022b3d3c 100644 --- a/crates/editor/Cargo.toml +++ b/crates/editor/Cargo.toml @@ -113,7 +113,6 @@ tree-sitter-html.workspace = true tree-sitter-rust.workspace = true tree-sitter-typescript.workspace = true tree-sitter-yaml.workspace = true -tree-sitter-bash.workspace = true unindent.workspace = true util = { workspace = true, features = ["test-support"] } workspace = { workspace = true, features = ["test-support"] } diff --git a/crates/editor/src/actions.rs b/crates/editor/src/actions.rs index 1212651cb3..f80a6afbbb 100644 --- a/crates/editor/src/actions.rs +++ b/crates/editor/src/actions.rs @@ -365,8 +365,6 @@ actions!( ConvertToLowerCase, /// Toggles the case of selected text. ConvertToOppositeCase, - /// Converts selected text to sentence case. - ConvertToSentenceCase, /// Converts selected text to snake_case. ConvertToSnakeCase, /// Converts selected text to Title Case. diff --git a/crates/editor/src/code_completion_tests.rs b/crates/editor/src/code_completion_tests.rs index fd8db29584..4f9822b597 100644 --- a/crates/editor/src/code_completion_tests.rs +++ b/crates/editor/src/code_completion_tests.rs @@ -94,7 +94,7 @@ async fn test_fuzzy_score(cx: &mut TestAppContext) { filter_and_sort_matches("set_text", &completions, SnippetSortOrder::Top, cx).await; assert_eq!(matches[0].string, "set_text"); assert_eq!(matches[1].string, "set_text_style_refinement"); - assert_eq!(matches[2].string, "set_placeholder_text"); + assert_eq!(matches[2].string, "set_context_menu_options"); } // fuzzy filter text over label, sort_text and sort_kind @@ -216,28 +216,6 @@ async fn test_sort_positions(cx: &mut TestAppContext) { assert_eq!(matches[0].string, "rounded-full"); } -#[gpui::test] -async fn test_fuzzy_over_sort_positions(cx: &mut TestAppContext) { - let completions = vec![ - CompletionBuilder::variable("lsp_document_colors", None, "7fffffff"), // 0.29 fuzzy score - CompletionBuilder::function( - "language_servers_running_disk_based_diagnostics", - None, - "7fffffff", - ), // 0.168 fuzzy score - CompletionBuilder::function("code_lens", None, "7fffffff"), // 3.2 fuzzy score - CompletionBuilder::variable("lsp_code_lens", None, "7fffffff"), // 3.2 fuzzy score - CompletionBuilder::function("fetch_code_lens", None, "7fffffff"), // 3.2 fuzzy score - ]; - - let matches = - filter_and_sort_matches("lens", &completions, SnippetSortOrder::default(), cx).await; - - assert_eq!(matches[0].string, "code_lens"); - assert_eq!(matches[1].string, "lsp_code_lens"); - assert_eq!(matches[2].string, "fetch_code_lens"); -} - async fn test_for_each_prefix<F>( target: &str, completions: &Vec<Completion>, diff --git a/crates/editor/src/code_context_menus.rs b/crates/editor/src/code_context_menus.rs index 4ae2a14ca7..9f842836ed 100644 --- a/crates/editor/src/code_context_menus.rs +++ b/crates/editor/src/code_context_menus.rs @@ -1057,9 +1057,9 @@ impl CompletionsMenu { enum MatchTier<'a> { WordStartMatch { sort_exact: Reverse<i32>, + sort_positions: Vec<usize>, sort_snippet: Reverse<i32>, sort_score: Reverse<OrderedFloat<f64>>, - sort_positions: Vec<usize>, sort_text: Option<&'a str>, sort_kind: usize, sort_label: &'a str, @@ -1137,9 +1137,9 @@ impl CompletionsMenu { MatchTier::WordStartMatch { sort_exact, + sort_positions, sort_snippet, sort_score, - sort_positions, sort_text, sort_kind, sort_label, diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 3516eff45c..eccc8d3e25 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -65,7 +65,7 @@ use display_map::*; pub use display_map::{ChunkRenderer, ChunkRendererContext, DisplayPoint, FoldPlaceholder}; pub use editor_settings::{ CurrentLineHighlight, DocumentColorsRenderMode, EditorSettings, HideMouseMode, - ScrollBeyondLastLine, ScrollbarAxes, SearchSettings, ShowMinimap, ShowScrollbar, + ScrollBeyondLastLine, ScrollbarAxes, SearchSettings, ShowScrollbar, }; use editor_settings::{GoToDefinitionFallback, Minimap as MinimapSettings}; pub use editor_settings_controls::*; @@ -10906,6 +10906,17 @@ impl Editor { }); } + pub fn toggle_case(&mut self, _: &ToggleCase, window: &mut Window, cx: &mut Context<Self>) { + self.manipulate_text(window, cx, |text| { + let has_upper_case_characters = text.chars().any(|c| c.is_uppercase()); + if has_upper_case_characters { + text.to_lowercase() + } else { + text.to_uppercase() + } + }) + } + fn manipulate_immutable_lines<Fn>( &mut self, window: &mut Window, @@ -11161,26 +11172,6 @@ impl Editor { }) } - pub fn convert_to_sentence_case( - &mut self, - _: &ConvertToSentenceCase, - window: &mut Window, - cx: &mut Context<Self>, - ) { - self.manipulate_text(window, cx, |text| text.to_case(Case::Sentence)) - } - - pub fn toggle_case(&mut self, _: &ToggleCase, window: &mut Window, cx: &mut Context<Self>) { - self.manipulate_text(window, cx, |text| { - let has_upper_case_characters = text.chars().any(|c| c.is_uppercase()); - if has_upper_case_characters { - text.to_lowercase() - } else { - text.to_uppercase() - } - }) - } - pub fn convert_to_rot13( &mut self, _: &ConvertToRot13, @@ -17005,7 +16996,7 @@ impl Editor { now: Instant, window: &mut Window, cx: &mut Context<Self>, - ) -> Option<TransactionId> { + ) { self.end_selection(window, cx); if let Some(tx_id) = self .buffer @@ -17015,10 +17006,7 @@ impl Editor { .insert_transaction(tx_id, self.selections.disjoint_anchors()); cx.emit(EditorEvent::TransactionBegun { transaction_id: tx_id, - }); - Some(tx_id) - } else { - None + }) } } @@ -17046,17 +17034,6 @@ impl Editor { } } - pub fn modify_transaction_selection_history( - &mut self, - transaction_id: TransactionId, - modify: impl FnOnce(&mut (Arc<[Selection<Anchor>]>, Option<Arc<[Selection<Anchor>]>>)), - ) -> bool { - self.selection_history - .transaction_mut(transaction_id) - .map(modify) - .is_some() - } - pub fn set_mark(&mut self, _: &actions::SetMark, window: &mut Window, cx: &mut Context<Self>) { if self.selection_mark_mode { self.change_selections(SelectionEffects::no_scroll(), window, cx, |s| { @@ -22309,7 +22286,7 @@ fn consume_contiguous_rows( selections: &mut Peekable<std::slice::Iter<Selection<Point>>>, ) -> (MultiBufferRow, MultiBufferRow) { contiguous_row_selections.push(selection.clone()); - let start_row = starting_row(selection, display_map); + let start_row = MultiBufferRow(selection.start.row); let mut end_row = ending_row(selection, display_map); while let Some(next_selection) = selections.peek() { @@ -22323,14 +22300,6 @@ fn consume_contiguous_rows( (start_row, end_row) } -fn starting_row(selection: &Selection<Point>, display_map: &DisplaySnapshot) -> MultiBufferRow { - if selection.start.column > 0 { - MultiBufferRow(display_map.prev_line_boundary(selection.start).0.row) - } else { - MultiBufferRow(selection.start.row) - } -} - fn ending_row(next_selection: &Selection<Point>, display_map: &DisplaySnapshot) -> MultiBufferRow { if next_selection.end.column > 0 || next_selection.is_empty() { MultiBufferRow(display_map.next_line_boundary(next_selection.end).0.row + 1) diff --git a/crates/editor/src/editor_tests.rs b/crates/editor/src/editor_tests.rs index 503fe2abc3..42daf14615 100644 --- a/crates/editor/src/editor_tests.rs +++ b/crates/editor/src/editor_tests.rs @@ -4724,23 +4724,6 @@ async fn test_toggle_case(cx: &mut TestAppContext) { "}); } -#[gpui::test] -async fn test_convert_to_sentence_case(cx: &mut TestAppContext) { - init_test(cx, |_| {}); - - let mut cx = EditorTestContext::new(cx).await; - - cx.set_state(indoc! {" - «implement-windows-supportˇ» - "}); - cx.update_editor(|e, window, cx| { - e.convert_to_sentence_case(&ConvertToSentenceCase, window, cx) - }); - cx.assert_editor_state(indoc! {" - «Implement windows supportˇ» - "}); -} - #[gpui::test] async fn test_manipulate_text(cx: &mut TestAppContext) { init_test(cx, |_| {}); @@ -5086,33 +5069,6 @@ fn test_move_line_up_down(cx: &mut TestAppContext) { }); } -#[gpui::test] -fn test_move_line_up_selection_at_end_of_fold(cx: &mut TestAppContext) { - init_test(cx, |_| {}); - let editor = cx.add_window(|window, cx| { - let buffer = MultiBuffer::build_simple("\n\n\n\n\n\naaaa\nbbbb\ncccc", cx); - build_editor(buffer, window, cx) - }); - _ = editor.update(cx, |editor, window, cx| { - editor.fold_creases( - vec![Crease::simple( - Point::new(6, 4)..Point::new(7, 4), - FoldPlaceholder::test(), - )], - true, - window, - cx, - ); - editor.change_selections(SelectionEffects::no_scroll(), window, cx, |s| { - s.select_ranges([Point::new(7, 4)..Point::new(7, 4)]) - }); - assert_eq!(editor.display_text(cx), "\n\n\n\n\n\naaaa⋯\ncccc"); - editor.move_line_up(&MoveLineUp, window, cx); - let buffer_text = editor.buffer.read(cx).snapshot(cx).text(); - assert_eq!(buffer_text, "\n\n\n\n\naaaa\nbbbb\n\ncccc"); - }); -} - #[gpui::test] fn test_move_line_up_down_with_blocks(cx: &mut TestAppContext) { init_test(cx, |_| {}); @@ -22835,435 +22791,6 @@ async fn test_indent_on_newline_for_python(cx: &mut TestAppContext) { "}); } -#[gpui::test] -async fn test_tab_in_leading_whitespace_auto_indents_for_bash(cx: &mut TestAppContext) { - init_test(cx, |_| {}); - - let mut cx = EditorTestContext::new(cx).await; - let language = languages::language("bash", tree_sitter_bash::LANGUAGE.into()); - cx.update_buffer(|buffer, cx| buffer.set_language(Some(language), cx)); - - // test cursor move to start of each line on tab - // for `if`, `elif`, `else`, `while`, `for`, `case` and `function` - cx.set_state(indoc! {" - function main() { - ˇ for item in $items; do - ˇ while [ -n \"$item\" ]; do - ˇ if [ \"$value\" -gt 10 ]; then - ˇ continue - ˇ elif [ \"$value\" -lt 0 ]; then - ˇ break - ˇ else - ˇ echo \"$item\" - ˇ fi - ˇ done - ˇ done - ˇ} - "}); - cx.update_editor(|e, window, cx| e.tab(&Tab, window, cx)); - cx.assert_editor_state(indoc! {" - function main() { - ˇfor item in $items; do - ˇwhile [ -n \"$item\" ]; do - ˇif [ \"$value\" -gt 10 ]; then - ˇcontinue - ˇelif [ \"$value\" -lt 0 ]; then - ˇbreak - ˇelse - ˇecho \"$item\" - ˇfi - ˇdone - ˇdone - ˇ} - "}); - // test relative indent is preserved when tab - cx.update_editor(|e, window, cx| e.tab(&Tab, window, cx)); - cx.assert_editor_state(indoc! {" - function main() { - ˇfor item in $items; do - ˇwhile [ -n \"$item\" ]; do - ˇif [ \"$value\" -gt 10 ]; then - ˇcontinue - ˇelif [ \"$value\" -lt 0 ]; then - ˇbreak - ˇelse - ˇecho \"$item\" - ˇfi - ˇdone - ˇdone - ˇ} - "}); - - // test cursor move to start of each line on tab - // for `case` statement with patterns - cx.set_state(indoc! {" - function handle() { - ˇ case \"$1\" in - ˇ start) - ˇ echo \"a\" - ˇ ;; - ˇ stop) - ˇ echo \"b\" - ˇ ;; - ˇ *) - ˇ echo \"c\" - ˇ ;; - ˇ esac - ˇ} - "}); - cx.update_editor(|e, window, cx| e.tab(&Tab, window, cx)); - cx.assert_editor_state(indoc! {" - function handle() { - ˇcase \"$1\" in - ˇstart) - ˇecho \"a\" - ˇ;; - ˇstop) - ˇecho \"b\" - ˇ;; - ˇ*) - ˇecho \"c\" - ˇ;; - ˇesac - ˇ} - "}); -} - -#[gpui::test] -async fn test_indent_after_input_for_bash(cx: &mut TestAppContext) { - init_test(cx, |_| {}); - - let mut cx = EditorTestContext::new(cx).await; - let language = languages::language("bash", tree_sitter_bash::LANGUAGE.into()); - cx.update_buffer(|buffer, cx| buffer.set_language(Some(language), cx)); - - // test indents on comment insert - cx.set_state(indoc! {" - function main() { - ˇ for item in $items; do - ˇ while [ -n \"$item\" ]; do - ˇ if [ \"$value\" -gt 10 ]; then - ˇ continue - ˇ elif [ \"$value\" -lt 0 ]; then - ˇ break - ˇ else - ˇ echo \"$item\" - ˇ fi - ˇ done - ˇ done - ˇ} - "}); - cx.update_editor(|e, window, cx| e.handle_input("#", window, cx)); - cx.assert_editor_state(indoc! {" - function main() { - #ˇ for item in $items; do - #ˇ while [ -n \"$item\" ]; do - #ˇ if [ \"$value\" -gt 10 ]; then - #ˇ continue - #ˇ elif [ \"$value\" -lt 0 ]; then - #ˇ break - #ˇ else - #ˇ echo \"$item\" - #ˇ fi - #ˇ done - #ˇ done - #ˇ} - "}); -} - -#[gpui::test] -async fn test_outdent_after_input_for_bash(cx: &mut TestAppContext) { - init_test(cx, |_| {}); - - let mut cx = EditorTestContext::new(cx).await; - let language = languages::language("bash", tree_sitter_bash::LANGUAGE.into()); - cx.update_buffer(|buffer, cx| buffer.set_language(Some(language), cx)); - - // test `else` auto outdents when typed inside `if` block - cx.set_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"foo bar\" - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("else", window, cx); - }); - cx.assert_editor_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"foo bar\" - elseˇ - "}); - - // test `elif` auto outdents when typed inside `if` block - cx.set_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"foo bar\" - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("elif", window, cx); - }); - cx.assert_editor_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"foo bar\" - elifˇ - "}); - - // test `fi` auto outdents when typed inside `else` block - cx.set_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"foo bar\" - else - echo \"bar baz\" - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("fi", window, cx); - }); - cx.assert_editor_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"foo bar\" - else - echo \"bar baz\" - fiˇ - "}); - - // test `done` auto outdents when typed inside `while` block - cx.set_state(indoc! {" - while read line; do - echo \"$line\" - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("done", window, cx); - }); - cx.assert_editor_state(indoc! {" - while read line; do - echo \"$line\" - doneˇ - "}); - - // test `done` auto outdents when typed inside `for` block - cx.set_state(indoc! {" - for file in *.txt; do - cat \"$file\" - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("done", window, cx); - }); - cx.assert_editor_state(indoc! {" - for file in *.txt; do - cat \"$file\" - doneˇ - "}); - - // test `esac` auto outdents when typed inside `case` block - cx.set_state(indoc! {" - case \"$1\" in - start) - echo \"foo bar\" - ;; - stop) - echo \"bar baz\" - ;; - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("esac", window, cx); - }); - cx.assert_editor_state(indoc! {" - case \"$1\" in - start) - echo \"foo bar\" - ;; - stop) - echo \"bar baz\" - ;; - esacˇ - "}); - - // test `*)` auto outdents when typed inside `case` block - cx.set_state(indoc! {" - case \"$1\" in - start) - echo \"foo bar\" - ;; - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("*)", window, cx); - }); - cx.assert_editor_state(indoc! {" - case \"$1\" in - start) - echo \"foo bar\" - ;; - *)ˇ - "}); - - // test `fi` outdents to correct level with nested if blocks - cx.set_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"outer if\" - if [ \"$2\" = \"debug\" ]; then - echo \"inner if\" - ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.handle_input("fi", window, cx); - }); - cx.assert_editor_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - echo \"outer if\" - if [ \"$2\" = \"debug\" ]; then - echo \"inner if\" - fiˇ - "}); -} - -#[gpui::test] -async fn test_indent_on_newline_for_bash(cx: &mut TestAppContext) { - init_test(cx, |_| {}); - update_test_language_settings(cx, |settings| { - settings.defaults.extend_comment_on_newline = Some(false); - }); - let mut cx = EditorTestContext::new(cx).await; - let language = languages::language("bash", tree_sitter_bash::LANGUAGE.into()); - cx.update_buffer(|buffer, cx| buffer.set_language(Some(language), cx)); - - // test correct indent after newline on comment - cx.set_state(indoc! {" - # COMMENT:ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.assert_editor_state(indoc! {" - # COMMENT: - ˇ - "}); - - // test correct indent after newline after `then` - cx.set_state(indoc! {" - - if [ \"$1\" = \"test\" ]; thenˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - - if [ \"$1\" = \"test\" ]; then - ˇ - "}); - - // test correct indent after newline after `else` - cx.set_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - elseˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - else - ˇ - "}); - - // test correct indent after newline after `elif` - cx.set_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - elifˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - if [ \"$1\" = \"test\" ]; then - elif - ˇ - "}); - - // test correct indent after newline after `do` - cx.set_state(indoc! {" - for file in *.txt; doˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - for file in *.txt; do - ˇ - "}); - - // test correct indent after newline after case pattern - cx.set_state(indoc! {" - case \"$1\" in - start)ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - case \"$1\" in - start) - ˇ - "}); - - // test correct indent after newline after case pattern - cx.set_state(indoc! {" - case \"$1\" in - start) - ;; - *)ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - case \"$1\" in - start) - ;; - *) - ˇ - "}); - - // test correct indent after newline after function opening brace - cx.set_state(indoc! {" - function test() {ˇ} - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - function test() { - ˇ - } - "}); - - // test no extra indent after semicolon on same line - cx.set_state(indoc! {" - echo \"test\";ˇ - "}); - cx.update_editor(|editor, window, cx| { - editor.newline(&Newline, window, cx); - }); - cx.run_until_parked(); - cx.assert_editor_state(indoc! {" - echo \"test\"; - ˇ - "}); -} - fn empty_range(row: usize, column: usize) -> Range<DisplayPoint> { let point = DisplayPoint::new(DisplayRow(row as u32), column as u32); point..point diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index 7e77f113ac..1b372a7d53 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -230,6 +230,7 @@ impl EditorElement { register_action(editor, window, Editor::sort_lines_case_insensitive); register_action(editor, window, Editor::reverse_lines); register_action(editor, window, Editor::shuffle_lines); + register_action(editor, window, Editor::toggle_case); register_action(editor, window, Editor::convert_indentation_to_spaces); register_action(editor, window, Editor::convert_indentation_to_tabs); register_action(editor, window, Editor::convert_to_upper_case); @@ -240,8 +241,6 @@ impl EditorElement { register_action(editor, window, Editor::convert_to_upper_camel_case); register_action(editor, window, Editor::convert_to_lower_camel_case); register_action(editor, window, Editor::convert_to_opposite_case); - register_action(editor, window, Editor::convert_to_sentence_case); - register_action(editor, window, Editor::toggle_case); register_action(editor, window, Editor::convert_to_rot13); register_action(editor, window, Editor::convert_to_rot47); register_action(editor, window, Editor::delete_to_previous_word_start); @@ -4011,7 +4010,6 @@ impl EditorElement { let available_width = hitbox.bounds.size.width - right_margin; let mut header = v_flex() - .w_full() .relative() .child( div() @@ -7944,11 +7942,17 @@ impl Element for EditorElement { right: right_margin, }; + // Offset the content_bounds from the text_bounds by the gutter margin (which + // is roughly half a character wide) to make hit testing work more like how we want. + let content_offset = point(editor_margins.gutter.margin, Pixels::ZERO); + + let editor_content_width = editor_width - content_offset.x; + snapshot = self.editor.update(cx, |editor, cx| { editor.last_bounds = Some(bounds); editor.gutter_dimensions = gutter_dimensions; editor.set_visible_line_count(bounds.size.height / line_height, window, cx); - editor.set_visible_column_count(editor_width / em_advance); + editor.set_visible_column_count(editor_content_width / em_advance); if matches!( editor.mode, @@ -7960,10 +7964,10 @@ impl Element for EditorElement { let wrap_width = match editor.soft_wrap_mode(cx) { SoftWrap::GitDiff => None, SoftWrap::None => Some(wrap_width_for(MAX_LINE_LEN as u32 / 2)), - SoftWrap::EditorWidth => Some(editor_width), + SoftWrap::EditorWidth => Some(editor_content_width), SoftWrap::Column(column) => Some(wrap_width_for(column)), SoftWrap::Bounded(column) => { - Some(editor_width.min(wrap_width_for(column))) + Some(editor_content_width.min(wrap_width_for(column))) } }; @@ -7988,12 +7992,13 @@ impl Element for EditorElement { HitboxBehavior::Normal, ); - // Offset the content_bounds from the text_bounds by the gutter margin (which - // is roughly half a character wide) to make hit testing work more like how we want. - let content_offset = point(editor_margins.gutter.margin, Pixels::ZERO); let content_origin = text_hitbox.origin + content_offset; - let height_in_lines = bounds.size.height / line_height; + let editor_text_bounds = + Bounds::from_corners(content_origin, bounds.bottom_right()); + + let height_in_lines = editor_text_bounds.size.height / line_height; + let max_row = snapshot.max_point().row().as_f32(); // The max scroll position for the top of the window @@ -8377,6 +8382,7 @@ impl Element for EditorElement { glyph_grid_cell, size(longest_line_width, max_row.as_f32() * line_height), longest_line_blame_width, + editor_width, EditorSettings::get_global(cx), ); @@ -8448,7 +8454,7 @@ impl Element for EditorElement { MultiBufferRow(end_anchor.to_point(&snapshot.buffer_snapshot).row); let scroll_max = point( - ((scroll_width - editor_width) / em_advance).max(0.0), + ((scroll_width - editor_content_width) / em_advance).max(0.0), max_scroll_top, ); @@ -8460,7 +8466,7 @@ impl Element for EditorElement { if needs_horizontal_autoscroll.0 && let Some(new_scroll_position) = editor.autoscroll_horizontally( start_row, - editor_width, + editor_content_width, scroll_width, em_advance, &line_layouts, @@ -9041,6 +9047,7 @@ impl ScrollbarLayoutInformation { glyph_grid_cell: Size<Pixels>, document_size: Size<Pixels>, longest_line_blame_width: Pixels, + editor_width: Pixels, settings: &EditorSettings, ) -> Self { let vertical_overscroll = match settings.scroll_beyond_last_line { @@ -9051,11 +9058,19 @@ impl ScrollbarLayoutInformation { } }; - let overscroll = size(longest_line_blame_width, vertical_overscroll); + let right_margin = if document_size.width + longest_line_blame_width >= editor_width { + glyph_grid_cell.width + } else { + px(0.0) + }; + + let overscroll = size(right_margin + longest_line_blame_width, vertical_overscroll); + + let scroll_range = document_size + overscroll; ScrollbarLayoutInformation { editor_bounds, - scroll_range: document_size + overscroll, + scroll_range, glyph_grid_cell, } } @@ -9160,7 +9175,7 @@ struct EditorScrollbars { impl EditorScrollbars { pub fn from_scrollbar_axes( - show_scrollbar: ScrollbarAxes, + settings_visibility: ScrollbarAxes, layout_information: &ScrollbarLayoutInformation, content_offset: gpui::Point<Pixels>, scroll_position: gpui::Point<f32>, @@ -9198,13 +9213,22 @@ impl EditorScrollbars { }; let mut create_scrollbar_layout = |axis| { - let viewport_size = viewport_size.along(axis); - let scroll_range = scroll_range.along(axis); - - // We always want a vertical scrollbar track for scrollbar diagnostic visibility. - (show_scrollbar.along(axis) - && (axis == ScrollbarAxis::Vertical || scroll_range > viewport_size)) + settings_visibility + .along(axis) .then(|| { + ( + viewport_size.along(axis) - content_offset.along(axis), + scroll_range.along(axis), + ) + }) + .filter(|(viewport_size, scroll_range)| { + // The scrollbar should only be rendered if the content does + // not entirely fit into the editor + // However, this only applies to the horizontal scrollbar, as information about the + // vertical scrollbar layout is always needed for scrollbar diagnostics. + axis != ScrollbarAxis::Horizontal || viewport_size < scroll_range + }) + .map(|(viewport_size, scroll_range)| { ScrollbarLayout::new( window.insert_hitbox(scrollbar_bounds_for(axis), HitboxBehavior::Normal), viewport_size, diff --git a/crates/eval/Cargo.toml b/crates/eval/Cargo.toml index a0214c76a1..d5db7f71a4 100644 --- a/crates/eval/Cargo.toml +++ b/crates/eval/Cargo.toml @@ -19,8 +19,8 @@ path = "src/explorer.rs" [dependencies] agent.workspace = true -agent_settings.workspace = true agent_ui.workspace = true +agent_settings.workspace = true anyhow.workspace = true assistant_tool.workspace = true assistant_tools.workspace = true @@ -29,7 +29,6 @@ buffer_diff.workspace = true chrono.workspace = true clap.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true debug_adapter_extension.workspace = true dirs.workspace = true @@ -69,3 +68,4 @@ util.workspace = true uuid.workspace = true watch.workspace = true workspace-hack.workspace = true +zed_llm_client.workspace = true diff --git a/crates/eval/src/example.rs b/crates/eval/src/example.rs index 23c8814916..7ce3b1fdf1 100644 --- a/crates/eval/src/example.rs +++ b/crates/eval/src/example.rs @@ -15,11 +15,11 @@ use agent_settings::AgentProfileId; use anyhow::{Result, anyhow}; use async_trait::async_trait; use buffer_diff::DiffHunkStatus; -use cloud_llm_client::CompletionIntent; use collections::HashMap; use futures::{FutureExt as _, StreamExt, channel::mpsc, select_biased}; use gpui::{App, AppContext, AsyncApp, Entity}; use language_model::{LanguageModel, Role, StopReason}; +use zed_llm_client::CompletionIntent; pub const THREAD_EVENT_TIMEOUT: Duration = Duration::from_secs(60 * 2); diff --git a/crates/extension/Cargo.toml b/crates/extension/Cargo.toml index 42189f20b3..4fc7da2dca 100644 --- a/crates/extension/Cargo.toml +++ b/crates/extension/Cargo.toml @@ -32,11 +32,7 @@ serde.workspace = true serde_json.workspace = true task.workspace = true toml.workspace = true -url.workspace = true util.workspace = true wasm-encoder.workspace = true wasmparser.workspace = true workspace-hack.workspace = true - -[dev-dependencies] -pretty_assertions.workspace = true diff --git a/crates/extension/src/capabilities.rs b/crates/extension/src/capabilities.rs deleted file mode 100644 index b8afc4ec06..0000000000 --- a/crates/extension/src/capabilities.rs +++ /dev/null @@ -1,20 +0,0 @@ -mod download_file_capability; -mod npm_install_package_capability; -mod process_exec_capability; - -pub use download_file_capability::*; -pub use npm_install_package_capability::*; -pub use process_exec_capability::*; - -use serde::{Deserialize, Serialize}; - -/// A capability for an extension. -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] -#[serde(tag = "kind", rename_all = "snake_case")] -pub enum ExtensionCapability { - #[serde(rename = "process:exec")] - ProcessExec(ProcessExecCapability), - DownloadFile(DownloadFileCapability), - #[serde(rename = "npm:install")] - NpmInstallPackage(NpmInstallPackageCapability), -} diff --git a/crates/extension/src/capabilities/download_file_capability.rs b/crates/extension/src/capabilities/download_file_capability.rs deleted file mode 100644 index a76755b593..0000000000 --- a/crates/extension/src/capabilities/download_file_capability.rs +++ /dev/null @@ -1,121 +0,0 @@ -use serde::{Deserialize, Serialize}; -use url::Url; - -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub struct DownloadFileCapability { - pub host: String, - pub path: Vec<String>, -} - -impl DownloadFileCapability { - /// Returns whether the capability allows downloading a file from the given URL. - pub fn allows(&self, url: &Url) -> bool { - let Some(desired_host) = url.host_str() else { - return false; - }; - - let Some(desired_path) = url.path_segments() else { - return false; - }; - let desired_path = desired_path.collect::<Vec<_>>(); - - if self.host != desired_host && self.host != "*" { - return false; - } - - for (ix, path_segment) in self.path.iter().enumerate() { - if path_segment == "**" { - return true; - } - - if ix >= desired_path.len() { - return false; - } - - if path_segment != "*" && path_segment != desired_path[ix] { - return false; - } - } - - if self.path.len() < desired_path.len() { - return false; - } - - true - } -} - -#[cfg(test)] -mod tests { - use pretty_assertions::assert_eq; - - use super::*; - - #[test] - fn test_allows() { - let capability = DownloadFileCapability { - host: "*".to_string(), - path: vec!["**".to_string()], - }; - assert_eq!( - capability.allows(&"https://example.com/some/path".parse().unwrap()), - true - ); - - let capability = DownloadFileCapability { - host: "github.com".to_string(), - path: vec!["**".to_string()], - }; - assert_eq!( - capability.allows(&"https://github.com/some-owner/some-repo".parse().unwrap()), - true - ); - assert_eq!( - capability.allows( - &"https://fake-github.com/some-owner/some-repo" - .parse() - .unwrap() - ), - false - ); - - let capability = DownloadFileCapability { - host: "github.com".to_string(), - path: vec!["specific-owner".to_string(), "*".to_string()], - }; - assert_eq!( - capability.allows(&"https://github.com/some-owner/some-repo".parse().unwrap()), - false - ); - assert_eq!( - capability.allows( - &"https://github.com/specific-owner/some-repo" - .parse() - .unwrap() - ), - true - ); - - let capability = DownloadFileCapability { - host: "github.com".to_string(), - path: vec!["specific-owner".to_string(), "*".to_string()], - }; - assert_eq!( - capability.allows( - &"https://github.com/some-owner/some-repo/extra" - .parse() - .unwrap() - ), - false - ); - assert_eq!( - capability.allows( - &"https://github.com/specific-owner/some-repo/extra" - .parse() - .unwrap() - ), - false - ); - } -} diff --git a/crates/extension/src/capabilities/npm_install_package_capability.rs b/crates/extension/src/capabilities/npm_install_package_capability.rs deleted file mode 100644 index 287645fc75..0000000000 --- a/crates/extension/src/capabilities/npm_install_package_capability.rs +++ /dev/null @@ -1,39 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub struct NpmInstallPackageCapability { - pub package: String, -} - -impl NpmInstallPackageCapability { - /// Returns whether the capability allows installing the given NPM package. - pub fn allows(&self, package: &str) -> bool { - self.package == "*" || self.package == package - } -} - -#[cfg(test)] -mod tests { - use pretty_assertions::assert_eq; - - use super::*; - - #[test] - fn test_allows() { - let capability = NpmInstallPackageCapability { - package: "*".to_string(), - }; - assert_eq!(capability.allows("package"), true); - - let capability = NpmInstallPackageCapability { - package: "react".to_string(), - }; - assert_eq!(capability.allows("react"), true); - - let capability = NpmInstallPackageCapability { - package: "react".to_string(), - }; - assert_eq!(capability.allows("malicious-package"), false); - } -} diff --git a/crates/extension/src/capabilities/process_exec_capability.rs b/crates/extension/src/capabilities/process_exec_capability.rs deleted file mode 100644 index 053a7b212b..0000000000 --- a/crates/extension/src/capabilities/process_exec_capability.rs +++ /dev/null @@ -1,116 +0,0 @@ -use serde::{Deserialize, Serialize}; - -#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub struct ProcessExecCapability { - /// The command to execute. - pub command: String, - /// The arguments to pass to the command. Use `*` for a single wildcard argument. - /// If the last element is `**`, then any trailing arguments are allowed. - pub args: Vec<String>, -} - -impl ProcessExecCapability { - /// Returns whether the capability allows the given command and arguments. - pub fn allows( - &self, - desired_command: &str, - desired_args: &[impl AsRef<str> + std::fmt::Debug], - ) -> bool { - if self.command != desired_command && self.command != "*" { - return false; - } - - for (ix, arg) in self.args.iter().enumerate() { - if arg == "**" { - return true; - } - - if ix >= desired_args.len() { - return false; - } - - if arg != "*" && arg != desired_args[ix].as_ref() { - return false; - } - } - - if self.args.len() < desired_args.len() { - return false; - } - - true - } -} - -#[cfg(test)] -mod tests { - use pretty_assertions::assert_eq; - - use super::*; - - #[test] - fn test_allows_with_exact_match() { - let capability = ProcessExecCapability { - command: "ls".to_string(), - args: vec!["-la".to_string()], - }; - - assert_eq!(capability.allows("ls", &["-la"]), true); - assert_eq!(capability.allows("ls", &["-l"]), false); - assert_eq!(capability.allows("pwd", &[] as &[&str]), false); - } - - #[test] - fn test_allows_with_wildcard_arg() { - let capability = ProcessExecCapability { - command: "git".to_string(), - args: vec!["*".to_string()], - }; - - assert_eq!(capability.allows("git", &["status"]), true); - assert_eq!(capability.allows("git", &["commit"]), true); - // Too many args. - assert_eq!(capability.allows("git", &["status", "-s"]), false); - // Wrong command. - assert_eq!(capability.allows("npm", &["install"]), false); - } - - #[test] - fn test_allows_with_double_wildcard() { - let capability = ProcessExecCapability { - command: "cargo".to_string(), - args: vec!["test".to_string(), "**".to_string()], - }; - - assert_eq!(capability.allows("cargo", &["test"]), true); - assert_eq!(capability.allows("cargo", &["test", "--all"]), true); - assert_eq!( - capability.allows("cargo", &["test", "--all", "--no-fail-fast"]), - true - ); - // Wrong first arg. - assert_eq!(capability.allows("cargo", &["build"]), false); - } - - #[test] - fn test_allows_with_mixed_wildcards() { - let capability = ProcessExecCapability { - command: "docker".to_string(), - args: vec!["run".to_string(), "*".to_string(), "**".to_string()], - }; - - assert_eq!(capability.allows("docker", &["run", "nginx"]), true); - assert_eq!(capability.allows("docker", &["run"]), false); - assert_eq!( - capability.allows("docker", &["run", "ubuntu", "bash"]), - true - ); - assert_eq!( - capability.allows("docker", &["run", "alpine", "sh", "-c", "echo hello"]), - true - ); - // Wrong first arg. - assert_eq!(capability.allows("docker", &["ps"]), false); - } -} diff --git a/crates/extension/src/extension.rs b/crates/extension/src/extension.rs index 35f7f41938..8b150e19b9 100644 --- a/crates/extension/src/extension.rs +++ b/crates/extension/src/extension.rs @@ -1,4 +1,3 @@ -mod capabilities; pub mod extension_builder; mod extension_events; mod extension_host_proxy; @@ -17,7 +16,6 @@ use language::LanguageName; use semantic_version::SemanticVersion; use task::{SpawnInTerminal, ZedDebugConfig}; -pub use crate::capabilities::*; pub use crate::extension_events::*; pub use crate::extension_host_proxy::*; pub use crate::extension_manifest::*; diff --git a/crates/extension/src/extension_manifest.rs b/crates/extension/src/extension_manifest.rs index e3235cf561..0a14923c0c 100644 --- a/crates/extension/src/extension_manifest.rs +++ b/crates/extension/src/extension_manifest.rs @@ -12,8 +12,6 @@ use std::{ sync::Arc, }; -use crate::ExtensionCapability; - /// This is the old version of the extension manifest, from when it was `extension.json`. #[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] pub struct OldExtensionManifest { @@ -102,8 +100,24 @@ impl ExtensionManifest { desired_args: &[impl AsRef<str> + std::fmt::Debug], ) -> Result<()> { let is_allowed = self.capabilities.iter().any(|capability| match capability { - ExtensionCapability::ProcessExec(capability) => { - capability.allows(desired_command, desired_args) + ExtensionCapability::ProcessExec { command, args } if command == desired_command => { + for (ix, arg) in args.iter().enumerate() { + if arg == "**" { + return true; + } + + if ix >= desired_args.len() { + return false; + } + + if arg != "*" && arg != desired_args[ix].as_ref() { + return false; + } + } + if args.len() < desired_args.len() { + return false; + } + true } _ => false, }); @@ -134,6 +148,20 @@ pub fn build_debug_adapter_schema_path( }) } +/// A capability for an extension. +#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)] +#[serde(tag = "kind")] +pub enum ExtensionCapability { + #[serde(rename = "process:exec")] + ProcessExec { + /// The command to execute. + command: String, + /// The arguments to pass to the command. Use `*` for a single wildcard argument. + /// If the last element is `**`, then any trailing arguments are allowed. + args: Vec<String>, + }, +} + #[derive(Clone, Default, PartialEq, Eq, Debug, Deserialize, Serialize)] pub struct LibManifestEntry { pub kind: Option<ExtensionLibraryKind>, @@ -281,10 +309,6 @@ fn manifest_from_old_manifest( #[cfg(test)] mod tests { - use pretty_assertions::assert_eq; - - use crate::ProcessExecCapability; - use super::*; fn extension_manifest() -> ExtensionManifest { @@ -336,12 +360,12 @@ mod tests { } #[test] - fn test_allow_exec_exact_match() { + fn test_allow_exact_match() { let manifest = ExtensionManifest { - capabilities: vec![ExtensionCapability::ProcessExec(ProcessExecCapability { + capabilities: vec![ExtensionCapability::ProcessExec { command: "ls".to_string(), args: vec!["-la".to_string()], - })], + }], ..extension_manifest() }; @@ -351,12 +375,12 @@ mod tests { } #[test] - fn test_allow_exec_wildcard_arg() { + fn test_allow_wildcard_arg() { let manifest = ExtensionManifest { - capabilities: vec![ExtensionCapability::ProcessExec(ProcessExecCapability { + capabilities: vec![ExtensionCapability::ProcessExec { command: "git".to_string(), args: vec!["*".to_string()], - })], + }], ..extension_manifest() }; @@ -367,12 +391,12 @@ mod tests { } #[test] - fn test_allow_exec_double_wildcard() { + fn test_allow_double_wildcard() { let manifest = ExtensionManifest { - capabilities: vec![ExtensionCapability::ProcessExec(ProcessExecCapability { + capabilities: vec![ExtensionCapability::ProcessExec { command: "cargo".to_string(), args: vec!["test".to_string(), "**".to_string()], - })], + }], ..extension_manifest() }; @@ -387,12 +411,12 @@ mod tests { } #[test] - fn test_allow_exec_mixed_wildcards() { + fn test_allow_mixed_wildcards() { let manifest = ExtensionManifest { - capabilities: vec![ExtensionCapability::ProcessExec(ProcessExecCapability { + capabilities: vec![ExtensionCapability::ProcessExec { command: "docker".to_string(), args: vec!["run".to_string(), "*".to_string(), "**".to_string()], - })], + }], ..extension_manifest() }; diff --git a/crates/extension_host/benches/extension_compilation_benchmark.rs b/crates/extension_host/benches/extension_compilation_benchmark.rs index a4fa9bfeff..9d867af041 100644 --- a/crates/extension_host/benches/extension_compilation_benchmark.rs +++ b/crates/extension_host/benches/extension_compilation_benchmark.rs @@ -134,12 +134,10 @@ fn manifest() -> ExtensionManifest { slash_commands: BTreeMap::default(), indexed_docs_providers: BTreeMap::default(), snippets: None, - capabilities: vec![ExtensionCapability::ProcessExec( - extension::ProcessExecCapability { - command: "echo".into(), - args: vec!["hello!".into()], - }, - )], + capabilities: vec![ExtensionCapability::ProcessExec { + command: "echo".into(), + args: vec!["hello!".into()], + }], debug_adapters: Default::default(), debug_locators: Default::default(), } diff --git a/crates/extension_host/src/capability_granter.rs b/crates/extension_host/src/capability_granter.rs deleted file mode 100644 index c77e5ecba1..0000000000 --- a/crates/extension_host/src/capability_granter.rs +++ /dev/null @@ -1,153 +0,0 @@ -use std::sync::Arc; - -use anyhow::{Result, bail}; -use extension::{ExtensionCapability, ExtensionManifest}; -use url::Url; - -pub struct CapabilityGranter { - granted_capabilities: Vec<ExtensionCapability>, - manifest: Arc<ExtensionManifest>, -} - -impl CapabilityGranter { - pub fn new( - granted_capabilities: Vec<ExtensionCapability>, - manifest: Arc<ExtensionManifest>, - ) -> Self { - Self { - granted_capabilities, - manifest, - } - } - - pub fn grant_exec( - &self, - desired_command: &str, - desired_args: &[impl AsRef<str> + std::fmt::Debug], - ) -> Result<()> { - self.manifest.allow_exec(desired_command, desired_args)?; - - let is_allowed = self - .granted_capabilities - .iter() - .any(|capability| match capability { - ExtensionCapability::ProcessExec(capability) => { - capability.allows(desired_command, desired_args) - } - _ => false, - }); - - if !is_allowed { - bail!( - "capability for process:exec {desired_command} {desired_args:?} is not granted by the extension host", - ); - } - - Ok(()) - } - - pub fn grant_download_file(&self, desired_url: &Url) -> Result<()> { - let is_allowed = self - .granted_capabilities - .iter() - .any(|capability| match capability { - ExtensionCapability::DownloadFile(capability) => capability.allows(desired_url), - _ => false, - }); - - if !is_allowed { - bail!( - "capability for download_file {desired_url} is not granted by the extension host", - ); - } - - Ok(()) - } - - pub fn grant_npm_install_package(&self, package_name: &str) -> Result<()> { - let is_allowed = self - .granted_capabilities - .iter() - .any(|capability| match capability { - ExtensionCapability::NpmInstallPackage(capability) => { - capability.allows(package_name) - } - _ => false, - }); - - if !is_allowed { - bail!("capability for npm:install {package_name} is not granted by the extension host",); - } - - Ok(()) - } -} - -#[cfg(test)] -mod tests { - use std::collections::BTreeMap; - - use extension::{ProcessExecCapability, SchemaVersion}; - - use super::*; - - fn extension_manifest() -> ExtensionManifest { - ExtensionManifest { - id: "test".into(), - name: "Test".to_string(), - version: "1.0.0".into(), - schema_version: SchemaVersion::ZERO, - description: None, - repository: None, - authors: vec![], - lib: Default::default(), - themes: vec![], - icon_themes: vec![], - languages: vec![], - grammars: BTreeMap::default(), - language_servers: BTreeMap::default(), - context_servers: BTreeMap::default(), - slash_commands: BTreeMap::default(), - indexed_docs_providers: BTreeMap::default(), - snippets: None, - capabilities: vec![], - debug_adapters: Default::default(), - debug_locators: Default::default(), - } - } - - #[test] - fn test_grant_exec() { - let manifest = Arc::new(ExtensionManifest { - capabilities: vec![ExtensionCapability::ProcessExec(ProcessExecCapability { - command: "ls".to_string(), - args: vec!["-la".to_string()], - })], - ..extension_manifest() - }); - - // It returns an error when the extension host has no granted capabilities. - let granter = CapabilityGranter::new(Vec::new(), manifest.clone()); - assert!(granter.grant_exec("ls", &["-la"]).is_err()); - - // It succeeds when the extension host has the exact capability. - let granter = CapabilityGranter::new( - vec![ExtensionCapability::ProcessExec(ProcessExecCapability { - command: "ls".to_string(), - args: vec!["-la".to_string()], - })], - manifest.clone(), - ); - assert!(granter.grant_exec("ls", &["-la"]).is_ok()); - - // It succeeds when the extension host has a wildcard capability. - let granter = CapabilityGranter::new( - vec![ExtensionCapability::ProcessExec(ProcessExecCapability { - command: "*".to_string(), - args: vec!["**".to_string()], - })], - manifest.clone(), - ); - assert!(granter.grant_exec("ls", &["-la"]).is_ok()); - } -} diff --git a/crates/extension_host/src/extension_host.rs b/crates/extension_host/src/extension_host.rs index dc38c244f1..fd64d3fa59 100644 --- a/crates/extension_host/src/extension_host.rs +++ b/crates/extension_host/src/extension_host.rs @@ -1,4 +1,3 @@ -mod capability_granter; pub mod extension_settings; pub mod headless_host; pub mod wasm_host; diff --git a/crates/extension_host/src/wasm_host.rs b/crates/extension_host/src/wasm_host.rs index d990b670f4..dcd52d0d02 100644 --- a/crates/extension_host/src/wasm_host.rs +++ b/crates/extension_host/src/wasm_host.rs @@ -1,15 +1,13 @@ pub mod wit; use crate::ExtensionManifest; -use crate::capability_granter::CapabilityGranter; use anyhow::{Context as _, Result, anyhow, bail}; use async_trait::async_trait; use dap::{DebugRequest, StartDebuggingRequestArgumentsRequest}; use extension::{ CodeLabel, Command, Completion, ContextServerConfiguration, DebugAdapterBinary, - DebugTaskDefinition, DownloadFileCapability, ExtensionCapability, ExtensionHostProxy, - KeyValueStoreDelegate, NpmInstallPackageCapability, ProcessExecCapability, ProjectDelegate, - SlashCommand, SlashCommandArgumentCompletion, SlashCommandOutput, Symbol, WorktreeDelegate, + DebugTaskDefinition, ExtensionHostProxy, KeyValueStoreDelegate, ProjectDelegate, SlashCommand, + SlashCommandArgumentCompletion, SlashCommandOutput, Symbol, WorktreeDelegate, }; use fs::{Fs, normalize_path}; use futures::future::LocalBoxFuture; @@ -52,8 +50,6 @@ pub struct WasmHost { pub(crate) proxy: Arc<ExtensionHostProxy>, fs: Arc<dyn Fs>, pub work_dir: PathBuf, - /// The capabilities granted to extensions running on the host. - pub(crate) granted_capabilities: Vec<ExtensionCapability>, _main_thread_message_task: Task<()>, main_thread_message_tx: mpsc::UnboundedSender<MainThreadCall>, } @@ -490,7 +486,6 @@ pub struct WasmState { pub table: ResourceTable, ctx: wasi::WasiCtx, pub host: Arc<WasmHost>, - pub(crate) capability_granter: CapabilityGranter, } type MainThreadCall = Box<dyn Send + for<'a> FnOnce(&'a mut AsyncApp) -> LocalBoxFuture<'a, ()>>; @@ -576,19 +571,6 @@ impl WasmHost { node_runtime, proxy, release_channel: ReleaseChannel::global(cx), - granted_capabilities: vec![ - ExtensionCapability::ProcessExec(ProcessExecCapability { - command: "*".to_string(), - args: vec!["**".to_string()], - }), - ExtensionCapability::DownloadFile(DownloadFileCapability { - host: "*".to_string(), - path: vec!["**".to_string()], - }), - ExtensionCapability::NpmInstallPackage(NpmInstallPackageCapability { - package: "*".to_string(), - }), - ], _main_thread_message_task: task, main_thread_message_tx: tx, }) @@ -615,10 +597,6 @@ impl WasmHost { manifest: manifest.clone(), table: ResourceTable::new(), host: this.clone(), - capability_granter: CapabilityGranter::new( - this.granted_capabilities.clone(), - manifest.clone(), - ), }, ); // Store will yield after 1 tick, and get a new deadline of 1 tick after each yield. diff --git a/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs b/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs index 767b9033ad..d25328ee7f 100644 --- a/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs +++ b/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs @@ -30,7 +30,6 @@ use std::{ sync::{Arc, OnceLock}, }; use task::{SpawnInTerminal, ZedDebugConfig}; -use url::Url; use util::{archive::extract_zip, fs::make_file_executable, maybe}; use wasmtime::component::{Linker, Resource}; @@ -745,9 +744,6 @@ impl nodejs::Host for WasmState { package_name: String, version: String, ) -> wasmtime::Result<Result<(), String>> { - self.capability_granter - .grant_npm_install_package(&package_name)?; - self.host .node_runtime .npm_install_packages(&self.work_dir(), &[(&package_name, &version)]) @@ -851,8 +847,7 @@ impl process::Host for WasmState { command: process::Command, ) -> wasmtime::Result<Result<process::Output, String>> { maybe!(async { - self.capability_granter - .grant_exec(&command.command, &command.args)?; + self.manifest.allow_exec(&command.command, &command.args)?; let output = util::command::new_smol_command(command.command.as_str()) .args(&command.args) @@ -1015,9 +1010,6 @@ impl ExtensionImports for WasmState { file_type: DownloadedFileType, ) -> wasmtime::Result<Result<(), String>> { maybe!(async { - let parsed_url = Url::parse(&url)?; - self.capability_granter.grant_download_file(&parsed_url)?; - let path = PathBuf::from(path); let extension_work_dir = self.host.work_dir.join(self.manifest.id.as_ref()); diff --git a/crates/feature_flags/src/feature_flags.rs b/crates/feature_flags/src/feature_flags.rs index 631bafc841..da85133bb9 100644 --- a/crates/feature_flags/src/feature_flags.rs +++ b/crates/feature_flags/src/feature_flags.rs @@ -85,11 +85,6 @@ impl FeatureFlag for ThreadAutoCaptureFeatureFlag { false } } -pub struct PanicFeatureFlag; - -impl FeatureFlag for PanicFeatureFlag { - const NAME: &'static str = "panic"; -} pub struct JjUiFeatureFlag {} diff --git a/crates/file_finder/src/file_finder.rs b/crates/file_finder/src/file_finder.rs index e5ac70bb58..a4d61dd56f 100644 --- a/crates/file_finder/src/file_finder.rs +++ b/crates/file_finder/src/file_finder.rs @@ -1404,21 +1404,14 @@ impl PickerDelegate for FileFinderDelegate { } else { let path_position = PathWithPosition::parse_str(&raw_query); - #[cfg(windows)] - let raw_query = raw_query.trim().to_owned().replace("/", "\\"); - #[cfg(not(windows))] - let raw_query = raw_query.trim().to_owned(); - - let file_query_end = if path_position.path.to_str().unwrap_or(&raw_query) == raw_query { - None - } else { - // Safe to unwrap as we won't get here when the unwrap in if fails - Some(path_position.path.to_str().unwrap().len()) - }; - let query = FileSearchQuery { - raw_query, - file_query_end, + raw_query: raw_query.trim().to_owned(), + file_query_end: if path_position.path.to_str().unwrap_or(raw_query) == raw_query { + None + } else { + // Safe to unwrap as we won't get here when the unwrap in if fails + Some(path_position.path.to_str().unwrap().len()) + }, path_position, }; diff --git a/crates/fs/src/fake_git_repo.rs b/crates/fs/src/fake_git_repo.rs index 378a8fb7df..8a4f7c03bb 100644 --- a/crates/fs/src/fake_git_repo.rs +++ b/crates/fs/src/fake_git_repo.rs @@ -398,18 +398,6 @@ impl GitRepository for FakeGitRepository { }) } - fn stash_paths( - &self, - _paths: Vec<RepoPath>, - _env: Arc<HashMap<String, String>>, - ) -> BoxFuture<Result<()>> { - unimplemented!() - } - - fn stash_pop(&self, _env: Arc<HashMap<String, String>>) -> BoxFuture<Result<()>> { - unimplemented!() - } - fn commit( &self, _message: gpui::SharedString, diff --git a/crates/git/src/git.rs b/crates/git/src/git.rs index 553361e673..3714086dd0 100644 --- a/crates/git/src/git.rs +++ b/crates/git/src/git.rs @@ -55,10 +55,6 @@ actions!( StageAll, /// Unstages all changes in the repository. UnstageAll, - /// Stashes all changes in the repository, including untracked files. - StashAll, - /// Pops the most recent stash. - StashPop, /// Restores all tracked files to their last committed state. RestoreTrackedFiles, /// Moves all untracked files to trash. diff --git a/crates/git/src/repository.rs b/crates/git/src/repository.rs index a63315e69e..9cc3442392 100644 --- a/crates/git/src/repository.rs +++ b/crates/git/src/repository.rs @@ -395,14 +395,6 @@ pub trait GitRepository: Send + Sync { env: Arc<HashMap<String, String>>, ) -> BoxFuture<'_, Result<()>>; - fn stash_paths( - &self, - paths: Vec<RepoPath>, - env: Arc<HashMap<String, String>>, - ) -> BoxFuture<Result<()>>; - - fn stash_pop(&self, env: Arc<HashMap<String, String>>) -> BoxFuture<Result<()>>; - fn push( &self, branch_name: String, @@ -1197,55 +1189,6 @@ impl GitRepository for RealGitRepository { .boxed() } - fn stash_paths( - &self, - paths: Vec<RepoPath>, - env: Arc<HashMap<String, String>>, - ) -> BoxFuture<Result<()>> { - let working_directory = self.working_directory(); - self.executor - .spawn(async move { - let mut cmd = new_smol_command("git"); - cmd.current_dir(&working_directory?) - .envs(env.iter()) - .args(["stash", "push", "--quiet"]) - .arg("--include-untracked"); - - cmd.args(paths.iter().map(|p| p.as_ref())); - - let output = cmd.output().await?; - - anyhow::ensure!( - output.status.success(), - "Failed to stash:\n{}", - String::from_utf8_lossy(&output.stderr) - ); - Ok(()) - }) - .boxed() - } - - fn stash_pop(&self, env: Arc<HashMap<String, String>>) -> BoxFuture<Result<()>> { - let working_directory = self.working_directory(); - self.executor - .spawn(async move { - let mut cmd = new_smol_command("git"); - cmd.current_dir(&working_directory?) - .envs(env.iter()) - .args(["stash", "pop"]); - - let output = cmd.output().await?; - - anyhow::ensure!( - output.status.success(), - "Failed to stash pop:\n{}", - String::from_utf8_lossy(&output.stderr) - ); - Ok(()) - }) - .boxed() - } - fn commit( &self, message: SharedString, diff --git a/crates/git_hosting_providers/src/providers/github.rs b/crates/git_hosting_providers/src/providers/github.rs index 30f8d058a7..649b2f30ae 100644 --- a/crates/git_hosting_providers/src/providers/github.rs +++ b/crates/git_hosting_providers/src/providers/github.rs @@ -159,11 +159,7 @@ impl GitHostingProvider for Github { } let mut path_segments = url.path_segments()?; - let mut owner = path_segments.next()?; - if owner.is_empty() { - owner = path_segments.next()?; - } - + let owner = path_segments.next()?; let repo = path_segments.next()?.trim_end_matches(".git"); Some(ParsedGitRemote { @@ -248,22 +244,6 @@ mod tests { use super::*; - #[test] - fn test_remote_url_with_root_slash() { - let remote_url = "git@github.com:/zed-industries/zed"; - let parsed_remote = Github::public_instance() - .parse_remote_url(remote_url) - .unwrap(); - - assert_eq!( - parsed_remote, - ParsedGitRemote { - owner: "zed-industries".into(), - repo: "zed".into(), - } - ); - } - #[test] fn test_invalid_self_hosted_remote_url() { let remote_url = "git@github.com:zed-industries/zed.git"; diff --git a/crates/git_ui/Cargo.toml b/crates/git_ui/Cargo.toml index 4c919249ee..2fb80b7e73 100644 --- a/crates/git_ui/Cargo.toml +++ b/crates/git_ui/Cargo.toml @@ -24,7 +24,6 @@ buffer_diff.workspace = true call.workspace = true chrono.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true command_palette_hooks.workspace = true component.workspace = true @@ -63,6 +62,7 @@ watch.workspace = true workspace-hack.workspace = true workspace.workspace = true zed_actions.workspace = true +zed_llm_client.workspace = true [target.'cfg(windows)'.dependencies] windows.workspace = true diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index ee74ac4d54..19e2712d7c 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -27,10 +27,7 @@ use git::repository::{ }; use git::status::StageStatus; use git::{Amend, Signoff, ToggleStaged, repository::RepoPath, status::FileStatus}; -use git::{ - ExpandCommitEditor, RestoreTrackedFiles, StageAll, StashAll, StashPop, TrashUntrackedFiles, - UnstageAll, -}; +use git::{ExpandCommitEditor, RestoreTrackedFiles, StageAll, TrashUntrackedFiles, UnstageAll}; use gpui::{ Action, Animation, AnimationExt as _, AsyncApp, AsyncWindowContext, Axis, ClickEvent, Corner, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, KeyContext, @@ -71,12 +68,12 @@ use ui::{ use util::{ResultExt, TryFutureExt, maybe}; use workspace::SERIALIZATION_THROTTLE_TIME; -use cloud_llm_client::CompletionIntent; use workspace::{ Workspace, dock::{DockPosition, Panel, PanelEvent}, notifications::{DetachAndPromptErr, ErrorMessagePrompt, NotificationId}, }; +use zed_llm_client::CompletionIntent; actions!( git_panel, @@ -143,13 +140,6 @@ fn git_panel_context_menu( UnstageAll.boxed_clone(), ) .separator() - .action_disabled_when( - !(state.has_new_changes || state.has_tracked_changes), - "Stash All", - StashAll.boxed_clone(), - ) - .action("Stash Pop", StashPop.boxed_clone()) - .separator() .action("Open Diff", project_diff::Diff.boxed_clone()) .separator() .action_disabled_when( @@ -390,9 +380,6 @@ pub(crate) fn commit_message_editor( window: &mut Window, cx: &mut Context<Editor>, ) -> Editor { - project.update(cx, |this, cx| { - this.mark_buffer_as_non_searchable(commit_message_buffer.read(cx).remote_id(), cx); - }); let buffer = cx.new(|cx| MultiBuffer::singleton(commit_message_buffer, cx)); let max_lines = if in_panel { MAX_PANEL_EDITOR_LINES } else { 18 }; let mut commit_editor = Editor::new( @@ -1425,52 +1412,6 @@ impl GitPanel { self.tracked_staged_count + self.new_staged_count + self.conflicted_staged_count } - pub fn stash_pop(&mut self, _: &StashPop, _window: &mut Window, cx: &mut Context<Self>) { - let Some(active_repository) = self.active_repository.clone() else { - return; - }; - - cx.spawn({ - async move |this, cx| { - let stash_task = active_repository - .update(cx, |repo, cx| repo.stash_pop(cx))? - .await; - this.update(cx, |this, cx| { - stash_task - .map_err(|e| { - this.show_error_toast("stash pop", e, cx); - }) - .ok(); - cx.notify(); - }) - } - }) - .detach(); - } - - pub fn stash_all(&mut self, _: &StashAll, _window: &mut Window, cx: &mut Context<Self>) { - let Some(active_repository) = self.active_repository.clone() else { - return; - }; - - cx.spawn({ - async move |this, cx| { - let stash_task = active_repository - .update(cx, |repo, cx| repo.stash_all(cx))? - .await; - this.update(cx, |this, cx| { - stash_task - .map_err(|e| { - this.show_error_toast("stash", e, cx); - }) - .ok(); - cx.notify(); - }) - } - }) - .detach(); - } - pub fn commit_message_buffer(&self, cx: &App) -> Entity<Buffer> { self.commit_editor .read(cx) @@ -2416,7 +2357,7 @@ impl GitPanel { .committer_name .clone() .or_else(|| participant.user.name.clone()) - .unwrap_or_else(|| participant.user.github_login.clone().to_string()); + .unwrap_or_else(|| participant.user.github_login.clone()); new_co_authors.push((name.clone(), email.clone())) } } @@ -2436,7 +2377,7 @@ impl GitPanel { .name .clone() .or_else(|| user.name.clone()) - .unwrap_or_else(|| user.github_login.clone().to_string()); + .unwrap_or_else(|| user.github_login.clone()); Some((name, email)) } @@ -4430,8 +4371,6 @@ impl Render for GitPanel { .on_action(cx.listener(Self::revert_selected)) .on_action(cx.listener(Self::clean_all)) .on_action(cx.listener(Self::generate_commit_message_action)) - .on_action(cx.listener(Self::stash_all)) - .on_action(cx.listener(Self::stash_pop)) }) .on_action(cx.listener(Self::select_first)) .on_action(cx.listener(Self::select_next)) diff --git a/crates/git_ui/src/git_ui.rs b/crates/git_ui/src/git_ui.rs index 0163175eda..2d7fba13c5 100644 --- a/crates/git_ui/src/git_ui.rs +++ b/crates/git_ui/src/git_ui.rs @@ -114,22 +114,6 @@ pub fn init(cx: &mut App) { }); }); } - workspace.register_action(|workspace, action: &git::StashAll, window, cx| { - let Some(panel) = workspace.panel::<git_panel::GitPanel>(cx) else { - return; - }; - panel.update(cx, |panel, cx| { - panel.stash_all(action, window, cx); - }); - }); - workspace.register_action(|workspace, action: &git::StashPop, window, cx| { - let Some(panel) = workspace.panel::<git_panel::GitPanel>(cx) else { - return; - }; - panel.update(cx, |panel, cx| { - panel.stash_pop(action, window, cx); - }); - }); workspace.register_action(|workspace, action: &git::StageAll, window, cx| { let Some(panel) = workspace.panel::<git_panel::GitPanel>(cx) else { return; diff --git a/crates/gpui/Cargo.toml b/crates/gpui/Cargo.toml index 2bf49fa7d8..b446ea8bd8 100644 --- a/crates/gpui/Cargo.toml +++ b/crates/gpui/Cargo.toml @@ -121,7 +121,7 @@ smallvec.workspace = true smol.workspace = true strum.workspace = true sum_tree.workspace = true -taffy = "=0.8.3" +taffy = "=0.5.1" thiserror.workspace = true util.workspace = true uuid.workspace = true @@ -216,6 +216,10 @@ xim = { git = "https://github.com/XDeme1/xim-rs", rev = "d50d461764c2213655cd9cf x11-clipboard = { version = "0.9.3", optional = true } [target.'cfg(target_os = "windows")'.dependencies] +blade-util.workspace = true +bytemuck = "1" +blade-graphics.workspace = true +blade-macros.workspace = true flume = "0.11" rand.workspace = true windows.workspace = true @@ -236,6 +240,7 @@ util = { workspace = true, features = ["test-support"] } [target.'cfg(target_os = "windows")'.build-dependencies] embed-resource = "3.0" +naga.workspace = true [target.'cfg(target_os = "macos")'.build-dependencies] bindgen = "0.71" @@ -282,10 +287,6 @@ path = "examples/shadow.rs" name = "svg" path = "examples/svg/svg.rs" -[[example]] -name = "tab_stop" -path = "examples/tab_stop.rs" - [[example]] name = "text" path = "examples/text.rs" diff --git a/crates/gpui/build.rs b/crates/gpui/build.rs index 2b574ebdd8..aed4397440 100644 --- a/crates/gpui/build.rs +++ b/crates/gpui/build.rs @@ -9,10 +9,7 @@ fn main() { let target = env::var("CARGO_CFG_TARGET_OS"); println!("cargo::rustc-check-cfg=cfg(gles)"); - #[cfg(any( - not(any(target_os = "macos", target_os = "windows")), - all(target_os = "macos", feature = "macos-blade") - ))] + #[cfg(any(not(target_os = "macos"), feature = "macos-blade"))] check_wgsl_shaders(); match target.as_deref() { @@ -20,18 +17,21 @@ fn main() { #[cfg(target_os = "macos")] macos::build(); } + #[cfg(all(target_os = "windows", feature = "windows-manifest"))] Ok("windows") => { - #[cfg(target_os = "windows")] - windows::build(); + let manifest = std::path::Path::new("resources/windows/gpui.manifest.xml"); + let rc_file = std::path::Path::new("resources/windows/gpui.rc"); + println!("cargo:rerun-if-changed={}", manifest.display()); + println!("cargo:rerun-if-changed={}", rc_file.display()); + embed_resource::compile(rc_file, embed_resource::NONE) + .manifest_required() + .unwrap(); } _ => (), }; } -#[cfg(any( - not(any(target_os = "macos", target_os = "windows")), - all(target_os = "macos", feature = "macos-blade") -))] +#[allow(dead_code)] fn check_wgsl_shaders() { use std::path::PathBuf; use std::process; @@ -128,7 +128,6 @@ mod macos { "AtlasTile".into(), "PathRasterizationInputIndex".into(), "PathVertex_ScaledPixels".into(), - "PathRasterizationVertex".into(), "ShadowInputIndex".into(), "Shadow".into(), "QuadInputIndex".into(), @@ -243,203 +242,3 @@ mod macos { } } } - -#[cfg(target_os = "windows")] -mod windows { - use std::{ - fs, - io::Write, - path::{Path, PathBuf}, - process::{self, Command}, - }; - - pub(super) fn build() { - // Compile HLSL shaders - #[cfg(not(debug_assertions))] - compile_shaders(); - - // Embed the Windows manifest and resource file - #[cfg(feature = "windows-manifest")] - embed_resource(); - } - - #[cfg(feature = "windows-manifest")] - fn embed_resource() { - let manifest = std::path::Path::new("resources/windows/gpui.manifest.xml"); - let rc_file = std::path::Path::new("resources/windows/gpui.rc"); - println!("cargo:rerun-if-changed={}", manifest.display()); - println!("cargo:rerun-if-changed={}", rc_file.display()); - embed_resource::compile(rc_file, embed_resource::NONE) - .manifest_required() - .unwrap(); - } - - /// You can set the `GPUI_FXC_PATH` environment variable to specify the path to the fxc.exe compiler. - fn compile_shaders() { - let shader_path = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap()) - .join("src/platform/windows/shaders.hlsl"); - let out_dir = std::env::var("OUT_DIR").unwrap(); - - println!("cargo:rerun-if-changed={}", shader_path.display()); - - // Check if fxc.exe is available - let fxc_path = find_fxc_compiler(); - - // Define all modules - let modules = [ - "quad", - "shadow", - "path_rasterization", - "path_sprite", - "underline", - "monochrome_sprite", - "polychrome_sprite", - ]; - - let rust_binding_path = format!("{}/shaders_bytes.rs", out_dir); - if Path::new(&rust_binding_path).exists() { - fs::remove_file(&rust_binding_path) - .expect("Failed to remove existing Rust binding file"); - } - for module in modules { - compile_shader_for_module( - module, - &out_dir, - &fxc_path, - shader_path.to_str().unwrap(), - &rust_binding_path, - ); - } - } - - /// You can set the `GPUI_FXC_PATH` environment variable to specify the path to the fxc.exe compiler. - fn find_fxc_compiler() -> String { - // Check environment variable - if let Ok(path) = std::env::var("GPUI_FXC_PATH") { - if Path::new(&path).exists() { - return path; - } - } - - // Try to find in PATH - // NOTE: This has to be `where.exe` on Windows, not `where`, it must be ended with `.exe` - if let Ok(output) = std::process::Command::new("where.exe") - .arg("fxc.exe") - .output() - { - if output.status.success() { - let path = String::from_utf8_lossy(&output.stdout); - return path.trim().to_string(); - } - } - - // Check the default path - if Path::new(r"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\fxc.exe") - .exists() - { - return r"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\fxc.exe" - .to_string(); - } - - panic!("Failed to find fxc.exe"); - } - - fn compile_shader_for_module( - module: &str, - out_dir: &str, - fxc_path: &str, - shader_path: &str, - rust_binding_path: &str, - ) { - // Compile vertex shader - let output_file = format!("{}/{}_vs.h", out_dir, module); - let const_name = format!("{}_VERTEX_BYTES", module.to_uppercase()); - compile_shader_impl( - fxc_path, - &format!("{module}_vertex"), - &output_file, - &const_name, - shader_path, - "vs_4_1", - ); - generate_rust_binding(&const_name, &output_file, &rust_binding_path); - - // Compile fragment shader - let output_file = format!("{}/{}_ps.h", out_dir, module); - let const_name = format!("{}_FRAGMENT_BYTES", module.to_uppercase()); - compile_shader_impl( - fxc_path, - &format!("{module}_fragment"), - &output_file, - &const_name, - shader_path, - "ps_4_1", - ); - generate_rust_binding(&const_name, &output_file, &rust_binding_path); - } - - fn compile_shader_impl( - fxc_path: &str, - entry_point: &str, - output_path: &str, - var_name: &str, - shader_path: &str, - target: &str, - ) { - let output = Command::new(fxc_path) - .args([ - "/T", - target, - "/E", - entry_point, - "/Fh", - output_path, - "/Vn", - var_name, - "/O3", - shader_path, - ]) - .output(); - - match output { - Ok(result) => { - if result.status.success() { - return; - } - eprintln!( - "Shader compilation failed for {}:\n{}", - entry_point, - String::from_utf8_lossy(&result.stderr) - ); - process::exit(1); - } - Err(e) => { - eprintln!("Failed to run fxc for {}: {}", entry_point, e); - process::exit(1); - } - } - } - - fn generate_rust_binding(const_name: &str, head_file: &str, output_path: &str) { - let header_content = fs::read_to_string(head_file).expect("Failed to read header file"); - let const_definition = { - let global_var_start = header_content.find("const BYTE").unwrap(); - let global_var = &header_content[global_var_start..]; - let equal = global_var.find('=').unwrap(); - global_var[equal + 1..].trim() - }; - let rust_binding = format!( - "const {}: &[u8] = &{}\n", - const_name, - const_definition.replace('{', "[").replace('}', "]") - ); - let mut options = fs::OpenOptions::new() - .create(true) - .append(true) - .open(output_path) - .expect("Failed to open Rust binding file"); - options - .write_all(rust_binding.as_bytes()) - .expect("Failed to write Rust binding file"); - } -} diff --git a/crates/gpui/examples/painting.rs b/crates/gpui/examples/painting.rs index 668aed2377..ff4b64cbda 100644 --- a/crates/gpui/examples/painting.rs +++ b/crates/gpui/examples/painting.rs @@ -1,12 +1,11 @@ use gpui::{ Application, Background, Bounds, ColorSpace, Context, MouseDownEvent, Path, PathBuilder, PathStyle, Pixels, Point, Render, SharedString, StrokeOptions, Window, WindowOptions, canvas, - div, linear_color_stop, linear_gradient, point, prelude::*, px, quad, rgb, size, + div, linear_color_stop, linear_gradient, point, prelude::*, px, rgb, size, }; struct PaintingViewer { default_lines: Vec<(Path<Pixels>, Background)>, - background_quads: Vec<(Bounds<Pixels>, Background)>, lines: Vec<Vec<Point<Pixels>>>, start: Point<Pixels>, dashed: bool, @@ -17,148 +16,12 @@ impl PaintingViewer { fn new(_window: &mut Window, _cx: &mut Context<Self>) -> Self { let mut lines = vec![]; - // Black squares beneath transparent paths. - let background_quads = vec![ - ( - Bounds { - origin: point(px(70.), px(70.)), - size: size(px(40.), px(40.)), - }, - gpui::black().into(), - ), - ( - Bounds { - origin: point(px(170.), px(70.)), - size: size(px(40.), px(40.)), - }, - gpui::black().into(), - ), - ( - Bounds { - origin: point(px(270.), px(70.)), - size: size(px(40.), px(40.)), - }, - gpui::black().into(), - ), - ( - Bounds { - origin: point(px(370.), px(70.)), - size: size(px(40.), px(40.)), - }, - gpui::black().into(), - ), - ( - Bounds { - origin: point(px(450.), px(50.)), - size: size(px(80.), px(80.)), - }, - gpui::black().into(), - ), - ]; - - // 50% opaque red path that extends across black quad. - let mut builder = PathBuilder::fill(); - builder.move_to(point(px(50.), px(50.))); - builder.line_to(point(px(130.), px(50.))); - builder.line_to(point(px(130.), px(130.))); - builder.line_to(point(px(50.), px(130.))); - builder.close(); - let path = builder.build().unwrap(); - let mut red = rgb(0xFF0000); - red.a = 0.5; - lines.push((path, red.into())); - - // 50% opaque blue path that extends across black quad. - let mut builder = PathBuilder::fill(); - builder.move_to(point(px(150.), px(50.))); - builder.line_to(point(px(230.), px(50.))); - builder.line_to(point(px(230.), px(130.))); - builder.line_to(point(px(150.), px(130.))); - builder.close(); - let path = builder.build().unwrap(); - let mut blue = rgb(0x0000FF); - blue.a = 0.5; - lines.push((path, blue.into())); - - // 50% opaque green path that extends across black quad. - let mut builder = PathBuilder::fill(); - builder.move_to(point(px(250.), px(50.))); - builder.line_to(point(px(330.), px(50.))); - builder.line_to(point(px(330.), px(130.))); - builder.line_to(point(px(250.), px(130.))); - builder.close(); - let path = builder.build().unwrap(); - let mut green = rgb(0x00FF00); - green.a = 0.5; - lines.push((path, green.into())); - - // 50% opaque black path that extends across black quad. - let mut builder = PathBuilder::fill(); - builder.move_to(point(px(350.), px(50.))); - builder.line_to(point(px(430.), px(50.))); - builder.line_to(point(px(430.), px(130.))); - builder.line_to(point(px(350.), px(130.))); - builder.close(); - let path = builder.build().unwrap(); - let mut black = rgb(0x000000); - black.a = 0.5; - lines.push((path, black.into())); - - // Two 50% opaque red circles overlapping - center should be darker red - let mut builder = PathBuilder::fill(); - let center = point(px(530.), px(85.)); - let radius = px(30.); - builder.move_to(point(center.x + radius, center.y)); - builder.arc_to( - point(radius, radius), - px(0.), - false, - false, - point(center.x - radius, center.y), - ); - builder.arc_to( - point(radius, radius), - px(0.), - false, - false, - point(center.x + radius, center.y), - ); - builder.close(); - let path = builder.build().unwrap(); - let mut red1 = rgb(0xFF0000); - red1.a = 0.5; - lines.push((path, red1.into())); - - let mut builder = PathBuilder::fill(); - let center = point(px(570.), px(85.)); - let radius = px(30.); - builder.move_to(point(center.x + radius, center.y)); - builder.arc_to( - point(radius, radius), - px(0.), - false, - false, - point(center.x - radius, center.y), - ); - builder.arc_to( - point(radius, radius), - px(0.), - false, - false, - point(center.x + radius, center.y), - ); - builder.close(); - let path = builder.build().unwrap(); - let mut red2 = rgb(0xFF0000); - red2.a = 0.5; - lines.push((path, red2.into())); - // draw a Rust logo let mut builder = lyon::path::Path::svg_builder(); lyon::extra::rust_logo::build_logo_path(&mut builder); // move down the Path let mut builder: PathBuilder = builder.into(); - builder.translate(point(px(10.), px(200.))); + builder.translate(point(px(10.), px(100.))); builder.scale(0.9); let path = builder.build().unwrap(); lines.push((path, gpui::black().into())); @@ -167,10 +30,10 @@ impl PaintingViewer { let mut builder = PathBuilder::fill(); builder.add_polygon( &[ - point(px(150.), px(300.)), - point(px(200.), px(225.)), - point(px(200.), px(275.)), - point(px(250.), px(200.)), + point(px(150.), px(200.)), + point(px(200.), px(125.)), + point(px(200.), px(175.)), + point(px(250.), px(100.)), ], false, ); @@ -179,17 +42,17 @@ impl PaintingViewer { // draw a ⭐ let mut builder = PathBuilder::fill(); - builder.move_to(point(px(350.), px(200.))); - builder.line_to(point(px(370.), px(260.))); - builder.line_to(point(px(430.), px(260.))); - builder.line_to(point(px(380.), px(300.))); - builder.line_to(point(px(400.), px(360.))); - builder.line_to(point(px(350.), px(320.))); - builder.line_to(point(px(300.), px(360.))); - builder.line_to(point(px(320.), px(300.))); - builder.line_to(point(px(270.), px(260.))); - builder.line_to(point(px(330.), px(260.))); - builder.line_to(point(px(350.), px(200.))); + builder.move_to(point(px(350.), px(100.))); + builder.line_to(point(px(370.), px(160.))); + builder.line_to(point(px(430.), px(160.))); + builder.line_to(point(px(380.), px(200.))); + builder.line_to(point(px(400.), px(260.))); + builder.line_to(point(px(350.), px(220.))); + builder.line_to(point(px(300.), px(260.))); + builder.line_to(point(px(320.), px(200.))); + builder.line_to(point(px(270.), px(160.))); + builder.line_to(point(px(330.), px(160.))); + builder.line_to(point(px(350.), px(100.))); let path = builder.build().unwrap(); lines.push(( path, @@ -203,7 +66,7 @@ impl PaintingViewer { // draw linear gradient let square_bounds = Bounds { - origin: point(px(450.), px(200.)), + origin: point(px(450.), px(100.)), size: size(px(200.), px(80.)), }; let height = square_bounds.size.height; @@ -233,31 +96,31 @@ impl PaintingViewer { // draw a pie chart let center = point(px(96.), px(96.)); - let pie_center = point(px(775.), px(255.)); + let pie_center = point(px(775.), px(155.)); let segments = [ ( - point(px(871.), px(255.)), - point(px(747.), px(163.)), + point(px(871.), px(155.)), + point(px(747.), px(63.)), rgb(0x1374e9), ), ( - point(px(747.), px(163.)), - point(px(679.), px(263.)), + point(px(747.), px(63.)), + point(px(679.), px(163.)), rgb(0xe13527), ), ( - point(px(679.), px(263.)), - point(px(754.), px(349.)), + point(px(679.), px(163.)), + point(px(754.), px(249.)), rgb(0x0751ce), ), ( - point(px(754.), px(349.)), - point(px(854.), px(310.)), + point(px(754.), px(249.)), + point(px(854.), px(210.)), rgb(0x209742), ), ( - point(px(854.), px(310.)), - point(px(871.), px(255.)), + point(px(854.), px(210.)), + point(px(871.), px(155.)), rgb(0xfbc10a), ), ]; @@ -277,11 +140,11 @@ impl PaintingViewer { .with_line_width(1.) .with_line_join(lyon::path::LineJoin::Bevel); let mut builder = PathBuilder::stroke(px(1.)).with_style(PathStyle::Stroke(options)); - builder.move_to(point(px(40.), px(420.))); + builder.move_to(point(px(40.), px(320.))); for i in 1..50 { builder.line_to(point( px(40.0 + i as f32 * 10.0), - px(420.0 + (i as f32 * 10.0).sin() * 40.0), + px(320.0 + (i as f32 * 10.0).sin() * 40.0), )); } let path = builder.build().unwrap(); @@ -289,7 +152,6 @@ impl PaintingViewer { Self { default_lines: lines.clone(), - background_quads, lines: vec![], start: point(px(0.), px(0.)), dashed: false, @@ -323,7 +185,6 @@ fn button( impl Render for PaintingViewer { fn render(&mut self, _: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { let default_lines = self.default_lines.clone(); - let background_quads = self.background_quads.clone(); let lines = self.lines.clone(); let dashed = self.dashed; @@ -360,19 +221,6 @@ impl Render for PaintingViewer { canvas( move |_, _, _| {}, move |_, _, window, _| { - // First draw background quads - for (bounds, color) in background_quads.iter() { - window.paint_quad(quad( - *bounds, - px(0.), - *color, - px(0.), - gpui::transparent_black(), - Default::default(), - )); - } - - // Then draw the default paths on top for (path, color) in default_lines { window.paint_path(path, color); } @@ -455,10 +303,6 @@ fn main() { |window, cx| cx.new(|cx| PaintingViewer::new(window, cx)), ) .unwrap(); - cx.on_window_closed(|cx| { - cx.quit(); - }) - .detach(); cx.activate(true); }); } diff --git a/crates/gpui/examples/paths_bench.rs b/crates/gpui/examples/paths_bench.rs deleted file mode 100644 index a801889ae8..0000000000 --- a/crates/gpui/examples/paths_bench.rs +++ /dev/null @@ -1,92 +0,0 @@ -use gpui::{ - Application, Background, Bounds, ColorSpace, Context, Path, PathBuilder, Pixels, Render, - TitlebarOptions, Window, WindowBounds, WindowOptions, canvas, div, linear_color_stop, - linear_gradient, point, prelude::*, px, rgb, size, -}; - -const DEFAULT_WINDOW_WIDTH: Pixels = px(1024.0); -const DEFAULT_WINDOW_HEIGHT: Pixels = px(768.0); - -struct PaintingViewer { - default_lines: Vec<(Path<Pixels>, Background)>, - _painting: bool, -} - -impl PaintingViewer { - fn new(_window: &mut Window, _cx: &mut Context<Self>) -> Self { - let mut lines = vec![]; - - // draw a lightening bolt ⚡ - for _ in 0..2000 { - // draw a ⭐ - let mut builder = PathBuilder::fill(); - builder.move_to(point(px(350.), px(100.))); - builder.line_to(point(px(370.), px(160.))); - builder.line_to(point(px(430.), px(160.))); - builder.line_to(point(px(380.), px(200.))); - builder.line_to(point(px(400.), px(260.))); - builder.line_to(point(px(350.), px(220.))); - builder.line_to(point(px(300.), px(260.))); - builder.line_to(point(px(320.), px(200.))); - builder.line_to(point(px(270.), px(160.))); - builder.line_to(point(px(330.), px(160.))); - builder.line_to(point(px(350.), px(100.))); - let path = builder.build().unwrap(); - lines.push(( - path, - linear_gradient( - 180., - linear_color_stop(rgb(0xFACC15), 0.7), - linear_color_stop(rgb(0xD56D0C), 1.), - ) - .color_space(ColorSpace::Oklab), - )); - } - - Self { - default_lines: lines, - _painting: false, - } - } -} - -impl Render for PaintingViewer { - fn render(&mut self, window: &mut Window, _: &mut Context<Self>) -> impl IntoElement { - window.request_animation_frame(); - let lines = self.default_lines.clone(); - div().size_full().child( - canvas( - move |_, _, _| {}, - move |_, _, window, _| { - for (path, color) in lines { - window.paint_path(path, color); - } - }, - ) - .size_full(), - ) - } -} - -fn main() { - Application::new().run(|cx| { - cx.open_window( - WindowOptions { - titlebar: Some(TitlebarOptions { - title: Some("Vulkan".into()), - ..Default::default() - }), - focus: true, - window_bounds: Some(WindowBounds::Windowed(Bounds::centered( - None, - size(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT), - cx, - ))), - ..Default::default() - }, - |window, cx| cx.new(|cx| PaintingViewer::new(window, cx)), - ) - .unwrap(); - cx.activate(true); - }); -} diff --git a/crates/gpui/examples/tab_stop.rs b/crates/gpui/examples/tab_stop.rs index 1f6500f3e6..9c58b52a5e 100644 --- a/crates/gpui/examples/tab_stop.rs +++ b/crates/gpui/examples/tab_stop.rs @@ -6,7 +6,6 @@ use gpui::{ actions!(example, [Tab, TabPrev]); struct Example { - focus_handle: FocusHandle, items: Vec<FocusHandle>, message: SharedString, } @@ -21,11 +20,8 @@ impl Example { cx.focus_handle().tab_index(2).tab_stop(true), ]; - let focus_handle = cx.focus_handle(); - window.focus(&focus_handle); - + window.focus(items.first().unwrap()); Self { - focus_handle, items, message: SharedString::from("Press `Tab`, `Shift-Tab` to switch focus."), } @@ -44,10 +40,6 @@ impl Example { impl Render for Example { fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { - fn tab_stop_style<T: Styled>(this: T) -> T { - this.border_3().border_color(gpui::blue()) - } - fn button(id: impl Into<ElementId>) -> Stateful<Div> { div() .id(id) @@ -60,13 +52,12 @@ impl Render for Example { .border_color(gpui::black()) .bg(gpui::black()) .text_color(gpui::white()) - .focus(tab_stop_style) + .focus(|this| this.border_color(gpui::blue())) .shadow_sm() } div() .id("app") - .track_focus(&self.focus_handle) .on_action(cx.listener(Self::on_tab)) .on_action(cx.listener(Self::on_tab_prev)) .size_full() @@ -95,7 +86,7 @@ impl Render for Example { .border_color(gpui::black()) .when( item_handle.tab_stop && item_handle.is_focused(window), - tab_stop_style, + |this| this.border_color(gpui::blue()), ) .map(|this| match item_handle.tab_stop { true => this diff --git a/crates/gpui/src/elements/div.rs b/crates/gpui/src/elements/div.rs index fa47758581..4655c92409 100644 --- a/crates/gpui/src/elements/div.rs +++ b/crates/gpui/src/elements/div.rs @@ -1334,6 +1334,7 @@ impl Element for Div { } else if let Some(scroll_handle) = self.interactivity.tracked_scroll_handle.as_ref() { let mut state = scroll_handle.0.borrow_mut(); state.child_bounds = Vec::with_capacity(request_layout.child_layout_ids.len()); + state.bounds = bounds; for child_layout_id in &request_layout.child_layout_ids { let child_bounds = window.layout_bounds(*child_layout_id); child_min = child_min.min(&child_bounds.origin); @@ -1705,7 +1706,6 @@ impl Interactivity { if let Some(mut scroll_handle_state) = tracked_scroll_handle { scroll_handle_state.max_offset = scroll_max; - scroll_handle_state.bounds = bounds; } *scroll_offset @@ -3007,6 +3007,11 @@ impl ScrollHandle { self.0.borrow().bounds } + /// Set the bounds into which this child is painted + pub(super) fn set_bounds(&self, bounds: Bounds<Pixels>) { + self.0.borrow_mut().bounds = bounds; + } + /// Get the bounds for a specific child. pub fn bounds_for_item(&self, ix: usize) -> Option<Bounds<Pixels>> { self.0.borrow().child_bounds.get(ix).cloned() diff --git a/crates/gpui/src/elements/uniform_list.rs b/crates/gpui/src/elements/uniform_list.rs index cdf90d4eb8..2ee6e9827d 100644 --- a/crates/gpui/src/elements/uniform_list.rs +++ b/crates/gpui/src/elements/uniform_list.rs @@ -322,8 +322,9 @@ impl Element for UniformList { bounds.bottom_right() - point(border.right + padding.right, border.bottom), ); - let y_flipped = if let Some(scroll_handle) = &self.scroll_handle { - let scroll_state = scroll_handle.0.borrow(); + let y_flipped = if let Some(scroll_handle) = self.scroll_handle.as_mut() { + let mut scroll_state = scroll_handle.0.borrow_mut(); + scroll_state.base_handle.set_bounds(bounds); scroll_state.y_flipped } else { false diff --git a/crates/gpui/src/platform.rs b/crates/gpui/src/platform.rs index b495d70dfd..6f227f1d07 100644 --- a/crates/gpui/src/platform.rs +++ b/crates/gpui/src/platform.rs @@ -13,7 +13,8 @@ mod mac; any(target_os = "linux", target_os = "freebsd"), any(feature = "x11", feature = "wayland") ), - all(target_os = "macos", feature = "macos-blade") + target_os = "windows", + feature = "macos-blade" ))] mod blade; @@ -447,8 +448,6 @@ impl Tiling { #[derive(Debug, Copy, Clone, Eq, PartialEq, Default)] pub(crate) struct RequestFrameOptions { pub(crate) require_presentation: bool, - /// Force refresh of all rendering states when true - pub(crate) force_render: bool, } pub(crate) trait PlatformWindow: HasWindowHandle + HasDisplayHandle { @@ -810,6 +809,7 @@ pub(crate) struct AtlasTextureId { pub(crate) enum AtlasTextureKind { Monochrome = 0, Polychrome = 1, + Path = 2, } #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] diff --git a/crates/gpui/src/platform/blade/blade_atlas.rs b/crates/gpui/src/platform/blade/blade_atlas.rs index 74500ebf83..78ba52056a 100644 --- a/crates/gpui/src/platform/blade/blade_atlas.rs +++ b/crates/gpui/src/platform/blade/blade_atlas.rs @@ -10,6 +10,8 @@ use etagere::BucketedAtlasAllocator; use parking_lot::Mutex; use std::{borrow::Cow, ops, sync::Arc}; +pub(crate) const PATH_TEXTURE_FORMAT: gpu::TextureFormat = gpu::TextureFormat::R16Float; + pub(crate) struct BladeAtlas(Mutex<BladeAtlasState>); struct PendingUpload { @@ -25,6 +27,7 @@ struct BladeAtlasState { tiles_by_key: FxHashMap<AtlasKey, AtlasTile>, initializations: Vec<AtlasTextureId>, uploads: Vec<PendingUpload>, + path_sample_count: u32, } #[cfg(gles)] @@ -38,11 +41,13 @@ impl BladeAtlasState { } pub struct BladeTextureInfo { + pub size: gpu::Extent, pub raw_view: gpu::TextureView, + pub msaa_view: Option<gpu::TextureView>, } impl BladeAtlas { - pub(crate) fn new(gpu: &Arc<gpu::Context>) -> Self { + pub(crate) fn new(gpu: &Arc<gpu::Context>, path_sample_count: u32) -> Self { BladeAtlas(Mutex::new(BladeAtlasState { gpu: Arc::clone(gpu), upload_belt: BufferBelt::new(BufferBeltDescriptor { @@ -54,6 +59,7 @@ impl BladeAtlas { tiles_by_key: Default::default(), initializations: Vec::new(), uploads: Vec::new(), + path_sample_count, })) } @@ -61,6 +67,27 @@ impl BladeAtlas { self.0.lock().destroy(); } + pub(crate) fn clear_textures(&self, texture_kind: AtlasTextureKind) { + let mut lock = self.0.lock(); + let textures = &mut lock.storage[texture_kind]; + for texture in textures.iter_mut() { + texture.clear(); + } + } + + /// Allocate a rectangle and make it available for rendering immediately (without waiting for `before_frame`) + pub fn allocate_for_rendering( + &self, + size: Size<DevicePixels>, + texture_kind: AtlasTextureKind, + gpu_encoder: &mut gpu::CommandEncoder, + ) -> AtlasTile { + let mut lock = self.0.lock(); + let tile = lock.allocate(size, texture_kind); + lock.flush_initializations(gpu_encoder); + tile + } + pub fn before_frame(&self, gpu_encoder: &mut gpu::CommandEncoder) { let mut lock = self.0.lock(); lock.flush(gpu_encoder); @@ -74,8 +101,15 @@ impl BladeAtlas { pub fn get_texture_info(&self, id: AtlasTextureId) -> BladeTextureInfo { let lock = self.0.lock(); let texture = &lock.storage[id]; + let size = texture.allocator.size(); BladeTextureInfo { + size: gpu::Extent { + width: size.width as u32, + height: size.height as u32, + depth: 1, + }, raw_view: texture.raw_view, + msaa_view: texture.msaa_view, } } } @@ -166,8 +200,48 @@ impl BladeAtlasState { format = gpu::TextureFormat::Bgra8UnormSrgb; usage = gpu::TextureUsage::COPY | gpu::TextureUsage::RESOURCE; } + AtlasTextureKind::Path => { + format = PATH_TEXTURE_FORMAT; + usage = gpu::TextureUsage::COPY + | gpu::TextureUsage::RESOURCE + | gpu::TextureUsage::TARGET; + } } + // We currently only enable MSAA for path textures. + let (msaa, msaa_view) = if self.path_sample_count > 1 && kind == AtlasTextureKind::Path { + let msaa = self.gpu.create_texture(gpu::TextureDesc { + name: "msaa path texture", + format, + size: gpu::Extent { + width: size.width.into(), + height: size.height.into(), + depth: 1, + }, + array_layer_count: 1, + mip_level_count: 1, + sample_count: self.path_sample_count, + dimension: gpu::TextureDimension::D2, + usage: gpu::TextureUsage::TARGET, + external: None, + }); + + ( + Some(msaa), + Some(self.gpu.create_texture_view( + msaa, + gpu::TextureViewDesc { + name: "msaa texture view", + format, + dimension: gpu::ViewDimension::D2, + subresources: &Default::default(), + }, + )), + ) + } else { + (None, None) + }; + let raw = self.gpu.create_texture(gpu::TextureDesc { name: "atlas", format, @@ -205,6 +279,8 @@ impl BladeAtlasState { format, raw, raw_view, + msaa, + msaa_view, live_atlas_keys: 0, }; @@ -264,6 +340,7 @@ impl BladeAtlasState { struct BladeAtlasStorage { monochrome_textures: AtlasTextureList<BladeAtlasTexture>, polychrome_textures: AtlasTextureList<BladeAtlasTexture>, + path_textures: AtlasTextureList<BladeAtlasTexture>, } impl ops::Index<AtlasTextureKind> for BladeAtlasStorage { @@ -272,6 +349,7 @@ impl ops::Index<AtlasTextureKind> for BladeAtlasStorage { match kind { crate::AtlasTextureKind::Monochrome => &self.monochrome_textures, crate::AtlasTextureKind::Polychrome => &self.polychrome_textures, + crate::AtlasTextureKind::Path => &self.path_textures, } } } @@ -281,6 +359,7 @@ impl ops::IndexMut<AtlasTextureKind> for BladeAtlasStorage { match kind { crate::AtlasTextureKind::Monochrome => &mut self.monochrome_textures, crate::AtlasTextureKind::Polychrome => &mut self.polychrome_textures, + crate::AtlasTextureKind::Path => &mut self.path_textures, } } } @@ -291,6 +370,7 @@ impl ops::Index<AtlasTextureId> for BladeAtlasStorage { let textures = match id.kind { crate::AtlasTextureKind::Monochrome => &self.monochrome_textures, crate::AtlasTextureKind::Polychrome => &self.polychrome_textures, + crate::AtlasTextureKind::Path => &self.path_textures, }; textures[id.index as usize].as_ref().unwrap() } @@ -304,6 +384,9 @@ impl BladeAtlasStorage { for mut texture in self.polychrome_textures.drain().flatten() { texture.destroy(gpu); } + for mut texture in self.path_textures.drain().flatten() { + texture.destroy(gpu); + } } } @@ -312,11 +395,17 @@ struct BladeAtlasTexture { allocator: BucketedAtlasAllocator, raw: gpu::Texture, raw_view: gpu::TextureView, + msaa: Option<gpu::Texture>, + msaa_view: Option<gpu::TextureView>, format: gpu::TextureFormat, live_atlas_keys: u32, } impl BladeAtlasTexture { + fn clear(&mut self) { + self.allocator.clear(); + } + fn allocate(&mut self, size: Size<DevicePixels>) -> Option<AtlasTile> { let allocation = self.allocator.allocate(size.into())?; let tile = AtlasTile { @@ -335,6 +424,12 @@ impl BladeAtlasTexture { fn destroy(&mut self, gpu: &gpu::Context) { gpu.destroy_texture(self.raw); gpu.destroy_texture_view(self.raw_view); + if let Some(msaa) = self.msaa { + gpu.destroy_texture(msaa); + } + if let Some(msaa_view) = self.msaa_view { + gpu.destroy_texture_view(msaa_view); + } } fn bytes_per_pixel(&self) -> u8 { diff --git a/crates/gpui/src/platform/blade/blade_renderer.rs b/crates/gpui/src/platform/blade/blade_renderer.rs index 2e18d2be22..cac47434ae 100644 --- a/crates/gpui/src/platform/blade/blade_renderer.rs +++ b/crates/gpui/src/platform/blade/blade_renderer.rs @@ -1,19 +1,24 @@ // Doing `if let` gives you nice scoping with passes/encoders #![allow(irrefutable_let_patterns)] -use super::{BladeAtlas, BladeContext}; +use super::{BladeAtlas, BladeContext, PATH_TEXTURE_FORMAT}; use crate::{ - Background, Bounds, DevicePixels, GpuSpecs, MonochromeSprite, Path, Point, PolychromeSprite, - PrimitiveBatch, Quad, ScaledPixels, Scene, Shadow, Size, Underline, + AtlasTextureKind, AtlasTile, Background, Bounds, ContentMask, DevicePixels, GpuSpecs, + MonochromeSprite, Path, PathId, PathVertex, PolychromeSprite, PrimitiveBatch, Quad, + ScaledPixels, Scene, Shadow, Size, Underline, }; use blade_graphics as gpu; use blade_util::{BufferBelt, BufferBeltDescriptor}; use bytemuck::{Pod, Zeroable}; +use collections::HashMap; #[cfg(target_os = "macos")] use media::core_video::CVMetalTextureCache; -use std::sync::Arc; +use std::{mem, sync::Arc}; const MAX_FRAME_TIME_MS: u32 = 10000; +// Use 4x MSAA, all devices support it. +// https://developer.apple.com/documentation/metal/mtldevice/1433355-supportstexturesamplecount +const DEFAULT_PATH_SAMPLE_COUNT: u32 = 4; #[repr(C)] #[derive(Clone, Copy, Pod, Zeroable)] @@ -109,15 +114,8 @@ struct ShaderSurfacesData { #[repr(C)] struct PathSprite { bounds: Bounds<ScaledPixels>, -} - -#[derive(Clone, Debug)] -#[repr(C)] -struct PathRasterizationVertex { - xy_position: Point<ScaledPixels>, - st_position: Point<f32>, color: Background, - bounds: Bounds<ScaledPixels>, + tile: AtlasTile, } struct BladePipelines { @@ -146,7 +144,10 @@ impl BladePipelines { shader.check_struct_size::<SurfaceParams>(); shader.check_struct_size::<Quad>(); shader.check_struct_size::<Shadow>(); - shader.check_struct_size::<PathRasterizationVertex>(); + assert_eq!( + mem::size_of::<PathVertex<ScaledPixels>>(), + shader.get_struct_size("PathVertex") as usize, + ); shader.check_struct_size::<PathSprite>(); shader.check_struct_size::<Underline>(); shader.check_struct_size::<MonochromeSprite>(); @@ -204,16 +205,9 @@ impl BladePipelines { }, depth_stencil: None, fragment: Some(shader.at("fs_path_rasterization")), - // The original implementation was using ADDITIVE blende mode, - // I don't know why - // color_targets: &[gpu::ColorTargetState { - // format: PATH_TEXTURE_FORMAT, - // blend: Some(gpu::BlendState::ADDITIVE), - // write_mask: gpu::ColorWrites::default(), - // }], color_targets: &[gpu::ColorTargetState { - format: surface_info.format, - blend: Some(gpu::BlendState::PREMULTIPLIED_ALPHA_BLENDING), + format: PATH_TEXTURE_FORMAT, + blend: Some(gpu::BlendState::ADDITIVE), write_mask: gpu::ColorWrites::default(), }], multisample_state: gpu::MultisampleState { @@ -232,14 +226,7 @@ impl BladePipelines { }, depth_stencil: None, fragment: Some(shader.at("fs_path")), - color_targets: &[gpu::ColorTargetState { - format: surface_info.format, - blend: Some(gpu::BlendState { - color: gpu::BlendComponent::OVER, - alpha: gpu::BlendComponent::ADDITIVE, - }), - write_mask: gpu::ColorWrites::default(), - }], + color_targets, multisample_state: gpu::MultisampleState::default(), }), underlines: gpu.create_render_pipeline(gpu::RenderPipelineDesc { @@ -330,15 +317,12 @@ pub struct BladeRenderer { last_sync_point: Option<gpu::SyncPoint>, pipelines: BladePipelines, instance_belt: BufferBelt, + path_tiles: HashMap<PathId, AtlasTile>, atlas: Arc<BladeAtlas>, atlas_sampler: gpu::Sampler, #[cfg(target_os = "macos")] core_video_texture_cache: CVMetalTextureCache, path_sample_count: u32, - path_intermediate_texture: gpu::Texture, - path_intermediate_texture_view: gpu::TextureView, - path_intermediate_msaa_texture: Option<gpu::Texture>, - path_intermediate_msaa_texture_view: Option<gpu::TextureView>, } impl BladeRenderer { @@ -368,43 +352,21 @@ impl BladeRenderer { let path_sample_count = std::env::var("ZED_PATH_SAMPLE_COUNT") .ok() .and_then(|v| v.parse().ok()) - .or_else(|| { - [4, 2, 1] - .into_iter() - .find(|count| context.gpu.supports_texture_sample_count(*count)) - }) - .unwrap_or(1); + .unwrap_or(DEFAULT_PATH_SAMPLE_COUNT); let pipelines = BladePipelines::new(&context.gpu, surface.info(), path_sample_count); let instance_belt = BufferBelt::new(BufferBeltDescriptor { memory: gpu::Memory::Shared, min_chunk_size: 0x1000, alignment: 0x40, // Vulkan `minStorageBufferOffsetAlignment` on Intel Xe }); - let atlas = Arc::new(BladeAtlas::new(&context.gpu)); + let atlas = Arc::new(BladeAtlas::new(&context.gpu, path_sample_count)); let atlas_sampler = context.gpu.create_sampler(gpu::SamplerDesc { - name: "path rasterization sampler", + name: "atlas", mag_filter: gpu::FilterMode::Linear, min_filter: gpu::FilterMode::Linear, ..Default::default() }); - let (path_intermediate_texture, path_intermediate_texture_view) = - create_path_intermediate_texture( - &context.gpu, - surface.info().format, - config.size.width, - config.size.height, - ); - let (path_intermediate_msaa_texture, path_intermediate_msaa_texture_view) = - create_msaa_texture_if_needed( - &context.gpu, - surface.info().format, - config.size.width, - config.size.height, - path_sample_count, - ) - .unzip(); - #[cfg(target_os = "macos")] let core_video_texture_cache = unsafe { CVMetalTextureCache::new( @@ -421,15 +383,12 @@ impl BladeRenderer { last_sync_point: None, pipelines, instance_belt, + path_tiles: HashMap::default(), atlas, atlas_sampler, #[cfg(target_os = "macos")] core_video_texture_cache, path_sample_count, - path_intermediate_texture, - path_intermediate_texture_view, - path_intermediate_msaa_texture, - path_intermediate_msaa_texture_view, }) } @@ -482,35 +441,6 @@ impl BladeRenderer { self.surface_config.size = gpu_size; self.gpu .reconfigure_surface(&mut self.surface, self.surface_config); - self.gpu.destroy_texture(self.path_intermediate_texture); - self.gpu - .destroy_texture_view(self.path_intermediate_texture_view); - if let Some(msaa_texture) = self.path_intermediate_msaa_texture { - self.gpu.destroy_texture(msaa_texture); - } - if let Some(msaa_view) = self.path_intermediate_msaa_texture_view { - self.gpu.destroy_texture_view(msaa_view); - } - let (path_intermediate_texture, path_intermediate_texture_view) = - create_path_intermediate_texture( - &self.gpu, - self.surface.info().format, - gpu_size.width, - gpu_size.height, - ); - self.path_intermediate_texture = path_intermediate_texture; - self.path_intermediate_texture_view = path_intermediate_texture_view; - let (path_intermediate_msaa_texture, path_intermediate_msaa_texture_view) = - create_msaa_texture_if_needed( - &self.gpu, - self.surface.info().format, - gpu_size.width, - gpu_size.height, - self.path_sample_count, - ) - .unzip(); - self.path_intermediate_msaa_texture = path_intermediate_msaa_texture; - self.path_intermediate_msaa_texture_view = path_intermediate_msaa_texture_view; } } @@ -561,63 +491,76 @@ impl BladeRenderer { } #[profiling::function] - fn draw_paths_to_intermediate( - &mut self, - paths: &[Path<ScaledPixels>], - width: f32, - height: f32, - ) { - self.command_encoder - .init_texture(self.path_intermediate_texture); - if let Some(msaa_texture) = self.path_intermediate_msaa_texture { - self.command_encoder.init_texture(msaa_texture); + fn rasterize_paths(&mut self, paths: &[Path<ScaledPixels>]) { + self.path_tiles.clear(); + let mut vertices_by_texture_id = HashMap::default(); + + for path in paths { + let clipped_bounds = path + .bounds + .intersect(&path.content_mask.bounds) + .map_origin(|origin| origin.floor()) + .map_size(|size| size.ceil()); + let tile = self.atlas.allocate_for_rendering( + clipped_bounds.size.map(Into::into), + AtlasTextureKind::Path, + &mut self.command_encoder, + ); + vertices_by_texture_id + .entry(tile.texture_id) + .or_insert(Vec::new()) + .extend(path.vertices.iter().map(|vertex| PathVertex { + xy_position: vertex.xy_position - clipped_bounds.origin + + tile.bounds.origin.map(Into::into), + st_position: vertex.st_position, + content_mask: ContentMask { + bounds: tile.bounds.map(Into::into), + }, + })); + self.path_tiles.insert(path.id, tile); } - let target = if let Some(msaa_view) = self.path_intermediate_msaa_texture_view { - gpu::RenderTarget { - view: msaa_view, - init_op: gpu::InitOp::Clear(gpu::TextureColor::TransparentBlack), - finish_op: gpu::FinishOp::ResolveTo(self.path_intermediate_texture_view), - } - } else { - gpu::RenderTarget { - view: self.path_intermediate_texture_view, - init_op: gpu::InitOp::Clear(gpu::TextureColor::TransparentBlack), - finish_op: gpu::FinishOp::Store, - } - }; - if let mut pass = self.command_encoder.render( - "rasterize paths", - gpu::RenderTargetSet { - colors: &[target], - depth_stencil: None, - }, - ) { + for (texture_id, vertices) in vertices_by_texture_id { + let tex_info = self.atlas.get_texture_info(texture_id); let globals = GlobalParams { - viewport_size: [width, height], + viewport_size: [tex_info.size.width as f32, tex_info.size.height as f32], premultiplied_alpha: 0, pad: 0, }; - let mut encoder = pass.with(&self.pipelines.path_rasterization); - let mut vertices = Vec::new(); - for path in paths { - vertices.extend(path.vertices.iter().map(|v| PathRasterizationVertex { - xy_position: v.xy_position, - st_position: v.st_position, - color: path.color, - bounds: path.bounds.intersect(&path.content_mask.bounds), - })); - } let vertex_buf = unsafe { self.instance_belt.alloc_typed(&vertices, &self.gpu) }; - encoder.bind( - 0, - &ShaderPathRasterizationData { - globals, - b_path_vertices: vertex_buf, + let frame_view = tex_info.raw_view; + let color_target = if let Some(msaa_view) = tex_info.msaa_view { + gpu::RenderTarget { + view: msaa_view, + init_op: gpu::InitOp::Clear(gpu::TextureColor::OpaqueBlack), + finish_op: gpu::FinishOp::ResolveTo(frame_view), + } + } else { + gpu::RenderTarget { + view: frame_view, + init_op: gpu::InitOp::Clear(gpu::TextureColor::OpaqueBlack), + finish_op: gpu::FinishOp::Store, + } + }; + + if let mut pass = self.command_encoder.render( + "paths", + gpu::RenderTargetSet { + colors: &[color_target], + depth_stencil: None, }, - ); - encoder.draw(0, vertices.len() as u32, 0, 1); + ) { + let mut encoder = pass.with(&self.pipelines.path_rasterization); + encoder.bind( + 0, + &ShaderPathRasterizationData { + globals, + b_path_vertices: vertex_buf, + }, + ); + encoder.draw(0, vertices.len() as u32, 0, 1); + } } } @@ -629,20 +572,12 @@ impl BladeRenderer { self.gpu.destroy_command_encoder(&mut self.command_encoder); self.pipelines.destroy(&self.gpu); self.gpu.destroy_surface(&mut self.surface); - self.gpu.destroy_texture(self.path_intermediate_texture); - self.gpu - .destroy_texture_view(self.path_intermediate_texture_view); - if let Some(msaa_texture) = self.path_intermediate_msaa_texture { - self.gpu.destroy_texture(msaa_texture); - } - if let Some(msaa_view) = self.path_intermediate_msaa_texture_view { - self.gpu.destroy_texture_view(msaa_view); - } } pub fn draw(&mut self, scene: &Scene) { self.command_encoder.start(); self.atlas.before_frame(&mut self.command_encoder); + self.rasterize_paths(scene.paths()); let frame = { profiling::scope!("acquire frame"); @@ -662,7 +597,7 @@ impl BladeRenderer { pad: 0, }; - let mut pass = self.command_encoder.render( + if let mut pass = self.command_encoder.render( "main", gpu::RenderTargetSet { colors: &[gpu::RenderTarget { @@ -672,235 +607,209 @@ impl BladeRenderer { }], depth_stencil: None, }, - ); + ) { + profiling::scope!("render pass"); + for batch in scene.batches() { + match batch { + PrimitiveBatch::Quads(quads) => { + let instance_buf = + unsafe { self.instance_belt.alloc_typed(quads, &self.gpu) }; + let mut encoder = pass.with(&self.pipelines.quads); + encoder.bind( + 0, + &ShaderQuadsData { + globals, + b_quads: instance_buf, + }, + ); + encoder.draw(0, 4, 0, quads.len() as u32); + } + PrimitiveBatch::Shadows(shadows) => { + let instance_buf = + unsafe { self.instance_belt.alloc_typed(shadows, &self.gpu) }; + let mut encoder = pass.with(&self.pipelines.shadows); + encoder.bind( + 0, + &ShaderShadowsData { + globals, + b_shadows: instance_buf, + }, + ); + encoder.draw(0, 4, 0, shadows.len() as u32); + } + PrimitiveBatch::Paths(paths) => { + let mut encoder = pass.with(&self.pipelines.paths); + // todo(linux): group by texture ID + for path in paths { + let tile = &self.path_tiles[&path.id]; + let tex_info = self.atlas.get_texture_info(tile.texture_id); + let origin = path.bounds.intersect(&path.content_mask.bounds).origin; + let sprites = [PathSprite { + bounds: Bounds { + origin: origin.map(|p| p.floor()), + size: tile.bounds.size.map(Into::into), + }, + color: path.color, + tile: (*tile).clone(), + }]; - profiling::scope!("render pass"); - for batch in scene.batches() { - match batch { - PrimitiveBatch::Quads(quads) => { - let instance_buf = unsafe { self.instance_belt.alloc_typed(quads, &self.gpu) }; - let mut encoder = pass.with(&self.pipelines.quads); - encoder.bind( - 0, - &ShaderQuadsData { - globals, - b_quads: instance_buf, - }, - ); - encoder.draw(0, 4, 0, quads.len() as u32); - } - PrimitiveBatch::Shadows(shadows) => { - let instance_buf = - unsafe { self.instance_belt.alloc_typed(shadows, &self.gpu) }; - let mut encoder = pass.with(&self.pipelines.shadows); - encoder.bind( - 0, - &ShaderShadowsData { - globals, - b_shadows: instance_buf, - }, - ); - encoder.draw(0, 4, 0, shadows.len() as u32); - } - PrimitiveBatch::Paths(paths) => { - let Some(first_path) = paths.first() else { - continue; - }; - drop(pass); - self.draw_paths_to_intermediate( - paths, - self.surface_config.size.width as f32, - self.surface_config.size.height as f32, - ); - pass = self.command_encoder.render( - "main", - gpu::RenderTargetSet { - colors: &[gpu::RenderTarget { - view: frame.texture_view(), - init_op: gpu::InitOp::Load, - finish_op: gpu::FinishOp::Store, - }], - depth_stencil: None, - }, - ); - let mut encoder = pass.with(&self.pipelines.paths); - // When copying paths from the intermediate texture to the drawable, - // each pixel must only be copied once, in case of transparent paths. - // - // If all paths have the same draw order, then their bounds are all - // disjoint, so we can copy each path's bounds individually. If this - // batch combines different draw orders, we perform a single copy - // for a minimal spanning rect. - let sprites = if paths.last().unwrap().order == first_path.order { - paths - .iter() - .map(|path| PathSprite { - bounds: path.bounds, - }) - .collect() - } else { - let mut bounds = first_path.bounds; - for path in paths.iter().skip(1) { - bounds = bounds.union(&path.bounds); + let instance_buf = + unsafe { self.instance_belt.alloc_typed(&sprites, &self.gpu) }; + encoder.bind( + 0, + &ShaderPathsData { + globals, + t_sprite: tex_info.raw_view, + s_sprite: self.atlas_sampler, + b_path_sprites: instance_buf, + }, + ); + encoder.draw(0, 4, 0, sprites.len() as u32); } - vec![PathSprite { bounds }] - }; - let instance_buf = - unsafe { self.instance_belt.alloc_typed(&sprites, &self.gpu) }; - encoder.bind( - 0, - &ShaderPathsData { - globals, - t_sprite: self.path_intermediate_texture_view, - s_sprite: self.atlas_sampler, - b_path_sprites: instance_buf, - }, - ); - encoder.draw(0, 4, 0, sprites.len() as u32); - } - PrimitiveBatch::Underlines(underlines) => { - let instance_buf = - unsafe { self.instance_belt.alloc_typed(underlines, &self.gpu) }; - let mut encoder = pass.with(&self.pipelines.underlines); - encoder.bind( - 0, - &ShaderUnderlinesData { - globals, - b_underlines: instance_buf, - }, - ); - encoder.draw(0, 4, 0, underlines.len() as u32); - } - PrimitiveBatch::MonochromeSprites { - texture_id, - sprites, - } => { - let tex_info = self.atlas.get_texture_info(texture_id); - let instance_buf = - unsafe { self.instance_belt.alloc_typed(sprites, &self.gpu) }; - let mut encoder = pass.with(&self.pipelines.mono_sprites); - encoder.bind( - 0, - &ShaderMonoSpritesData { - globals, - t_sprite: tex_info.raw_view, - s_sprite: self.atlas_sampler, - b_mono_sprites: instance_buf, - }, - ); - encoder.draw(0, 4, 0, sprites.len() as u32); - } - PrimitiveBatch::PolychromeSprites { - texture_id, - sprites, - } => { - let tex_info = self.atlas.get_texture_info(texture_id); - let instance_buf = - unsafe { self.instance_belt.alloc_typed(sprites, &self.gpu) }; - let mut encoder = pass.with(&self.pipelines.poly_sprites); - encoder.bind( - 0, - &ShaderPolySpritesData { - globals, - t_sprite: tex_info.raw_view, - s_sprite: self.atlas_sampler, - b_poly_sprites: instance_buf, - }, - ); - encoder.draw(0, 4, 0, sprites.len() as u32); - } - PrimitiveBatch::Surfaces(surfaces) => { - let mut _encoder = pass.with(&self.pipelines.surfaces); + } + PrimitiveBatch::Underlines(underlines) => { + let instance_buf = + unsafe { self.instance_belt.alloc_typed(underlines, &self.gpu) }; + let mut encoder = pass.with(&self.pipelines.underlines); + encoder.bind( + 0, + &ShaderUnderlinesData { + globals, + b_underlines: instance_buf, + }, + ); + encoder.draw(0, 4, 0, underlines.len() as u32); + } + PrimitiveBatch::MonochromeSprites { + texture_id, + sprites, + } => { + let tex_info = self.atlas.get_texture_info(texture_id); + let instance_buf = + unsafe { self.instance_belt.alloc_typed(sprites, &self.gpu) }; + let mut encoder = pass.with(&self.pipelines.mono_sprites); + encoder.bind( + 0, + &ShaderMonoSpritesData { + globals, + t_sprite: tex_info.raw_view, + s_sprite: self.atlas_sampler, + b_mono_sprites: instance_buf, + }, + ); + encoder.draw(0, 4, 0, sprites.len() as u32); + } + PrimitiveBatch::PolychromeSprites { + texture_id, + sprites, + } => { + let tex_info = self.atlas.get_texture_info(texture_id); + let instance_buf = + unsafe { self.instance_belt.alloc_typed(sprites, &self.gpu) }; + let mut encoder = pass.with(&self.pipelines.poly_sprites); + encoder.bind( + 0, + &ShaderPolySpritesData { + globals, + t_sprite: tex_info.raw_view, + s_sprite: self.atlas_sampler, + b_poly_sprites: instance_buf, + }, + ); + encoder.draw(0, 4, 0, sprites.len() as u32); + } + PrimitiveBatch::Surfaces(surfaces) => { + let mut _encoder = pass.with(&self.pipelines.surfaces); - for surface in surfaces { - #[cfg(not(target_os = "macos"))] - { - let _ = surface; - continue; - }; + for surface in surfaces { + #[cfg(not(target_os = "macos"))] + { + let _ = surface; + continue; + }; - #[cfg(target_os = "macos")] - { - let (t_y, t_cb_cr) = unsafe { - use core_foundation::base::TCFType as _; - use std::ptr; + #[cfg(target_os = "macos")] + { + let (t_y, t_cb_cr) = unsafe { + use core_foundation::base::TCFType as _; + use std::ptr; - assert_eq!( + assert_eq!( surface.image_buffer.get_pixel_format(), core_video::pixel_buffer::kCVPixelFormatType_420YpCbCr8BiPlanarFullRange ); - let y_texture = self - .core_video_texture_cache - .create_texture_from_image( - surface.image_buffer.as_concrete_TypeRef(), - ptr::null(), - metal::MTLPixelFormat::R8Unorm, - surface.image_buffer.get_width_of_plane(0), - surface.image_buffer.get_height_of_plane(0), - 0, - ) - .unwrap(); - let cb_cr_texture = self - .core_video_texture_cache - .create_texture_from_image( - surface.image_buffer.as_concrete_TypeRef(), - ptr::null(), - metal::MTLPixelFormat::RG8Unorm, - surface.image_buffer.get_width_of_plane(1), - surface.image_buffer.get_height_of_plane(1), - 1, - ) - .unwrap(); - ( - gpu::TextureView::from_metal_texture( - &objc2::rc::Retained::retain( - foreign_types::ForeignTypeRef::as_ptr( - y_texture.as_texture_ref(), - ) - as *mut objc2::runtime::ProtocolObject< - dyn objc2_metal::MTLTexture, - >, + let y_texture = self + .core_video_texture_cache + .create_texture_from_image( + surface.image_buffer.as_concrete_TypeRef(), + ptr::null(), + metal::MTLPixelFormat::R8Unorm, + surface.image_buffer.get_width_of_plane(0), + surface.image_buffer.get_height_of_plane(0), + 0, ) - .unwrap(), - gpu::TexelAspects::COLOR, - ), - gpu::TextureView::from_metal_texture( - &objc2::rc::Retained::retain( - foreign_types::ForeignTypeRef::as_ptr( - cb_cr_texture.as_texture_ref(), - ) - as *mut objc2::runtime::ProtocolObject< - dyn objc2_metal::MTLTexture, - >, + .unwrap(); + let cb_cr_texture = self + .core_video_texture_cache + .create_texture_from_image( + surface.image_buffer.as_concrete_TypeRef(), + ptr::null(), + metal::MTLPixelFormat::RG8Unorm, + surface.image_buffer.get_width_of_plane(1), + surface.image_buffer.get_height_of_plane(1), + 1, ) - .unwrap(), - gpu::TexelAspects::COLOR, - ), - ) - }; + .unwrap(); + ( + gpu::TextureView::from_metal_texture( + &objc2::rc::Retained::retain( + foreign_types::ForeignTypeRef::as_ptr( + y_texture.as_texture_ref(), + ) + as *mut objc2::runtime::ProtocolObject< + dyn objc2_metal::MTLTexture, + >, + ) + .unwrap(), + gpu::TexelAspects::COLOR, + ), + gpu::TextureView::from_metal_texture( + &objc2::rc::Retained::retain( + foreign_types::ForeignTypeRef::as_ptr( + cb_cr_texture.as_texture_ref(), + ) + as *mut objc2::runtime::ProtocolObject< + dyn objc2_metal::MTLTexture, + >, + ) + .unwrap(), + gpu::TexelAspects::COLOR, + ), + ) + }; - _encoder.bind( - 0, - &ShaderSurfacesData { - globals, - surface_locals: SurfaceParams { - bounds: surface.bounds.into(), - content_mask: surface.content_mask.bounds.into(), + _encoder.bind( + 0, + &ShaderSurfacesData { + globals, + surface_locals: SurfaceParams { + bounds: surface.bounds.into(), + content_mask: surface.content_mask.bounds.into(), + }, + t_y, + t_cb_cr, + s_surface: self.atlas_sampler, }, - t_y, - t_cb_cr, - s_surface: self.atlas_sampler, - }, - ); + ); - _encoder.draw(0, 4, 0, 1); + _encoder.draw(0, 4, 0, 1); + } } } } } } - drop(pass); self.command_encoder.present(frame); let sync_point = self.gpu.submit(&mut self.command_encoder); @@ -908,79 +817,9 @@ impl BladeRenderer { profiling::scope!("finish"); self.instance_belt.flush(&sync_point); self.atlas.after_frame(&sync_point); + self.atlas.clear_textures(AtlasTextureKind::Path); self.wait_for_gpu(); self.last_sync_point = Some(sync_point); } } - -fn create_path_intermediate_texture( - gpu: &gpu::Context, - format: gpu::TextureFormat, - width: u32, - height: u32, -) -> (gpu::Texture, gpu::TextureView) { - let texture = gpu.create_texture(gpu::TextureDesc { - name: "path intermediate", - format, - size: gpu::Extent { - width, - height, - depth: 1, - }, - array_layer_count: 1, - mip_level_count: 1, - sample_count: 1, - dimension: gpu::TextureDimension::D2, - usage: gpu::TextureUsage::COPY | gpu::TextureUsage::RESOURCE | gpu::TextureUsage::TARGET, - external: None, - }); - let texture_view = gpu.create_texture_view( - texture, - gpu::TextureViewDesc { - name: "path intermediate view", - format, - dimension: gpu::ViewDimension::D2, - subresources: &Default::default(), - }, - ); - (texture, texture_view) -} - -fn create_msaa_texture_if_needed( - gpu: &gpu::Context, - format: gpu::TextureFormat, - width: u32, - height: u32, - sample_count: u32, -) -> Option<(gpu::Texture, gpu::TextureView)> { - if sample_count <= 1 { - return None; - } - let texture_msaa = gpu.create_texture(gpu::TextureDesc { - name: "path intermediate msaa", - format, - size: gpu::Extent { - width, - height, - depth: 1, - }, - array_layer_count: 1, - mip_level_count: 1, - sample_count, - dimension: gpu::TextureDimension::D2, - usage: gpu::TextureUsage::TARGET, - external: None, - }); - let texture_view_msaa = gpu.create_texture_view( - texture_msaa, - gpu::TextureViewDesc { - name: "path intermediate msaa view", - format, - dimension: gpu::ViewDimension::D2, - subresources: &Default::default(), - }, - ); - - Some((texture_msaa, texture_view_msaa)) -} diff --git a/crates/gpui/src/platform/blade/shaders.wgsl b/crates/gpui/src/platform/blade/shaders.wgsl index b1ffb1812e..0b34a0eea3 100644 --- a/crates/gpui/src/platform/blade/shaders.wgsl +++ b/crates/gpui/src/platform/blade/shaders.wgsl @@ -924,19 +924,16 @@ fn fs_shadow(input: ShadowVarying) -> @location(0) vec4<f32> { // --- path rasterization --- // -struct PathRasterizationVertex { +struct PathVertex { xy_position: vec2<f32>, st_position: vec2<f32>, - color: Background, - bounds: Bounds, + content_mask: Bounds, } - -var<storage, read> b_path_vertices: array<PathRasterizationVertex>; +var<storage, read> b_path_vertices: array<PathVertex>; struct PathRasterizationVarying { @builtin(position) position: vec4<f32>, @location(0) st_position: vec2<f32>, - @location(1) vertex_id: u32, //TODO: use `clip_distance` once Naga supports it @location(3) clip_distances: vec4<f32>, } @@ -948,54 +945,40 @@ fn vs_path_rasterization(@builtin(vertex_index) vertex_id: u32) -> PathRasteriza var out = PathRasterizationVarying(); out.position = to_device_position_impl(v.xy_position); out.st_position = v.st_position; - out.vertex_id = vertex_id; - out.clip_distances = distance_from_clip_rect_impl(v.xy_position, v.bounds); + out.clip_distances = distance_from_clip_rect_impl(v.xy_position, v.content_mask); return out; } @fragment -fn fs_path_rasterization(input: PathRasterizationVarying) -> @location(0) vec4<f32> { +fn fs_path_rasterization(input: PathRasterizationVarying) -> @location(0) f32 { let dx = dpdx(input.st_position); let dy = dpdy(input.st_position); if (any(input.clip_distances < vec4<f32>(0.0))) { - return vec4<f32>(0.0); + return 0.0; } - let v = b_path_vertices[input.vertex_id]; - let background = v.color; - let bounds = v.bounds; - - var alpha: f32; - if (length(vec2<f32>(dx.x, dy.x)) < 0.001) { - // If the gradient is too small, return a solid color. - alpha = 1.0; - } else { - let gradient = 2.0 * input.st_position.xx * vec2<f32>(dx.x, dy.x) - vec2<f32>(dx.y, dy.y); - let f = input.st_position.x * input.st_position.x - input.st_position.y; - let distance = f / length(gradient); - alpha = saturate(0.5 - distance); - } - let gradient_color = prepare_gradient_color( - background.tag, - background.color_space, - background.solid, - background.colors, - ); - let color = gradient_color(background, input.position.xy, bounds, - gradient_color.solid, gradient_color.color0, gradient_color.color1); - return vec4<f32>(color.rgb * color.a * alpha, color.a * alpha); + let gradient = 2.0 * input.st_position.xx * vec2<f32>(dx.x, dy.x) - vec2<f32>(dx.y, dy.y); + let f = input.st_position.x * input.st_position.x - input.st_position.y; + let distance = f / length(gradient); + return saturate(0.5 - distance); } // --- paths --- // struct PathSprite { bounds: Bounds, + color: Background, + tile: AtlasTile, } var<storage, read> b_path_sprites: array<PathSprite>; struct PathVarying { @builtin(position) position: vec4<f32>, - @location(0) texture_coords: vec2<f32>, + @location(0) tile_position: vec2<f32>, + @location(1) @interpolate(flat) instance_id: u32, + @location(2) @interpolate(flat) color_solid: vec4<f32>, + @location(3) @interpolate(flat) color0: vec4<f32>, + @location(4) @interpolate(flat) color1: vec4<f32>, } @vertex @@ -1003,22 +986,33 @@ fn vs_path(@builtin(vertex_index) vertex_id: u32, @builtin(instance_index) insta let unit_vertex = vec2<f32>(f32(vertex_id & 1u), 0.5 * f32(vertex_id & 2u)); let sprite = b_path_sprites[instance_id]; // Don't apply content mask because it was already accounted for when rasterizing the path. - let device_position = to_device_position(unit_vertex, sprite.bounds); - // For screen-space intermediate texture, convert screen position to texture coordinates - let screen_position = sprite.bounds.origin + unit_vertex * sprite.bounds.size; - let texture_coords = screen_position / globals.viewport_size; var out = PathVarying(); - out.position = device_position; - out.texture_coords = texture_coords; + out.position = to_device_position(unit_vertex, sprite.bounds); + out.tile_position = to_tile_position(unit_vertex, sprite.tile); + out.instance_id = instance_id; + let gradient = prepare_gradient_color( + sprite.color.tag, + sprite.color.color_space, + sprite.color.solid, + sprite.color.colors + ); + out.color_solid = gradient.solid; + out.color0 = gradient.color0; + out.color1 = gradient.color1; return out; } @fragment fn fs_path(input: PathVarying) -> @location(0) vec4<f32> { - let sample = textureSample(t_sprite, s_sprite, input.texture_coords); - return sample; + let sample = textureSample(t_sprite, s_sprite, input.tile_position).r; + let mask = 1.0 - abs(1.0 - sample % 2.0); + let sprite = b_path_sprites[input.instance_id]; + let background = sprite.color; + let color = gradient_color(background, input.position.xy, sprite.bounds, + input.color_solid, input.color0, input.color1); + return blend_color(color, mask); } // --- underlines --- // diff --git a/crates/gpui/src/platform/linux/wayland/window.rs b/crates/gpui/src/platform/linux/wayland/window.rs index 2b2207e22c..255ae9c372 100644 --- a/crates/gpui/src/platform/linux/wayland/window.rs +++ b/crates/gpui/src/platform/linux/wayland/window.rs @@ -111,7 +111,7 @@ pub struct WaylandWindowState { resize_throttle: bool, in_progress_window_controls: Option<WindowControls>, window_controls: WindowControls, - client_inset: Option<Pixels>, + inset: Option<Pixels>, } #[derive(Clone)] @@ -186,7 +186,7 @@ impl WaylandWindowState { hovered: false, in_progress_window_controls: None, window_controls: WindowControls::default(), - client_inset: None, + inset: None, }) } @@ -211,13 +211,6 @@ impl WaylandWindowState { self.display = current_output; scale } - - pub fn inset(&self) -> Pixels { - match self.decorations { - WindowDecorations::Server => px(0.0), - WindowDecorations::Client => self.client_inset.unwrap_or(px(0.0)), - } - } } pub(crate) struct WaylandWindow(pub WaylandWindowStatePtr); @@ -387,7 +380,7 @@ impl WaylandWindowStatePtr { configure.size = if got_unmaximized { Some(state.window_bounds.size) } else { - compute_outer_size(state.inset(), configure.size, state.tiling) + compute_outer_size(state.inset, configure.size, state.tiling) }; if let Some(size) = configure.size { state.window_bounds = Bounds { @@ -407,7 +400,7 @@ impl WaylandWindowStatePtr { let window_geometry = inset_by_tiling( state.bounds.map_origin(|_| px(0.0)), - state.inset(), + state.inset.unwrap_or(px(0.0)), state.tiling, ) .map(|v| v.0 as i32) @@ -825,7 +818,7 @@ impl PlatformWindow for WaylandWindow { } else if state.maximized { WindowBounds::Maximized(state.window_bounds) } else { - let inset = state.inset(); + let inset = state.inset.unwrap_or(px(0.)); drop(state); WindowBounds::Windowed(self.bounds().inset(inset)) } @@ -1080,8 +1073,8 @@ impl PlatformWindow for WaylandWindow { fn set_client_inset(&self, inset: Pixels) { let mut state = self.borrow_mut(); - if Some(inset) != state.client_inset { - state.client_inset = Some(inset); + if Some(inset) != state.inset { + state.inset = Some(inset); update_window(state); } } @@ -1101,7 +1094,9 @@ fn update_window(mut state: RefMut<WaylandWindowState>) { state.renderer.update_transparency(!opaque); let mut opaque_area = state.window_bounds.map(|v| v.0 as i32); - opaque_area.inset(state.inset().0 as i32); + if let Some(inset) = state.inset { + opaque_area.inset(inset.0 as i32); + } let region = state .globals @@ -1174,10 +1169,12 @@ impl ResizeEdge { /// updating to account for the client decorations. But that's not the area we want to render /// to, due to our intrusize CSD. So, here we calculate the 'actual' size, by adding back in the insets fn compute_outer_size( - inset: Pixels, + inset: Option<Pixels>, new_size: Option<Size<Pixels>>, tiling: Tiling, ) -> Option<Size<Pixels>> { + let Some(inset) = inset else { return new_size }; + new_size.map(|mut new_size| { if !tiling.top { new_size.height += inset; diff --git a/crates/gpui/src/platform/linux/x11/client.rs b/crates/gpui/src/platform/linux/x11/client.rs index 573e4addf7..16a7a768e2 100644 --- a/crates/gpui/src/platform/linux/x11/client.rs +++ b/crates/gpui/src/platform/linux/x11/client.rs @@ -1795,7 +1795,6 @@ impl X11ClientState { drop(state); window.refresh(RequestFrameOptions { require_presentation: expose_event_received, - force_render: false, }); } xcb_connection diff --git a/crates/gpui/src/platform/mac/metal_atlas.rs b/crates/gpui/src/platform/mac/metal_atlas.rs index 5d2d8e63e0..366f2dcc3c 100644 --- a/crates/gpui/src/platform/mac/metal_atlas.rs +++ b/crates/gpui/src/platform/mac/metal_atlas.rs @@ -13,25 +13,53 @@ use std::borrow::Cow; pub(crate) struct MetalAtlas(Mutex<MetalAtlasState>); impl MetalAtlas { - pub(crate) fn new(device: Device) -> Self { + pub(crate) fn new(device: Device, path_sample_count: u32) -> Self { MetalAtlas(Mutex::new(MetalAtlasState { device: AssertSend(device), monochrome_textures: Default::default(), polychrome_textures: Default::default(), + path_textures: Default::default(), tiles_by_key: Default::default(), + path_sample_count, })) } pub(crate) fn metal_texture(&self, id: AtlasTextureId) -> metal::Texture { self.0.lock().texture(id).metal_texture.clone() } + + pub(crate) fn msaa_texture(&self, id: AtlasTextureId) -> Option<metal::Texture> { + self.0.lock().texture(id).msaa_texture.clone() + } + + pub(crate) fn allocate( + &self, + size: Size<DevicePixels>, + texture_kind: AtlasTextureKind, + ) -> Option<AtlasTile> { + self.0.lock().allocate(size, texture_kind) + } + + pub(crate) fn clear_textures(&self, texture_kind: AtlasTextureKind) { + let mut lock = self.0.lock(); + let textures = match texture_kind { + AtlasTextureKind::Monochrome => &mut lock.monochrome_textures, + AtlasTextureKind::Polychrome => &mut lock.polychrome_textures, + AtlasTextureKind::Path => &mut lock.path_textures, + }; + for texture in textures.iter_mut() { + texture.clear(); + } + } } struct MetalAtlasState { device: AssertSend<Device>, monochrome_textures: AtlasTextureList<MetalAtlasTexture>, polychrome_textures: AtlasTextureList<MetalAtlasTexture>, + path_textures: AtlasTextureList<MetalAtlasTexture>, tiles_by_key: FxHashMap<AtlasKey, AtlasTile>, + path_sample_count: u32, } impl PlatformAtlas for MetalAtlas { @@ -66,6 +94,7 @@ impl PlatformAtlas for MetalAtlas { let textures = match id.kind { AtlasTextureKind::Monochrome => &mut lock.monochrome_textures, AtlasTextureKind::Polychrome => &mut lock.polychrome_textures, + AtlasTextureKind::Path => &mut lock.polychrome_textures, }; let Some(texture_slot) = textures @@ -99,6 +128,7 @@ impl MetalAtlasState { let textures = match texture_kind { AtlasTextureKind::Monochrome => &mut self.monochrome_textures, AtlasTextureKind::Polychrome => &mut self.polychrome_textures, + AtlasTextureKind::Path => &mut self.path_textures, }; if let Some(tile) = textures @@ -143,14 +173,31 @@ impl MetalAtlasState { pixel_format = metal::MTLPixelFormat::BGRA8Unorm; usage = metal::MTLTextureUsage::ShaderRead; } + AtlasTextureKind::Path => { + pixel_format = metal::MTLPixelFormat::R16Float; + usage = metal::MTLTextureUsage::RenderTarget | metal::MTLTextureUsage::ShaderRead; + } } texture_descriptor.set_pixel_format(pixel_format); texture_descriptor.set_usage(usage); let metal_texture = self.device.new_texture(&texture_descriptor); + // We currently only enable MSAA for path textures. + let msaa_texture = if self.path_sample_count > 1 && kind == AtlasTextureKind::Path { + let mut descriptor = texture_descriptor.clone(); + descriptor.set_texture_type(metal::MTLTextureType::D2Multisample); + descriptor.set_storage_mode(metal::MTLStorageMode::Private); + descriptor.set_sample_count(self.path_sample_count as _); + let msaa_texture = self.device.new_texture(&descriptor); + Some(msaa_texture) + } else { + None + }; + let texture_list = match kind { AtlasTextureKind::Monochrome => &mut self.monochrome_textures, AtlasTextureKind::Polychrome => &mut self.polychrome_textures, + AtlasTextureKind::Path => &mut self.path_textures, }; let index = texture_list.free_list.pop(); @@ -162,6 +209,7 @@ impl MetalAtlasState { }, allocator: etagere::BucketedAtlasAllocator::new(size.into()), metal_texture: AssertSend(metal_texture), + msaa_texture: AssertSend(msaa_texture), live_atlas_keys: 0, }; @@ -178,6 +226,7 @@ impl MetalAtlasState { let textures = match id.kind { crate::AtlasTextureKind::Monochrome => &self.monochrome_textures, crate::AtlasTextureKind::Polychrome => &self.polychrome_textures, + crate::AtlasTextureKind::Path => &self.path_textures, }; textures[id.index as usize].as_ref().unwrap() } @@ -187,10 +236,15 @@ struct MetalAtlasTexture { id: AtlasTextureId, allocator: BucketedAtlasAllocator, metal_texture: AssertSend<metal::Texture>, + msaa_texture: AssertSend<Option<metal::Texture>>, live_atlas_keys: u32, } impl MetalAtlasTexture { + fn clear(&mut self) { + self.allocator.clear(); + } + fn allocate(&mut self, size: Size<DevicePixels>) -> Option<AtlasTile> { let allocation = self.allocator.allocate(size.into())?; let tile = AtlasTile { diff --git a/crates/gpui/src/platform/mac/metal_renderer.rs b/crates/gpui/src/platform/mac/metal_renderer.rs index fb5cb852d6..3cdc2dd2cf 100644 --- a/crates/gpui/src/platform/mac/metal_renderer.rs +++ b/crates/gpui/src/platform/mac/metal_renderer.rs @@ -1,30 +1,27 @@ use super::metal_atlas::MetalAtlas; use crate::{ - AtlasTextureId, Background, Bounds, ContentMask, DevicePixels, MonochromeSprite, PaintSurface, - Path, Point, PolychromeSprite, PrimitiveBatch, Quad, ScaledPixels, Scene, Shadow, Size, - Surface, Underline, point, size, + AtlasTextureId, AtlasTextureKind, AtlasTile, Background, Bounds, ContentMask, DevicePixels, + MonochromeSprite, PaintSurface, Path, PathId, PathVertex, PolychromeSprite, PrimitiveBatch, + Quad, ScaledPixels, Scene, Shadow, Size, Surface, Underline, point, size, }; -use anyhow::Result; +use anyhow::{Context as _, Result}; use block::ConcreteBlock; use cocoa::{ base::{NO, YES}, foundation::{NSSize, NSUInteger}, quartzcore::AutoresizingMask, }; - +use collections::HashMap; use core_foundation::base::TCFType; use core_video::{ metal_texture::CVMetalTextureGetTexture, metal_texture_cache::CVMetalTextureCache, pixel_buffer::kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, }; use foreign_types::{ForeignType, ForeignTypeRef}; -use metal::{ - CAMetalLayer, CommandQueue, MTLPixelFormat, MTLResourceOptions, NSRange, - RenderPassColorAttachmentDescriptorRef, -}; +use metal::{CAMetalLayer, CommandQueue, MTLPixelFormat, MTLResourceOptions, NSRange}; use objc::{self, msg_send, sel, sel_impl}; use parking_lot::Mutex; - +use smallvec::SmallVec; use std::{cell::Cell, ffi::c_void, mem, ptr, sync::Arc}; // Exported to metal @@ -114,17 +111,6 @@ pub(crate) struct MetalRenderer { instance_buffer_pool: Arc<Mutex<InstanceBufferPool>>, sprite_atlas: Arc<MetalAtlas>, core_video_texture_cache: core_video::metal_texture_cache::CVMetalTextureCache, - path_intermediate_texture: Option<metal::Texture>, - path_intermediate_msaa_texture: Option<metal::Texture>, - path_sample_count: u32, -} - -#[repr(C)] -pub struct PathRasterizationVertex { - pub xy_position: Point<ScaledPixels>, - pub st_position: Point<f32>, - pub color: Background, - pub bounds: Bounds<ScaledPixels>, } impl MetalRenderer { @@ -189,10 +175,10 @@ impl MetalRenderer { "paths_rasterization", "path_rasterization_vertex", "path_rasterization_fragment", - MTLPixelFormat::BGRA8Unorm, + MTLPixelFormat::R16Float, PATH_SAMPLE_COUNT, ); - let path_sprites_pipeline_state = build_path_sprite_pipeline_state( + let path_sprites_pipeline_state = build_pipeline_state( &device, &library, "path_sprites", @@ -250,7 +236,7 @@ impl MetalRenderer { ); let command_queue = device.new_command_queue(); - let sprite_atlas = Arc::new(MetalAtlas::new(device.clone())); + let sprite_atlas = Arc::new(MetalAtlas::new(device.clone(), PATH_SAMPLE_COUNT)); let core_video_texture_cache = CVMetalTextureCache::new(None, device.clone(), None).unwrap(); @@ -271,9 +257,6 @@ impl MetalRenderer { instance_buffer_pool, sprite_atlas, core_video_texture_cache, - path_intermediate_texture: None, - path_intermediate_msaa_texture: None, - path_sample_count: PATH_SAMPLE_COUNT, } } @@ -306,31 +289,6 @@ impl MetalRenderer { setDrawableSize: size ]; } - let device_pixels_size = Size { - width: DevicePixels(size.width as i32), - height: DevicePixels(size.height as i32), - }; - self.update_path_intermediate_textures(device_pixels_size); - } - - fn update_path_intermediate_textures(&mut self, size: Size<DevicePixels>) { - let texture_descriptor = metal::TextureDescriptor::new(); - texture_descriptor.set_width(size.width.0 as u64); - texture_descriptor.set_height(size.height.0 as u64); - texture_descriptor.set_pixel_format(metal::MTLPixelFormat::BGRA8Unorm); - texture_descriptor - .set_usage(metal::MTLTextureUsage::RenderTarget | metal::MTLTextureUsage::ShaderRead); - self.path_intermediate_texture = Some(self.device.new_texture(&texture_descriptor)); - - if self.path_sample_count > 1 { - let mut msaa_descriptor = texture_descriptor.clone(); - msaa_descriptor.set_texture_type(metal::MTLTextureType::D2Multisample); - msaa_descriptor.set_storage_mode(metal::MTLStorageMode::Private); - msaa_descriptor.set_sample_count(self.path_sample_count as _); - self.path_intermediate_msaa_texture = Some(self.device.new_texture(&msaa_descriptor)); - } else { - self.path_intermediate_msaa_texture = None; - } } pub fn update_transparency(&self, _transparent: bool) { @@ -416,18 +374,38 @@ impl MetalRenderer { ) -> Result<metal::CommandBuffer> { let command_queue = self.command_queue.clone(); let command_buffer = command_queue.new_command_buffer(); - let alpha = if self.layer.is_opaque() { 1. } else { 0. }; let mut instance_offset = 0; - let mut command_encoder = new_command_encoder( - command_buffer, - drawable, - viewport_size, - |color_attachment| { - color_attachment.set_load_action(metal::MTLLoadAction::Clear); - color_attachment.set_clear_color(metal::MTLClearColor::new(0., 0., 0., alpha)); - }, - ); + let path_tiles = self + .rasterize_paths( + scene.paths(), + instance_buffer, + &mut instance_offset, + command_buffer, + ) + .with_context(|| format!("rasterizing {} paths", scene.paths().len()))?; + + let render_pass_descriptor = metal::RenderPassDescriptor::new(); + let color_attachment = render_pass_descriptor + .color_attachments() + .object_at(0) + .unwrap(); + + color_attachment.set_texture(Some(drawable.texture())); + color_attachment.set_load_action(metal::MTLLoadAction::Clear); + color_attachment.set_store_action(metal::MTLStoreAction::Store); + let alpha = if self.layer.is_opaque() { 1. } else { 0. }; + color_attachment.set_clear_color(metal::MTLClearColor::new(0., 0., 0., alpha)); + let command_encoder = command_buffer.new_render_command_encoder(render_pass_descriptor); + + command_encoder.set_viewport(metal::MTLViewport { + originX: 0.0, + originY: 0.0, + width: i32::from(viewport_size.width) as f64, + height: i32::from(viewport_size.height) as f64, + znear: 0.0, + zfar: 1.0, + }); for batch in scene.batches() { let ok = match batch { @@ -436,53 +414,29 @@ impl MetalRenderer { instance_buffer, &mut instance_offset, viewport_size, - &command_encoder, + command_encoder, ), PrimitiveBatch::Quads(quads) => self.draw_quads( quads, instance_buffer, &mut instance_offset, viewport_size, - &command_encoder, + command_encoder, + ), + PrimitiveBatch::Paths(paths) => self.draw_paths( + paths, + &path_tiles, + instance_buffer, + &mut instance_offset, + viewport_size, + command_encoder, ), - PrimitiveBatch::Paths(paths) => { - command_encoder.end_encoding(); - - let did_draw = self.draw_paths_to_intermediate( - paths, - instance_buffer, - &mut instance_offset, - viewport_size, - command_buffer, - ); - - command_encoder = new_command_encoder( - command_buffer, - drawable, - viewport_size, - |color_attachment| { - color_attachment.set_load_action(metal::MTLLoadAction::Load); - }, - ); - - if did_draw { - self.draw_paths_from_intermediate( - paths, - instance_buffer, - &mut instance_offset, - viewport_size, - &command_encoder, - ) - } else { - false - } - } PrimitiveBatch::Underlines(underlines) => self.draw_underlines( underlines, instance_buffer, &mut instance_offset, viewport_size, - &command_encoder, + command_encoder, ), PrimitiveBatch::MonochromeSprites { texture_id, @@ -493,7 +447,7 @@ impl MetalRenderer { instance_buffer, &mut instance_offset, viewport_size, - &command_encoder, + command_encoder, ), PrimitiveBatch::PolychromeSprites { texture_id, @@ -504,16 +458,17 @@ impl MetalRenderer { instance_buffer, &mut instance_offset, viewport_size, - &command_encoder, + command_encoder, ), PrimitiveBatch::Surfaces(surfaces) => self.draw_surfaces( surfaces, instance_buffer, &mut instance_offset, viewport_size, - &command_encoder, + command_encoder, ), }; + if !ok { command_encoder.end_encoding(); anyhow::bail!( @@ -538,90 +493,104 @@ impl MetalRenderer { Ok(command_buffer.to_owned()) } - fn draw_paths_to_intermediate( + fn rasterize_paths( &self, paths: &[Path<ScaledPixels>], instance_buffer: &mut InstanceBuffer, instance_offset: &mut usize, - viewport_size: Size<DevicePixels>, command_buffer: &metal::CommandBufferRef, - ) -> bool { - if paths.is_empty() { - return true; - } - let Some(intermediate_texture) = &self.path_intermediate_texture else { - return false; - }; + ) -> Option<HashMap<PathId, AtlasTile>> { + self.sprite_atlas.clear_textures(AtlasTextureKind::Path); - let render_pass_descriptor = metal::RenderPassDescriptor::new(); - let color_attachment = render_pass_descriptor - .color_attachments() - .object_at(0) - .unwrap(); - color_attachment.set_load_action(metal::MTLLoadAction::Clear); - color_attachment.set_clear_color(metal::MTLClearColor::new(0., 0., 0., 0.)); - - if let Some(msaa_texture) = &self.path_intermediate_msaa_texture { - color_attachment.set_texture(Some(msaa_texture)); - color_attachment.set_resolve_texture(Some(intermediate_texture)); - color_attachment.set_store_action(metal::MTLStoreAction::MultisampleResolve); - } else { - color_attachment.set_texture(Some(intermediate_texture)); - color_attachment.set_store_action(metal::MTLStoreAction::Store); - } - - let command_encoder = command_buffer.new_render_command_encoder(render_pass_descriptor); - command_encoder.set_render_pipeline_state(&self.paths_rasterization_pipeline_state); - - align_offset(instance_offset); - let mut vertices = Vec::new(); + let mut tiles = HashMap::default(); + let mut vertices_by_texture_id = HashMap::default(); for path in paths { - vertices.extend(path.vertices.iter().map(|v| PathRasterizationVertex { - xy_position: v.xy_position, - st_position: v.st_position, - color: path.color, - bounds: path.bounds.intersect(&path.content_mask.bounds), - })); - } - let vertices_bytes_len = mem::size_of_val(vertices.as_slice()); - let next_offset = *instance_offset + vertices_bytes_len; - if next_offset > instance_buffer.size { - command_encoder.end_encoding(); - return false; - } - command_encoder.set_vertex_buffer( - PathRasterizationInputIndex::Vertices as u64, - Some(&instance_buffer.metal_buffer), - *instance_offset as u64, - ); - command_encoder.set_vertex_bytes( - PathRasterizationInputIndex::ViewportSize as u64, - mem::size_of_val(&viewport_size) as u64, - &viewport_size as *const Size<DevicePixels> as *const _, - ); - command_encoder.set_fragment_buffer( - PathRasterizationInputIndex::Vertices as u64, - Some(&instance_buffer.metal_buffer), - *instance_offset as u64, - ); - let buffer_contents = - unsafe { (instance_buffer.metal_buffer.contents() as *mut u8).add(*instance_offset) }; - unsafe { - ptr::copy_nonoverlapping( - vertices.as_ptr() as *const u8, - buffer_contents, - vertices_bytes_len, - ); - } - command_encoder.draw_primitives( - metal::MTLPrimitiveType::Triangle, - 0, - vertices.len() as u64, - ); - *instance_offset = next_offset; + let clipped_bounds = path.bounds.intersect(&path.content_mask.bounds); - command_encoder.end_encoding(); - true + let tile = self + .sprite_atlas + .allocate(clipped_bounds.size.map(Into::into), AtlasTextureKind::Path)?; + vertices_by_texture_id + .entry(tile.texture_id) + .or_insert(Vec::new()) + .extend(path.vertices.iter().map(|vertex| PathVertex { + xy_position: vertex.xy_position - clipped_bounds.origin + + tile.bounds.origin.map(Into::into), + st_position: vertex.st_position, + content_mask: ContentMask { + bounds: tile.bounds.map(Into::into), + }, + })); + tiles.insert(path.id, tile); + } + + for (texture_id, vertices) in vertices_by_texture_id { + align_offset(instance_offset); + let vertices_bytes_len = mem::size_of_val(vertices.as_slice()); + let next_offset = *instance_offset + vertices_bytes_len; + if next_offset > instance_buffer.size { + return None; + } + + let render_pass_descriptor = metal::RenderPassDescriptor::new(); + let color_attachment = render_pass_descriptor + .color_attachments() + .object_at(0) + .unwrap(); + + let texture = self.sprite_atlas.metal_texture(texture_id); + let msaa_texture = self.sprite_atlas.msaa_texture(texture_id); + + if let Some(msaa_texture) = msaa_texture { + color_attachment.set_texture(Some(&msaa_texture)); + color_attachment.set_resolve_texture(Some(&texture)); + color_attachment.set_load_action(metal::MTLLoadAction::Clear); + color_attachment.set_store_action(metal::MTLStoreAction::MultisampleResolve); + } else { + color_attachment.set_texture(Some(&texture)); + color_attachment.set_load_action(metal::MTLLoadAction::Clear); + color_attachment.set_store_action(metal::MTLStoreAction::Store); + } + color_attachment.set_clear_color(metal::MTLClearColor::new(0., 0., 0., 1.)); + + let command_encoder = command_buffer.new_render_command_encoder(render_pass_descriptor); + command_encoder.set_render_pipeline_state(&self.paths_rasterization_pipeline_state); + command_encoder.set_vertex_buffer( + PathRasterizationInputIndex::Vertices as u64, + Some(&instance_buffer.metal_buffer), + *instance_offset as u64, + ); + let texture_size = Size { + width: DevicePixels::from(texture.width()), + height: DevicePixels::from(texture.height()), + }; + command_encoder.set_vertex_bytes( + PathRasterizationInputIndex::AtlasTextureSize as u64, + mem::size_of_val(&texture_size) as u64, + &texture_size as *const Size<DevicePixels> as *const _, + ); + + let buffer_contents = unsafe { + (instance_buffer.metal_buffer.contents() as *mut u8).add(*instance_offset) + }; + unsafe { + ptr::copy_nonoverlapping( + vertices.as_ptr() as *const u8, + buffer_contents, + vertices_bytes_len, + ); + } + + command_encoder.draw_primitives( + metal::MTLPrimitiveType::Triangle, + 0, + vertices.len() as u64, + ); + command_encoder.end_encoding(); + *instance_offset = next_offset; + } + + Some(tiles) } fn draw_shadows( @@ -746,21 +715,18 @@ impl MetalRenderer { true } - fn draw_paths_from_intermediate( + fn draw_paths( &self, paths: &[Path<ScaledPixels>], + tiles_by_path_id: &HashMap<PathId, AtlasTile>, instance_buffer: &mut InstanceBuffer, instance_offset: &mut usize, viewport_size: Size<DevicePixels>, command_encoder: &metal::RenderCommandEncoderRef, ) -> bool { - let Some(ref first_path) = paths.first() else { + if paths.is_empty() { return true; - }; - - let Some(ref intermediate_texture) = self.path_intermediate_texture else { - return false; - }; + } command_encoder.set_render_pipeline_state(&self.path_sprites_pipeline_state); command_encoder.set_vertex_buffer( @@ -774,65 +740,88 @@ impl MetalRenderer { &viewport_size as *const Size<DevicePixels> as *const _, ); - command_encoder.set_fragment_texture( - SpriteInputIndex::AtlasTexture as u64, - Some(intermediate_texture), - ); + let mut prev_texture_id = None; + let mut sprites = SmallVec::<[_; 1]>::new(); + let mut paths_and_tiles = paths + .iter() + .map(|path| (path, tiles_by_path_id.get(&path.id).unwrap())) + .peekable(); - // When copying paths from the intermediate texture to the drawable, - // each pixel must only be copied once, in case of transparent paths. - // - // If all paths have the same draw order, then their bounds are all - // disjoint, so we can copy each path's bounds individually. If this - // batch combines different draw orders, we perform a single copy - // for a minimal spanning rect. - let sprites; - if paths.last().unwrap().order == first_path.order { - sprites = paths - .iter() - .map(|path| PathSprite { - bounds: path.bounds, - }) - .collect(); - } else { - let mut bounds = first_path.bounds; - for path in paths.iter().skip(1) { - bounds = bounds.union(&path.bounds); + loop { + if let Some((path, tile)) = paths_and_tiles.peek() { + if prev_texture_id.map_or(true, |texture_id| texture_id == tile.texture_id) { + prev_texture_id = Some(tile.texture_id); + let origin = path.bounds.intersect(&path.content_mask.bounds).origin; + sprites.push(PathSprite { + bounds: Bounds { + origin: origin.map(|p| p.floor()), + size: tile.bounds.size.map(Into::into), + }, + color: path.color, + tile: (*tile).clone(), + }); + paths_and_tiles.next(); + continue; + } + } + + if sprites.is_empty() { + break; + } else { + align_offset(instance_offset); + let texture_id = prev_texture_id.take().unwrap(); + let texture: metal::Texture = self.sprite_atlas.metal_texture(texture_id); + let texture_size = size( + DevicePixels(texture.width() as i32), + DevicePixels(texture.height() as i32), + ); + + command_encoder.set_vertex_buffer( + SpriteInputIndex::Sprites as u64, + Some(&instance_buffer.metal_buffer), + *instance_offset as u64, + ); + command_encoder.set_vertex_bytes( + SpriteInputIndex::AtlasTextureSize as u64, + mem::size_of_val(&texture_size) as u64, + &texture_size as *const Size<DevicePixels> as *const _, + ); + command_encoder.set_fragment_buffer( + SpriteInputIndex::Sprites as u64, + Some(&instance_buffer.metal_buffer), + *instance_offset as u64, + ); + command_encoder + .set_fragment_texture(SpriteInputIndex::AtlasTexture as u64, Some(&texture)); + + let sprite_bytes_len = mem::size_of_val(sprites.as_slice()); + let next_offset = *instance_offset + sprite_bytes_len; + if next_offset > instance_buffer.size { + return false; + } + + let buffer_contents = unsafe { + (instance_buffer.metal_buffer.contents() as *mut u8).add(*instance_offset) + }; + + unsafe { + ptr::copy_nonoverlapping( + sprites.as_ptr() as *const u8, + buffer_contents, + sprite_bytes_len, + ); + } + + command_encoder.draw_primitives_instanced( + metal::MTLPrimitiveType::Triangle, + 0, + 6, + sprites.len() as u64, + ); + *instance_offset = next_offset; + sprites.clear(); } - sprites = vec![PathSprite { bounds }]; } - - align_offset(instance_offset); - let sprite_bytes_len = mem::size_of_val(sprites.as_slice()); - let next_offset = *instance_offset + sprite_bytes_len; - if next_offset > instance_buffer.size { - return false; - } - - command_encoder.set_vertex_buffer( - SpriteInputIndex::Sprites as u64, - Some(&instance_buffer.metal_buffer), - *instance_offset as u64, - ); - - let buffer_contents = - unsafe { (instance_buffer.metal_buffer.contents() as *mut u8).add(*instance_offset) }; - unsafe { - ptr::copy_nonoverlapping( - sprites.as_ptr() as *const u8, - buffer_contents, - sprite_bytes_len, - ); - } - - command_encoder.draw_primitives_instanced( - metal::MTLPrimitiveType::Triangle, - 0, - 6, - sprites.len() as u64, - ); - *instance_offset = next_offset; - true } @@ -1147,33 +1136,6 @@ impl MetalRenderer { } } -fn new_command_encoder<'a>( - command_buffer: &'a metal::CommandBufferRef, - drawable: &'a metal::MetalDrawableRef, - viewport_size: Size<DevicePixels>, - configure_color_attachment: impl Fn(&RenderPassColorAttachmentDescriptorRef), -) -> &'a metal::RenderCommandEncoderRef { - let render_pass_descriptor = metal::RenderPassDescriptor::new(); - let color_attachment = render_pass_descriptor - .color_attachments() - .object_at(0) - .unwrap(); - color_attachment.set_texture(Some(drawable.texture())); - color_attachment.set_store_action(metal::MTLStoreAction::Store); - configure_color_attachment(color_attachment); - - let command_encoder = command_buffer.new_render_command_encoder(render_pass_descriptor); - command_encoder.set_viewport(metal::MTLViewport { - originX: 0.0, - originY: 0.0, - width: i32::from(viewport_size.width) as f64, - height: i32::from(viewport_size.height) as f64, - znear: 0.0, - zfar: 1.0, - }); - command_encoder -} - fn build_pipeline_state( device: &metal::DeviceRef, library: &metal::LibraryRef, @@ -1208,40 +1170,6 @@ fn build_pipeline_state( .expect("could not create render pipeline state") } -fn build_path_sprite_pipeline_state( - device: &metal::DeviceRef, - library: &metal::LibraryRef, - label: &str, - vertex_fn_name: &str, - fragment_fn_name: &str, - pixel_format: metal::MTLPixelFormat, -) -> metal::RenderPipelineState { - let vertex_fn = library - .get_function(vertex_fn_name, None) - .expect("error locating vertex function"); - let fragment_fn = library - .get_function(fragment_fn_name, None) - .expect("error locating fragment function"); - - let descriptor = metal::RenderPipelineDescriptor::new(); - descriptor.set_label(label); - descriptor.set_vertex_function(Some(vertex_fn.as_ref())); - descriptor.set_fragment_function(Some(fragment_fn.as_ref())); - let color_attachment = descriptor.color_attachments().object_at(0).unwrap(); - color_attachment.set_pixel_format(pixel_format); - color_attachment.set_blending_enabled(true); - color_attachment.set_rgb_blend_operation(metal::MTLBlendOperation::Add); - color_attachment.set_alpha_blend_operation(metal::MTLBlendOperation::Add); - color_attachment.set_source_rgb_blend_factor(metal::MTLBlendFactor::One); - color_attachment.set_source_alpha_blend_factor(metal::MTLBlendFactor::One); - color_attachment.set_destination_rgb_blend_factor(metal::MTLBlendFactor::OneMinusSourceAlpha); - color_attachment.set_destination_alpha_blend_factor(metal::MTLBlendFactor::One); - - device - .new_render_pipeline_state(&descriptor) - .expect("could not create render pipeline state") -} - fn build_path_rasterization_pipeline_state( device: &metal::DeviceRef, library: &metal::LibraryRef, @@ -1264,7 +1192,7 @@ fn build_path_rasterization_pipeline_state( descriptor.set_fragment_function(Some(fragment_fn.as_ref())); if path_sample_count > 1 { descriptor.set_raster_sample_count(path_sample_count as _); - descriptor.set_alpha_to_coverage_enabled(false); + descriptor.set_alpha_to_coverage_enabled(true); } let color_attachment = descriptor.color_attachments().object_at(0).unwrap(); color_attachment.set_pixel_format(pixel_format); @@ -1273,8 +1201,8 @@ fn build_path_rasterization_pipeline_state( color_attachment.set_alpha_blend_operation(metal::MTLBlendOperation::Add); color_attachment.set_source_rgb_blend_factor(metal::MTLBlendFactor::One); color_attachment.set_source_alpha_blend_factor(metal::MTLBlendFactor::One); - color_attachment.set_destination_rgb_blend_factor(metal::MTLBlendFactor::OneMinusSourceAlpha); - color_attachment.set_destination_alpha_blend_factor(metal::MTLBlendFactor::OneMinusSourceAlpha); + color_attachment.set_destination_rgb_blend_factor(metal::MTLBlendFactor::One); + color_attachment.set_destination_alpha_blend_factor(metal::MTLBlendFactor::One); device .new_render_pipeline_state(&descriptor) @@ -1329,13 +1257,15 @@ enum SurfaceInputIndex { #[repr(C)] enum PathRasterizationInputIndex { Vertices = 0, - ViewportSize = 1, + AtlasTextureSize = 1, } #[derive(Clone, Debug, Eq, PartialEq)] #[repr(C)] pub struct PathSprite { pub bounds: Bounds<ScaledPixels>, + pub color: Background, + pub tile: AtlasTile, } #[derive(Clone, Debug, Eq, PartialEq)] diff --git a/crates/gpui/src/platform/mac/shaders.metal b/crates/gpui/src/platform/mac/shaders.metal index f9d5bdbf4c..64ebb1e22b 100644 --- a/crates/gpui/src/platform/mac/shaders.metal +++ b/crates/gpui/src/platform/mac/shaders.metal @@ -701,117 +701,107 @@ fragment float4 polychrome_sprite_fragment( struct PathRasterizationVertexOutput { float4 position [[position]]; float2 st_position; - uint vertex_id [[flat]]; float clip_rect_distance [[clip_distance]][4]; }; struct PathRasterizationFragmentInput { float4 position [[position]]; float2 st_position; - uint vertex_id [[flat]]; }; vertex PathRasterizationVertexOutput path_rasterization_vertex( - uint vertex_id [[vertex_id]], - constant PathRasterizationVertex *vertices [[buffer(PathRasterizationInputIndex_Vertices)]], - constant Size_DevicePixels *atlas_size [[buffer(PathRasterizationInputIndex_ViewportSize)]] -) { - PathRasterizationVertex v = vertices[vertex_id]; + uint vertex_id [[vertex_id]], + constant PathVertex_ScaledPixels *vertices + [[buffer(PathRasterizationInputIndex_Vertices)]], + constant Size_DevicePixels *atlas_size + [[buffer(PathRasterizationInputIndex_AtlasTextureSize)]]) { + PathVertex_ScaledPixels v = vertices[vertex_id]; float2 vertex_position = float2(v.xy_position.x, v.xy_position.y); - float4 position = float4( - vertex_position * float2(2. / atlas_size->width, -2. / atlas_size->height) + float2(-1., 1.), - 0., - 1. - ); + float2 viewport_size = float2(atlas_size->width, atlas_size->height); return PathRasterizationVertexOutput{ - position, + float4(vertex_position / viewport_size * float2(2., -2.) + + float2(-1., 1.), + 0., 1.), float2(v.st_position.x, v.st_position.y), - vertex_id, - { - v.xy_position.x - v.bounds.origin.x, - v.bounds.origin.x + v.bounds.size.width - v.xy_position.x, - v.xy_position.y - v.bounds.origin.y, - v.bounds.origin.y + v.bounds.size.height - v.xy_position.y - } - }; + {v.xy_position.x - v.content_mask.bounds.origin.x, + v.content_mask.bounds.origin.x + v.content_mask.bounds.size.width - + v.xy_position.x, + v.xy_position.y - v.content_mask.bounds.origin.y, + v.content_mask.bounds.origin.y + v.content_mask.bounds.size.height - + v.xy_position.y}}; } -fragment float4 path_rasterization_fragment( - PathRasterizationFragmentInput input [[stage_in]], - constant PathRasterizationVertex *vertices [[buffer(PathRasterizationInputIndex_Vertices)]] -) { +fragment float4 path_rasterization_fragment(PathRasterizationFragmentInput input + [[stage_in]]) { float2 dx = dfdx(input.st_position); float2 dy = dfdy(input.st_position); - - PathRasterizationVertex v = vertices[input.vertex_id]; - Background background = v.color; - Bounds_ScaledPixels path_bounds = v.bounds; - float alpha; - if (length(float2(dx.x, dy.x)) < 0.001) { - alpha = 1.0; - } else { - float2 gradient = float2( - (2. * input.st_position.x) * dx.x - dx.y, - (2. * input.st_position.x) * dy.x - dy.y - ); - float f = (input.st_position.x * input.st_position.x) - input.st_position.y; - float distance = f / length(gradient); - alpha = saturate(0.5 - distance); - } - - GradientColor gradient_color = prepare_fill_color( - background.tag, - background.color_space, - background.solid, - background.colors[0].color, - background.colors[1].color - ); - - float4 color = fill_color( - background, - input.position.xy, - path_bounds, - gradient_color.solid, - gradient_color.color0, - gradient_color.color1 - ); - return float4(color.rgb * color.a * alpha, alpha * color.a); + float2 gradient = float2((2. * input.st_position.x) * dx.x - dx.y, + (2. * input.st_position.x) * dy.x - dy.y); + float f = (input.st_position.x * input.st_position.x) - input.st_position.y; + float distance = f / length(gradient); + float alpha = saturate(0.5 - distance); + return float4(alpha, 0., 0., 1.); } struct PathSpriteVertexOutput { float4 position [[position]]; - float2 texture_coords; + float2 tile_position; + uint sprite_id [[flat]]; + float4 solid_color [[flat]]; + float4 color0 [[flat]]; + float4 color1 [[flat]]; }; vertex PathSpriteVertexOutput path_sprite_vertex( - uint unit_vertex_id [[vertex_id]], - uint sprite_id [[instance_id]], - constant float2 *unit_vertices [[buffer(SpriteInputIndex_Vertices)]], - constant PathSprite *sprites [[buffer(SpriteInputIndex_Sprites)]], - constant Size_DevicePixels *viewport_size [[buffer(SpriteInputIndex_ViewportSize)]] -) { + uint unit_vertex_id [[vertex_id]], uint sprite_id [[instance_id]], + constant float2 *unit_vertices [[buffer(SpriteInputIndex_Vertices)]], + constant PathSprite *sprites [[buffer(SpriteInputIndex_Sprites)]], + constant Size_DevicePixels *viewport_size + [[buffer(SpriteInputIndex_ViewportSize)]], + constant Size_DevicePixels *atlas_size + [[buffer(SpriteInputIndex_AtlasTextureSize)]]) { + float2 unit_vertex = unit_vertices[unit_vertex_id]; PathSprite sprite = sprites[sprite_id]; // Don't apply content mask because it was already accounted for when // rasterizing the path. float4 device_position = to_device_position(unit_vertex, sprite.bounds, viewport_size); + float2 tile_position = to_tile_position(unit_vertex, sprite.tile, atlas_size); - float2 screen_position = float2(sprite.bounds.origin.x, sprite.bounds.origin.y) + unit_vertex * float2(sprite.bounds.size.width, sprite.bounds.size.height); - float2 texture_coords = screen_position / float2(viewport_size->width, viewport_size->height); + GradientColor gradient = prepare_fill_color( + sprite.color.tag, + sprite.color.color_space, + sprite.color.solid, + sprite.color.colors[0].color, + sprite.color.colors[1].color + ); return PathSpriteVertexOutput{ device_position, - texture_coords + tile_position, + sprite_id, + gradient.solid, + gradient.color0, + gradient.color1 }; } fragment float4 path_sprite_fragment( - PathSpriteVertexOutput input [[stage_in]], - texture2d<float> intermediate_texture [[texture(SpriteInputIndex_AtlasTexture)]] -) { - constexpr sampler intermediate_texture_sampler(mag_filter::linear, min_filter::linear); - return intermediate_texture.sample(intermediate_texture_sampler, input.texture_coords); + PathSpriteVertexOutput input [[stage_in]], + constant PathSprite *sprites [[buffer(SpriteInputIndex_Sprites)]], + texture2d<float> atlas_texture [[texture(SpriteInputIndex_AtlasTexture)]]) { + constexpr sampler atlas_texture_sampler(mag_filter::linear, + min_filter::linear); + float4 sample = + atlas_texture.sample(atlas_texture_sampler, input.tile_position); + float mask = 1. - abs(1. - fmod(sample.r, 2.)); + PathSprite sprite = sprites[input.sprite_id]; + Background background = sprite.color; + float4 color = fill_color(background, input.position.xy, sprite.bounds, + input.solid_color, input.color0, input.color1); + color.a *= mask; + return color; } struct SurfaceVertexOutput { diff --git a/crates/gpui/src/platform/test/window.rs b/crates/gpui/src/platform/test/window.rs index e15bd7aeec..1b88415d3b 100644 --- a/crates/gpui/src/platform/test/window.rs +++ b/crates/gpui/src/platform/test/window.rs @@ -341,7 +341,7 @@ impl PlatformAtlas for TestAtlas { crate::AtlasTile { texture_id: AtlasTextureId { index: texture_id, - kind: crate::AtlasTextureKind::Monochrome, + kind: crate::AtlasTextureKind::Path, }, tile_id: TileId(tile_id), padding: 0, diff --git a/crates/gpui/src/platform/windows.rs b/crates/gpui/src/platform/windows.rs index 5268d3ccba..4bdf42080d 100644 --- a/crates/gpui/src/platform/windows.rs +++ b/crates/gpui/src/platform/windows.rs @@ -1,8 +1,6 @@ mod clipboard; mod destination_list; mod direct_write; -mod directx_atlas; -mod directx_renderer; mod dispatcher; mod display; mod events; @@ -16,8 +14,6 @@ mod wrapper; pub(crate) use clipboard::*; pub(crate) use destination_list::*; pub(crate) use direct_write::*; -pub(crate) use directx_atlas::*; -pub(crate) use directx_renderer::*; pub(crate) use dispatcher::*; pub(crate) use display::*; pub(crate) use events::*; diff --git a/crates/gpui/src/platform/windows/directx_atlas.rs b/crates/gpui/src/platform/windows/directx_atlas.rs deleted file mode 100644 index 988943c766..0000000000 --- a/crates/gpui/src/platform/windows/directx_atlas.rs +++ /dev/null @@ -1,309 +0,0 @@ -use collections::FxHashMap; -use etagere::BucketedAtlasAllocator; -use parking_lot::Mutex; -use windows::Win32::Graphics::{ - Direct3D11::{ - D3D11_BIND_SHADER_RESOURCE, D3D11_BOX, D3D11_CPU_ACCESS_WRITE, D3D11_TEXTURE2D_DESC, - D3D11_USAGE_DEFAULT, ID3D11Device, ID3D11DeviceContext, ID3D11ShaderResourceView, - ID3D11Texture2D, - }, - Dxgi::Common::{DXGI_FORMAT_A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_SAMPLE_DESC}, -}; - -use crate::{ - AtlasKey, AtlasTextureId, AtlasTextureKind, AtlasTile, Bounds, DevicePixels, PlatformAtlas, - Point, Size, platform::AtlasTextureList, -}; - -pub(crate) struct DirectXAtlas(Mutex<DirectXAtlasState>); - -struct DirectXAtlasState { - device: ID3D11Device, - device_context: ID3D11DeviceContext, - monochrome_textures: AtlasTextureList<DirectXAtlasTexture>, - polychrome_textures: AtlasTextureList<DirectXAtlasTexture>, - tiles_by_key: FxHashMap<AtlasKey, AtlasTile>, -} - -struct DirectXAtlasTexture { - id: AtlasTextureId, - bytes_per_pixel: u32, - allocator: BucketedAtlasAllocator, - texture: ID3D11Texture2D, - view: [Option<ID3D11ShaderResourceView>; 1], - live_atlas_keys: u32, -} - -impl DirectXAtlas { - pub(crate) fn new(device: &ID3D11Device, device_context: &ID3D11DeviceContext) -> Self { - DirectXAtlas(Mutex::new(DirectXAtlasState { - device: device.clone(), - device_context: device_context.clone(), - monochrome_textures: Default::default(), - polychrome_textures: Default::default(), - tiles_by_key: Default::default(), - })) - } - - pub(crate) fn get_texture_view( - &self, - id: AtlasTextureId, - ) -> [Option<ID3D11ShaderResourceView>; 1] { - let lock = self.0.lock(); - let tex = lock.texture(id); - tex.view.clone() - } - - pub(crate) fn handle_device_lost( - &self, - device: &ID3D11Device, - device_context: &ID3D11DeviceContext, - ) { - let mut lock = self.0.lock(); - lock.device = device.clone(); - lock.device_context = device_context.clone(); - lock.monochrome_textures = AtlasTextureList::default(); - lock.polychrome_textures = AtlasTextureList::default(); - lock.tiles_by_key.clear(); - } -} - -impl PlatformAtlas for DirectXAtlas { - fn get_or_insert_with<'a>( - &self, - key: &AtlasKey, - build: &mut dyn FnMut() -> anyhow::Result< - Option<(Size<DevicePixels>, std::borrow::Cow<'a, [u8]>)>, - >, - ) -> anyhow::Result<Option<AtlasTile>> { - let mut lock = self.0.lock(); - if let Some(tile) = lock.tiles_by_key.get(key) { - Ok(Some(tile.clone())) - } else { - let Some((size, bytes)) = build()? else { - return Ok(None); - }; - let tile = lock - .allocate(size, key.texture_kind()) - .ok_or_else(|| anyhow::anyhow!("failed to allocate"))?; - let texture = lock.texture(tile.texture_id); - texture.upload(&lock.device_context, tile.bounds, &bytes); - lock.tiles_by_key.insert(key.clone(), tile.clone()); - Ok(Some(tile)) - } - } - - fn remove(&self, key: &AtlasKey) { - let mut lock = self.0.lock(); - - let Some(id) = lock.tiles_by_key.remove(key).map(|tile| tile.texture_id) else { - return; - }; - - let textures = match id.kind { - AtlasTextureKind::Monochrome => &mut lock.monochrome_textures, - AtlasTextureKind::Polychrome => &mut lock.polychrome_textures, - }; - - let Some(texture_slot) = textures.textures.get_mut(id.index as usize) else { - return; - }; - - if let Some(mut texture) = texture_slot.take() { - texture.decrement_ref_count(); - if texture.is_unreferenced() { - textures.free_list.push(texture.id.index as usize); - lock.tiles_by_key.remove(key); - } else { - *texture_slot = Some(texture); - } - } - } -} - -impl DirectXAtlasState { - fn allocate( - &mut self, - size: Size<DevicePixels>, - texture_kind: AtlasTextureKind, - ) -> Option<AtlasTile> { - { - let textures = match texture_kind { - AtlasTextureKind::Monochrome => &mut self.monochrome_textures, - AtlasTextureKind::Polychrome => &mut self.polychrome_textures, - }; - - if let Some(tile) = textures - .iter_mut() - .rev() - .find_map(|texture| texture.allocate(size)) - { - return Some(tile); - } - } - - let texture = self.push_texture(size, texture_kind)?; - texture.allocate(size) - } - - fn push_texture( - &mut self, - min_size: Size<DevicePixels>, - kind: AtlasTextureKind, - ) -> Option<&mut DirectXAtlasTexture> { - const DEFAULT_ATLAS_SIZE: Size<DevicePixels> = Size { - width: DevicePixels(1024), - height: DevicePixels(1024), - }; - // Max texture size for DirectX. See: - // https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-resources-limits - const MAX_ATLAS_SIZE: Size<DevicePixels> = Size { - width: DevicePixels(16384), - height: DevicePixels(16384), - }; - let size = min_size.min(&MAX_ATLAS_SIZE).max(&DEFAULT_ATLAS_SIZE); - let pixel_format; - let bind_flag; - let bytes_per_pixel; - match kind { - AtlasTextureKind::Monochrome => { - pixel_format = DXGI_FORMAT_A8_UNORM; - bind_flag = D3D11_BIND_SHADER_RESOURCE; - bytes_per_pixel = 1; - } - AtlasTextureKind::Polychrome => { - pixel_format = DXGI_FORMAT_B8G8R8A8_UNORM; - bind_flag = D3D11_BIND_SHADER_RESOURCE; - bytes_per_pixel = 4; - } - } - let texture_desc = D3D11_TEXTURE2D_DESC { - Width: size.width.0 as u32, - Height: size.height.0 as u32, - MipLevels: 1, - ArraySize: 1, - Format: pixel_format, - SampleDesc: DXGI_SAMPLE_DESC { - Count: 1, - Quality: 0, - }, - Usage: D3D11_USAGE_DEFAULT, - BindFlags: bind_flag.0 as u32, - CPUAccessFlags: D3D11_CPU_ACCESS_WRITE.0 as u32, - MiscFlags: 0, - }; - let mut texture: Option<ID3D11Texture2D> = None; - unsafe { - // This only returns None if the device is lost, which we will recreate later. - // So it's ok to return None here. - self.device - .CreateTexture2D(&texture_desc, None, Some(&mut texture)) - .ok()?; - } - let texture = texture.unwrap(); - - let texture_list = match kind { - AtlasTextureKind::Monochrome => &mut self.monochrome_textures, - AtlasTextureKind::Polychrome => &mut self.polychrome_textures, - }; - let index = texture_list.free_list.pop(); - let view = unsafe { - let mut view = None; - self.device - .CreateShaderResourceView(&texture, None, Some(&mut view)) - .ok()?; - [view] - }; - let atlas_texture = DirectXAtlasTexture { - id: AtlasTextureId { - index: index.unwrap_or(texture_list.textures.len()) as u32, - kind, - }, - bytes_per_pixel, - allocator: etagere::BucketedAtlasAllocator::new(size.into()), - texture, - view, - live_atlas_keys: 0, - }; - if let Some(ix) = index { - texture_list.textures[ix] = Some(atlas_texture); - texture_list.textures.get_mut(ix).unwrap().as_mut() - } else { - texture_list.textures.push(Some(atlas_texture)); - texture_list.textures.last_mut().unwrap().as_mut() - } - } - - fn texture(&self, id: AtlasTextureId) -> &DirectXAtlasTexture { - let textures = match id.kind { - crate::AtlasTextureKind::Monochrome => &self.monochrome_textures, - crate::AtlasTextureKind::Polychrome => &self.polychrome_textures, - }; - textures[id.index as usize].as_ref().unwrap() - } -} - -impl DirectXAtlasTexture { - fn allocate(&mut self, size: Size<DevicePixels>) -> Option<AtlasTile> { - let allocation = self.allocator.allocate(size.into())?; - let tile = AtlasTile { - texture_id: self.id, - tile_id: allocation.id.into(), - bounds: Bounds { - origin: allocation.rectangle.min.into(), - size, - }, - padding: 0, - }; - self.live_atlas_keys += 1; - Some(tile) - } - - fn upload( - &self, - device_context: &ID3D11DeviceContext, - bounds: Bounds<DevicePixels>, - bytes: &[u8], - ) { - unsafe { - device_context.UpdateSubresource( - &self.texture, - 0, - Some(&D3D11_BOX { - left: bounds.left().0 as u32, - top: bounds.top().0 as u32, - front: 0, - right: bounds.right().0 as u32, - bottom: bounds.bottom().0 as u32, - back: 1, - }), - bytes.as_ptr() as _, - bounds.size.width.to_bytes(self.bytes_per_pixel as u8), - 0, - ); - } - } - - fn decrement_ref_count(&mut self) { - self.live_atlas_keys -= 1; - } - - fn is_unreferenced(&mut self) -> bool { - self.live_atlas_keys == 0 - } -} - -impl From<Size<DevicePixels>> for etagere::Size { - fn from(size: Size<DevicePixels>) -> Self { - etagere::Size::new(size.width.into(), size.height.into()) - } -} - -impl From<etagere::Point> for Point<DevicePixels> { - fn from(value: etagere::Point) -> Self { - Point { - x: DevicePixels::from(value.x), - y: DevicePixels::from(value.y), - } - } -} diff --git a/crates/gpui/src/platform/windows/directx_renderer.rs b/crates/gpui/src/platform/windows/directx_renderer.rs deleted file mode 100644 index fcd52b6956..0000000000 --- a/crates/gpui/src/platform/windows/directx_renderer.rs +++ /dev/null @@ -1,1795 +0,0 @@ -use std::{mem::ManuallyDrop, sync::Arc}; - -use ::util::ResultExt; -use anyhow::{Context, Result}; -use windows::{ - Win32::{ - Foundation::{HMODULE, HWND}, - Graphics::{ - Direct3D::*, - Direct3D11::*, - DirectComposition::*, - Dxgi::{Common::*, *}, - }, - }, - core::Interface, -}; - -use crate::{ - platform::windows::directx_renderer::shader_resources::{ - RawShaderBytes, ShaderModule, ShaderTarget, - }, - *, -}; - -pub(crate) const DISABLE_DIRECT_COMPOSITION: &str = "GPUI_DISABLE_DIRECT_COMPOSITION"; -const RENDER_TARGET_FORMAT: DXGI_FORMAT = DXGI_FORMAT_B8G8R8A8_UNORM; -// This configuration is used for MSAA rendering on paths only, and it's guaranteed to be supported by DirectX 11. -const PATH_MULTISAMPLE_COUNT: u32 = 4; - -pub(crate) struct DirectXRenderer { - hwnd: HWND, - atlas: Arc<DirectXAtlas>, - devices: ManuallyDrop<DirectXDevices>, - resources: ManuallyDrop<DirectXResources>, - globals: DirectXGlobalElements, - pipelines: DirectXRenderPipelines, - direct_composition: Option<DirectComposition>, -} - -/// Direct3D objects -#[derive(Clone)] -pub(crate) struct DirectXDevices { - adapter: IDXGIAdapter1, - dxgi_factory: IDXGIFactory6, - device: ID3D11Device, - device_context: ID3D11DeviceContext, - dxgi_device: Option<IDXGIDevice>, -} - -struct DirectXResources { - // Direct3D rendering objects - swap_chain: IDXGISwapChain1, - render_target: ManuallyDrop<ID3D11Texture2D>, - render_target_view: [Option<ID3D11RenderTargetView>; 1], - - // Path intermediate textures (with MSAA) - path_intermediate_texture: ID3D11Texture2D, - path_intermediate_srv: [Option<ID3D11ShaderResourceView>; 1], - path_intermediate_msaa_texture: ID3D11Texture2D, - path_intermediate_msaa_view: [Option<ID3D11RenderTargetView>; 1], - - // Cached window size and viewport - width: u32, - height: u32, - viewport: [D3D11_VIEWPORT; 1], -} - -struct DirectXRenderPipelines { - shadow_pipeline: PipelineState<Shadow>, - quad_pipeline: PipelineState<Quad>, - path_rasterization_pipeline: PipelineState<PathRasterizationSprite>, - path_sprite_pipeline: PipelineState<PathSprite>, - underline_pipeline: PipelineState<Underline>, - mono_sprites: PipelineState<MonochromeSprite>, - poly_sprites: PipelineState<PolychromeSprite>, -} - -struct DirectXGlobalElements { - global_params_buffer: [Option<ID3D11Buffer>; 1], - sampler: [Option<ID3D11SamplerState>; 1], -} - -struct DirectComposition { - comp_device: IDCompositionDevice, - comp_target: IDCompositionTarget, - comp_visual: IDCompositionVisual, -} - -impl DirectXDevices { - pub(crate) fn new(disable_direct_composition: bool) -> Result<ManuallyDrop<Self>> { - let debug_layer_available = check_debug_layer_available(); - let dxgi_factory = - get_dxgi_factory(debug_layer_available).context("Creating DXGI factory")?; - let adapter = - get_adapter(&dxgi_factory, debug_layer_available).context("Getting DXGI adapter")?; - let (device, device_context) = { - let mut device: Option<ID3D11Device> = None; - let mut context: Option<ID3D11DeviceContext> = None; - let mut feature_level = D3D_FEATURE_LEVEL::default(); - get_device( - &adapter, - Some(&mut device), - Some(&mut context), - Some(&mut feature_level), - debug_layer_available, - ) - .context("Creating Direct3D device")?; - match feature_level { - D3D_FEATURE_LEVEL_11_1 => { - log::info!("Created device with Direct3D 11.1 feature level.") - } - D3D_FEATURE_LEVEL_11_0 => { - log::info!("Created device with Direct3D 11.0 feature level.") - } - D3D_FEATURE_LEVEL_10_1 => { - log::info!("Created device with Direct3D 10.1 feature level.") - } - _ => unreachable!(), - } - (device.unwrap(), context.unwrap()) - }; - let dxgi_device = if disable_direct_composition { - None - } else { - Some(device.cast().context("Creating DXGI device")?) - }; - - Ok(ManuallyDrop::new(Self { - adapter, - dxgi_factory, - dxgi_device, - device, - device_context, - })) - } -} - -impl DirectXRenderer { - pub(crate) fn new(hwnd: HWND, disable_direct_composition: bool) -> Result<Self> { - if disable_direct_composition { - log::info!("Direct Composition is disabled."); - } - - let devices = - DirectXDevices::new(disable_direct_composition).context("Creating DirectX devices")?; - let atlas = Arc::new(DirectXAtlas::new(&devices.device, &devices.device_context)); - - let resources = DirectXResources::new(&devices, 1, 1, hwnd, disable_direct_composition) - .context("Creating DirectX resources")?; - let globals = DirectXGlobalElements::new(&devices.device) - .context("Creating DirectX global elements")?; - let pipelines = DirectXRenderPipelines::new(&devices.device) - .context("Creating DirectX render pipelines")?; - - let direct_composition = if disable_direct_composition { - None - } else { - let composition = DirectComposition::new(devices.dxgi_device.as_ref().unwrap(), hwnd) - .context("Creating DirectComposition")?; - composition - .set_swap_chain(&resources.swap_chain) - .context("Setting swap chain for DirectComposition")?; - Some(composition) - }; - - Ok(DirectXRenderer { - hwnd, - atlas, - devices, - resources, - globals, - pipelines, - direct_composition, - }) - } - - pub(crate) fn sprite_atlas(&self) -> Arc<dyn PlatformAtlas> { - self.atlas.clone() - } - - fn pre_draw(&self) -> Result<()> { - update_buffer( - &self.devices.device_context, - self.globals.global_params_buffer[0].as_ref().unwrap(), - &[GlobalParams { - viewport_size: [ - self.resources.viewport[0].Width, - self.resources.viewport[0].Height, - ], - ..Default::default() - }], - )?; - unsafe { - self.devices.device_context.ClearRenderTargetView( - self.resources.render_target_view[0].as_ref().unwrap(), - &[0.0; 4], - ); - self.devices - .device_context - .OMSetRenderTargets(Some(&self.resources.render_target_view), None); - self.devices - .device_context - .RSSetViewports(Some(&self.resources.viewport)); - } - Ok(()) - } - - fn present(&mut self) -> Result<()> { - unsafe { - let result = self.resources.swap_chain.Present(1, DXGI_PRESENT(0)); - // Presenting the swap chain can fail if the DirectX device was removed or reset. - if result == DXGI_ERROR_DEVICE_REMOVED || result == DXGI_ERROR_DEVICE_RESET { - let reason = self.devices.device.GetDeviceRemovedReason(); - log::error!( - "DirectX device removed or reset when drawing. Reason: {:?}", - reason - ); - self.handle_device_lost()?; - } else { - result.ok()?; - } - } - Ok(()) - } - - fn handle_device_lost(&mut self) -> Result<()> { - // Here we wait a bit to ensure the the system has time to recover from the device lost state. - // If we don't wait, the final drawing result will be blank. - std::thread::sleep(std::time::Duration::from_millis(300)); - let disable_direct_composition = self.direct_composition.is_none(); - - unsafe { - #[cfg(debug_assertions)] - report_live_objects(&self.devices.device) - .context("Failed to report live objects after device lost") - .log_err(); - - ManuallyDrop::drop(&mut self.resources); - self.devices.device_context.OMSetRenderTargets(None, None); - self.devices.device_context.ClearState(); - self.devices.device_context.Flush(); - - #[cfg(debug_assertions)] - report_live_objects(&self.devices.device) - .context("Failed to report live objects after device lost") - .log_err(); - - drop(self.direct_composition.take()); - ManuallyDrop::drop(&mut self.devices); - } - - let devices = DirectXDevices::new(disable_direct_composition) - .context("Recreating DirectX devices")?; - let resources = DirectXResources::new( - &devices, - self.resources.width, - self.resources.height, - self.hwnd, - disable_direct_composition, - )?; - let globals = DirectXGlobalElements::new(&devices.device)?; - let pipelines = DirectXRenderPipelines::new(&devices.device)?; - - let direct_composition = if disable_direct_composition { - None - } else { - let composition = - DirectComposition::new(devices.dxgi_device.as_ref().unwrap(), self.hwnd)?; - composition.set_swap_chain(&resources.swap_chain)?; - Some(composition) - }; - - self.atlas - .handle_device_lost(&devices.device, &devices.device_context); - self.devices = devices; - self.resources = resources; - self.globals = globals; - self.pipelines = pipelines; - self.direct_composition = direct_composition; - - unsafe { - self.devices - .device_context - .OMSetRenderTargets(Some(&self.resources.render_target_view), None); - } - Ok(()) - } - - pub(crate) fn draw(&mut self, scene: &Scene) -> Result<()> { - self.pre_draw()?; - for batch in scene.batches() { - match batch { - PrimitiveBatch::Shadows(shadows) => self.draw_shadows(shadows), - PrimitiveBatch::Quads(quads) => self.draw_quads(quads), - PrimitiveBatch::Paths(paths) => { - self.draw_paths_to_intermediate(paths)?; - self.draw_paths_from_intermediate(paths) - } - PrimitiveBatch::Underlines(underlines) => self.draw_underlines(underlines), - PrimitiveBatch::MonochromeSprites { - texture_id, - sprites, - } => self.draw_monochrome_sprites(texture_id, sprites), - PrimitiveBatch::PolychromeSprites { - texture_id, - sprites, - } => self.draw_polychrome_sprites(texture_id, sprites), - PrimitiveBatch::Surfaces(surfaces) => self.draw_surfaces(surfaces), - }.context(format!("scene too large: {} paths, {} shadows, {} quads, {} underlines, {} mono, {} poly, {} surfaces", - scene.paths.len(), - scene.shadows.len(), - scene.quads.len(), - scene.underlines.len(), - scene.monochrome_sprites.len(), - scene.polychrome_sprites.len(), - scene.surfaces.len(),))?; - } - self.present() - } - - pub(crate) fn resize(&mut self, new_size: Size<DevicePixels>) -> Result<()> { - let width = new_size.width.0.max(1) as u32; - let height = new_size.height.0.max(1) as u32; - if self.resources.width == width && self.resources.height == height { - return Ok(()); - } - unsafe { - // Clear the render target before resizing - self.devices.device_context.OMSetRenderTargets(None, None); - ManuallyDrop::drop(&mut self.resources.render_target); - drop(self.resources.render_target_view[0].take().unwrap()); - - let result = self.resources.swap_chain.ResizeBuffers( - BUFFER_COUNT as u32, - width, - height, - RENDER_TARGET_FORMAT, - DXGI_SWAP_CHAIN_FLAG(0), - ); - // Resizing the swap chain requires a call to the underlying DXGI adapter, which can return the device removed error. - // The app might have moved to a monitor that's attached to a different graphics device. - // When a graphics device is removed or reset, the desktop resolution often changes, resulting in a window size change. - match result { - Ok(_) => {} - Err(e) => { - if e.code() == DXGI_ERROR_DEVICE_REMOVED || e.code() == DXGI_ERROR_DEVICE_RESET - { - let reason = self.devices.device.GetDeviceRemovedReason(); - log::error!( - "DirectX device removed or reset when resizing. Reason: {:?}", - reason - ); - self.resources.width = width; - self.resources.height = height; - self.handle_device_lost()?; - return Ok(()); - } else { - log::error!("Failed to resize swap chain: {:?}", e); - return Err(e.into()); - } - } - } - - self.resources - .recreate_resources(&self.devices, width, height)?; - self.devices - .device_context - .OMSetRenderTargets(Some(&self.resources.render_target_view), None); - } - Ok(()) - } - - fn draw_shadows(&mut self, shadows: &[Shadow]) -> Result<()> { - if shadows.is_empty() { - return Ok(()); - } - self.pipelines.shadow_pipeline.update_buffer( - &self.devices.device, - &self.devices.device_context, - shadows, - )?; - self.pipelines.shadow_pipeline.draw( - &self.devices.device_context, - &self.resources.viewport, - &self.globals.global_params_buffer, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, - 4, - shadows.len() as u32, - ) - } - - fn draw_quads(&mut self, quads: &[Quad]) -> Result<()> { - if quads.is_empty() { - return Ok(()); - } - self.pipelines.quad_pipeline.update_buffer( - &self.devices.device, - &self.devices.device_context, - quads, - )?; - self.pipelines.quad_pipeline.draw( - &self.devices.device_context, - &self.resources.viewport, - &self.globals.global_params_buffer, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, - 4, - quads.len() as u32, - ) - } - - fn draw_paths_to_intermediate(&mut self, paths: &[Path<ScaledPixels>]) -> Result<()> { - if paths.is_empty() { - return Ok(()); - } - - // Clear intermediate MSAA texture - unsafe { - self.devices.device_context.ClearRenderTargetView( - self.resources.path_intermediate_msaa_view[0] - .as_ref() - .unwrap(), - &[0.0; 4], - ); - // Set intermediate MSAA texture as render target - self.devices - .device_context - .OMSetRenderTargets(Some(&self.resources.path_intermediate_msaa_view), None); - } - - // Collect all vertices and sprites for a single draw call - let mut vertices = Vec::new(); - - for path in paths { - vertices.extend(path.vertices.iter().map(|v| PathRasterizationSprite { - xy_position: v.xy_position, - st_position: v.st_position, - color: path.color, - bounds: path.bounds.intersect(&path.content_mask.bounds), - })); - } - - self.pipelines.path_rasterization_pipeline.update_buffer( - &self.devices.device, - &self.devices.device_context, - &vertices, - )?; - self.pipelines.path_rasterization_pipeline.draw( - &self.devices.device_context, - &self.resources.viewport, - &self.globals.global_params_buffer, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, - vertices.len() as u32, - 1, - )?; - - // Resolve MSAA to non-MSAA intermediate texture - unsafe { - self.devices.device_context.ResolveSubresource( - &self.resources.path_intermediate_texture, - 0, - &self.resources.path_intermediate_msaa_texture, - 0, - RENDER_TARGET_FORMAT, - ); - // Restore main render target - self.devices - .device_context - .OMSetRenderTargets(Some(&self.resources.render_target_view), None); - } - - Ok(()) - } - - fn draw_paths_from_intermediate(&mut self, paths: &[Path<ScaledPixels>]) -> Result<()> { - let Some(first_path) = paths.first() else { - return Ok(()); - }; - - // When copying paths from the intermediate texture to the drawable, - // each pixel must only be copied once, in case of transparent paths. - // - // If all paths have the same draw order, then their bounds are all - // disjoint, so we can copy each path's bounds individually. If this - // batch combines different draw orders, we perform a single copy - // for a minimal spanning rect. - let sprites = if paths.last().unwrap().order == first_path.order { - paths - .iter() - .map(|path| PathSprite { - bounds: path.bounds, - }) - .collect::<Vec<_>>() - } else { - let mut bounds = first_path.bounds; - for path in paths.iter().skip(1) { - bounds = bounds.union(&path.bounds); - } - vec![PathSprite { bounds }] - }; - - self.pipelines.path_sprite_pipeline.update_buffer( - &self.devices.device, - &self.devices.device_context, - &sprites, - )?; - - // Draw the sprites with the path texture - self.pipelines.path_sprite_pipeline.draw_with_texture( - &self.devices.device_context, - &self.resources.path_intermediate_srv, - &self.resources.viewport, - &self.globals.global_params_buffer, - &self.globals.sampler, - sprites.len() as u32, - ) - } - - fn draw_underlines(&mut self, underlines: &[Underline]) -> Result<()> { - if underlines.is_empty() { - return Ok(()); - } - self.pipelines.underline_pipeline.update_buffer( - &self.devices.device, - &self.devices.device_context, - underlines, - )?; - self.pipelines.underline_pipeline.draw( - &self.devices.device_context, - &self.resources.viewport, - &self.globals.global_params_buffer, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, - 4, - underlines.len() as u32, - ) - } - - fn draw_monochrome_sprites( - &mut self, - texture_id: AtlasTextureId, - sprites: &[MonochromeSprite], - ) -> Result<()> { - if sprites.is_empty() { - return Ok(()); - } - self.pipelines.mono_sprites.update_buffer( - &self.devices.device, - &self.devices.device_context, - sprites, - )?; - let texture_view = self.atlas.get_texture_view(texture_id); - self.pipelines.mono_sprites.draw_with_texture( - &self.devices.device_context, - &texture_view, - &self.resources.viewport, - &self.globals.global_params_buffer, - &self.globals.sampler, - sprites.len() as u32, - ) - } - - fn draw_polychrome_sprites( - &mut self, - texture_id: AtlasTextureId, - sprites: &[PolychromeSprite], - ) -> Result<()> { - if sprites.is_empty() { - return Ok(()); - } - self.pipelines.poly_sprites.update_buffer( - &self.devices.device, - &self.devices.device_context, - sprites, - )?; - let texture_view = self.atlas.get_texture_view(texture_id); - self.pipelines.poly_sprites.draw_with_texture( - &self.devices.device_context, - &texture_view, - &self.resources.viewport, - &self.globals.global_params_buffer, - &self.globals.sampler, - sprites.len() as u32, - ) - } - - fn draw_surfaces(&mut self, surfaces: &[PaintSurface]) -> Result<()> { - if surfaces.is_empty() { - return Ok(()); - } - Ok(()) - } - - pub(crate) fn gpu_specs(&self) -> Result<GpuSpecs> { - let desc = unsafe { self.devices.adapter.GetDesc1() }?; - let is_software_emulated = (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE.0 as u32) != 0; - let device_name = String::from_utf16_lossy(&desc.Description) - .trim_matches(char::from(0)) - .to_string(); - let driver_name = match desc.VendorId { - 0x10DE => "NVIDIA Corporation".to_string(), - 0x1002 => "AMD Corporation".to_string(), - 0x8086 => "Intel Corporation".to_string(), - id => format!("Unknown Vendor (ID: {:#X})", id), - }; - let driver_version = match desc.VendorId { - 0x10DE => nvidia::get_driver_version(), - 0x1002 => amd::get_driver_version(), - // For Intel and other vendors, we use the DXGI API to get the driver version. - _ => dxgi::get_driver_version(&self.devices.adapter), - } - .context("Failed to get gpu driver info") - .log_err() - .unwrap_or("Unknown Driver".to_string()); - Ok(GpuSpecs { - is_software_emulated, - device_name, - driver_name, - driver_info: driver_version, - }) - } -} - -impl DirectXResources { - pub fn new( - devices: &DirectXDevices, - width: u32, - height: u32, - hwnd: HWND, - disable_direct_composition: bool, - ) -> Result<ManuallyDrop<Self>> { - let swap_chain = if disable_direct_composition { - create_swap_chain(&devices.dxgi_factory, &devices.device, hwnd, width, height)? - } else { - create_swap_chain_for_composition( - &devices.dxgi_factory, - &devices.device, - width, - height, - )? - }; - - let ( - render_target, - render_target_view, - path_intermediate_texture, - path_intermediate_srv, - path_intermediate_msaa_texture, - path_intermediate_msaa_view, - viewport, - ) = create_resources(devices, &swap_chain, width, height)?; - set_rasterizer_state(&devices.device, &devices.device_context)?; - - Ok(ManuallyDrop::new(Self { - swap_chain, - render_target, - render_target_view, - path_intermediate_texture, - path_intermediate_msaa_texture, - path_intermediate_msaa_view, - path_intermediate_srv, - viewport, - width, - height, - })) - } - - #[inline] - fn recreate_resources( - &mut self, - devices: &DirectXDevices, - width: u32, - height: u32, - ) -> Result<()> { - let ( - render_target, - render_target_view, - path_intermediate_texture, - path_intermediate_srv, - path_intermediate_msaa_texture, - path_intermediate_msaa_view, - viewport, - ) = create_resources(devices, &self.swap_chain, width, height)?; - self.render_target = render_target; - self.render_target_view = render_target_view; - self.path_intermediate_texture = path_intermediate_texture; - self.path_intermediate_msaa_texture = path_intermediate_msaa_texture; - self.path_intermediate_msaa_view = path_intermediate_msaa_view; - self.path_intermediate_srv = path_intermediate_srv; - self.viewport = viewport; - self.width = width; - self.height = height; - Ok(()) - } -} - -impl DirectXRenderPipelines { - pub fn new(device: &ID3D11Device) -> Result<Self> { - let shadow_pipeline = PipelineState::new( - device, - "shadow_pipeline", - ShaderModule::Shadow, - 4, - create_blend_state(device)?, - )?; - let quad_pipeline = PipelineState::new( - device, - "quad_pipeline", - ShaderModule::Quad, - 64, - create_blend_state(device)?, - )?; - let path_rasterization_pipeline = PipelineState::new( - device, - "path_rasterization_pipeline", - ShaderModule::PathRasterization, - 32, - create_blend_state_for_path_rasterization(device)?, - )?; - let path_sprite_pipeline = PipelineState::new( - device, - "path_sprite_pipeline", - ShaderModule::PathSprite, - 4, - create_blend_state_for_path_sprite(device)?, - )?; - let underline_pipeline = PipelineState::new( - device, - "underline_pipeline", - ShaderModule::Underline, - 4, - create_blend_state(device)?, - )?; - let mono_sprites = PipelineState::new( - device, - "monochrome_sprite_pipeline", - ShaderModule::MonochromeSprite, - 512, - create_blend_state(device)?, - )?; - let poly_sprites = PipelineState::new( - device, - "polychrome_sprite_pipeline", - ShaderModule::PolychromeSprite, - 16, - create_blend_state(device)?, - )?; - - Ok(Self { - shadow_pipeline, - quad_pipeline, - path_rasterization_pipeline, - path_sprite_pipeline, - underline_pipeline, - mono_sprites, - poly_sprites, - }) - } -} - -impl DirectComposition { - pub fn new(dxgi_device: &IDXGIDevice, hwnd: HWND) -> Result<Self> { - let comp_device = get_comp_device(&dxgi_device)?; - let comp_target = unsafe { comp_device.CreateTargetForHwnd(hwnd, true) }?; - let comp_visual = unsafe { comp_device.CreateVisual() }?; - - Ok(Self { - comp_device, - comp_target, - comp_visual, - }) - } - - pub fn set_swap_chain(&self, swap_chain: &IDXGISwapChain1) -> Result<()> { - unsafe { - self.comp_visual.SetContent(swap_chain)?; - self.comp_target.SetRoot(&self.comp_visual)?; - self.comp_device.Commit()?; - } - Ok(()) - } -} - -impl DirectXGlobalElements { - pub fn new(device: &ID3D11Device) -> Result<Self> { - let global_params_buffer = unsafe { - let desc = D3D11_BUFFER_DESC { - ByteWidth: std::mem::size_of::<GlobalParams>() as u32, - Usage: D3D11_USAGE_DYNAMIC, - BindFlags: D3D11_BIND_CONSTANT_BUFFER.0 as u32, - CPUAccessFlags: D3D11_CPU_ACCESS_WRITE.0 as u32, - ..Default::default() - }; - let mut buffer = None; - device.CreateBuffer(&desc, None, Some(&mut buffer))?; - [buffer] - }; - - let sampler = unsafe { - let desc = D3D11_SAMPLER_DESC { - Filter: D3D11_FILTER_MIN_MAG_MIP_LINEAR, - AddressU: D3D11_TEXTURE_ADDRESS_WRAP, - AddressV: D3D11_TEXTURE_ADDRESS_WRAP, - AddressW: D3D11_TEXTURE_ADDRESS_WRAP, - MipLODBias: 0.0, - MaxAnisotropy: 1, - ComparisonFunc: D3D11_COMPARISON_ALWAYS, - BorderColor: [0.0; 4], - MinLOD: 0.0, - MaxLOD: D3D11_FLOAT32_MAX, - }; - let mut output = None; - device.CreateSamplerState(&desc, Some(&mut output))?; - [output] - }; - - Ok(Self { - global_params_buffer, - sampler, - }) - } -} - -#[derive(Debug, Default)] -#[repr(C)] -struct GlobalParams { - viewport_size: [f32; 2], - _pad: u64, -} - -struct PipelineState<T> { - label: &'static str, - vertex: ID3D11VertexShader, - fragment: ID3D11PixelShader, - buffer: ID3D11Buffer, - buffer_size: usize, - view: [Option<ID3D11ShaderResourceView>; 1], - blend_state: ID3D11BlendState, - _marker: std::marker::PhantomData<T>, -} - -impl<T> PipelineState<T> { - fn new( - device: &ID3D11Device, - label: &'static str, - shader_module: ShaderModule, - buffer_size: usize, - blend_state: ID3D11BlendState, - ) -> Result<Self> { - let vertex = { - let raw_shader = RawShaderBytes::new(shader_module, ShaderTarget::Vertex)?; - create_vertex_shader(device, raw_shader.as_bytes())? - }; - let fragment = { - let raw_shader = RawShaderBytes::new(shader_module, ShaderTarget::Fragment)?; - create_fragment_shader(device, raw_shader.as_bytes())? - }; - let buffer = create_buffer(device, std::mem::size_of::<T>(), buffer_size)?; - let view = create_buffer_view(device, &buffer)?; - - Ok(PipelineState { - label, - vertex, - fragment, - buffer, - buffer_size, - view, - blend_state, - _marker: std::marker::PhantomData, - }) - } - - fn update_buffer( - &mut self, - device: &ID3D11Device, - device_context: &ID3D11DeviceContext, - data: &[T], - ) -> Result<()> { - if self.buffer_size < data.len() { - let new_buffer_size = data.len().next_power_of_two(); - log::info!( - "Updating {} buffer size from {} to {}", - self.label, - self.buffer_size, - new_buffer_size - ); - let buffer = create_buffer(device, std::mem::size_of::<T>(), new_buffer_size)?; - let view = create_buffer_view(device, &buffer)?; - self.buffer = buffer; - self.view = view; - self.buffer_size = new_buffer_size; - } - update_buffer(device_context, &self.buffer, data) - } - - fn draw( - &self, - device_context: &ID3D11DeviceContext, - viewport: &[D3D11_VIEWPORT], - global_params: &[Option<ID3D11Buffer>], - topology: D3D_PRIMITIVE_TOPOLOGY, - vertex_count: u32, - instance_count: u32, - ) -> Result<()> { - set_pipeline_state( - device_context, - &self.view, - topology, - viewport, - &self.vertex, - &self.fragment, - global_params, - &self.blend_state, - ); - unsafe { - device_context.DrawInstanced(vertex_count, instance_count, 0, 0); - } - Ok(()) - } - - fn draw_with_texture( - &self, - device_context: &ID3D11DeviceContext, - texture: &[Option<ID3D11ShaderResourceView>], - viewport: &[D3D11_VIEWPORT], - global_params: &[Option<ID3D11Buffer>], - sampler: &[Option<ID3D11SamplerState>], - instance_count: u32, - ) -> Result<()> { - set_pipeline_state( - device_context, - &self.view, - D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP, - viewport, - &self.vertex, - &self.fragment, - global_params, - &self.blend_state, - ); - unsafe { - device_context.PSSetSamplers(0, Some(sampler)); - device_context.VSSetShaderResources(0, Some(texture)); - device_context.PSSetShaderResources(0, Some(texture)); - - device_context.DrawInstanced(4, instance_count, 0, 0); - } - Ok(()) - } -} - -#[derive(Clone, Copy)] -#[repr(C)] -struct PathRasterizationSprite { - xy_position: Point<ScaledPixels>, - st_position: Point<f32>, - color: Background, - bounds: Bounds<ScaledPixels>, -} - -#[derive(Clone, Copy)] -#[repr(C)] -struct PathSprite { - bounds: Bounds<ScaledPixels>, -} - -impl Drop for DirectXRenderer { - fn drop(&mut self) { - #[cfg(debug_assertions)] - report_live_objects(&self.devices.device).ok(); - unsafe { - ManuallyDrop::drop(&mut self.devices); - ManuallyDrop::drop(&mut self.resources); - } - } -} - -impl Drop for DirectXResources { - fn drop(&mut self) { - unsafe { - ManuallyDrop::drop(&mut self.render_target); - } - } -} - -#[inline] -fn check_debug_layer_available() -> bool { - #[cfg(debug_assertions)] - { - unsafe { DXGIGetDebugInterface1::<IDXGIInfoQueue>(0) } - .log_err() - .is_some() - } - #[cfg(not(debug_assertions))] - { - false - } -} - -#[inline] -fn get_dxgi_factory(debug_layer_available: bool) -> Result<IDXGIFactory6> { - let factory_flag = if debug_layer_available { - DXGI_CREATE_FACTORY_DEBUG - } else { - #[cfg(debug_assertions)] - log::warn!( - "Failed to get DXGI debug interface. DirectX debugging features will be disabled." - ); - DXGI_CREATE_FACTORY_FLAGS::default() - }; - unsafe { Ok(CreateDXGIFactory2(factory_flag)?) } -} - -fn get_adapter(dxgi_factory: &IDXGIFactory6, debug_layer_available: bool) -> Result<IDXGIAdapter1> { - for adapter_index in 0.. { - let adapter: IDXGIAdapter1 = unsafe { - dxgi_factory - .EnumAdapterByGpuPreference(adapter_index, DXGI_GPU_PREFERENCE_MINIMUM_POWER) - }?; - if let Ok(desc) = unsafe { adapter.GetDesc1() } { - let gpu_name = String::from_utf16_lossy(&desc.Description) - .trim_matches(char::from(0)) - .to_string(); - log::info!("Using GPU: {}", gpu_name); - } - // Check to see whether the adapter supports Direct3D 11, but don't - // create the actual device yet. - if get_device(&adapter, None, None, None, debug_layer_available) - .log_err() - .is_some() - { - return Ok(adapter); - } - } - - unreachable!() -} - -fn get_device( - adapter: &IDXGIAdapter1, - device: Option<*mut Option<ID3D11Device>>, - context: Option<*mut Option<ID3D11DeviceContext>>, - feature_level: Option<*mut D3D_FEATURE_LEVEL>, - debug_layer_available: bool, -) -> Result<()> { - let device_flags = if debug_layer_available { - D3D11_CREATE_DEVICE_BGRA_SUPPORT | D3D11_CREATE_DEVICE_DEBUG - } else { - D3D11_CREATE_DEVICE_BGRA_SUPPORT - }; - unsafe { - D3D11CreateDevice( - adapter, - D3D_DRIVER_TYPE_UNKNOWN, - HMODULE::default(), - device_flags, - // 4x MSAA is required for Direct3D Feature Level 10.1 or better - Some(&[ - D3D_FEATURE_LEVEL_11_1, - D3D_FEATURE_LEVEL_11_0, - D3D_FEATURE_LEVEL_10_1, - ]), - D3D11_SDK_VERSION, - device, - feature_level, - context, - )?; - } - Ok(()) -} - -#[inline] -fn get_comp_device(dxgi_device: &IDXGIDevice) -> Result<IDCompositionDevice> { - Ok(unsafe { DCompositionCreateDevice(dxgi_device)? }) -} - -fn create_swap_chain_for_composition( - dxgi_factory: &IDXGIFactory6, - device: &ID3D11Device, - width: u32, - height: u32, -) -> Result<IDXGISwapChain1> { - let desc = DXGI_SWAP_CHAIN_DESC1 { - Width: width, - Height: height, - Format: RENDER_TARGET_FORMAT, - Stereo: false.into(), - SampleDesc: DXGI_SAMPLE_DESC { - Count: 1, - Quality: 0, - }, - BufferUsage: DXGI_USAGE_RENDER_TARGET_OUTPUT, - BufferCount: BUFFER_COUNT as u32, - // Composition SwapChains only support the DXGI_SCALING_STRETCH Scaling. - Scaling: DXGI_SCALING_STRETCH, - SwapEffect: DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL, - AlphaMode: DXGI_ALPHA_MODE_PREMULTIPLIED, - Flags: 0, - }; - Ok(unsafe { dxgi_factory.CreateSwapChainForComposition(device, &desc, None)? }) -} - -fn create_swap_chain( - dxgi_factory: &IDXGIFactory6, - device: &ID3D11Device, - hwnd: HWND, - width: u32, - height: u32, -) -> Result<IDXGISwapChain1> { - use windows::Win32::Graphics::Dxgi::DXGI_MWA_NO_ALT_ENTER; - - let desc = DXGI_SWAP_CHAIN_DESC1 { - Width: width, - Height: height, - Format: RENDER_TARGET_FORMAT, - Stereo: false.into(), - SampleDesc: DXGI_SAMPLE_DESC { - Count: 1, - Quality: 0, - }, - BufferUsage: DXGI_USAGE_RENDER_TARGET_OUTPUT, - BufferCount: BUFFER_COUNT as u32, - Scaling: DXGI_SCALING_NONE, - SwapEffect: DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL, - AlphaMode: DXGI_ALPHA_MODE_IGNORE, - Flags: 0, - }; - let swap_chain = - unsafe { dxgi_factory.CreateSwapChainForHwnd(device, hwnd, &desc, None, None) }?; - unsafe { dxgi_factory.MakeWindowAssociation(hwnd, DXGI_MWA_NO_ALT_ENTER) }?; - Ok(swap_chain) -} - -#[inline] -fn create_resources( - devices: &DirectXDevices, - swap_chain: &IDXGISwapChain1, - width: u32, - height: u32, -) -> Result<( - ManuallyDrop<ID3D11Texture2D>, - [Option<ID3D11RenderTargetView>; 1], - ID3D11Texture2D, - [Option<ID3D11ShaderResourceView>; 1], - ID3D11Texture2D, - [Option<ID3D11RenderTargetView>; 1], - [D3D11_VIEWPORT; 1], -)> { - let (render_target, render_target_view) = - create_render_target_and_its_view(&swap_chain, &devices.device)?; - let (path_intermediate_texture, path_intermediate_srv) = - create_path_intermediate_texture(&devices.device, width, height)?; - let (path_intermediate_msaa_texture, path_intermediate_msaa_view) = - create_path_intermediate_msaa_texture_and_view(&devices.device, width, height)?; - let viewport = set_viewport(&devices.device_context, width as f32, height as f32); - Ok(( - render_target, - render_target_view, - path_intermediate_texture, - path_intermediate_srv, - path_intermediate_msaa_texture, - path_intermediate_msaa_view, - viewport, - )) -} - -#[inline] -fn create_render_target_and_its_view( - swap_chain: &IDXGISwapChain1, - device: &ID3D11Device, -) -> Result<( - ManuallyDrop<ID3D11Texture2D>, - [Option<ID3D11RenderTargetView>; 1], -)> { - let render_target: ID3D11Texture2D = unsafe { swap_chain.GetBuffer(0) }?; - let mut render_target_view = None; - unsafe { device.CreateRenderTargetView(&render_target, None, Some(&mut render_target_view))? }; - Ok(( - ManuallyDrop::new(render_target), - [Some(render_target_view.unwrap())], - )) -} - -#[inline] -fn create_path_intermediate_texture( - device: &ID3D11Device, - width: u32, - height: u32, -) -> Result<(ID3D11Texture2D, [Option<ID3D11ShaderResourceView>; 1])> { - let texture = unsafe { - let mut output = None; - let desc = D3D11_TEXTURE2D_DESC { - Width: width, - Height: height, - MipLevels: 1, - ArraySize: 1, - Format: RENDER_TARGET_FORMAT, - SampleDesc: DXGI_SAMPLE_DESC { - Count: 1, - Quality: 0, - }, - Usage: D3D11_USAGE_DEFAULT, - BindFlags: (D3D11_BIND_RENDER_TARGET.0 | D3D11_BIND_SHADER_RESOURCE.0) as u32, - CPUAccessFlags: 0, - MiscFlags: 0, - }; - device.CreateTexture2D(&desc, None, Some(&mut output))?; - output.unwrap() - }; - - let mut shader_resource_view = None; - unsafe { device.CreateShaderResourceView(&texture, None, Some(&mut shader_resource_view))? }; - - Ok((texture, [Some(shader_resource_view.unwrap())])) -} - -#[inline] -fn create_path_intermediate_msaa_texture_and_view( - device: &ID3D11Device, - width: u32, - height: u32, -) -> Result<(ID3D11Texture2D, [Option<ID3D11RenderTargetView>; 1])> { - let msaa_texture = unsafe { - let mut output = None; - let desc = D3D11_TEXTURE2D_DESC { - Width: width, - Height: height, - MipLevels: 1, - ArraySize: 1, - Format: RENDER_TARGET_FORMAT, - SampleDesc: DXGI_SAMPLE_DESC { - Count: PATH_MULTISAMPLE_COUNT, - Quality: D3D11_STANDARD_MULTISAMPLE_PATTERN.0 as u32, - }, - Usage: D3D11_USAGE_DEFAULT, - BindFlags: D3D11_BIND_RENDER_TARGET.0 as u32, - CPUAccessFlags: 0, - MiscFlags: 0, - }; - device.CreateTexture2D(&desc, None, Some(&mut output))?; - output.unwrap() - }; - let mut msaa_view = None; - unsafe { device.CreateRenderTargetView(&msaa_texture, None, Some(&mut msaa_view))? }; - Ok((msaa_texture, [Some(msaa_view.unwrap())])) -} - -#[inline] -fn set_viewport( - device_context: &ID3D11DeviceContext, - width: f32, - height: f32, -) -> [D3D11_VIEWPORT; 1] { - let viewport = [D3D11_VIEWPORT { - TopLeftX: 0.0, - TopLeftY: 0.0, - Width: width, - Height: height, - MinDepth: 0.0, - MaxDepth: 1.0, - }]; - unsafe { device_context.RSSetViewports(Some(&viewport)) }; - viewport -} - -#[inline] -fn set_rasterizer_state(device: &ID3D11Device, device_context: &ID3D11DeviceContext) -> Result<()> { - let desc = D3D11_RASTERIZER_DESC { - FillMode: D3D11_FILL_SOLID, - CullMode: D3D11_CULL_NONE, - FrontCounterClockwise: false.into(), - DepthBias: 0, - DepthBiasClamp: 0.0, - SlopeScaledDepthBias: 0.0, - DepthClipEnable: true.into(), - ScissorEnable: false.into(), - MultisampleEnable: true.into(), - AntialiasedLineEnable: false.into(), - }; - let rasterizer_state = unsafe { - let mut state = None; - device.CreateRasterizerState(&desc, Some(&mut state))?; - state.unwrap() - }; - unsafe { device_context.RSSetState(&rasterizer_state) }; - Ok(()) -} - -// https://learn.microsoft.com/en-us/windows/win32/api/d3d11/ns-d3d11-d3d11_blend_desc -#[inline] -fn create_blend_state(device: &ID3D11Device) -> Result<ID3D11BlendState> { - // If the feature level is set to greater than D3D_FEATURE_LEVEL_9_3, the display - // device performs the blend in linear space, which is ideal. - let mut desc = D3D11_BLEND_DESC::default(); - desc.RenderTarget[0].BlendEnable = true.into(); - desc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD; - desc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD; - desc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA; - desc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE; - desc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA; - desc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ONE; - desc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL.0 as u8; - unsafe { - let mut state = None; - device.CreateBlendState(&desc, Some(&mut state))?; - Ok(state.unwrap()) - } -} - -#[inline] -fn create_blend_state_for_path_rasterization(device: &ID3D11Device) -> Result<ID3D11BlendState> { - // If the feature level is set to greater than D3D_FEATURE_LEVEL_9_3, the display - // device performs the blend in linear space, which is ideal. - let mut desc = D3D11_BLEND_DESC::default(); - desc.RenderTarget[0].BlendEnable = true.into(); - desc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD; - desc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD; - desc.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE; - desc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE; - desc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA; - desc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_INV_SRC_ALPHA; - desc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL.0 as u8; - unsafe { - let mut state = None; - device.CreateBlendState(&desc, Some(&mut state))?; - Ok(state.unwrap()) - } -} - -#[inline] -fn create_blend_state_for_path_sprite(device: &ID3D11Device) -> Result<ID3D11BlendState> { - // If the feature level is set to greater than D3D_FEATURE_LEVEL_9_3, the display - // device performs the blend in linear space, which is ideal. - let mut desc = D3D11_BLEND_DESC::default(); - desc.RenderTarget[0].BlendEnable = true.into(); - desc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD; - desc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD; - desc.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE; - desc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE; - desc.RenderTarget[0].DestBlend = D3D11_BLEND_INV_SRC_ALPHA; - desc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ONE; - desc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL.0 as u8; - unsafe { - let mut state = None; - device.CreateBlendState(&desc, Some(&mut state))?; - Ok(state.unwrap()) - } -} - -#[inline] -fn create_vertex_shader(device: &ID3D11Device, bytes: &[u8]) -> Result<ID3D11VertexShader> { - unsafe { - let mut shader = None; - device.CreateVertexShader(bytes, None, Some(&mut shader))?; - Ok(shader.unwrap()) - } -} - -#[inline] -fn create_fragment_shader(device: &ID3D11Device, bytes: &[u8]) -> Result<ID3D11PixelShader> { - unsafe { - let mut shader = None; - device.CreatePixelShader(bytes, None, Some(&mut shader))?; - Ok(shader.unwrap()) - } -} - -#[inline] -fn create_buffer( - device: &ID3D11Device, - element_size: usize, - buffer_size: usize, -) -> Result<ID3D11Buffer> { - let desc = D3D11_BUFFER_DESC { - ByteWidth: (element_size * buffer_size) as u32, - Usage: D3D11_USAGE_DYNAMIC, - BindFlags: D3D11_BIND_SHADER_RESOURCE.0 as u32, - CPUAccessFlags: D3D11_CPU_ACCESS_WRITE.0 as u32, - MiscFlags: D3D11_RESOURCE_MISC_BUFFER_STRUCTURED.0 as u32, - StructureByteStride: element_size as u32, - }; - let mut buffer = None; - unsafe { device.CreateBuffer(&desc, None, Some(&mut buffer)) }?; - Ok(buffer.unwrap()) -} - -#[inline] -fn create_buffer_view( - device: &ID3D11Device, - buffer: &ID3D11Buffer, -) -> Result<[Option<ID3D11ShaderResourceView>; 1]> { - let mut view = None; - unsafe { device.CreateShaderResourceView(buffer, None, Some(&mut view)) }?; - Ok([view]) -} - -#[inline] -fn update_buffer<T>( - device_context: &ID3D11DeviceContext, - buffer: &ID3D11Buffer, - data: &[T], -) -> Result<()> { - unsafe { - let mut dest = std::mem::zeroed(); - device_context.Map(buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, Some(&mut dest))?; - std::ptr::copy_nonoverlapping(data.as_ptr(), dest.pData as _, data.len()); - device_context.Unmap(buffer, 0); - } - Ok(()) -} - -#[inline] -fn set_pipeline_state( - device_context: &ID3D11DeviceContext, - buffer_view: &[Option<ID3D11ShaderResourceView>], - topology: D3D_PRIMITIVE_TOPOLOGY, - viewport: &[D3D11_VIEWPORT], - vertex_shader: &ID3D11VertexShader, - fragment_shader: &ID3D11PixelShader, - global_params: &[Option<ID3D11Buffer>], - blend_state: &ID3D11BlendState, -) { - unsafe { - device_context.VSSetShaderResources(1, Some(buffer_view)); - device_context.PSSetShaderResources(1, Some(buffer_view)); - device_context.IASetPrimitiveTopology(topology); - device_context.RSSetViewports(Some(viewport)); - device_context.VSSetShader(vertex_shader, None); - device_context.PSSetShader(fragment_shader, None); - device_context.VSSetConstantBuffers(0, Some(global_params)); - device_context.PSSetConstantBuffers(0, Some(global_params)); - device_context.OMSetBlendState(blend_state, None, 0xFFFFFFFF); - } -} - -#[cfg(debug_assertions)] -fn report_live_objects(device: &ID3D11Device) -> Result<()> { - let debug_device: ID3D11Debug = device.cast()?; - unsafe { - debug_device.ReportLiveDeviceObjects(D3D11_RLDO_DETAIL)?; - } - Ok(()) -} - -const BUFFER_COUNT: usize = 3; - -mod shader_resources { - use anyhow::Result; - - #[cfg(debug_assertions)] - use windows::{ - Win32::Graphics::Direct3D::{ - Fxc::{D3DCOMPILE_DEBUG, D3DCOMPILE_SKIP_OPTIMIZATION, D3DCompileFromFile}, - ID3DBlob, - }, - core::{HSTRING, PCSTR}, - }; - - #[derive(Copy, Clone, Debug, Eq, PartialEq)] - pub(super) enum ShaderModule { - Quad, - Shadow, - Underline, - PathRasterization, - PathSprite, - MonochromeSprite, - PolychromeSprite, - } - - #[derive(Copy, Clone, Debug, Eq, PartialEq)] - pub(super) enum ShaderTarget { - Vertex, - Fragment, - } - - pub(super) struct RawShaderBytes<'t> { - inner: &'t [u8], - - #[cfg(debug_assertions)] - _blob: ID3DBlob, - } - - impl<'t> RawShaderBytes<'t> { - pub(super) fn new(module: ShaderModule, target: ShaderTarget) -> Result<Self> { - #[cfg(not(debug_assertions))] - { - Ok(Self::from_bytes(module, target)) - } - #[cfg(debug_assertions)] - { - let blob = build_shader_blob(module, target)?; - let inner = unsafe { - std::slice::from_raw_parts( - blob.GetBufferPointer() as *const u8, - blob.GetBufferSize(), - ) - }; - Ok(Self { inner, _blob: blob }) - } - } - - pub(super) fn as_bytes(&'t self) -> &'t [u8] { - self.inner - } - - #[cfg(not(debug_assertions))] - fn from_bytes(module: ShaderModule, target: ShaderTarget) -> Self { - let bytes = match module { - ShaderModule::Quad => match target { - ShaderTarget::Vertex => QUAD_VERTEX_BYTES, - ShaderTarget::Fragment => QUAD_FRAGMENT_BYTES, - }, - ShaderModule::Shadow => match target { - ShaderTarget::Vertex => SHADOW_VERTEX_BYTES, - ShaderTarget::Fragment => SHADOW_FRAGMENT_BYTES, - }, - ShaderModule::Underline => match target { - ShaderTarget::Vertex => UNDERLINE_VERTEX_BYTES, - ShaderTarget::Fragment => UNDERLINE_FRAGMENT_BYTES, - }, - ShaderModule::PathRasterization => match target { - ShaderTarget::Vertex => PATH_RASTERIZATION_VERTEX_BYTES, - ShaderTarget::Fragment => PATH_RASTERIZATION_FRAGMENT_BYTES, - }, - ShaderModule::PathSprite => match target { - ShaderTarget::Vertex => PATH_SPRITE_VERTEX_BYTES, - ShaderTarget::Fragment => PATH_SPRITE_FRAGMENT_BYTES, - }, - ShaderModule::MonochromeSprite => match target { - ShaderTarget::Vertex => MONOCHROME_SPRITE_VERTEX_BYTES, - ShaderTarget::Fragment => MONOCHROME_SPRITE_FRAGMENT_BYTES, - }, - ShaderModule::PolychromeSprite => match target { - ShaderTarget::Vertex => POLYCHROME_SPRITE_VERTEX_BYTES, - ShaderTarget::Fragment => POLYCHROME_SPRITE_FRAGMENT_BYTES, - }, - }; - Self { inner: bytes } - } - } - - #[cfg(debug_assertions)] - pub(super) fn build_shader_blob(entry: ShaderModule, target: ShaderTarget) -> Result<ID3DBlob> { - unsafe { - let entry = format!( - "{}_{}\0", - entry.as_str(), - match target { - ShaderTarget::Vertex => "vertex", - ShaderTarget::Fragment => "fragment", - } - ); - let target = match target { - ShaderTarget::Vertex => "vs_4_1\0", - ShaderTarget::Fragment => "ps_4_1\0", - }; - - let mut compile_blob = None; - let mut error_blob = None; - let shader_path = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")) - .join("src/platform/windows/shaders.hlsl") - .canonicalize()?; - - let entry_point = PCSTR::from_raw(entry.as_ptr()); - let target_cstr = PCSTR::from_raw(target.as_ptr()); - - let ret = D3DCompileFromFile( - &HSTRING::from(shader_path.to_str().unwrap()), - None, - None, - entry_point, - target_cstr, - D3DCOMPILE_DEBUG | D3DCOMPILE_SKIP_OPTIMIZATION, - 0, - &mut compile_blob, - Some(&mut error_blob), - ); - if ret.is_err() { - let Some(error_blob) = error_blob else { - return Err(anyhow::anyhow!("{ret:?}")); - }; - - let error_string = - std::ffi::CStr::from_ptr(error_blob.GetBufferPointer() as *const i8) - .to_string_lossy(); - log::error!("Shader compile error: {}", error_string); - return Err(anyhow::anyhow!("Compile error: {}", error_string)); - } - Ok(compile_blob.unwrap()) - } - } - - #[cfg(not(debug_assertions))] - include!(concat!(env!("OUT_DIR"), "/shaders_bytes.rs")); - - #[cfg(debug_assertions)] - impl ShaderModule { - pub fn as_str(&self) -> &str { - match self { - ShaderModule::Quad => "quad", - ShaderModule::Shadow => "shadow", - ShaderModule::Underline => "underline", - ShaderModule::PathRasterization => "path_rasterization", - ShaderModule::PathSprite => "path_sprite", - ShaderModule::MonochromeSprite => "monochrome_sprite", - ShaderModule::PolychromeSprite => "polychrome_sprite", - } - } - } -} - -mod nvidia { - use std::{ - ffi::CStr, - os::raw::{c_char, c_int, c_uint}, - }; - - use anyhow::{Context, Result}; - use windows::{ - Win32::System::LibraryLoader::{GetProcAddress, LoadLibraryA}, - core::s, - }; - - // https://github.com/NVIDIA/nvapi/blob/7cb76fce2f52de818b3da497af646af1ec16ce27/nvapi_lite_common.h#L180 - const NVAPI_SHORT_STRING_MAX: usize = 64; - - // https://github.com/NVIDIA/nvapi/blob/7cb76fce2f52de818b3da497af646af1ec16ce27/nvapi_lite_common.h#L235 - #[allow(non_camel_case_types)] - type NvAPI_ShortString = [c_char; NVAPI_SHORT_STRING_MAX]; - - // https://github.com/NVIDIA/nvapi/blob/7cb76fce2f52de818b3da497af646af1ec16ce27/nvapi_lite_common.h#L447 - #[allow(non_camel_case_types)] - type NvAPI_SYS_GetDriverAndBranchVersion_t = unsafe extern "C" fn( - driver_version: *mut c_uint, - build_branch_string: *mut NvAPI_ShortString, - ) -> c_int; - - pub(super) fn get_driver_version() -> Result<String> { - unsafe { - // Try to load the NVIDIA driver DLL - #[cfg(target_pointer_width = "64")] - let nvidia_dll = LoadLibraryA(s!("nvapi64.dll")).context("Can't load nvapi64.dll")?; - #[cfg(target_pointer_width = "32")] - let nvidia_dll = LoadLibraryA(s!("nvapi.dll")).context("Can't load nvapi.dll")?; - - let nvapi_query_addr = GetProcAddress(nvidia_dll, s!("nvapi_QueryInterface")) - .ok_or_else(|| anyhow::anyhow!("Failed to get nvapi_QueryInterface address"))?; - let nvapi_query: extern "C" fn(u32) -> *mut () = std::mem::transmute(nvapi_query_addr); - - // https://github.com/NVIDIA/nvapi/blob/7cb76fce2f52de818b3da497af646af1ec16ce27/nvapi_interface.h#L41 - let nvapi_get_driver_version_ptr = nvapi_query(0x2926aaad); - if nvapi_get_driver_version_ptr.is_null() { - anyhow::bail!("Failed to get NVIDIA driver version function pointer"); - } - let nvapi_get_driver_version: NvAPI_SYS_GetDriverAndBranchVersion_t = - std::mem::transmute(nvapi_get_driver_version_ptr); - - let mut driver_version: c_uint = 0; - let mut build_branch_string: NvAPI_ShortString = [0; NVAPI_SHORT_STRING_MAX]; - let result = nvapi_get_driver_version( - &mut driver_version as *mut c_uint, - &mut build_branch_string as *mut NvAPI_ShortString, - ); - - if result != 0 { - anyhow::bail!( - "Failed to get NVIDIA driver version, error code: {}", - result - ); - } - let major = driver_version / 100; - let minor = driver_version % 100; - let branch_string = CStr::from_ptr(build_branch_string.as_ptr()); - Ok(format!( - "{}.{} {}", - major, - minor, - branch_string.to_string_lossy() - )) - } - } -} - -mod amd { - use std::os::raw::{c_char, c_int, c_void}; - - use anyhow::{Context, Result}; - use windows::{ - Win32::System::LibraryLoader::{GetProcAddress, LoadLibraryA}, - core::s, - }; - - // https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/blob/5d8812d703d0335741b6f7ffc37838eeb8b967f7/ags_lib/inc/amd_ags.h#L145 - const AGS_CURRENT_VERSION: i32 = (6 << 22) | (3 << 12); - - // https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/blob/5d8812d703d0335741b6f7ffc37838eeb8b967f7/ags_lib/inc/amd_ags.h#L204 - // This is an opaque type, using struct to represent it properly for FFI - #[repr(C)] - struct AGSContext { - _private: [u8; 0], - } - - #[repr(C)] - pub struct AGSGPUInfo { - pub driver_version: *const c_char, - pub radeon_software_version: *const c_char, - pub num_devices: c_int, - pub devices: *mut c_void, - } - - // https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/blob/5d8812d703d0335741b6f7ffc37838eeb8b967f7/ags_lib/inc/amd_ags.h#L429 - #[allow(non_camel_case_types)] - type agsInitialize_t = unsafe extern "C" fn( - version: c_int, - config: *const c_void, - context: *mut *mut AGSContext, - gpu_info: *mut AGSGPUInfo, - ) -> c_int; - - // https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/blob/5d8812d703d0335741b6f7ffc37838eeb8b967f7/ags_lib/inc/amd_ags.h#L436 - #[allow(non_camel_case_types)] - type agsDeInitialize_t = unsafe extern "C" fn(context: *mut AGSContext) -> c_int; - - pub(super) fn get_driver_version() -> Result<String> { - unsafe { - #[cfg(target_pointer_width = "64")] - let amd_dll = - LoadLibraryA(s!("amd_ags_x64.dll")).context("Failed to load AMD AGS library")?; - #[cfg(target_pointer_width = "32")] - let amd_dll = - LoadLibraryA(s!("amd_ags_x86.dll")).context("Failed to load AMD AGS library")?; - - let ags_initialize_addr = GetProcAddress(amd_dll, s!("agsInitialize")) - .ok_or_else(|| anyhow::anyhow!("Failed to get agsInitialize address"))?; - let ags_deinitialize_addr = GetProcAddress(amd_dll, s!("agsDeInitialize")) - .ok_or_else(|| anyhow::anyhow!("Failed to get agsDeInitialize address"))?; - - let ags_initialize: agsInitialize_t = std::mem::transmute(ags_initialize_addr); - let ags_deinitialize: agsDeInitialize_t = std::mem::transmute(ags_deinitialize_addr); - - let mut context: *mut AGSContext = std::ptr::null_mut(); - let mut gpu_info: AGSGPUInfo = AGSGPUInfo { - driver_version: std::ptr::null(), - radeon_software_version: std::ptr::null(), - num_devices: 0, - devices: std::ptr::null_mut(), - }; - - let result = ags_initialize( - AGS_CURRENT_VERSION, - std::ptr::null(), - &mut context, - &mut gpu_info, - ); - if result != 0 { - anyhow::bail!("Failed to initialize AMD AGS, error code: {}", result); - } - - // Vulkan acctually returns this as the driver version - let software_version = if !gpu_info.radeon_software_version.is_null() { - std::ffi::CStr::from_ptr(gpu_info.radeon_software_version) - .to_string_lossy() - .into_owned() - } else { - "Unknown Radeon Software Version".to_string() - }; - - let driver_version = if !gpu_info.driver_version.is_null() { - std::ffi::CStr::from_ptr(gpu_info.driver_version) - .to_string_lossy() - .into_owned() - } else { - "Unknown Radeon Driver Version".to_string() - }; - - ags_deinitialize(context); - Ok(format!("{} ({})", software_version, driver_version)) - } - } -} - -mod dxgi { - use windows::{ - Win32::Graphics::Dxgi::{IDXGIAdapter1, IDXGIDevice}, - core::Interface, - }; - - pub(super) fn get_driver_version(adapter: &IDXGIAdapter1) -> anyhow::Result<String> { - let number = unsafe { adapter.CheckInterfaceSupport(&IDXGIDevice::IID as _) }?; - Ok(format!( - "{}.{}.{}.{}", - number >> 48, - (number >> 32) & 0xFFFF, - (number >> 16) & 0xFFFF, - number & 0xFFFF - )) - } -} diff --git a/crates/gpui/src/platform/windows/events.rs b/crates/gpui/src/platform/windows/events.rs index 61f410a8c6..839fd10375 100644 --- a/crates/gpui/src/platform/windows/events.rs +++ b/crates/gpui/src/platform/windows/events.rs @@ -23,7 +23,6 @@ pub(crate) const WM_GPUI_CURSOR_STYLE_CHANGED: u32 = WM_USER + 1; pub(crate) const WM_GPUI_CLOSE_ONE_WINDOW: u32 = WM_USER + 2; pub(crate) const WM_GPUI_TASK_DISPATCHED_ON_MAIN_THREAD: u32 = WM_USER + 3; pub(crate) const WM_GPUI_DOCK_MENU_ACTION: u32 = WM_USER + 4; -pub(crate) const WM_GPUI_FORCE_UPDATE_WINDOW: u32 = WM_USER + 5; const SIZE_MOVE_LOOP_TIMER_ID: usize = 1; const AUTO_HIDE_TASKBAR_THICKNESS_PX: i32 = 1; @@ -38,7 +37,6 @@ pub(crate) fn handle_msg( let handled = match msg { WM_ACTIVATE => handle_activate_msg(wparam, state_ptr), WM_CREATE => handle_create_msg(handle, state_ptr), - WM_DEVICECHANGE => handle_device_change_msg(handle, wparam, state_ptr), WM_MOVE => handle_move_msg(handle, lparam, state_ptr), WM_SIZE => handle_size_msg(wparam, lparam, state_ptr), WM_GETMINMAXINFO => handle_get_min_max_info_msg(lparam, state_ptr), @@ -50,7 +48,7 @@ pub(crate) fn handle_msg( WM_DISPLAYCHANGE => handle_display_change_msg(handle, state_ptr), WM_NCHITTEST => handle_hit_test_msg(handle, msg, wparam, lparam, state_ptr), WM_PAINT => handle_paint_msg(handle, state_ptr), - WM_CLOSE => handle_close_msg(state_ptr), + WM_CLOSE => handle_close_msg(handle, state_ptr), WM_DESTROY => handle_destroy_msg(handle, state_ptr), WM_MOUSEMOVE => handle_mouse_move_msg(handle, lparam, wparam, state_ptr), WM_MOUSELEAVE | WM_NCMOUSELEAVE => handle_mouse_leave_msg(state_ptr), @@ -98,7 +96,6 @@ pub(crate) fn handle_msg( WM_SETTINGCHANGE => handle_system_settings_changed(handle, wparam, lparam, state_ptr), WM_INPUTLANGCHANGE => handle_input_language_changed(lparam, state_ptr), WM_GPUI_CURSOR_STYLE_CHANGED => handle_cursor_changed(lparam, state_ptr), - WM_GPUI_FORCE_UPDATE_WINDOW => draw_window(handle, true, state_ptr), _ => None, }; if let Some(n) = handled { @@ -184,9 +181,11 @@ fn handle_size_msg( let new_size = size(DevicePixels(width), DevicePixels(height)); let scale_factor = lock.scale_factor; if lock.restore_from_minimized.is_some() { + lock.renderer + .update_drawable_size_even_if_unchanged(new_size); lock.callbacks.request_frame = lock.restore_from_minimized.take(); } else { - lock.renderer.resize(new_size).log_err(); + lock.renderer.update_drawable_size(new_size); } let new_size = new_size.to_pixels(scale_factor); lock.logical_size = new_size; @@ -239,14 +238,40 @@ fn handle_timer_msg( } fn handle_paint_msg(handle: HWND, state_ptr: Rc<WindowsWindowStatePtr>) -> Option<isize> { - draw_window(handle, false, state_ptr) + let mut lock = state_ptr.state.borrow_mut(); + if let Some(mut request_frame) = lock.callbacks.request_frame.take() { + drop(lock); + request_frame(Default::default()); + state_ptr.state.borrow_mut().callbacks.request_frame = Some(request_frame); + } + unsafe { ValidateRect(Some(handle), None).ok().log_err() }; + Some(0) } -fn handle_close_msg(state_ptr: Rc<WindowsWindowStatePtr>) -> Option<isize> { - let mut callback = state_ptr.state.borrow_mut().callbacks.should_close.take()?; - let should_close = callback(); - state_ptr.state.borrow_mut().callbacks.should_close = Some(callback); - if should_close { None } else { Some(0) } +fn handle_close_msg(handle: HWND, state_ptr: Rc<WindowsWindowStatePtr>) -> Option<isize> { + let mut lock = state_ptr.state.borrow_mut(); + let output = if let Some(mut callback) = lock.callbacks.should_close.take() { + drop(lock); + let should_close = callback(); + state_ptr.state.borrow_mut().callbacks.should_close = Some(callback); + if should_close { None } else { Some(0) } + } else { + None + }; + + // Workaround as window close animation is not played with `WS_EX_LAYERED` enabled. + if output.is_none() { + unsafe { + let current_style = get_window_long(handle, GWL_EXSTYLE); + set_window_long( + handle, + GWL_EXSTYLE, + current_style & !WS_EX_LAYERED.0 as isize, + ); + } + } + + output } fn handle_destroy_msg(handle: HWND, state_ptr: Rc<WindowsWindowStatePtr>) -> Option<isize> { @@ -1198,53 +1223,6 @@ fn handle_input_language_changed( Some(0) } -fn handle_device_change_msg( - handle: HWND, - wparam: WPARAM, - state_ptr: Rc<WindowsWindowStatePtr>, -) -> Option<isize> { - if wparam.0 == DBT_DEVNODES_CHANGED as usize { - // The reason for sending this message is to actually trigger a redraw of the window. - unsafe { - PostMessageW( - Some(handle), - WM_GPUI_FORCE_UPDATE_WINDOW, - WPARAM(0), - LPARAM(0), - ) - .log_err(); - } - // If the GPU device is lost, this redraw will take care of recreating the device context. - // The WM_GPUI_FORCE_UPDATE_WINDOW message will take care of redrawing the window, after - // the device context has been recreated. - draw_window(handle, true, state_ptr) - } else { - // Other device change messages are not handled. - None - } -} - -#[inline] -fn draw_window( - handle: HWND, - force_render: bool, - state_ptr: Rc<WindowsWindowStatePtr>, -) -> Option<isize> { - let mut request_frame = state_ptr - .state - .borrow_mut() - .callbacks - .request_frame - .take()?; - request_frame(RequestFrameOptions { - require_presentation: false, - force_render, - }); - state_ptr.state.borrow_mut().callbacks.request_frame = Some(request_frame); - unsafe { ValidateRect(Some(handle), None).ok().log_err() }; - Some(0) -} - #[inline] fn parse_char_message(wparam: WPARAM, state_ptr: &Rc<WindowsWindowStatePtr>) -> Option<String> { let code_point = wparam.loword(); diff --git a/crates/gpui/src/platform/windows/platform.rs b/crates/gpui/src/platform/windows/platform.rs index 8433e29c6d..401ecdeffe 100644 --- a/crates/gpui/src/platform/windows/platform.rs +++ b/crates/gpui/src/platform/windows/platform.rs @@ -28,12 +28,13 @@ use windows::{ core::*, }; -use crate::*; +use crate::{platform::blade::BladeContext, *}; pub(crate) struct WindowsPlatform { state: RefCell<WindowsPlatformState>, raw_window_handles: RwLock<SmallVec<[HWND; 4]>>, // The below members will never change throughout the entire lifecycle of the app. + gpu_context: BladeContext, icon: HICON, main_receiver: flume::Receiver<Runnable>, background_executor: BackgroundExecutor, @@ -110,11 +111,13 @@ impl WindowsPlatform { let icon = load_icon().unwrap_or_default(); let state = RefCell::new(WindowsPlatformState::new()); let raw_window_handles = RwLock::new(SmallVec::new()); + let gpu_context = BladeContext::new().context("Unable to init GPU context")?; let windows_version = WindowsVersion::new().context("Error retrieve windows version")?; Ok(Self { state, raw_window_handles, + gpu_context, icon, main_receiver, background_executor, @@ -340,11 +343,27 @@ impl Platform for WindowsPlatform { fn run(&self, on_finish_launching: Box<dyn 'static + FnOnce()>) { on_finish_launching(); - loop { - if self.handle_events() { - break; + let vsync_event = unsafe { Owned::new(CreateEventW(None, false, false, None).unwrap()) }; + begin_vsync(*vsync_event); + 'a: loop { + let wait_result = unsafe { + MsgWaitForMultipleObjects(Some(&[*vsync_event]), false, INFINITE, QS_ALLINPUT) + }; + + match wait_result { + // compositor clock ticked so we should draw a frame + WAIT_EVENT(0) => self.redraw_all(), + // Windows thread messages are posted + WAIT_EVENT(1) => { + if self.handle_events() { + break 'a; + } + } + _ => { + log::error!("Something went wrong while waiting {:?}", wait_result); + break; + } } - self.redraw_all(); } if let Some(ref mut callback) = self.state.borrow_mut().callbacks.quit { @@ -436,7 +455,12 @@ impl Platform for WindowsPlatform { handle: AnyWindowHandle, options: WindowParams, ) -> Result<Box<dyn PlatformWindow>> { - let window = WindowsWindow::new(handle, options, self.generate_creation_info())?; + let window = WindowsWindow::new( + handle, + options, + self.generate_creation_info(), + &self.gpu_context, + )?; let handle = window.get_raw_handle(); self.raw_window_handles.write().push(handle); @@ -822,6 +846,16 @@ fn file_save_dialog(directory: PathBuf, window: Option<HWND>) -> Result<Option<P Ok(Some(PathBuf::from(file_path_string))) } +fn begin_vsync(vsync_event: HANDLE) { + let event: SafeHandle = vsync_event.into(); + std::thread::spawn(move || unsafe { + loop { + windows::Win32::Graphics::Dwm::DwmFlush().log_err(); + SetEvent(*event).log_err(); + } + }); +} + fn load_icon() -> Result<HICON> { let module = unsafe { GetModuleHandleW(None).context("unable to get module handle")? }; let handle = unsafe { diff --git a/crates/gpui/src/platform/windows/shaders.hlsl b/crates/gpui/src/platform/windows/shaders.hlsl deleted file mode 100644 index 954040c4c3..0000000000 --- a/crates/gpui/src/platform/windows/shaders.hlsl +++ /dev/null @@ -1,1160 +0,0 @@ -cbuffer GlobalParams: register(b0) { - float2 global_viewport_size; - uint2 _global_pad; -}; - -Texture2D<float4> t_sprite: register(t0); -SamplerState s_sprite: register(s0); - -struct Bounds { - float2 origin; - float2 size; -}; - -struct Corners { - float top_left; - float top_right; - float bottom_right; - float bottom_left; -}; - -struct Edges { - float top; - float right; - float bottom; - float left; -}; - -struct Hsla { - float h; - float s; - float l; - float a; -}; - -struct LinearColorStop { - Hsla color; - float percentage; -}; - -struct Background { - // 0u is Solid - // 1u is LinearGradient - // 2u is PatternSlash - uint tag; - // 0u is sRGB linear color - // 1u is Oklab color - uint color_space; - Hsla solid; - float gradient_angle_or_pattern_height; - LinearColorStop colors[2]; - uint pad; -}; - -struct GradientColor { - float4 solid; - float4 color0; - float4 color1; -}; - -struct AtlasTextureId { - uint index; - uint kind; -}; - -struct AtlasBounds { - int2 origin; - int2 size; -}; - -struct AtlasTile { - AtlasTextureId texture_id; - uint tile_id; - uint padding; - AtlasBounds bounds; -}; - -struct TransformationMatrix { - float2x2 rotation_scale; - float2 translation; -}; - -static const float M_PI_F = 3.141592653f; -static const float3 GRAYSCALE_FACTORS = float3(0.2126f, 0.7152f, 0.0722f); - -float4 to_device_position_impl(float2 position) { - float2 device_position = position / global_viewport_size * float2(2.0, -2.0) + float2(-1.0, 1.0); - return float4(device_position, 0., 1.); -} - -float4 to_device_position(float2 unit_vertex, Bounds bounds) { - float2 position = unit_vertex * bounds.size + bounds.origin; - return to_device_position_impl(position); -} - -float4 distance_from_clip_rect_impl(float2 position, Bounds clip_bounds) { - float2 tl = position - clip_bounds.origin; - float2 br = clip_bounds.origin + clip_bounds.size - position; - return float4(tl.x, br.x, tl.y, br.y); -} - -float4 distance_from_clip_rect(float2 unit_vertex, Bounds bounds, Bounds clip_bounds) { - float2 position = unit_vertex * bounds.size + bounds.origin; - return distance_from_clip_rect_impl(position, clip_bounds); -} - -// Convert linear RGB to sRGB -float3 linear_to_srgb(float3 color) { - return pow(color, float3(2.2, 2.2, 2.2)); -} - -// Convert sRGB to linear RGB -float3 srgb_to_linear(float3 color) { - return pow(color, float3(1.0 / 2.2, 1.0 / 2.2, 1.0 / 2.2)); -} - -/// Hsla to linear RGBA conversion. -float4 hsla_to_rgba(Hsla hsla) { - float h = hsla.h * 6.0; // Now, it's an angle but scaled in [0, 6) range - float s = hsla.s; - float l = hsla.l; - float a = hsla.a; - - float c = (1.0 - abs(2.0 * l - 1.0)) * s; - float x = c * (1.0 - abs(fmod(h, 2.0) - 1.0)); - float m = l - c / 2.0; - - float r = 0.0; - float g = 0.0; - float b = 0.0; - - if (h >= 0.0 && h < 1.0) { - r = c; - g = x; - b = 0.0; - } else if (h >= 1.0 && h < 2.0) { - r = x; - g = c; - b = 0.0; - } else if (h >= 2.0 && h < 3.0) { - r = 0.0; - g = c; - b = x; - } else if (h >= 3.0 && h < 4.0) { - r = 0.0; - g = x; - b = c; - } else if (h >= 4.0 && h < 5.0) { - r = x; - g = 0.0; - b = c; - } else { - r = c; - g = 0.0; - b = x; - } - - float4 rgba; - rgba.x = (r + m); - rgba.y = (g + m); - rgba.z = (b + m); - rgba.w = a; - return rgba; -} - -// Converts a sRGB color to the Oklab color space. -// Reference: https://bottosson.github.io/posts/oklab/#converting-from-linear-srgb-to-oklab -float4 srgb_to_oklab(float4 color) { - // Convert non-linear sRGB to linear sRGB - color = float4(srgb_to_linear(color.rgb), color.a); - - float l = 0.4122214708 * color.r + 0.5363325363 * color.g + 0.0514459929 * color.b; - float m = 0.2119034982 * color.r + 0.6806995451 * color.g + 0.1073969566 * color.b; - float s = 0.0883024619 * color.r + 0.2817188376 * color.g + 0.6299787005 * color.b; - - float l_ = pow(l, 1.0/3.0); - float m_ = pow(m, 1.0/3.0); - float s_ = pow(s, 1.0/3.0); - - return float4( - 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_, - 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_, - 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_, - color.a - ); -} - -// Converts an Oklab color to the sRGB color space. -float4 oklab_to_srgb(float4 color) { - float l_ = color.r + 0.3963377774 * color.g + 0.2158037573 * color.b; - float m_ = color.r - 0.1055613458 * color.g - 0.0638541728 * color.b; - float s_ = color.r - 0.0894841775 * color.g - 1.2914855480 * color.b; - - float l = l_ * l_ * l_; - float m = m_ * m_ * m_; - float s = s_ * s_ * s_; - - float3 linear_rgb = float3( - 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s, - -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s, - -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s - ); - - // Convert linear sRGB to non-linear sRGB - return float4(linear_to_srgb(linear_rgb), color.a); -} - -// This approximates the error function, needed for the gaussian integral -float2 erf(float2 x) { - float2 s = sign(x); - float2 a = abs(x); - x = 1. + (0.278393 + (0.230389 + 0.078108 * (a * a)) * a) * a; - x *= x; - return s - s / (x * x); -} - -float blur_along_x(float x, float y, float sigma, float corner, float2 half_size) { - float delta = min(half_size.y - corner - abs(y), 0.); - float curved = half_size.x - corner + sqrt(max(0., corner * corner - delta * delta)); - float2 integral = 0.5 + 0.5 * erf((x + float2(-curved, curved)) * (sqrt(0.5) / sigma)); - return integral.y - integral.x; -} - -// A standard gaussian function, used for weighting samples -float gaussian(float x, float sigma) { - return exp(-(x * x) / (2. * sigma * sigma)) / (sqrt(2. * M_PI_F) * sigma); -} - -float4 over(float4 below, float4 above) { - float4 result; - float alpha = above.a + below.a * (1.0 - above.a); - result.rgb = (above.rgb * above.a + below.rgb * below.a * (1.0 - above.a)) / alpha; - result.a = alpha; - return result; -} - -float2 to_tile_position(float2 unit_vertex, AtlasTile tile) { - float2 atlas_size; - t_sprite.GetDimensions(atlas_size.x, atlas_size.y); - return (float2(tile.bounds.origin) + unit_vertex * float2(tile.bounds.size)) / atlas_size; -} - -// Selects corner radius based on quadrant. -float pick_corner_radius(float2 center_to_point, Corners corner_radii) { - if (center_to_point.x < 0.) { - if (center_to_point.y < 0.) { - return corner_radii.top_left; - } else { - return corner_radii.bottom_left; - } - } else { - if (center_to_point.y < 0.) { - return corner_radii.top_right; - } else { - return corner_radii.bottom_right; - } - } -} - -float4 to_device_position_transformed(float2 unit_vertex, Bounds bounds, - TransformationMatrix transformation) { - float2 position = unit_vertex * bounds.size + bounds.origin; - float2 transformed = mul(position, transformation.rotation_scale) + transformation.translation; - float2 device_position = transformed / global_viewport_size * float2(2.0, -2.0) + float2(-1.0, 1.0); - return float4(device_position, 0.0, 1.0); -} - -// Implementation of quad signed distance field -float quad_sdf_impl(float2 corner_center_to_point, float corner_radius) { - if (corner_radius == 0.0) { - // Fast path for unrounded corners - return max(corner_center_to_point.x, corner_center_to_point.y); - } else { - // Signed distance of the point from a quad that is inset by corner_radius - // It is negative inside this quad, and positive outside - float signed_distance_to_inset_quad = - // 0 inside the inset quad, and positive outside - length(max(float2(0.0, 0.0), corner_center_to_point)) + - // 0 outside the inset quad, and negative inside - min(0.0, max(corner_center_to_point.x, corner_center_to_point.y)); - - return signed_distance_to_inset_quad - corner_radius; - } -} - -float quad_sdf(float2 pt, Bounds bounds, Corners corner_radii) { - float2 half_size = bounds.size / 2.; - float2 center = bounds.origin + half_size; - float2 center_to_point = pt - center; - float corner_radius = pick_corner_radius(center_to_point, corner_radii); - float2 corner_to_point = abs(center_to_point) - half_size; - float2 corner_center_to_point = corner_to_point + corner_radius; - return quad_sdf_impl(corner_center_to_point, corner_radius); -} - -GradientColor prepare_gradient_color(uint tag, uint color_space, Hsla solid, LinearColorStop colors[2]) { - GradientColor output; - if (tag == 0 || tag == 2) { - output.solid = hsla_to_rgba(solid); - } else if (tag == 1) { - output.color0 = hsla_to_rgba(colors[0].color); - output.color1 = hsla_to_rgba(colors[1].color); - - // Prepare color space in vertex for avoid conversion - // in fragment shader for performance reasons - if (color_space == 1) { - // Oklab - output.color0 = srgb_to_oklab(output.color0); - output.color1 = srgb_to_oklab(output.color1); - } - } - - return output; -} - -float2x2 rotate2d(float angle) { - float s = sin(angle); - float c = cos(angle); - return float2x2(c, -s, s, c); -} - -float4 gradient_color(Background background, - float2 position, - Bounds bounds, - float4 solid_color, float4 color0, float4 color1) { - float4 color; - - switch (background.tag) { - case 0: - color = solid_color; - break; - case 1: { - // -90 degrees to match the CSS gradient angle. - float gradient_angle = background.gradient_angle_or_pattern_height; - float radians = (fmod(gradient_angle, 360.0) - 90.0) * (M_PI_F / 180.0); - float2 direction = float2(cos(radians), sin(radians)); - - // Expand the short side to be the same as the long side - if (bounds.size.x > bounds.size.y) { - direction.y *= bounds.size.y / bounds.size.x; - } else { - direction.x *= bounds.size.x / bounds.size.y; - } - - // Get the t value for the linear gradient with the color stop percentages. - float2 half_size = bounds.size * 0.5; - float2 center = bounds.origin + half_size; - float2 center_to_point = position - center; - float t = dot(center_to_point, direction) / length(direction); - // Check the direct to determine the use x or y - if (abs(direction.x) > abs(direction.y)) { - t = (t + half_size.x) / bounds.size.x; - } else { - t = (t + half_size.y) / bounds.size.y; - } - - // Adjust t based on the stop percentages - t = (t - background.colors[0].percentage) - / (background.colors[1].percentage - - background.colors[0].percentage); - t = clamp(t, 0.0, 1.0); - - switch (background.color_space) { - case 0: - color = lerp(color0, color1, t); - break; - case 1: { - float4 oklab_color = lerp(color0, color1, t); - color = oklab_to_srgb(oklab_color); - break; - } - } - break; - } - case 2: { - float gradient_angle_or_pattern_height = background.gradient_angle_or_pattern_height; - float pattern_width = (gradient_angle_or_pattern_height / 65535.0f) / 255.0f; - float pattern_interval = fmod(gradient_angle_or_pattern_height, 65535.0f) / 255.0f; - float pattern_height = pattern_width + pattern_interval; - float stripe_angle = M_PI_F / 4.0; - float pattern_period = pattern_height * sin(stripe_angle); - float2x2 rotation = rotate2d(stripe_angle); - float2 relative_position = position - bounds.origin; - float2 rotated_point = mul(rotation, relative_position); - float pattern = fmod(rotated_point.x, pattern_period); - float distance = min(pattern, pattern_period - pattern) - pattern_period * (pattern_width / pattern_height) / 2.0f; - color = solid_color; - color.a *= saturate(0.5 - distance); - break; - } - } - - return color; -} - -// Returns the dash velocity of a corner given the dash velocity of the two -// sides, by returning the slower velocity (larger dashes). -// -// Since 0 is used for dash velocity when the border width is 0 (instead of -// +inf), this returns the other dash velocity in that case. -// -// An alternative to this might be to appropriately interpolate the dash -// velocity around the corner, but that seems overcomplicated. -float corner_dash_velocity(float dv1, float dv2) { - if (dv1 == 0.0) { - return dv2; - } else if (dv2 == 0.0) { - return dv1; - } else { - return min(dv1, dv2); - } -} - -// Returns alpha used to render antialiased dashes. -// `t` is within the dash when `fmod(t, period) < length`. -float dash_alpha( - float t, float period, float length, float dash_velocity, - float antialias_threshold -) { - float half_period = period / 2.0; - float half_length = length / 2.0; - // Value in [-half_period, half_period] - // The dash is in [-half_length, half_length] - float centered = fmod(t + half_period - half_length, period) - half_period; - // Signed distance for the dash, negative values are inside the dash - float signed_distance = abs(centered) - half_length; - // Antialiased alpha based on the signed distance - return saturate(antialias_threshold - signed_distance / dash_velocity); -} - -// This approximates distance to the nearest point to a quarter ellipse in a way -// that is sufficient for anti-aliasing when the ellipse is not very eccentric. -// The components of `point` are expected to be positive. -// -// Negative on the outside and positive on the inside. -float quarter_ellipse_sdf(float2 pt, float2 radii) { - // Scale the space to treat the ellipse like a unit circle - float2 circle_vec = pt / radii; - float unit_circle_sdf = length(circle_vec) - 1.0; - // Approximate up-scaling of the length by using the average of the radii. - // - // TODO: A better solution would be to use the gradient of the implicit - // function for an ellipse to approximate a scaling factor. - return unit_circle_sdf * (radii.x + radii.y) * -0.5; -} - -/* -** -** Quads -** -*/ - -struct Quad { - uint order; - uint border_style; - Bounds bounds; - Bounds content_mask; - Background background; - Hsla border_color; - Corners corner_radii; - Edges border_widths; -}; - -struct QuadVertexOutput { - nointerpolation uint quad_id: TEXCOORD0; - float4 position: SV_Position; - nointerpolation float4 border_color: COLOR0; - nointerpolation float4 background_solid: COLOR1; - nointerpolation float4 background_color0: COLOR2; - nointerpolation float4 background_color1: COLOR3; - float4 clip_distance: SV_ClipDistance; -}; - -struct QuadFragmentInput { - nointerpolation uint quad_id: TEXCOORD0; - float4 position: SV_Position; - nointerpolation float4 border_color: COLOR0; - nointerpolation float4 background_solid: COLOR1; - nointerpolation float4 background_color0: COLOR2; - nointerpolation float4 background_color1: COLOR3; -}; - -StructuredBuffer<Quad> quads: register(t1); - -QuadVertexOutput quad_vertex(uint vertex_id: SV_VertexID, uint quad_id: SV_InstanceID) { - float2 unit_vertex = float2(float(vertex_id & 1u), 0.5 * float(vertex_id & 2u)); - Quad quad = quads[quad_id]; - float4 device_position = to_device_position(unit_vertex, quad.bounds); - - GradientColor gradient = prepare_gradient_color( - quad.background.tag, - quad.background.color_space, - quad.background.solid, - quad.background.colors - ); - float4 clip_distance = distance_from_clip_rect(unit_vertex, quad.bounds, quad.content_mask); - float4 border_color = hsla_to_rgba(quad.border_color); - - QuadVertexOutput output; - output.position = device_position; - output.border_color = border_color; - output.quad_id = quad_id; - output.background_solid = gradient.solid; - output.background_color0 = gradient.color0; - output.background_color1 = gradient.color1; - output.clip_distance = clip_distance; - return output; -} - -float4 quad_fragment(QuadFragmentInput input): SV_Target { - Quad quad = quads[input.quad_id]; - float4 background_color = gradient_color(quad.background, input.position.xy, quad.bounds, - input.background_solid, input.background_color0, input.background_color1); - - bool unrounded = quad.corner_radii.top_left == 0.0 && - quad.corner_radii.top_right == 0.0 && - quad.corner_radii.bottom_left == 0.0 && - quad.corner_radii.bottom_right == 0.0; - - // Fast path when the quad is not rounded and doesn't have any border - if (quad.border_widths.top == 0.0 && - quad.border_widths.left == 0.0 && - quad.border_widths.right == 0.0 && - quad.border_widths.bottom == 0.0 && - unrounded) { - return background_color; - } - - float2 size = quad.bounds.size; - float2 half_size = size / 2.; - float2 the_point = input.position.xy - quad.bounds.origin; - float2 center_to_point = the_point - half_size; - - // Signed distance field threshold for inclusion of pixels. 0.5 is the - // minimum distance between the center of the pixel and the edge. - const float antialias_threshold = 0.5; - - // Radius of the nearest corner - float corner_radius = pick_corner_radius(center_to_point, quad.corner_radii); - - float2 border = float2( - center_to_point.x < 0.0 ? quad.border_widths.left : quad.border_widths.right, - center_to_point.y < 0.0 ? quad.border_widths.top : quad.border_widths.bottom - ); - - // 0-width borders are reduced so that `inner_sdf >= antialias_threshold`. - // The purpose of this is to not draw antialiasing pixels in this case. - float2 reduced_border = float2( - border.x == 0.0 ? -antialias_threshold : border.x, - border.y == 0.0 ? -antialias_threshold : border.y - ); - - // Vector from the corner of the quad bounds to the point, after mirroring - // the point into the bottom right quadrant. Both components are <= 0. - float2 corner_to_point = abs(center_to_point) - half_size; - - // Vector from the point to the center of the rounded corner's circle, also - // mirrored into bottom right quadrant. - float2 corner_center_to_point = corner_to_point + corner_radius; - - // Whether the nearest point on the border is rounded - bool is_near_rounded_corner = - corner_center_to_point.x >= 0.0 && - corner_center_to_point.y >= 0.0; - - // Vector from straight border inner corner to point. - // - // 0-width borders are turned into width -1 so that inner_sdf is > 1.0 near - // the border. Without this, antialiasing pixels would be drawn. - float2 straight_border_inner_corner_to_point = corner_to_point + reduced_border; - - // Whether the point is beyond the inner edge of the straight border - bool is_beyond_inner_straight_border = - straight_border_inner_corner_to_point.x > 0.0 || - straight_border_inner_corner_to_point.y > 0.0; - - // Whether the point is far enough inside the quad, such that the pixels are - // not affected by the straight border. - bool is_within_inner_straight_border = - straight_border_inner_corner_to_point.x < -antialias_threshold && - straight_border_inner_corner_to_point.y < -antialias_threshold; - - // Fast path for points that must be part of the background - if (is_within_inner_straight_border && !is_near_rounded_corner) { - return background_color; - } - - // Signed distance of the point to the outside edge of the quad's border - float outer_sdf = quad_sdf_impl(corner_center_to_point, corner_radius); - - // Approximate signed distance of the point to the inside edge of the quad's - // border. It is negative outside this edge (within the border), and - // positive inside. - // - // This is not always an accurate signed distance: - // * The rounded portions with varying border width use an approximation of - // nearest-point-on-ellipse. - // * When it is quickly known to be outside the edge, -1.0 is used. - float inner_sdf = 0.0; - if (corner_center_to_point.x <= 0.0 || corner_center_to_point.y <= 0.0) { - // Fast paths for straight borders - inner_sdf = -max(straight_border_inner_corner_to_point.x, - straight_border_inner_corner_to_point.y); - } else if (is_beyond_inner_straight_border) { - // Fast path for points that must be outside the inner edge - inner_sdf = -1.0; - } else if (reduced_border.x == reduced_border.y) { - // Fast path for circular inner edge. - inner_sdf = -(outer_sdf + reduced_border.x); - } else { - float2 ellipse_radii = max(float2(0.0, 0.0), float2(corner_radius, corner_radius) - reduced_border); - inner_sdf = quarter_ellipse_sdf(corner_center_to_point, ellipse_radii); - } - - // Negative when inside the border - float border_sdf = max(inner_sdf, outer_sdf); - - float4 color = background_color; - if (border_sdf < antialias_threshold) { - float4 border_color = input.border_color; - // Dashed border logic when border_style == 1 - if (quad.border_style == 1) { - // Position along the perimeter in "dash space", where each dash - // period has length 1 - float t = 0.0; - - // Total number of dash periods, so that the dash spacing can be - // adjusted to evenly divide it - float max_t = 0.0; - - // Border width is proportional to dash size. This is the behavior - // used by browsers, but also avoids dashes from different segments - // overlapping when dash size is smaller than the border width. - // - // Dash pattern: (2 * border width) dash, (1 * border width) gap - const float dash_length_per_width = 2.0; - const float dash_gap_per_width = 1.0; - const float dash_period_per_width = dash_length_per_width + dash_gap_per_width; - - // Since the dash size is determined by border width, the density of - // dashes varies. Multiplying a pixel distance by this returns a - // position in dash space - it has units (dash period / pixels). So - // a dash velocity of (1 / 10) is 1 dash every 10 pixels. - float dash_velocity = 0.0; - - // Dividing this by the border width gives the dash velocity - const float dv_numerator = 1.0 / dash_period_per_width; - - if (unrounded) { - // When corners aren't rounded, the dashes are separately laid - // out on each straight line, rather than around the whole - // perimeter. This way each line starts and ends with a dash. - bool is_horizontal = corner_center_to_point.x < corner_center_to_point.y; - float border_width = is_horizontal ? border.x : border.y; - dash_velocity = dv_numerator / border_width; - t = is_horizontal ? the_point.x : the_point.y; - t *= dash_velocity; - max_t = is_horizontal ? size.x : size.y; - max_t *= dash_velocity; - } else { - // When corners are rounded, the dashes are laid out clockwise - // around the whole perimeter. - - float r_tr = quad.corner_radii.top_right; - float r_br = quad.corner_radii.bottom_right; - float r_bl = quad.corner_radii.bottom_left; - float r_tl = quad.corner_radii.top_left; - - float w_t = quad.border_widths.top; - float w_r = quad.border_widths.right; - float w_b = quad.border_widths.bottom; - float w_l = quad.border_widths.left; - - // Straight side dash velocities - float dv_t = w_t <= 0.0 ? 0.0 : dv_numerator / w_t; - float dv_r = w_r <= 0.0 ? 0.0 : dv_numerator / w_r; - float dv_b = w_b <= 0.0 ? 0.0 : dv_numerator / w_b; - float dv_l = w_l <= 0.0 ? 0.0 : dv_numerator / w_l; - - // Straight side lengths in dash space - float s_t = (size.x - r_tl - r_tr) * dv_t; - float s_r = (size.y - r_tr - r_br) * dv_r; - float s_b = (size.x - r_br - r_bl) * dv_b; - float s_l = (size.y - r_bl - r_tl) * dv_l; - - float corner_dash_velocity_tr = corner_dash_velocity(dv_t, dv_r); - float corner_dash_velocity_br = corner_dash_velocity(dv_b, dv_r); - float corner_dash_velocity_bl = corner_dash_velocity(dv_b, dv_l); - float corner_dash_velocity_tl = corner_dash_velocity(dv_t, dv_l); - - // Corner lengths in dash space - float c_tr = r_tr * (M_PI_F / 2.0) * corner_dash_velocity_tr; - float c_br = r_br * (M_PI_F / 2.0) * corner_dash_velocity_br; - float c_bl = r_bl * (M_PI_F / 2.0) * corner_dash_velocity_bl; - float c_tl = r_tl * (M_PI_F / 2.0) * corner_dash_velocity_tl; - - // Cumulative dash space upto each segment - float upto_tr = s_t; - float upto_r = upto_tr + c_tr; - float upto_br = upto_r + s_r; - float upto_b = upto_br + c_br; - float upto_bl = upto_b + s_b; - float upto_l = upto_bl + c_bl; - float upto_tl = upto_l + s_l; - max_t = upto_tl + c_tl; - - if (is_near_rounded_corner) { - float radians = atan2(corner_center_to_point.y, corner_center_to_point.x); - float corner_t = radians * corner_radius; - - if (center_to_point.x >= 0.0) { - if (center_to_point.y < 0.0) { - dash_velocity = corner_dash_velocity_tr; - // Subtracted because radians is pi/2 to 0 when - // going clockwise around the top right corner, - // since the y axis has been flipped - t = upto_r - corner_t * dash_velocity; - } else { - dash_velocity = corner_dash_velocity_br; - // Added because radians is 0 to pi/2 when going - // clockwise around the bottom-right corner - t = upto_br + corner_t * dash_velocity; - } - } else { - if (center_to_point.y >= 0.0) { - dash_velocity = corner_dash_velocity_bl; - // Subtracted because radians is pi/1 to 0 when - // going clockwise around the bottom-left corner, - // since the x axis has been flipped - t = upto_l - corner_t * dash_velocity; - } else { - dash_velocity = corner_dash_velocity_tl; - // Added because radians is 0 to pi/2 when going - // clockwise around the top-left corner, since both - // axis were flipped - t = upto_tl + corner_t * dash_velocity; - } - } - } else { - // Straight borders - bool is_horizontal = corner_center_to_point.x < corner_center_to_point.y; - if (is_horizontal) { - if (center_to_point.y < 0.0) { - dash_velocity = dv_t; - t = (the_point.x - r_tl) * dash_velocity; - } else { - dash_velocity = dv_b; - t = upto_bl - (the_point.x - r_bl) * dash_velocity; - } - } else { - if (center_to_point.x < 0.0) { - dash_velocity = dv_l; - t = upto_tl - (the_point.y - r_tl) * dash_velocity; - } else { - dash_velocity = dv_r; - t = upto_r + (the_point.y - r_tr) * dash_velocity; - } - } - } - } - float dash_length = dash_length_per_width / dash_period_per_width; - float desired_dash_gap = dash_gap_per_width / dash_period_per_width; - - // Straight borders should start and end with a dash, so max_t is - // reduced to cause this. - max_t -= unrounded ? dash_length : 0.0; - if (max_t >= 1.0) { - // Adjust dash gap to evenly divide max_t - float dash_count = floor(max_t); - float dash_period = max_t / dash_count; - border_color.a *= dash_alpha(t, dash_period, dash_length, dash_velocity, antialias_threshold); - } else if (unrounded) { - // When there isn't enough space for the full gap between the - // two start / end dashes of a straight border, reduce gap to - // make them fit. - float dash_gap = max_t - dash_length; - if (dash_gap > 0.0) { - float dash_period = dash_length + dash_gap; - border_color.a *= dash_alpha(t, dash_period, dash_length, dash_velocity, antialias_threshold); - } - } - } - - // Blend the border on top of the background and then linearly interpolate - // between the two as we slide inside the background. - float4 blended_border = over(background_color, border_color); - color = lerp(background_color, blended_border, - saturate(antialias_threshold - inner_sdf)); - } - - return color * float4(1.0, 1.0, 1.0, saturate(antialias_threshold - outer_sdf)); -} - -/* -** -** Shadows -** -*/ - -struct Shadow { - uint order; - float blur_radius; - Bounds bounds; - Corners corner_radii; - Bounds content_mask; - Hsla color; -}; - -struct ShadowVertexOutput { - nointerpolation uint shadow_id: TEXCOORD0; - float4 position: SV_Position; - nointerpolation float4 color: COLOR; - float4 clip_distance: SV_ClipDistance; -}; - -struct ShadowFragmentInput { - nointerpolation uint shadow_id: TEXCOORD0; - float4 position: SV_Position; - nointerpolation float4 color: COLOR; -}; - -StructuredBuffer<Shadow> shadows: register(t1); - -ShadowVertexOutput shadow_vertex(uint vertex_id: SV_VertexID, uint shadow_id: SV_InstanceID) { - float2 unit_vertex = float2(float(vertex_id & 1u), 0.5 * float(vertex_id & 2u)); - Shadow shadow = shadows[shadow_id]; - - float margin = 3.0 * shadow.blur_radius; - Bounds bounds = shadow.bounds; - bounds.origin -= margin; - bounds.size += 2.0 * margin; - - float4 device_position = to_device_position(unit_vertex, bounds); - float4 clip_distance = distance_from_clip_rect(unit_vertex, bounds, shadow.content_mask); - float4 color = hsla_to_rgba(shadow.color); - - ShadowVertexOutput output; - output.position = device_position; - output.color = color; - output.shadow_id = shadow_id; - output.clip_distance = clip_distance; - - return output; -} - -float4 shadow_fragment(ShadowFragmentInput input): SV_TARGET { - Shadow shadow = shadows[input.shadow_id]; - - float2 half_size = shadow.bounds.size / 2.; - float2 center = shadow.bounds.origin + half_size; - float2 point0 = input.position.xy - center; - float corner_radius = pick_corner_radius(point0, shadow.corner_radii); - - // The signal is only non-zero in a limited range, so don't waste samples - float low = point0.y - half_size.y; - float high = point0.y + half_size.y; - float start = clamp(-3. * shadow.blur_radius, low, high); - float end = clamp(3. * shadow.blur_radius, low, high); - - // Accumulate samples (we can get away with surprisingly few samples) - float step = (end - start) / 4.; - float y = start + step * 0.5; - float alpha = 0.; - for (int i = 0; i < 4; i++) { - alpha += blur_along_x(point0.x, point0.y - y, shadow.blur_radius, - corner_radius, half_size) * - gaussian(y, shadow.blur_radius) * step; - y += step; - } - - return input.color * float4(1., 1., 1., alpha); -} - -/* -** -** Path Rasterization -** -*/ - -struct PathRasterizationSprite { - float2 xy_position; - float2 st_position; - Background color; - Bounds bounds; -}; - -StructuredBuffer<PathRasterizationSprite> path_rasterization_sprites: register(t1); - -struct PathVertexOutput { - float4 position: SV_Position; - float2 st_position: TEXCOORD0; - nointerpolation uint vertex_id: TEXCOORD1; - float4 clip_distance: SV_ClipDistance; -}; - -struct PathFragmentInput { - float4 position: SV_Position; - float2 st_position: TEXCOORD0; - nointerpolation uint vertex_id: TEXCOORD1; -}; - -PathVertexOutput path_rasterization_vertex(uint vertex_id: SV_VertexID) { - PathRasterizationSprite sprite = path_rasterization_sprites[vertex_id]; - - PathVertexOutput output; - output.position = to_device_position_impl(sprite.xy_position); - output.st_position = sprite.st_position; - output.vertex_id = vertex_id; - output.clip_distance = distance_from_clip_rect_impl(sprite.xy_position, sprite.bounds); - - return output; -} - -float4 path_rasterization_fragment(PathFragmentInput input): SV_Target { - float2 dx = ddx(input.st_position); - float2 dy = ddy(input.st_position); - PathRasterizationSprite sprite = path_rasterization_sprites[input.vertex_id]; - - Background background = sprite.color; - Bounds bounds = sprite.bounds; - - float alpha; - if (length(float2(dx.x, dy.x))) { - alpha = 1.0; - } else { - float2 gradient = 2.0 * input.st_position.xx * float2(dx.x, dy.x) - float2(dx.y, dy.y); - float f = input.st_position.x * input.st_position.x - input.st_position.y; - float distance = f / length(gradient); - alpha = saturate(0.5 - distance); - } - - GradientColor gradient = prepare_gradient_color( - background.tag, background.color_space, background.solid, background.colors); - - float4 color = gradient_color(background, input.position.xy, bounds, - gradient.solid, gradient.color0, gradient.color1); - return float4(color.rgb * color.a * alpha, alpha * color.a); -} - -/* -** -** Path Sprites -** -*/ - -struct PathSprite { - Bounds bounds; -}; - -struct PathSpriteVertexOutput { - float4 position: SV_Position; - float2 texture_coords: TEXCOORD0; -}; - -StructuredBuffer<PathSprite> path_sprites: register(t1); - -PathSpriteVertexOutput path_sprite_vertex(uint vertex_id: SV_VertexID, uint sprite_id: SV_InstanceID) { - float2 unit_vertex = float2(float(vertex_id & 1u), 0.5 * float(vertex_id & 2u)); - PathSprite sprite = path_sprites[sprite_id]; - - // Don't apply content mask because it was already accounted for when rasterizing the path - float4 device_position = to_device_position(unit_vertex, sprite.bounds); - - float2 screen_position = sprite.bounds.origin + unit_vertex * sprite.bounds.size; - float2 texture_coords = screen_position / global_viewport_size; - - PathSpriteVertexOutput output; - output.position = device_position; - output.texture_coords = texture_coords; - return output; -} - -float4 path_sprite_fragment(PathSpriteVertexOutput input): SV_Target { - return t_sprite.Sample(s_sprite, input.texture_coords); -} - -/* -** -** Underlines -** -*/ - -struct Underline { - uint order; - uint pad; - Bounds bounds; - Bounds content_mask; - Hsla color; - float thickness; - uint wavy; -}; - -struct UnderlineVertexOutput { - nointerpolation uint underline_id: TEXCOORD0; - float4 position: SV_Position; - nointerpolation float4 color: COLOR; - float4 clip_distance: SV_ClipDistance; -}; - -struct UnderlineFragmentInput { - nointerpolation uint underline_id: TEXCOORD0; - float4 position: SV_Position; - nointerpolation float4 color: COLOR; -}; - -StructuredBuffer<Underline> underlines: register(t1); - -UnderlineVertexOutput underline_vertex(uint vertex_id: SV_VertexID, uint underline_id: SV_InstanceID) { - float2 unit_vertex = float2(float(vertex_id & 1u), 0.5 * float(vertex_id & 2u)); - Underline underline = underlines[underline_id]; - float4 device_position = to_device_position(unit_vertex, underline.bounds); - float4 clip_distance = distance_from_clip_rect(unit_vertex, underline.bounds, - underline.content_mask); - float4 color = hsla_to_rgba(underline.color); - - UnderlineVertexOutput output; - output.position = device_position; - output.color = color; - output.underline_id = underline_id; - output.clip_distance = clip_distance; - return output; -} - -float4 underline_fragment(UnderlineFragmentInput input): SV_Target { - Underline underline = underlines[input.underline_id]; - if (underline.wavy) { - float half_thickness = underline.thickness * 0.5; - float2 origin = underline.bounds.origin; - float2 st = ((input.position.xy - origin) / underline.bounds.size.y) - float2(0., 0.5); - float frequency = (M_PI_F * (3. * underline.thickness)) / 8.; - float amplitude = 1. / (2. * underline.thickness); - float sine = sin(st.x * frequency) * amplitude; - float dSine = cos(st.x * frequency) * amplitude * frequency; - float distance = (st.y - sine) / sqrt(1. + dSine * dSine); - float distance_in_pixels = distance * underline.bounds.size.y; - float distance_from_top_border = distance_in_pixels - half_thickness; - float distance_from_bottom_border = distance_in_pixels + half_thickness; - float alpha = saturate( - 0.5 - max(-distance_from_bottom_border, distance_from_top_border)); - return input.color * float4(1., 1., 1., alpha); - } else { - return input.color; - } -} - -/* -** -** Monochrome sprites -** -*/ - -struct MonochromeSprite { - uint order; - uint pad; - Bounds bounds; - Bounds content_mask; - Hsla color; - AtlasTile tile; - TransformationMatrix transformation; -}; - -struct MonochromeSpriteVertexOutput { - float4 position: SV_Position; - float2 tile_position: POSITION; - nointerpolation float4 color: COLOR; - float4 clip_distance: SV_ClipDistance; -}; - -struct MonochromeSpriteFragmentInput { - float4 position: SV_Position; - float2 tile_position: POSITION; - nointerpolation float4 color: COLOR; -}; - -StructuredBuffer<MonochromeSprite> mono_sprites: register(t1); - -MonochromeSpriteVertexOutput monochrome_sprite_vertex(uint vertex_id: SV_VertexID, uint sprite_id: SV_InstanceID) { - float2 unit_vertex = float2(float(vertex_id & 1u), 0.5 * float(vertex_id & 2u)); - MonochromeSprite sprite = mono_sprites[sprite_id]; - float4 device_position = - to_device_position_transformed(unit_vertex, sprite.bounds, sprite.transformation); - float4 clip_distance = distance_from_clip_rect(unit_vertex, sprite.bounds, sprite.content_mask); - float2 tile_position = to_tile_position(unit_vertex, sprite.tile); - float4 color = hsla_to_rgba(sprite.color); - - MonochromeSpriteVertexOutput output; - output.position = device_position; - output.tile_position = tile_position; - output.color = color; - output.clip_distance = clip_distance; - return output; -} - -float4 monochrome_sprite_fragment(MonochromeSpriteFragmentInput input): SV_Target { - float4 sample = t_sprite.Sample(s_sprite, input.tile_position); - float4 color = input.color; - color.a *= sample.a; - return color; -} - -/* -** -** Polychrome sprites -** -*/ - -struct PolychromeSprite { - uint order; - uint pad; - uint grayscale; - float opacity; - Bounds bounds; - Bounds content_mask; - Corners corner_radii; - AtlasTile tile; -}; - -struct PolychromeSpriteVertexOutput { - nointerpolation uint sprite_id: TEXCOORD0; - float4 position: SV_Position; - float2 tile_position: POSITION; - float4 clip_distance: SV_ClipDistance; -}; - -struct PolychromeSpriteFragmentInput { - nointerpolation uint sprite_id: TEXCOORD0; - float4 position: SV_Position; - float2 tile_position: POSITION; -}; - -StructuredBuffer<PolychromeSprite> poly_sprites: register(t1); - -PolychromeSpriteVertexOutput polychrome_sprite_vertex(uint vertex_id: SV_VertexID, uint sprite_id: SV_InstanceID) { - float2 unit_vertex = float2(float(vertex_id & 1u), 0.5 * float(vertex_id & 2u)); - PolychromeSprite sprite = poly_sprites[sprite_id]; - float4 device_position = to_device_position(unit_vertex, sprite.bounds); - float4 clip_distance = distance_from_clip_rect(unit_vertex, sprite.bounds, - sprite.content_mask); - float2 tile_position = to_tile_position(unit_vertex, sprite.tile); - - PolychromeSpriteVertexOutput output; - output.position = device_position; - output.tile_position = tile_position; - output.sprite_id = sprite_id; - output.clip_distance = clip_distance; - return output; -} - -float4 polychrome_sprite_fragment(PolychromeSpriteFragmentInput input): SV_Target { - PolychromeSprite sprite = poly_sprites[input.sprite_id]; - float4 sample = t_sprite.Sample(s_sprite, input.tile_position); - float distance = quad_sdf(input.position.xy, sprite.bounds, sprite.corner_radii); - - float4 color = sample; - if ((sprite.grayscale & 0xFFu) != 0u) { - float3 grayscale = dot(color.rgb, GRAYSCALE_FACTORS); - color = float4(grayscale, sample.a); - } - color.a *= sprite.opacity * saturate(0.5 - distance); - return color; -} diff --git a/crates/gpui/src/platform/windows/window.rs b/crates/gpui/src/platform/windows/window.rs index 1141e93565..5703a82815 100644 --- a/crates/gpui/src/platform/windows/window.rs +++ b/crates/gpui/src/platform/windows/window.rs @@ -26,6 +26,7 @@ use windows::{ core::*, }; +use crate::platform::blade::{BladeContext, BladeRenderer}; use crate::*; pub(crate) struct WindowsWindow(pub Rc<WindowsWindowStatePtr>); @@ -48,7 +49,7 @@ pub struct WindowsWindowState { pub system_key_handled: bool, pub hovered: bool, - pub renderer: DirectXRenderer, + pub renderer: BladeRenderer, pub click_state: ClickState, pub system_settings: WindowsSystemSettings, @@ -79,12 +80,13 @@ pub(crate) struct WindowsWindowStatePtr { impl WindowsWindowState { fn new( hwnd: HWND, + transparent: bool, cs: &CREATESTRUCTW, current_cursor: Option<HCURSOR>, display: WindowsDisplay, + gpu_context: &BladeContext, min_size: Option<Size<Pixels>>, appearance: WindowAppearance, - disable_direct_composition: bool, ) -> Result<Self> { let scale_factor = { let monitor_dpi = unsafe { GetDpiForWindow(hwnd) } as f32; @@ -101,8 +103,7 @@ impl WindowsWindowState { }; let border_offset = WindowBorderOffset::default(); let restore_from_minimized = None; - let renderer = DirectXRenderer::new(hwnd, disable_direct_composition) - .context("Creating DirectX renderer")?; + let renderer = windows_renderer::init(gpu_context, hwnd, transparent)?; let callbacks = Callbacks::default(); let input_handler = None; let pending_surrogate = None; @@ -205,12 +206,13 @@ impl WindowsWindowStatePtr { fn new(context: &WindowCreateContext, hwnd: HWND, cs: &CREATESTRUCTW) -> Result<Rc<Self>> { let state = RefCell::new(WindowsWindowState::new( hwnd, + context.transparent, cs, context.current_cursor, context.display, + context.gpu_context, context.min_size, context.appearance, - context.disable_direct_composition, )?); Ok(Rc::new_cyclic(|this| Self { @@ -327,11 +329,12 @@ pub(crate) struct Callbacks { pub(crate) appearance_changed: Option<Box<dyn FnMut()>>, } -struct WindowCreateContext { +struct WindowCreateContext<'a> { inner: Option<Result<Rc<WindowsWindowStatePtr>>>, handle: AnyWindowHandle, hide_title_bar: bool, display: WindowsDisplay, + transparent: bool, is_movable: bool, min_size: Option<Size<Pixels>>, executor: ForegroundExecutor, @@ -340,9 +343,9 @@ struct WindowCreateContext { drop_target_helper: IDropTargetHelper, validation_number: usize, main_receiver: flume::Receiver<Runnable>, + gpu_context: &'a BladeContext, main_thread_id_win32: u32, appearance: WindowAppearance, - disable_direct_composition: bool, } impl WindowsWindow { @@ -350,6 +353,7 @@ impl WindowsWindow { handle: AnyWindowHandle, params: WindowParams, creation_info: WindowCreationInfo, + gpu_context: &BladeContext, ) -> Result<Self> { let WindowCreationInfo { icon, @@ -375,20 +379,14 @@ impl WindowsWindow { .map(|title| title.as_ref()) .unwrap_or(""), ); - let disable_direct_composition = std::env::var(DISABLE_DIRECT_COMPOSITION) - .is_ok_and(|value| value == "true" || value == "1"); - - let (mut dwexstyle, dwstyle) = if params.kind == WindowKind::PopUp { - (WS_EX_TOOLWINDOW, WINDOW_STYLE(0x0)) + let (dwexstyle, mut dwstyle) = if params.kind == WindowKind::PopUp { + (WS_EX_TOOLWINDOW | WS_EX_LAYERED, WINDOW_STYLE(0x0)) } else { ( - WS_EX_APPWINDOW, + WS_EX_APPWINDOW | WS_EX_LAYERED, WS_THICKFRAME | WS_SYSMENU | WS_MAXIMIZEBOX | WS_MINIMIZEBOX, ) }; - if !disable_direct_composition { - dwexstyle |= WS_EX_NOREDIRECTIONBITMAP; - } let hinstance = get_module_handle(); let display = if let Some(display_id) = params.display_id { @@ -403,6 +401,7 @@ impl WindowsWindow { handle, hide_title_bar, display, + transparent: true, is_movable: params.is_movable, min_size: params.window_min_size, executor, @@ -411,9 +410,9 @@ impl WindowsWindow { drop_target_helper, validation_number, main_receiver, + gpu_context, main_thread_id_win32, appearance, - disable_direct_composition, }; let lpparam = Some(&context as *const _ as *const _); let creation_result = unsafe { @@ -454,6 +453,14 @@ impl WindowsWindow { state: WindowOpenState::Windowed, }); } + // The render pipeline will perform compositing on the GPU when the + // swapchain is configured correctly (see downstream of + // update_transparency). + // The following configuration is a one-time setup to ensure that the + // window is going to be composited with per-pixel alpha, but the render + // pipeline is responsible for effectively calling UpdateLayeredWindow + // at the appropriate time. + unsafe { SetLayeredWindowAttributes(hwnd, COLORREF(0), 255, LWA_ALPHA)? }; Ok(Self(state_ptr)) } @@ -478,6 +485,7 @@ impl rwh::HasDisplayHandle for WindowsWindow { impl Drop for WindowsWindow { fn drop(&mut self) { + self.0.state.borrow_mut().renderer.destroy(); // clone this `Rc` to prevent early release of the pointer let this = self.0.clone(); self.0 @@ -697,21 +705,24 @@ impl PlatformWindow for WindowsWindow { } fn set_background_appearance(&self, background_appearance: WindowBackgroundAppearance) { - let hwnd = self.0.hwnd; + let mut window_state = self.0.state.borrow_mut(); + window_state + .renderer + .update_transparency(background_appearance != WindowBackgroundAppearance::Opaque); match background_appearance { WindowBackgroundAppearance::Opaque => { // ACCENT_DISABLED - set_window_composition_attribute(hwnd, None, 0); + set_window_composition_attribute(window_state.hwnd, None, 0); } WindowBackgroundAppearance::Transparent => { // Use ACCENT_ENABLE_TRANSPARENTGRADIENT for transparent background - set_window_composition_attribute(hwnd, None, 2); + set_window_composition_attribute(window_state.hwnd, None, 2); } WindowBackgroundAppearance::Blurred => { // Enable acrylic blur // ACCENT_ENABLE_ACRYLICBLURBEHIND - set_window_composition_attribute(hwnd, Some((0, 0, 0, 0)), 4); + set_window_composition_attribute(window_state.hwnd, Some((0, 0, 0, 0)), 4); } } } @@ -783,11 +794,11 @@ impl PlatformWindow for WindowsWindow { } fn draw(&self, scene: &Scene) { - self.0.state.borrow_mut().renderer.draw(scene).log_err(); + self.0.state.borrow_mut().renderer.draw(scene) } fn sprite_atlas(&self) -> Arc<dyn PlatformAtlas> { - self.0.state.borrow().renderer.sprite_atlas() + self.0.state.borrow().renderer.sprite_atlas().clone() } fn get_raw_handle(&self) -> HWND { @@ -795,11 +806,11 @@ impl PlatformWindow for WindowsWindow { } fn gpu_specs(&self) -> Option<GpuSpecs> { - self.0.state.borrow().renderer.gpu_specs().log_err() + Some(self.0.state.borrow().renderer.gpu_specs()) } fn update_ime_position(&self, _bounds: Bounds<ScaledPixels>) { - // There is no such thing on Windows. + // todo(windows) } } @@ -1295,6 +1306,52 @@ fn set_window_composition_attribute(hwnd: HWND, color: Option<Color>, state: u32 } } +mod windows_renderer { + use crate::platform::blade::{BladeContext, BladeRenderer, BladeSurfaceConfig}; + use raw_window_handle as rwh; + use std::num::NonZeroIsize; + use windows::Win32::{Foundation::HWND, UI::WindowsAndMessaging::GWLP_HINSTANCE}; + + use crate::{get_window_long, show_error}; + + pub(super) fn init( + context: &BladeContext, + hwnd: HWND, + transparent: bool, + ) -> anyhow::Result<BladeRenderer> { + let raw = RawWindow { hwnd }; + let config = BladeSurfaceConfig { + size: Default::default(), + transparent, + }; + BladeRenderer::new(context, &raw, config) + .inspect_err(|err| show_error("Failed to initialize BladeRenderer", err.to_string())) + } + + struct RawWindow { + hwnd: HWND, + } + + impl rwh::HasWindowHandle for RawWindow { + fn window_handle(&self) -> Result<rwh::WindowHandle<'_>, rwh::HandleError> { + Ok(unsafe { + let hwnd = NonZeroIsize::new_unchecked(self.hwnd.0 as isize); + let mut handle = rwh::Win32WindowHandle::new(hwnd); + let hinstance = get_window_long(self.hwnd, GWLP_HINSTANCE); + handle.hinstance = NonZeroIsize::new(hinstance); + rwh::WindowHandle::borrow_raw(handle.into()) + }) + } + } + + impl rwh::HasDisplayHandle for RawWindow { + fn display_handle(&self) -> Result<rwh::DisplayHandle<'_>, rwh::HandleError> { + let handle = rwh::WindowsDisplayHandle::new(); + Ok(unsafe { rwh::DisplayHandle::borrow_raw(handle.into()) }) + } + } +} + #[cfg(test)] mod tests { use super::ClickState; diff --git a/crates/gpui/src/scene.rs b/crates/gpui/src/scene.rs index ec8d720cdf..4eaef64afa 100644 --- a/crates/gpui/src/scene.rs +++ b/crates/gpui/src/scene.rs @@ -43,6 +43,17 @@ impl Scene { self.surfaces.clear(); } + #[cfg_attr( + all( + any(target_os = "linux", target_os = "freebsd"), + not(any(feature = "x11", feature = "wayland")) + ), + allow(dead_code) + )] + pub fn paths(&self) -> &[Path<ScaledPixels>] { + &self.paths + } + pub fn len(&self) -> usize { self.paint_operations.len() } @@ -670,7 +681,7 @@ pub(crate) struct PathId(pub(crate) usize); #[derive(Clone, Debug)] pub struct Path<P: Clone + Debug + Default + PartialEq> { pub(crate) id: PathId, - pub(crate) order: DrawOrder, + order: DrawOrder, pub(crate) bounds: Bounds<P>, pub(crate) content_mask: ContentMask<P>, pub(crate) vertices: Vec<PathVertex<P>>, diff --git a/crates/gpui/src/tab_stop.rs b/crates/gpui/src/tab_stop.rs index 7dde42efed..2ec3f560e8 100644 --- a/crates/gpui/src/tab_stop.rs +++ b/crates/gpui/src/tab_stop.rs @@ -5,7 +5,7 @@ use crate::{FocusHandle, FocusId}; /// Used to manage the `Tab` event to switch between focus handles. #[derive(Default)] pub(crate) struct TabHandles { - pub(crate) handles: Vec<FocusHandle>, + handles: Vec<FocusHandle>, } impl TabHandles { @@ -32,18 +32,20 @@ impl TabHandles { self.handles.clear(); } - fn current_index(&self, focused_id: Option<&FocusId>) -> Option<usize> { - self.handles.iter().position(|h| Some(&h.id) == focused_id) + fn current_index(&self, focused_id: Option<&FocusId>) -> usize { + self.handles + .iter() + .position(|h| Some(&h.id) == focused_id) + .unwrap_or_default() } pub(crate) fn next(&self, focused_id: Option<&FocusId>) -> Option<FocusHandle> { - let next_ix = self - .current_index(focused_id) - .and_then(|ix| { - let next_ix = ix + 1; - (next_ix < self.handles.len()).then_some(next_ix) - }) - .unwrap_or_default(); + let ix = self.current_index(focused_id); + + let mut next_ix = ix + 1; + if next_ix + 1 > self.handles.len() { + next_ix = 0; + } if let Some(next_handle) = self.handles.get(next_ix) { Some(next_handle.clone()) @@ -53,7 +55,7 @@ impl TabHandles { } pub(crate) fn prev(&self, focused_id: Option<&FocusId>) -> Option<FocusHandle> { - let ix = self.current_index(focused_id).unwrap_or_default(); + let ix = self.current_index(focused_id); let prev_ix; if ix == 0 { prev_ix = self.handles.len().saturating_sub(1); @@ -106,14 +108,8 @@ mod tests { ] ); - // Select first tab index if no handle is currently focused. - assert_eq!(tab.next(None), Some(tab.handles[0].clone())); - // Select last tab index if no handle is currently focused. - assert_eq!( - tab.prev(None), - Some(tab.handles[tab.handles.len() - 1].clone()) - ); - + // next + assert_eq!(tab.next(None), Some(tab.handles[1].clone())); assert_eq!( tab.next(Some(&tab.handles[0].id)), Some(tab.handles[1].clone()) diff --git a/crates/gpui/src/taffy.rs b/crates/gpui/src/taffy.rs index f7fa54256d..6228a60490 100644 --- a/crates/gpui/src/taffy.rs +++ b/crates/gpui/src/taffy.rs @@ -283,7 +283,7 @@ impl ToTaffy<taffy::style::LengthPercentageAuto> for Length { fn to_taffy(&self, rem_size: Pixels) -> taffy::prelude::LengthPercentageAuto { match self { Length::Definite(length) => length.to_taffy(rem_size), - Length::Auto => taffy::prelude::LengthPercentageAuto::auto(), + Length::Auto => taffy::prelude::LengthPercentageAuto::Auto, } } } @@ -292,7 +292,7 @@ impl ToTaffy<taffy::style::Dimension> for Length { fn to_taffy(&self, rem_size: Pixels) -> taffy::prelude::Dimension { match self { Length::Definite(length) => length.to_taffy(rem_size), - Length::Auto => taffy::prelude::Dimension::auto(), + Length::Auto => taffy::prelude::Dimension::Auto, } } } @@ -302,14 +302,14 @@ impl ToTaffy<taffy::style::LengthPercentage> for DefiniteLength { match self { DefiniteLength::Absolute(length) => match length { AbsoluteLength::Pixels(pixels) => { - taffy::style::LengthPercentage::length(pixels.into()) + taffy::style::LengthPercentage::Length(pixels.into()) } AbsoluteLength::Rems(rems) => { - taffy::style::LengthPercentage::length((*rems * rem_size).into()) + taffy::style::LengthPercentage::Length((*rems * rem_size).into()) } }, DefiniteLength::Fraction(fraction) => { - taffy::style::LengthPercentage::percent(*fraction) + taffy::style::LengthPercentage::Percent(*fraction) } } } @@ -320,14 +320,14 @@ impl ToTaffy<taffy::style::LengthPercentageAuto> for DefiniteLength { match self { DefiniteLength::Absolute(length) => match length { AbsoluteLength::Pixels(pixels) => { - taffy::style::LengthPercentageAuto::length(pixels.into()) + taffy::style::LengthPercentageAuto::Length(pixels.into()) } AbsoluteLength::Rems(rems) => { - taffy::style::LengthPercentageAuto::length((*rems * rem_size).into()) + taffy::style::LengthPercentageAuto::Length((*rems * rem_size).into()) } }, DefiniteLength::Fraction(fraction) => { - taffy::style::LengthPercentageAuto::percent(*fraction) + taffy::style::LengthPercentageAuto::Percent(*fraction) } } } @@ -337,12 +337,12 @@ impl ToTaffy<taffy::style::Dimension> for DefiniteLength { fn to_taffy(&self, rem_size: Pixels) -> taffy::style::Dimension { match self { DefiniteLength::Absolute(length) => match length { - AbsoluteLength::Pixels(pixels) => taffy::style::Dimension::length(pixels.into()), + AbsoluteLength::Pixels(pixels) => taffy::style::Dimension::Length(pixels.into()), AbsoluteLength::Rems(rems) => { - taffy::style::Dimension::length((*rems * rem_size).into()) + taffy::style::Dimension::Length((*rems * rem_size).into()) } }, - DefiniteLength::Fraction(fraction) => taffy::style::Dimension::percent(*fraction), + DefiniteLength::Fraction(fraction) => taffy::style::Dimension::Percent(*fraction), } } } @@ -350,9 +350,9 @@ impl ToTaffy<taffy::style::Dimension> for DefiniteLength { impl ToTaffy<taffy::style::LengthPercentage> for AbsoluteLength { fn to_taffy(&self, rem_size: Pixels) -> taffy::style::LengthPercentage { match self { - AbsoluteLength::Pixels(pixels) => taffy::style::LengthPercentage::length(pixels.into()), + AbsoluteLength::Pixels(pixels) => taffy::style::LengthPercentage::Length(pixels.into()), AbsoluteLength::Rems(rems) => { - taffy::style::LengthPercentage::length((*rems * rem_size).into()) + taffy::style::LengthPercentage::Length((*rems * rem_size).into()) } } } diff --git a/crates/gpui/src/window.rs b/crates/gpui/src/window.rs index 6ebb1cac40..963d2bb45c 100644 --- a/crates/gpui/src/window.rs +++ b/crates/gpui/src/window.rs @@ -702,7 +702,6 @@ pub(crate) struct PaintIndex { input_handlers_index: usize, cursor_styles_index: usize, accessed_element_states_index: usize, - tab_handle_index: usize, line_layout_index: LineLayoutIndex, } @@ -1020,7 +1019,7 @@ impl Window { || (active.get() && last_input_timestamp.get().elapsed() < Duration::from_secs(1)); - if invalidator.is_dirty() || request_frame_options.force_render { + if invalidator.is_dirty() { measure("frame duration", || { handle .update(&mut cx, |_, window, cx| { @@ -2209,7 +2208,6 @@ impl Window { input_handlers_index: self.next_frame.input_handlers.len(), cursor_styles_index: self.next_frame.cursor_styles.len(), accessed_element_states_index: self.next_frame.accessed_element_states.len(), - tab_handle_index: self.next_frame.tab_handles.handles.len(), line_layout_index: self.text_system.layout_index(), } } @@ -2239,12 +2237,6 @@ impl Window { .iter() .map(|(id, type_id)| (GlobalElementId(id.0.clone()), *type_id)), ); - self.next_frame.tab_handles.handles.extend( - self.rendered_frame.tab_handles.handles - [range.start.tab_handle_index..range.end.tab_handle_index] - .iter() - .cloned(), - ); self.text_system .reuse_layouts(range.start.line_layout_index..range.end.line_layout_index); diff --git a/crates/http_client/src/http_client.rs b/crates/http_client/src/http_client.rs index 06875718d9..434bd74fc8 100644 --- a/crates/http_client/src/http_client.rs +++ b/crates/http_client/src/http_client.rs @@ -236,22 +236,6 @@ impl HttpClientWithUrl { )?) } - /// Builds a Zed Cloud URL using the given path. - pub fn build_zed_cloud_url(&self, path: &str, query: &[(&str, &str)]) -> Result<Url> { - let base_url = self.base_url(); - let base_api_url = match base_url.as_ref() { - "https://zed.dev" => "https://cloud.zed.dev", - "https://staging.zed.dev" => "https://cloud.zed.dev", - "http://localhost:3000" => "http://localhost:8787", - other => other, - }; - - Ok(Url::parse_with_params( - &format!("{}{}", base_api_url, path), - query, - )?) - } - /// Builds a Zed LLM URL using the given path. pub fn build_zed_llm_url(&self, path: &str, query: &[(&str, &str)]) -> Result<Url> { let base_url = self.base_url(); diff --git a/crates/icons/src/icons.rs b/crates/icons/src/icons.rs index 7552060be4..e7066ae151 100644 --- a/crates/icons/src/icons.rs +++ b/crates/icons/src/icons.rs @@ -71,7 +71,6 @@ pub enum IconName { CircleHelp, Close, Cloud, - CloudDownload, Code, Cog, Command, diff --git a/crates/inline_completion_button/Cargo.toml b/crates/inline_completion_button/Cargo.toml index b34e59336b..c2a619d500 100644 --- a/crates/inline_completion_button/Cargo.toml +++ b/crates/inline_completion_button/Cargo.toml @@ -15,7 +15,6 @@ doctest = false [dependencies] anyhow.workspace = true client.workspace = true -cloud_llm_client.workspace = true copilot.workspace = true editor.workspace = true feature_flags.workspace = true @@ -33,6 +32,7 @@ ui.workspace = true workspace-hack.workspace = true workspace.workspace = true zed_actions.workspace = true +zed_llm_client.workspace = true zeta.workspace = true [dev-dependencies] diff --git a/crates/inline_completion_button/src/inline_completion_button.rs b/crates/inline_completion_button/src/inline_completion_button.rs index 81d9181cfc..2615a8beef 100644 --- a/crates/inline_completion_button/src/inline_completion_button.rs +++ b/crates/inline_completion_button/src/inline_completion_button.rs @@ -1,6 +1,5 @@ use anyhow::Result; use client::{DisableAiSettings, UserStore, zed_urls}; -use cloud_llm_client::UsageLimit; use copilot::{Copilot, Status}; use editor::{ Editor, SelectionEffects, @@ -35,6 +34,7 @@ use workspace::{ notifications::NotificationId, }; use zed_actions::OpenBrowser; +use zed_llm_client::UsageLimit; use zeta::RateCompletions; actions!( diff --git a/crates/language/src/language.rs b/crates/language/src/language.rs index 549afc931c..1df33286ee 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -166,6 +166,7 @@ pub struct CachedLspAdapter { pub reinstall_attempt_count: AtomicU64, cached_binary: futures::lock::Mutex<Option<LanguageServerBinary>>, manifest_name: OnceLock<Option<ManifestName>>, + attach_kind: OnceLock<Attach>, } impl Debug for CachedLspAdapter { @@ -201,6 +202,7 @@ impl CachedLspAdapter { adapter, cached_binary: Default::default(), reinstall_attempt_count: AtomicU64::new(0), + attach_kind: Default::default(), manifest_name: Default::default(), }) } @@ -286,15 +288,29 @@ impl CachedLspAdapter { .get_or_init(|| self.adapter.manifest_name()) .clone() } + pub fn attach_kind(&self) -> Attach { + *self.attach_kind.get_or_init(|| self.adapter.attach_kind()) + } } -/// Determines what gets sent out as a workspace folders content #[derive(Clone, Copy, Debug, PartialEq)] -pub enum WorkspaceFoldersContent { - /// Send out a single entry with the root of the workspace. - WorktreeRoot, - /// Send out a list of subproject roots. - SubprojectRoots, +pub enum Attach { + /// Create a single language server instance per subproject root. + InstancePerRoot, + /// Use one shared language server instance for all subprojects within a project. + Shared, +} + +impl Attach { + pub fn root_path( + &self, + root_subproject_path: (WorktreeId, Arc<Path>), + ) -> (WorktreeId, Arc<Path>) { + match self { + Attach::InstancePerRoot => root_subproject_path, + Attach::Shared => (root_subproject_path.0, Arc::from(Path::new(""))), + } + } } /// [`LspAdapterDelegate`] allows [`LspAdapter]` implementations to interface with the application @@ -586,11 +602,8 @@ pub trait LspAdapter: 'static + Send + Sync { Ok(original) } - /// Determines whether a language server supports workspace folders. - /// - /// And does not trip over itself in the process. - fn workspace_folders_content(&self) -> WorkspaceFoldersContent { - WorkspaceFoldersContent::SubprojectRoots + fn attach_kind(&self) -> Attach { + Attach::Shared } fn manifest_name(&self) -> Option<ManifestName> { diff --git a/crates/language_model/Cargo.toml b/crates/language_model/Cargo.toml index 841be60b0e..b718c530f5 100644 --- a/crates/language_model/Cargo.toml +++ b/crates/language_model/Cargo.toml @@ -20,7 +20,6 @@ anthropic = { workspace = true, features = ["schemars"] } anyhow.workspace = true base64.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true futures.workspace = true gpui.workspace = true @@ -38,6 +37,7 @@ telemetry_events.workspace = true thiserror.workspace = true util.workspace = true workspace-hack.workspace = true +zed_llm_client.workspace = true [dev-dependencies] gpui = { workspace = true, features = ["test-support"] } diff --git a/crates/language_model/src/language_model.rs b/crates/language_model/src/language_model.rs index 1637d2de8a..54640419b6 100644 --- a/crates/language_model/src/language_model.rs +++ b/crates/language_model/src/language_model.rs @@ -11,7 +11,6 @@ pub mod fake_provider; use anthropic::{AnthropicError, parse_prompt_too_long}; use anyhow::{Result, anyhow}; use client::Client; -use cloud_llm_client::{CompletionMode, CompletionRequestStatus}; use futures::FutureExt; use futures::{StreamExt, future::BoxFuture, stream::BoxStream}; use gpui::{AnyElement, AnyView, App, AsyncApp, SharedString, Task, Window}; @@ -27,6 +26,7 @@ use std::time::Duration; use std::{fmt, io}; use thiserror::Error; use util::serde::is_default; +use zed_llm_client::{CompletionMode, CompletionRequestStatus}; pub use crate::model::*; pub use crate::rate_limiter::*; diff --git a/crates/language_model/src/model/cloud_model.rs b/crates/language_model/src/model/cloud_model.rs index a5d2ac34f5..72b7132c60 100644 --- a/crates/language_model/src/model/cloud_model.rs +++ b/crates/language_model/src/model/cloud_model.rs @@ -64,14 +64,9 @@ impl LlmApiToken { mut lock: RwLockWriteGuard<'_, Option<String>>, client: &Arc<Client>, ) -> Result<String> { - let system_id = client - .telemetry() - .system_id() - .map(|system_id| system_id.to_string()); - - let response = client.cloud_client().create_llm_token(system_id).await?; - *lock = Some(response.token.0.clone()); - Ok(response.token.0.clone()) + let response = client.request(proto::GetLlmToken {}).await?; + *lock = Some(response.token.clone()); + Ok(response.token.clone()) } } diff --git a/crates/language_model/src/request.rs b/crates/language_model/src/request.rs index dc485e9937..6f3d420ad5 100644 --- a/crates/language_model/src/request.rs +++ b/crates/language_model/src/request.rs @@ -1,9 +1,10 @@ use std::io::{Cursor, Write}; use std::sync::Arc; +use crate::role::Role; +use crate::{LanguageModelToolUse, LanguageModelToolUseId}; use anyhow::Result; use base64::write::EncoderWriter; -use cloud_llm_client::{CompletionIntent, CompletionMode}; use gpui::{ App, AppContext as _, DevicePixels, Image, ImageFormat, ObjectFit, SharedString, Size, Task, point, px, size, @@ -11,9 +12,7 @@ use gpui::{ use image::codecs::png::PngEncoder; use serde::{Deserialize, Serialize}; use util::ResultExt; - -use crate::role::Role; -use crate::{LanguageModelToolUse, LanguageModelToolUseId}; +use zed_llm_client::{CompletionIntent, CompletionMode}; #[derive(Clone, PartialEq, Eq, Serialize, Deserialize, Hash)] pub struct LanguageModelImage { diff --git a/crates/language_models/Cargo.toml b/crates/language_models/Cargo.toml index 208b0d99c9..574579aaa7 100644 --- a/crates/language_models/Cargo.toml +++ b/crates/language_models/Cargo.toml @@ -16,17 +16,18 @@ ai_onboarding.workspace = true anthropic = { workspace = true, features = ["schemars"] } anyhow.workspace = true aws-config = { workspace = true, features = ["behavior-version-latest"] } -aws-credential-types = { workspace = true, features = ["hardcoded-credentials"] } +aws-credential-types = { workspace = true, features = [ + "hardcoded-credentials", +] } aws_http_client.workspace = true bedrock.workspace = true chrono.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true component.workspace = true +credentials_provider.workspace = true convert_case.workspace = true copilot.workspace = true -credentials_provider.workspace = true deepseek = { workspace = true, features = ["schemars"] } editor.workspace = true futures.workspace = true @@ -34,7 +35,6 @@ google_ai = { workspace = true, features = ["schemars"] } gpui.workspace = true gpui_tokio.workspace = true http_client.workspace = true -language.workspace = true language_model.workspace = true lmstudio = { workspace = true, features = ["schemars"] } log.workspace = true @@ -43,6 +43,8 @@ mistral = { workspace = true, features = ["schemars"] } ollama = { workspace = true, features = ["schemars"] } open_ai = { workspace = true, features = ["schemars"] } open_router = { workspace = true, features = ["schemars"] } +vercel = { workspace = true, features = ["schemars"] } +x_ai = { workspace = true, features = ["schemars"] } partial-json-fixer.workspace = true proto.workspace = true release_channel.workspace = true @@ -59,9 +61,9 @@ tokio = { workspace = true, features = ["rt", "rt-multi-thread"] } ui.workspace = true ui_input.workspace = true util.workspace = true -vercel = { workspace = true, features = ["schemars"] } workspace-hack.workspace = true -x_ai = { workspace = true, features = ["schemars"] } +zed_llm_client.workspace = true +language.workspace = true [dev-dependencies] editor = { workspace = true, features = ["test-support"] } diff --git a/crates/language_models/src/provider/cloud.rs b/crates/language_models/src/provider/cloud.rs index 3de135c5a2..09a2ac6e0a 100644 --- a/crates/language_models/src/provider/cloud.rs +++ b/crates/language_models/src/provider/cloud.rs @@ -3,13 +3,6 @@ use anthropic::AnthropicModelMode; use anyhow::{Context as _, Result, anyhow}; use chrono::{DateTime, Utc}; use client::{Client, ModelRequestUsage, UserStore, zed_urls}; -use cloud_llm_client::{ - CLIENT_SUPPORTS_STATUS_MESSAGES_HEADER_NAME, CURRENT_PLAN_HEADER_NAME, CompletionBody, - CompletionEvent, CompletionRequestStatus, CountTokensBody, CountTokensResponse, - EXPIRED_LLM_TOKEN_HEADER_NAME, ListModelsResponse, MODEL_REQUESTS_RESOURCE_HEADER_VALUE, - SERVER_SUPPORTS_STATUS_MESSAGES_HEADER_NAME, SUBSCRIPTION_LIMIT_RESOURCE_HEADER_NAME, - TOOL_USE_LIMIT_REACHED_HEADER_NAME, ZED_VERSION_HEADER_NAME, -}; use futures::{ AsyncBufReadExt, FutureExt, Stream, StreamExt, future::BoxFuture, stream::BoxStream, }; @@ -40,6 +33,13 @@ use std::time::Duration; use thiserror::Error; use ui::{TintColor, prelude::*}; use util::{ResultExt as _, maybe}; +use zed_llm_client::{ + CLIENT_SUPPORTS_STATUS_MESSAGES_HEADER_NAME, CURRENT_PLAN_HEADER_NAME, CompletionBody, + CompletionRequestStatus, CountTokensBody, CountTokensResponse, EXPIRED_LLM_TOKEN_HEADER_NAME, + ListModelsResponse, MODEL_REQUESTS_RESOURCE_HEADER_VALUE, + SERVER_SUPPORTS_STATUS_MESSAGES_HEADER_NAME, SUBSCRIPTION_LIMIT_RESOURCE_HEADER_NAME, + TOOL_USE_LIMIT_REACHED_HEADER_NAME, ZED_VERSION_HEADER_NAME, +}; use crate::provider::anthropic::{AnthropicEventMapper, count_anthropic_tokens, into_anthropic}; use crate::provider::google::{GoogleEventMapper, into_google}; @@ -120,10 +120,10 @@ pub struct State { user_store: Entity<UserStore>, status: client::Status, accept_terms_of_service_task: Option<Task<Result<()>>>, - models: Vec<Arc<cloud_llm_client::LanguageModel>>, - default_model: Option<Arc<cloud_llm_client::LanguageModel>>, - default_fast_model: Option<Arc<cloud_llm_client::LanguageModel>>, - recommended_models: Vec<Arc<cloud_llm_client::LanguageModel>>, + models: Vec<Arc<zed_llm_client::LanguageModel>>, + default_model: Option<Arc<zed_llm_client::LanguageModel>>, + default_fast_model: Option<Arc<zed_llm_client::LanguageModel>>, + recommended_models: Vec<Arc<zed_llm_client::LanguageModel>>, _fetch_models_task: Task<()>, _settings_subscription: Subscription, _llm_token_subscription: Subscription, @@ -238,8 +238,8 @@ impl State { // Right now we represent thinking variants of models as separate models on the client, // so we need to insert variants for any model that supports thinking. if model.supports_thinking { - models.push(Arc::new(cloud_llm_client::LanguageModel { - id: cloud_llm_client::LanguageModelId(format!("{}-thinking", model.id).into()), + models.push(Arc::new(zed_llm_client::LanguageModel { + id: zed_llm_client::LanguageModelId(format!("{}-thinking", model.id).into()), display_name: format!("{} Thinking", model.display_name), ..model })); @@ -328,7 +328,7 @@ impl CloudLanguageModelProvider { fn create_language_model( &self, - model: Arc<cloud_llm_client::LanguageModel>, + model: Arc<zed_llm_client::LanguageModel>, llm_api_token: LlmApiToken, ) -> Arc<dyn LanguageModel> { Arc::new(CloudLanguageModel { @@ -518,7 +518,7 @@ fn render_accept_terms( pub struct CloudLanguageModel { id: LanguageModelId, - model: Arc<cloud_llm_client::LanguageModel>, + model: Arc<zed_llm_client::LanguageModel>, llm_api_token: LlmApiToken, client: Arc<Client>, request_limiter: RateLimiter, @@ -611,12 +611,12 @@ impl CloudLanguageModel { .headers() .get(CURRENT_PLAN_HEADER_NAME) .and_then(|plan| plan.to_str().ok()) - .and_then(|plan| cloud_llm_client::Plan::from_str(plan).ok()) + .and_then(|plan| zed_llm_client::Plan::from_str(plan).ok()) { let plan = match plan { - cloud_llm_client::Plan::ZedFree => Plan::Free, - cloud_llm_client::Plan::ZedPro => Plan::ZedPro, - cloud_llm_client::Plan::ZedProTrial => Plan::ZedProTrial, + zed_llm_client::Plan::ZedFree => Plan::Free, + zed_llm_client::Plan::ZedPro => Plan::ZedPro, + zed_llm_client::Plan::ZedProTrial => Plan::ZedProTrial, }; return Err(anyhow!(ModelRequestLimitReachedError { plan })); } @@ -729,7 +729,7 @@ impl LanguageModel for CloudLanguageModel { } fn upstream_provider_id(&self) -> LanguageModelProviderId { - use cloud_llm_client::LanguageModelProvider::*; + use zed_llm_client::LanguageModelProvider::*; match self.model.provider { Anthropic => language_model::ANTHROPIC_PROVIDER_ID, OpenAi => language_model::OPEN_AI_PROVIDER_ID, @@ -738,7 +738,7 @@ impl LanguageModel for CloudLanguageModel { } fn upstream_provider_name(&self) -> LanguageModelProviderName { - use cloud_llm_client::LanguageModelProvider::*; + use zed_llm_client::LanguageModelProvider::*; match self.model.provider { Anthropic => language_model::ANTHROPIC_PROVIDER_NAME, OpenAi => language_model::OPEN_AI_PROVIDER_NAME, @@ -772,11 +772,11 @@ impl LanguageModel for CloudLanguageModel { fn tool_input_format(&self) -> LanguageModelToolSchemaFormat { match self.model.provider { - cloud_llm_client::LanguageModelProvider::Anthropic - | cloud_llm_client::LanguageModelProvider::OpenAi => { + zed_llm_client::LanguageModelProvider::Anthropic + | zed_llm_client::LanguageModelProvider::OpenAi => { LanguageModelToolSchemaFormat::JsonSchema } - cloud_llm_client::LanguageModelProvider::Google => { + zed_llm_client::LanguageModelProvider::Google => { LanguageModelToolSchemaFormat::JsonSchemaSubset } } @@ -795,15 +795,15 @@ impl LanguageModel for CloudLanguageModel { fn cache_configuration(&self) -> Option<LanguageModelCacheConfiguration> { match &self.model.provider { - cloud_llm_client::LanguageModelProvider::Anthropic => { + zed_llm_client::LanguageModelProvider::Anthropic => { Some(LanguageModelCacheConfiguration { min_total_token: 2_048, should_speculate: true, max_cache_anchors: 4, }) } - cloud_llm_client::LanguageModelProvider::OpenAi - | cloud_llm_client::LanguageModelProvider::Google => None, + zed_llm_client::LanguageModelProvider::OpenAi + | zed_llm_client::LanguageModelProvider::Google => None, } } @@ -813,17 +813,15 @@ impl LanguageModel for CloudLanguageModel { cx: &App, ) -> BoxFuture<'static, Result<u64>> { match self.model.provider { - cloud_llm_client::LanguageModelProvider::Anthropic => { - count_anthropic_tokens(request, cx) - } - cloud_llm_client::LanguageModelProvider::OpenAi => { + zed_llm_client::LanguageModelProvider::Anthropic => count_anthropic_tokens(request, cx), + zed_llm_client::LanguageModelProvider::OpenAi => { let model = match open_ai::Model::from_id(&self.model.id.0) { Ok(model) => model, Err(err) => return async move { Err(anyhow!(err)) }.boxed(), }; count_open_ai_tokens(request, model, cx) } - cloud_llm_client::LanguageModelProvider::Google => { + zed_llm_client::LanguageModelProvider::Google => { let client = self.client.clone(); let llm_api_token = self.llm_api_token.clone(); let model_id = self.model.id.to_string(); @@ -834,7 +832,7 @@ impl LanguageModel for CloudLanguageModel { let token = llm_api_token.acquire(&client).await?; let request_body = CountTokensBody { - provider: cloud_llm_client::LanguageModelProvider::Google, + provider: zed_llm_client::LanguageModelProvider::Google, model: model_id, provider_request: serde_json::to_value(&google_ai::CountTokensRequest { generate_content_request, @@ -895,7 +893,7 @@ impl LanguageModel for CloudLanguageModel { let app_version = cx.update(|cx| AppVersion::global(cx)).ok(); let thinking_allowed = request.thinking_allowed; match self.model.provider { - cloud_llm_client::LanguageModelProvider::Anthropic => { + zed_llm_client::LanguageModelProvider::Anthropic => { let request = into_anthropic( request, self.model.id.to_string(), @@ -926,7 +924,7 @@ impl LanguageModel for CloudLanguageModel { prompt_id, intent, mode, - provider: cloud_llm_client::LanguageModelProvider::Anthropic, + provider: zed_llm_client::LanguageModelProvider::Anthropic, model: request.model.clone(), provider_request: serde_json::to_value(&request) .map_err(|e| anyhow!(e))?, @@ -950,7 +948,7 @@ impl LanguageModel for CloudLanguageModel { }); async move { Ok(future.await?.boxed()) }.boxed() } - cloud_llm_client::LanguageModelProvider::OpenAi => { + zed_llm_client::LanguageModelProvider::OpenAi => { let client = self.client.clone(); let model = match open_ai::Model::from_id(&self.model.id.0) { Ok(model) => model, @@ -978,7 +976,7 @@ impl LanguageModel for CloudLanguageModel { prompt_id, intent, mode, - provider: cloud_llm_client::LanguageModelProvider::OpenAi, + provider: zed_llm_client::LanguageModelProvider::OpenAi, model: request.model.clone(), provider_request: serde_json::to_value(&request) .map_err(|e| anyhow!(e))?, @@ -998,7 +996,7 @@ impl LanguageModel for CloudLanguageModel { }); async move { Ok(future.await?.boxed()) }.boxed() } - cloud_llm_client::LanguageModelProvider::Google => { + zed_llm_client::LanguageModelProvider::Google => { let client = self.client.clone(); let request = into_google(request, self.model.id.to_string(), GoogleModelMode::Default); @@ -1018,7 +1016,7 @@ impl LanguageModel for CloudLanguageModel { prompt_id, intent, mode, - provider: cloud_llm_client::LanguageModelProvider::Google, + provider: zed_llm_client::LanguageModelProvider::Google, model: request.model.model_id.clone(), provider_request: serde_json::to_value(&request) .map_err(|e| anyhow!(e))?, @@ -1042,8 +1040,15 @@ impl LanguageModel for CloudLanguageModel { } } +#[derive(Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum CloudCompletionEvent<T> { + Status(CompletionRequestStatus), + Event(T), +} + fn map_cloud_completion_events<T, F>( - stream: Pin<Box<dyn Stream<Item = Result<CompletionEvent<T>>> + Send>>, + stream: Pin<Box<dyn Stream<Item = Result<CloudCompletionEvent<T>>> + Send>>, mut map_callback: F, ) -> BoxStream<'static, Result<LanguageModelCompletionEvent, LanguageModelCompletionError>> where @@ -1058,10 +1063,10 @@ where Err(error) => { vec![Err(LanguageModelCompletionError::from(error))] } - Ok(CompletionEvent::Status(event)) => { + Ok(CloudCompletionEvent::Status(event)) => { vec![Ok(LanguageModelCompletionEvent::StatusUpdate(event))] } - Ok(CompletionEvent::Event(event)) => map_callback(event), + Ok(CloudCompletionEvent::Event(event)) => map_callback(event), }) }) .boxed() @@ -1069,9 +1074,9 @@ where fn usage_updated_event<T>( usage: Option<ModelRequestUsage>, -) -> impl Stream<Item = Result<CompletionEvent<T>>> { +) -> impl Stream<Item = Result<CloudCompletionEvent<T>>> { futures::stream::iter(usage.map(|usage| { - Ok(CompletionEvent::Status( + Ok(CloudCompletionEvent::Status( CompletionRequestStatus::UsageUpdated { amount: usage.amount as usize, limit: usage.limit, @@ -1082,9 +1087,9 @@ fn usage_updated_event<T>( fn tool_use_limit_reached_event<T>( tool_use_limit_reached: bool, -) -> impl Stream<Item = Result<CompletionEvent<T>>> { +) -> impl Stream<Item = Result<CloudCompletionEvent<T>>> { futures::stream::iter(tool_use_limit_reached.then(|| { - Ok(CompletionEvent::Status( + Ok(CloudCompletionEvent::Status( CompletionRequestStatus::ToolUseLimitReached, )) })) @@ -1093,7 +1098,7 @@ fn tool_use_limit_reached_event<T>( fn response_lines<T: DeserializeOwned>( response: Response<AsyncBody>, includes_status_messages: bool, -) -> impl Stream<Item = Result<CompletionEvent<T>>> { +) -> impl Stream<Item = Result<CloudCompletionEvent<T>>> { futures::stream::try_unfold( (String::new(), BufReader::new(response.into_body())), move |(mut line, mut body)| async move { @@ -1101,9 +1106,9 @@ fn response_lines<T: DeserializeOwned>( Ok(0) => Ok(None), Ok(_) => { let event = if includes_status_messages { - serde_json::from_str::<CompletionEvent<T>>(&line)? + serde_json::from_str::<CloudCompletionEvent<T>>(&line)? } else { - CompletionEvent::Event(serde_json::from_str::<T>(&line)?) + CloudCompletionEvent::Event(serde_json::from_str::<T>(&line)?) }; line.clear(); diff --git a/crates/language_models/src/provider/copilot_chat.rs b/crates/language_models/src/provider/copilot_chat.rs index 3cdc2e5401..d9a84f1eb7 100644 --- a/crates/language_models/src/provider/copilot_chat.rs +++ b/crates/language_models/src/provider/copilot_chat.rs @@ -3,7 +3,6 @@ use std::str::FromStr as _; use std::sync::Arc; use anyhow::{Result, anyhow}; -use cloud_llm_client::CompletionIntent; use collections::HashMap; use copilot::copilot_chat::{ ChatMessage, ChatMessageContent, ChatMessagePart, CopilotChat, ImageUrl, @@ -31,6 +30,7 @@ use settings::SettingsStore; use std::time::Duration; use ui::prelude::*; use util::debug_panic; +use zed_llm_client::CompletionIntent; use super::anthropic::count_anthropic_tokens; use super::google::count_google_tokens; diff --git a/crates/language_models/src/provider/ollama.rs b/crates/language_models/src/provider/ollama.rs index c20ea0ee1e..dc81e8be18 100644 --- a/crates/language_models/src/provider/ollama.rs +++ b/crates/language_models/src/provider/ollama.rs @@ -192,16 +192,12 @@ impl LanguageModelProvider for OllamaLanguageModelProvider { IconName::AiOllama } - fn default_model(&self, _: &App) -> Option<Arc<dyn LanguageModel>> { - // We shouldn't try to select default model, because it might lead to a load call for an unloaded model. - // In a constrained environment where user might not have enough resources it'll be a bad UX to select something - // to load by default. - None + fn default_model(&self, cx: &App) -> Option<Arc<dyn LanguageModel>> { + self.provided_models(cx).into_iter().next() } - fn default_fast_model(&self, _: &App) -> Option<Arc<dyn LanguageModel>> { - // See explanation for default_model. - None + fn default_fast_model(&self, cx: &App) -> Option<Arc<dyn LanguageModel>> { + self.default_model(cx) } fn provided_models(&self, cx: &App) -> Vec<Arc<dyn LanguageModel>> { diff --git a/crates/language_tools/src/lsp_log.rs b/crates/language_tools/src/lsp_log.rs index 2b0e13f4be..d1a90d7dbb 100644 --- a/crates/language_tools/src/lsp_log.rs +++ b/crates/language_tools/src/lsp_log.rs @@ -867,7 +867,7 @@ impl LspLogView { BINARY = server.binary(), WORKSPACE_FOLDERS = server .workspace_folders() - .into_iter() + .iter() .filter_map(|path| path .to_file_path() .ok() diff --git a/crates/language_tools/src/lsp_tool.rs b/crates/language_tools/src/lsp_tool.rs index a339f3b941..9e95ed4673 100644 --- a/crates/language_tools/src/lsp_tool.rs +++ b/crates/language_tools/src/lsp_tool.rs @@ -1015,7 +1015,7 @@ impl Render for LspTool { .anchor(Corner::BottomLeft) .with_handle(self.popover_menu_handle.clone()) .trigger_with_tooltip( - IconButton::new("zed-lsp-tool-button", IconName::Bolt) + IconButton::new("zed-lsp-tool-button", IconName::BoltFilledAlt) .when_some(indicator, IconButton::indicator) .icon_size(IconSize::Small) .indicator_border_color(Some(cx.theme().colors().status_bar_background)), diff --git a/crates/languages/Cargo.toml b/crates/languages/Cargo.toml index 260126da63..2e8f007cff 100644 --- a/crates/languages/Cargo.toml +++ b/crates/languages/Cargo.toml @@ -41,7 +41,6 @@ async-trait.workspace = true chrono.workspace = true collections.workspace = true dap.workspace = true -feature_flags.workspace = true futures.workspace = true gpui.workspace = true http_client.workspace = true diff --git a/crates/languages/src/bash/config.toml b/crates/languages/src/bash/config.toml index 8ff4802aee..db9a2749e7 100644 --- a/crates/languages/src/bash/config.toml +++ b/crates/languages/src/bash/config.toml @@ -18,20 +18,17 @@ brackets = [ { start = "in", end = "esac", close = false, newline = true, not_in = ["comment", "string"] }, ] -auto_indent_using_last_non_empty_line = false -increase_indent_pattern = "^\\s*(\\b(else|elif)\\b|([^#]+\\b(do|then|in)\\b)|([\\w\\*]+\\)))\\s*$" -decrease_indent_patterns = [ - { pattern = "^\\s*elif\\b.*", valid_after = ["if", "elif"] }, - { pattern = "^\\s*else\\b.*", valid_after = ["if", "elif", "for", "while"] }, - { pattern = "^\\s*fi\\b.*", valid_after = ["if", "elif", "else"] }, - { pattern = "^\\s*done\\b.*", valid_after = ["for", "while"] }, - { pattern = "^\\s*esac\\b.*", valid_after = ["case"] }, - { pattern = "^\\s*[\\w\\*]+\\)\\s*$", valid_after = ["case_item"] }, -] - -# We can't use decrease_indent_patterns simply for elif, because -# there is bug in tree sitter which throws ERROR on if match. -# -# This is workaround. That means, elif will outdents with despite -# of wrong context. Like using elif after else. -decrease_indent_pattern = "(^|\\s+|;)(elif)\\b.*$" +### WARN: the following is not working when you insert an `elif` just before an else +### example: (^ is cursor after hitting enter) +### ``` +### if true; then +### foo +### elif +### ^ +### else +### bar +### fi +### ``` +increase_indent_pattern = "(^|\\s+|;)(do|then|in|else|elif)\\b.*$" +decrease_indent_pattern = "(^|\\s+|;)(fi|done|esac|else|elif)\\b.*$" +# make sure to test each line mode & block mode diff --git a/crates/languages/src/bash/indents.scm b/crates/languages/src/bash/indents.scm index 468fc595e5..acdcddabfe 100644 --- a/crates/languages/src/bash/indents.scm +++ b/crates/languages/src/bash/indents.scm @@ -1,12 +1,12 @@ -(_ "[" "]" @end) @indent -(_ "{" "}" @end) @indent -(_ "(" ")" @end) @indent +(function_definition + "function"? + body: ( + _ + "{" @start + "}" @end + )) @indent -(function_definition) @start.function -(if_statement) @start.if -(elif_clause) @start.elif -(else_clause) @start.else -(for_statement) @start.for -(while_statement) @start.while -(case_statement) @start.case -(case_item) @start.case_item +(array + "(" @start + ")" @end + ) @indent diff --git a/crates/languages/src/go/runnables.scm b/crates/languages/src/go/runnables.scm index 6418cd04d8..49e112b860 100644 --- a/crates/languages/src/go/runnables.scm +++ b/crates/languages/src/go/runnables.scm @@ -69,7 +69,7 @@ ( ( (function_declaration name: (_) @run @_name - (#match? @_name "^Benchmark.*")) + (#match? @_name "^Benchmark.+")) ) @_ (#set! tag go-benchmark) ) diff --git a/crates/languages/src/lib.rs b/crates/languages/src/lib.rs index 001fd15200..a224111002 100644 --- a/crates/languages/src/lib.rs +++ b/crates/languages/src/lib.rs @@ -1,5 +1,4 @@ use anyhow::Context as _; -use feature_flags::{FeatureFlag, FeatureFlagAppExt as _}; use gpui::{App, UpdateGlobal}; use node_runtime::NodeRuntime; use python::PyprojectTomlManifestProvider; @@ -12,7 +11,7 @@ use util::{ResultExt, asset_str}; pub use language::*; -use crate::{json::JsonTaskProvider, python::BasedPyrightLspAdapter}; +use crate::json::JsonTaskProvider; mod bash; mod c; @@ -53,12 +52,6 @@ pub static LANGUAGE_GIT_COMMIT: std::sync::LazyLock<Arc<Language>> = )) }); -struct BasedPyrightFeatureFlag; - -impl FeatureFlag for BasedPyrightFeatureFlag { - const NAME: &'static str = "basedpyright"; -} - pub fn init(languages: Arc<LanguageRegistry>, node: NodeRuntime, cx: &mut App) { #[cfg(feature = "load-grammars")] languages.register_native_grammars([ @@ -95,7 +88,6 @@ pub fn init(languages: Arc<LanguageRegistry>, node: NodeRuntime, cx: &mut App) { let py_lsp_adapter = Arc::new(python::PyLspAdapter::new()); let python_context_provider = Arc::new(python::PythonContextProvider); let python_lsp_adapter = Arc::new(python::PythonLspAdapter::new(node.clone())); - let basedpyright_lsp_adapter = Arc::new(BasedPyrightLspAdapter::new()); let python_toolchain_provider = Arc::new(python::PythonToolchainProvider::default()); let rust_context_provider = Arc::new(rust::RustContextProvider); let rust_lsp_adapter = Arc::new(rust::RustLspAdapter); @@ -236,20 +228,6 @@ pub fn init(languages: Arc<LanguageRegistry>, node: NodeRuntime, cx: &mut App) { ); } - let mut basedpyright_lsp_adapter = Some(basedpyright_lsp_adapter); - cx.observe_flag::<BasedPyrightFeatureFlag, _>({ - let languages = languages.clone(); - move |enabled, _| { - if enabled { - if let Some(adapter) = basedpyright_lsp_adapter.take() { - languages - .register_available_lsp_adapter(adapter.name(), move || adapter.clone()); - } - } - } - }) - .detach(); - // Register globally available language servers. // // This will allow users to add support for a built-in language server (e.g., Tailwind) diff --git a/crates/languages/src/python.rs b/crates/languages/src/python.rs index 0524c02fd5..dc6996d399 100644 --- a/crates/languages/src/python.rs +++ b/crates/languages/src/python.rs @@ -4,13 +4,13 @@ use async_trait::async_trait; use collections::HashMap; use gpui::{App, Task}; use gpui::{AsyncApp, SharedString}; +use language::Toolchain; use language::ToolchainList; use language::ToolchainLister; use language::language_settings::language_settings; use language::{ContextLocation, LanguageToolchainStore}; use language::{ContextProvider, LspAdapter, LspAdapterDelegate}; use language::{LanguageName, ManifestName, ManifestProvider, ManifestQuery}; -use language::{Toolchain, WorkspaceFoldersContent}; use lsp::LanguageServerBinary; use lsp::LanguageServerName; use node_runtime::NodeRuntime; @@ -400,9 +400,6 @@ impl LspAdapter for PythonLspAdapter { fn manifest_name(&self) -> Option<ManifestName> { Some(SharedString::new_static("pyproject.toml").into()) } - fn workspace_folders_content(&self) -> WorkspaceFoldersContent { - WorkspaceFoldersContent::WorktreeRoot - } } async fn get_cached_server_binary( @@ -1285,350 +1282,6 @@ impl LspAdapter for PyLspAdapter { fn manifest_name(&self) -> Option<ManifestName> { Some(SharedString::new_static("pyproject.toml").into()) } - fn workspace_folders_content(&self) -> WorkspaceFoldersContent { - WorkspaceFoldersContent::WorktreeRoot - } -} - -pub(crate) struct BasedPyrightLspAdapter { - python_venv_base: OnceCell<Result<Arc<Path>, String>>, -} - -impl BasedPyrightLspAdapter { - const SERVER_NAME: LanguageServerName = LanguageServerName::new_static("basedpyright"); - const BINARY_NAME: &'static str = "basedpyright-langserver"; - - pub(crate) fn new() -> Self { - Self { - python_venv_base: OnceCell::new(), - } - } - - async fn ensure_venv(delegate: &dyn LspAdapterDelegate) -> Result<Arc<Path>> { - let python_path = Self::find_base_python(delegate) - .await - .context("Could not find Python installation for basedpyright")?; - let work_dir = delegate - .language_server_download_dir(&Self::SERVER_NAME) - .await - .context("Could not get working directory for basedpyright")?; - let mut path = PathBuf::from(work_dir.as_ref()); - path.push("basedpyright-venv"); - if !path.exists() { - util::command::new_smol_command(python_path) - .arg("-m") - .arg("venv") - .arg("basedpyright-venv") - .current_dir(work_dir) - .spawn()? - .output() - .await?; - } - - Ok(path.into()) - } - - // Find "baseline", user python version from which we'll create our own venv. - async fn find_base_python(delegate: &dyn LspAdapterDelegate) -> Option<PathBuf> { - for path in ["python3", "python"] { - if let Some(path) = delegate.which(path.as_ref()).await { - return Some(path); - } - } - None - } - - async fn base_venv(&self, delegate: &dyn LspAdapterDelegate) -> Result<Arc<Path>, String> { - self.python_venv_base - .get_or_init(move || async move { - Self::ensure_venv(delegate) - .await - .map_err(|e| format!("{e}")) - }) - .await - .clone() - } -} - -#[async_trait(?Send)] -impl LspAdapter for BasedPyrightLspAdapter { - fn name(&self) -> LanguageServerName { - Self::SERVER_NAME.clone() - } - - async fn initialization_options( - self: Arc<Self>, - _: &dyn Fs, - _: &Arc<dyn LspAdapterDelegate>, - ) -> Result<Option<Value>> { - // Provide minimal initialization options - // Virtual environment configuration will be handled through workspace configuration - Ok(Some(json!({ - "python": { - "analysis": { - "autoSearchPaths": true, - "useLibraryCodeForTypes": true, - "autoImportCompletions": true - } - } - }))) - } - - async fn check_if_user_installed( - &self, - delegate: &dyn LspAdapterDelegate, - toolchains: Arc<dyn LanguageToolchainStore>, - cx: &AsyncApp, - ) -> Option<LanguageServerBinary> { - if let Some(bin) = delegate.which(Self::BINARY_NAME.as_ref()).await { - let env = delegate.shell_env().await; - Some(LanguageServerBinary { - path: bin, - env: Some(env), - arguments: vec!["--stdio".into()], - }) - } else { - let venv = toolchains - .active_toolchain( - delegate.worktree_id(), - Arc::from("".as_ref()), - LanguageName::new("Python"), - &mut cx.clone(), - ) - .await?; - let path = Path::new(venv.path.as_ref()) - .parent()? - .join(Self::BINARY_NAME); - path.exists().then(|| LanguageServerBinary { - path, - arguments: vec!["--stdio".into()], - env: None, - }) - } - } - - async fn fetch_latest_server_version( - &self, - _: &dyn LspAdapterDelegate, - ) -> Result<Box<dyn 'static + Any + Send>> { - Ok(Box::new(()) as Box<_>) - } - - async fn fetch_server_binary( - &self, - _latest_version: Box<dyn 'static + Send + Any>, - _container_dir: PathBuf, - delegate: &dyn LspAdapterDelegate, - ) -> Result<LanguageServerBinary> { - let venv = self.base_venv(delegate).await.map_err(|e| anyhow!(e))?; - let pip_path = venv.join(BINARY_DIR).join("pip3"); - ensure!( - util::command::new_smol_command(pip_path.as_path()) - .arg("install") - .arg("basedpyright") - .arg("-U") - .output() - .await? - .status - .success(), - "basedpyright installation failed" - ); - let pylsp = venv.join(BINARY_DIR).join(Self::BINARY_NAME); - Ok(LanguageServerBinary { - path: pylsp, - env: None, - arguments: vec!["--stdio".into()], - }) - } - - async fn cached_server_binary( - &self, - _container_dir: PathBuf, - delegate: &dyn LspAdapterDelegate, - ) -> Option<LanguageServerBinary> { - let venv = self.base_venv(delegate).await.ok()?; - let pylsp = venv.join(BINARY_DIR).join(Self::BINARY_NAME); - Some(LanguageServerBinary { - path: pylsp, - env: None, - arguments: vec!["--stdio".into()], - }) - } - - async fn process_completions(&self, items: &mut [lsp::CompletionItem]) { - // Pyright assigns each completion item a `sortText` of the form `XX.YYYY.name`. - // Where `XX` is the sorting category, `YYYY` is based on most recent usage, - // and `name` is the symbol name itself. - // - // Because the symbol name is included, there generally are not ties when - // sorting by the `sortText`, so the symbol's fuzzy match score is not taken - // into account. Here, we remove the symbol name from the sortText in order - // to allow our own fuzzy score to be used to break ties. - // - // see https://github.com/microsoft/pyright/blob/95ef4e103b9b2f129c9320427e51b73ea7cf78bd/packages/pyright-internal/src/languageService/completionProvider.ts#LL2873 - for item in items { - let Some(sort_text) = &mut item.sort_text else { - continue; - }; - let mut parts = sort_text.split('.'); - let Some(first) = parts.next() else { continue }; - let Some(second) = parts.next() else { continue }; - let Some(_) = parts.next() else { continue }; - sort_text.replace_range(first.len() + second.len() + 1.., ""); - } - } - - async fn label_for_completion( - &self, - item: &lsp::CompletionItem, - language: &Arc<language::Language>, - ) -> Option<language::CodeLabel> { - let label = &item.label; - let grammar = language.grammar()?; - let highlight_id = match item.kind? { - lsp::CompletionItemKind::METHOD => grammar.highlight_id_for_name("function.method")?, - lsp::CompletionItemKind::FUNCTION => grammar.highlight_id_for_name("function")?, - lsp::CompletionItemKind::CLASS => grammar.highlight_id_for_name("type")?, - lsp::CompletionItemKind::CONSTANT => grammar.highlight_id_for_name("constant")?, - _ => return None, - }; - let filter_range = item - .filter_text - .as_deref() - .and_then(|filter| label.find(filter).map(|ix| ix..ix + filter.len())) - .unwrap_or(0..label.len()); - Some(language::CodeLabel { - text: label.clone(), - runs: vec![(0..label.len(), highlight_id)], - filter_range, - }) - } - - async fn label_for_symbol( - &self, - name: &str, - kind: lsp::SymbolKind, - language: &Arc<language::Language>, - ) -> Option<language::CodeLabel> { - let (text, filter_range, display_range) = match kind { - lsp::SymbolKind::METHOD | lsp::SymbolKind::FUNCTION => { - let text = format!("def {}():\n", name); - let filter_range = 4..4 + name.len(); - let display_range = 0..filter_range.end; - (text, filter_range, display_range) - } - lsp::SymbolKind::CLASS => { - let text = format!("class {}:", name); - let filter_range = 6..6 + name.len(); - let display_range = 0..filter_range.end; - (text, filter_range, display_range) - } - lsp::SymbolKind::CONSTANT => { - let text = format!("{} = 0", name); - let filter_range = 0..name.len(); - let display_range = 0..filter_range.end; - (text, filter_range, display_range) - } - _ => return None, - }; - - Some(language::CodeLabel { - runs: language.highlight_text(&text.as_str().into(), display_range.clone()), - text: text[display_range].to_string(), - filter_range, - }) - } - - async fn workspace_configuration( - self: Arc<Self>, - _: &dyn Fs, - adapter: &Arc<dyn LspAdapterDelegate>, - toolchains: Arc<dyn LanguageToolchainStore>, - cx: &mut AsyncApp, - ) -> Result<Value> { - let toolchain = toolchains - .active_toolchain( - adapter.worktree_id(), - Arc::from("".as_ref()), - LanguageName::new("Python"), - cx, - ) - .await; - cx.update(move |cx| { - let mut user_settings = - language_server_settings(adapter.as_ref(), &Self::SERVER_NAME, cx) - .and_then(|s| s.settings.clone()) - .unwrap_or_default(); - - // If we have a detected toolchain, configure Pyright to use it - if let Some(toolchain) = toolchain { - if user_settings.is_null() { - user_settings = Value::Object(serde_json::Map::default()); - } - let object = user_settings.as_object_mut().unwrap(); - - let interpreter_path = toolchain.path.to_string(); - - // Detect if this is a virtual environment - if let Some(interpreter_dir) = Path::new(&interpreter_path).parent() { - if let Some(venv_dir) = interpreter_dir.parent() { - // Check if this looks like a virtual environment - if venv_dir.join("pyvenv.cfg").exists() - || venv_dir.join("bin/activate").exists() - || venv_dir.join("Scripts/activate.bat").exists() - { - // Set venvPath and venv at the root level - // This matches the format of a pyrightconfig.json file - if let Some(parent) = venv_dir.parent() { - // Use relative path if the venv is inside the workspace - let venv_path = if parent == adapter.worktree_root_path() { - ".".to_string() - } else { - parent.to_string_lossy().into_owned() - }; - object.insert("venvPath".to_string(), Value::String(venv_path)); - } - - if let Some(venv_name) = venv_dir.file_name() { - object.insert( - "venv".to_owned(), - Value::String(venv_name.to_string_lossy().into_owned()), - ); - } - } - } - } - - // Always set the python interpreter path - // Get or create the python section - let python = object - .entry("python") - .or_insert(Value::Object(serde_json::Map::default())) - .as_object_mut() - .unwrap(); - - // Set both pythonPath and defaultInterpreterPath for compatibility - python.insert( - "pythonPath".to_owned(), - Value::String(interpreter_path.clone()), - ); - python.insert( - "defaultInterpreterPath".to_owned(), - Value::String(interpreter_path), - ); - } - - user_settings - }) - } - - fn manifest_name(&self) -> Option<ManifestName> { - Some(SharedString::new_static("pyproject.toml").into()) - } - - fn workspace_folders_content(&self) -> WorkspaceFoldersContent { - WorkspaceFoldersContent::WorktreeRoot - } } #[cfg(test)] diff --git a/crates/languages/src/typescript.rs b/crates/languages/src/typescript.rs index fb51544841..34b9c3224e 100644 --- a/crates/languages/src/typescript.rs +++ b/crates/languages/src/typescript.rs @@ -512,7 +512,7 @@ fn eslint_server_binary_arguments(server_path: &Path) -> Vec<OsString> { fn replace_test_name_parameters(test_name: &str) -> String { let pattern = regex::Regex::new(r"(%|\$)[0-9a-zA-Z]+").unwrap(); - regex::escape(&pattern.replace_all(test_name, "(.+?)")) + pattern.replace_all(test_name, "(.+?)").to_string() } pub struct TypeScriptLspAdapter { diff --git a/crates/languages/src/typescript/runnables.scm b/crates/languages/src/typescript/runnables.scm index 6bfc536329..85702cf99d 100644 --- a/crates/languages/src/typescript/runnables.scm +++ b/crates/languages/src/typescript/runnables.scm @@ -1,4 +1,4 @@ -; Add support for (node:test, bun:test, Jest and Deno.test) runnable +; Add support for (node:test, bun:test and Jest) runnable ; Function expression that has `it`, `test` or `describe` as the function name ( (call_expression @@ -44,42 +44,3 @@ (#set! tag js-test) ) - -; Add support for Deno.test with string names -( - (call_expression - function: (member_expression - object: (identifier) @_namespace - property: (property_identifier) @_method - ) - (#eq? @_namespace "Deno") - (#eq? @_method "test") - arguments: ( - arguments . [ - (string (string_fragment) @run @DENO_TEST_NAME) - (identifier) @run @DENO_TEST_NAME - ] - ) - ) @_js-test - - (#set! tag js-test) -) - -; Add support for Deno.test with named function expressions -( - (call_expression - function: (member_expression - object: (identifier) @_namespace - property: (property_identifier) @_method - ) - (#eq? @_namespace "Deno") - (#eq? @_method "test") - arguments: ( - arguments . (function_expression - name: (identifier) @run @DENO_TEST_NAME - ) - ) - ) @_js-test - - (#set! tag js-test) -) diff --git a/crates/livekit_client/Cargo.toml b/crates/livekit_client/Cargo.toml index 821fd5d390..a0c11d46e6 100644 --- a/crates/livekit_client/Cargo.toml +++ b/crates/livekit_client/Cargo.toml @@ -40,8 +40,8 @@ util.workspace = true workspace-hack.workspace = true [target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))'.dependencies] -libwebrtc = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks" } -livekit = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks", features = [ +libwebrtc = { rev = "d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4", git = "https://github.com/zed-industries/livekit-rust-sdks" } +livekit = { rev = "d2eade7a6b15d6dbdb38ba12a1ff7bf07fcebba4", git = "https://github.com/zed-industries/livekit-rust-sdks", features = [ "__rustls-tls" ] } diff --git a/crates/livekit_client/src/lib.rs b/crates/livekit_client/src/lib.rs index 149859fdc8..f94181b8f8 100644 --- a/crates/livekit_client/src/lib.rs +++ b/crates/livekit_client/src/lib.rs @@ -3,41 +3,16 @@ use collections::HashMap; mod remote_video_track_view; pub use remote_video_track_view::{RemoteVideoTrackView, RemoteVideoTrackViewEvent}; -#[cfg(not(any( - test, - feature = "test-support", - all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" -)))] +#[cfg(not(any(test, feature = "test-support", target_os = "freebsd")))] mod livekit_client; -#[cfg(not(any( - test, - feature = "test-support", - all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" -)))] +#[cfg(not(any(test, feature = "test-support", target_os = "freebsd")))] pub use livekit_client::*; -#[cfg(any( - test, - feature = "test-support", - all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" -))] +#[cfg(any(test, feature = "test-support", target_os = "freebsd"))] mod mock_client; -#[cfg(any( - test, - feature = "test-support", - all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" -))] +#[cfg(any(test, feature = "test-support", target_os = "freebsd"))] pub mod test; -#[cfg(any( - test, - feature = "test-support", - all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" -))] +#[cfg(any(test, feature = "test-support", target_os = "freebsd"))] pub use mock_client::*; #[derive(Debug, Clone)] diff --git a/crates/livekit_client/src/mock_client/participant.rs b/crates/livekit_client/src/mock_client/participant.rs index 033808cbb5..991d10bd50 100644 --- a/crates/livekit_client/src/mock_client/participant.rs +++ b/crates/livekit_client/src/mock_client/participant.rs @@ -5,9 +5,7 @@ use crate::{ }; use anyhow::Result; use collections::HashMap; -use gpui::{ - AsyncApp, DevicePixels, ScreenCaptureSource, ScreenCaptureStream, SourceMetadata, size, -}; +use gpui::{AsyncApp, ScreenCaptureSource, ScreenCaptureStream, TestScreenCaptureStream}; #[derive(Clone, Debug)] pub struct LocalParticipant { @@ -121,16 +119,3 @@ impl RemoteParticipant { self.identity.clone() } } - -struct TestScreenCaptureStream; - -impl ScreenCaptureStream for TestScreenCaptureStream { - fn metadata(&self) -> Result<SourceMetadata> { - Ok(SourceMetadata { - id: 0, - is_main: None, - label: None, - resolution: size(DevicePixels(1), DevicePixels(1)), - }) - } -} diff --git a/crates/lsp/src/lsp.rs b/crates/lsp/src/lsp.rs index b9701a83d2..7dcfa61f47 100644 --- a/crates/lsp/src/lsp.rs +++ b/crates/lsp/src/lsp.rs @@ -4,7 +4,7 @@ pub use lsp_types::request::*; pub use lsp_types::*; use anyhow::{Context as _, Result, anyhow}; -use collections::{BTreeMap, HashMap}; +use collections::HashMap; use futures::{ AsyncRead, AsyncWrite, Future, FutureExt, channel::oneshot::{self, Canceled}, @@ -29,7 +29,7 @@ use std::{ ffi::{OsStr, OsString}, fmt, io::Write, - ops::DerefMut, + ops::{Deref, DerefMut}, path::PathBuf, pin::Pin, sync::{ @@ -40,7 +40,7 @@ use std::{ time::{Duration, Instant}, }; use std::{path::Path, process::Stdio}; -use util::{ConnectionResult, ResultExt, TryFutureExt, redact}; +use util::{ConnectionResult, ResultExt, TryFutureExt}; const JSON_RPC_VERSION: &str = "2.0"; const CONTENT_LEN_HEADER: &str = "Content-Length: "; @@ -62,7 +62,7 @@ pub enum IoKind { /// Represents a launchable language server. This can either be a standalone binary or the path /// to a runtime with arguments to instruct it to launch the actual language server file. -#[derive(Clone, Deserialize)] +#[derive(Debug, Clone, Deserialize)] pub struct LanguageServerBinary { pub path: PathBuf, pub arguments: Vec<OsString>, @@ -100,7 +100,7 @@ pub struct LanguageServer { io_tasks: Mutex<Option<(Task<Option<()>>, Task<Option<()>>)>>, output_done_rx: Mutex<Option<barrier::Receiver>>, server: Arc<Mutex<Option<Child>>>, - workspace_folders: Option<Arc<Mutex<BTreeSet<Url>>>>, + workspace_folders: Arc<Mutex<BTreeSet<Url>>>, root_uri: Url, } @@ -307,7 +307,7 @@ impl LanguageServer { binary: LanguageServerBinary, root_path: &Path, code_action_kinds: Option<Vec<CodeActionKind>>, - workspace_folders: Option<Arc<Mutex<BTreeSet<Url>>>>, + workspace_folders: Arc<Mutex<BTreeSet<Url>>>, cx: &mut AsyncApp, ) -> Result<Self> { let working_dir = if root_path.is_dir() { @@ -381,7 +381,7 @@ impl LanguageServer { code_action_kinds: Option<Vec<CodeActionKind>>, binary: LanguageServerBinary, root_uri: Url, - workspace_folders: Option<Arc<Mutex<BTreeSet<Url>>>>, + workspace_folders: Arc<Mutex<BTreeSet<Url>>>, cx: &mut AsyncApp, on_unhandled_notification: F, ) -> Self @@ -421,14 +421,14 @@ impl LanguageServer { .map(|stderr| { let io_handlers = io_handlers.clone(); let stderr_captures = stderr_capture.clone(); - cx.background_spawn(async move { + cx.spawn(async move |_| { Self::handle_stderr(stderr, io_handlers, stderr_captures) .log_err() .await }) }) .unwrap_or_else(|| Task::ready(None)); - let input_task = cx.background_spawn(async move { + let input_task = cx.spawn(async move |_| { let (stdout, stderr) = futures::join!(stdout_input_task, stderr_input_task); stdout.or(stderr) }); @@ -595,26 +595,16 @@ impl LanguageServer { } pub fn default_initialize_params(&self, pull_diagnostics: bool, cx: &App) -> InitializeParams { - let workspace_folders = self.workspace_folders.as_ref().map_or_else( - || { - vec![WorkspaceFolder { - name: Default::default(), - uri: self.root_uri.clone(), - }] - }, - |folders| { - folders - .lock() - .iter() - .cloned() - .map(|uri| WorkspaceFolder { - name: Default::default(), - uri, - }) - .collect() - }, - ); - + let workspace_folders = self + .workspace_folders + .lock() + .iter() + .cloned() + .map(|uri| WorkspaceFolder { + name: Default::default(), + uri, + }) + .collect::<Vec<_>>(); #[allow(deprecated)] InitializeParams { process_id: None, @@ -846,7 +836,7 @@ impl LanguageServer { configuration: Arc<DidChangeConfigurationParams>, cx: &App, ) -> Task<Result<Arc<Self>>> { - cx.background_spawn(async move { + cx.spawn(async move |_| { let response = self .request::<request::Initialize>(params) .await @@ -887,41 +877,39 @@ impl LanguageServer { let server = self.server.clone(); let name = self.name.clone(); - let server_id = self.server_id; let mut timer = self.executor.timer(SERVER_SHUTDOWN_TIMEOUT).fuse(); - Some(async move { - log::debug!("language server shutdown started"); + Some( + async move { + log::debug!("language server shutdown started"); - select! { - request_result = shutdown_request.fuse() => { - match request_result { - ConnectionResult::Timeout => { - log::warn!("timeout waiting for language server {name} (id {server_id}) to shutdown"); - }, - ConnectionResult::ConnectionReset => { - log::warn!("language server {name} (id {server_id}) closed the shutdown request connection"); - }, - ConnectionResult::Result(Err(e)) => { - log::error!("Shutdown request failure, server {name} (id {server_id}): {e:#}"); - }, - ConnectionResult::Result(Ok(())) => {} + select! { + request_result = shutdown_request.fuse() => { + match request_result { + ConnectionResult::Timeout => { + log::warn!("timeout waiting for language server {name} to shutdown"); + }, + ConnectionResult::ConnectionReset => {}, + ConnectionResult::Result(r) => r?, + } } + + _ = timer => { + log::info!("timeout waiting for language server {name} to shutdown"); + }, } - _ = timer => { - log::info!("timeout waiting for language server {name} (id {server_id}) to shutdown"); - }, - } + response_handlers.lock().take(); + Self::notify_internal::<notification::Exit>(&outbound_tx, &()).ok(); + outbound_tx.close(); + output_done.recv().await; + server.lock().take().map(|mut child| child.kill()); + log::debug!("language server shutdown finished"); - response_handlers.lock().take(); - Self::notify_internal::<notification::Exit>(&outbound_tx, &()).ok(); - outbound_tx.close(); - output_done.recv().await; - server.lock().take().map(|mut child| child.kill()); - drop(tasks); - log::debug!("language server shutdown finished"); - Some(()) - }) + drop(tasks); + anyhow::Ok(()) + } + .log_err(), + ) } else { None } @@ -1325,10 +1313,7 @@ impl LanguageServer { return; } - let Some(workspace_folders) = self.workspace_folders.as_ref() else { - return; - }; - let is_new_folder = workspace_folders.lock().insert(uri.clone()); + let is_new_folder = self.workspace_folders.lock().insert(uri.clone()); if is_new_folder { let params = DidChangeWorkspaceFoldersParams { event: WorkspaceFoldersChangeEvent { @@ -1358,10 +1343,7 @@ impl LanguageServer { { return; } - let Some(workspace_folders) = self.workspace_folders.as_ref() else { - return; - }; - let was_removed = workspace_folders.lock().remove(&uri); + let was_removed = self.workspace_folders.lock().remove(&uri); if was_removed { let params = DidChangeWorkspaceFoldersParams { event: WorkspaceFoldersChangeEvent { @@ -1376,10 +1358,7 @@ impl LanguageServer { } } pub fn set_workspace_folders(&self, folders: BTreeSet<Url>) { - let Some(workspace_folders) = self.workspace_folders.as_ref() else { - return; - }; - let mut workspace_folders = workspace_folders.lock(); + let mut workspace_folders = self.workspace_folders.lock(); let old_workspace_folders = std::mem::take(&mut *workspace_folders); let added: Vec<_> = folders @@ -1408,11 +1387,8 @@ impl LanguageServer { } } - pub fn workspace_folders(&self) -> BTreeSet<Url> { - self.workspace_folders.as_ref().map_or_else( - || BTreeSet::from_iter([self.root_uri.clone()]), - |folders| folders.lock().clone(), - ) + pub fn workspace_folders(&self) -> impl Deref<Target = BTreeSet<Url>> + '_ { + self.workspace_folders.lock() } pub fn register_buffer( @@ -1472,33 +1448,6 @@ impl fmt::Debug for LanguageServer { } } -impl fmt::Debug for LanguageServerBinary { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let mut debug = f.debug_struct("LanguageServerBinary"); - debug.field("path", &self.path); - debug.field("arguments", &self.arguments); - - if let Some(env) = &self.env { - let redacted_env: BTreeMap<String, String> = env - .iter() - .map(|(key, value)| { - let redacted_value = if redact::should_redact(key) { - "REDACTED".to_string() - } else { - value.clone() - }; - (key.clone(), redacted_value) - }) - .collect(); - debug.field("env", &Some(redacted_env)); - } else { - debug.field("env", &self.env); - } - - debug.finish() - } -} - impl Drop for Subscription { fn drop(&mut self) { match self { @@ -1557,7 +1506,7 @@ impl FakeLanguageServer { None, binary.clone(), root, - Some(workspace_folders.clone()), + workspace_folders.clone(), cx, |_| {}, ); @@ -1576,7 +1525,7 @@ impl FakeLanguageServer { None, binary, Self::root_path(), - Some(workspace_folders), + workspace_folders, cx, move |msg| { notifications_tx diff --git a/crates/onboarding/Cargo.toml b/crates/onboarding/Cargo.toml index 7727597e94..693e39d4ca 100644 --- a/crates/onboarding/Cargo.toml +++ b/crates/onboarding/Cargo.toml @@ -16,25 +16,13 @@ default = [] [dependencies] anyhow.workspace = true -client.workspace = true command_palette_hooks.workspace = true -component.workspace = true -documented.workspace = true db.workspace = true -editor.workspace = true feature_flags.workspace = true fs.workspace = true gpui.workspace = true -language.workspace = true -project.workspace = true -schemars.workspace = true -serde.workspace = true settings.workspace = true theme.workspace = true ui.workspace = true -util.workspace = true -vim_mode_setting.workspace = true -workspace-hack.workspace = true workspace.workspace = true -zed_actions.workspace = true -zlog.workspace = true +workspace-hack.workspace = true diff --git a/crates/onboarding/src/basics_page.rs b/crates/onboarding/src/basics_page.rs deleted file mode 100644 index bfbe0374d3..0000000000 --- a/crates/onboarding/src/basics_page.rs +++ /dev/null @@ -1,368 +0,0 @@ -use client::TelemetrySettings; -use fs::Fs; -use gpui::{App, Entity, IntoElement, Window}; -use settings::{BaseKeymap, Settings, update_settings_file}; -use theme::{Appearance, ThemeMode, ThemeName, ThemeRegistry, ThemeSelection, ThemeSettings}; -use ui::{ - ParentElement as _, StatefulInteractiveElement, SwitchField, ToggleButtonGroup, - ToggleButtonSimple, ToggleButtonWithIcon, prelude::*, rems_from_px, -}; -use vim_mode_setting::VimModeSetting; - -use crate::theme_preview::ThemePreviewTile; - -/// separates theme "mode" ("dark" | "light" | "system") into two separate states -/// - appearance = "dark" | "light" -/// - "system" true/false -/// when system selected: -/// - toggling between light and dark does not change theme.mode, just which variant will be changed -/// when system not selected: -/// - toggling between light and dark does change theme.mode -/// selecting a theme preview will always change theme.["light" | "dark"] to the selected theme, -/// -/// this allows for selecting a dark and light theme option regardless of whether the mode is set to system or not -/// it does not support setting theme to a static value -fn render_theme_section(window: &mut Window, cx: &mut App) -> impl IntoElement { - let theme_selection = ThemeSettings::get_global(cx).theme_selection.clone(); - let system_appearance = theme::SystemAppearance::global(cx); - let appearance_state = window.use_state(cx, |_, _cx| { - theme_selection - .as_ref() - .and_then(|selection| selection.mode()) - .and_then(|mode| match mode { - ThemeMode::System => None, - ThemeMode::Light => Some(Appearance::Light), - ThemeMode::Dark => Some(Appearance::Dark), - }) - .unwrap_or(*system_appearance) - }); - let appearance = *appearance_state.read(cx); - let theme_selection = theme_selection.unwrap_or_else(|| ThemeSelection::Dynamic { - mode: match *system_appearance { - Appearance::Light => ThemeMode::Light, - Appearance::Dark => ThemeMode::Dark, - }, - light: ThemeName("One Light".into()), - dark: ThemeName("One Dark".into()), - }); - let theme_registry = ThemeRegistry::global(cx); - - let current_theme_name = theme_selection.theme(appearance); - let theme_mode = theme_selection.mode(); - - let selected_index = match appearance { - Appearance::Light => 0, - Appearance::Dark => 1, - }; - - let theme_seed = 0xBEEF as f32; - - const LIGHT_THEMES: [&'static str; 3] = ["One Light", "Ayu Light", "Gruvbox Light"]; - const DARK_THEMES: [&'static str; 3] = ["One Dark", "Ayu Dark", "Gruvbox Dark"]; - - let theme_names = match appearance { - Appearance::Light => LIGHT_THEMES, - Appearance::Dark => DARK_THEMES, - }; - let themes = theme_names - .map(|theme_name| theme_registry.get(theme_name)) - .map(Result::unwrap); - - let theme_previews = themes.map(|theme| { - let is_selected = theme.name == current_theme_name; - let name = theme.name.clone(); - let colors = cx.theme().colors(); - v_flex() - .id(name.clone()) - .on_click({ - let theme_name = theme.name.clone(); - move |_, _, cx| { - let fs = <dyn Fs>::global(cx); - let theme_name = theme_name.clone(); - update_settings_file::<ThemeSettings>(fs, cx, move |settings, _| { - settings.set_theme(theme_name, appearance); - }); - } - }) - .flex_1() - .child( - div() - .border_2() - .border_color(colors.border_transparent) - .rounded(ThemePreviewTile::CORNER_RADIUS) - .hover(|mut style| { - if !is_selected { - style.border_color = Some(colors.element_hover); - } - style - }) - .when(is_selected, |this| { - this.border_color(colors.border_selected) - }) - .cursor_pointer() - .child(ThemePreviewTile::new(theme, theme_seed)), - ) - .child( - h_flex() - .justify_center() - .items_baseline() - .child(Label::new(name).color(Color::Muted)), - ) - }); - - return v_flex() - .child( - h_flex().justify_between().child(Label::new("Theme")).child( - h_flex() - .gap_2() - .child( - ToggleButtonGroup::single_row( - "theme-selector-onboarding-dark-light", - [ - ToggleButtonSimple::new("Light", { - let appearance_state = appearance_state.clone(); - move |_, _, cx| { - write_appearance_change( - &appearance_state, - Appearance::Light, - cx, - ); - } - }), - ToggleButtonSimple::new("Dark", { - let appearance_state = appearance_state.clone(); - move |_, _, cx| { - write_appearance_change( - &appearance_state, - Appearance::Dark, - cx, - ); - } - }), - ], - ) - .selected_index(selected_index) - .style(ui::ToggleButtonGroupStyle::Outlined) - .button_width(rems_from_px(64.)), - ) - .child( - ToggleButtonGroup::single_row( - "theme-selector-onboarding-system", - [ToggleButtonSimple::new("System", { - let theme = theme_selection.clone(); - move |_, _, cx| { - toggle_system_theme_mode(theme.clone(), appearance, cx); - } - })], - ) - .selected_index((theme_mode != Some(ThemeMode::System)) as usize) - .style(ui::ToggleButtonGroupStyle::Outlined) - .button_width(rems_from_px(64.)), - ), - ), - ) - .child(h_flex().justify_between().children(theme_previews)); - - fn write_appearance_change( - appearance_state: &Entity<Appearance>, - new_appearance: Appearance, - cx: &mut App, - ) { - appearance_state.update(cx, |appearance, _| { - *appearance = new_appearance; - }); - let fs = <dyn Fs>::global(cx); - - update_settings_file::<ThemeSettings>(fs, cx, move |settings, _| { - if settings.theme.as_ref().and_then(ThemeSelection::mode) == Some(ThemeMode::System) { - return; - } - let new_mode = match new_appearance { - Appearance::Light => ThemeMode::Light, - Appearance::Dark => ThemeMode::Dark, - }; - settings.set_mode(new_mode); - }); - } - - fn toggle_system_theme_mode( - theme_selection: ThemeSelection, - appearance: Appearance, - cx: &mut App, - ) { - let fs = <dyn Fs>::global(cx); - - update_settings_file::<ThemeSettings>(fs, cx, move |settings, _| { - settings.theme = Some(match theme_selection { - ThemeSelection::Static(theme_name) => ThemeSelection::Dynamic { - mode: ThemeMode::System, - light: theme_name.clone(), - dark: theme_name.clone(), - }, - ThemeSelection::Dynamic { - mode: ThemeMode::System, - light, - dark, - } => { - let mode = match appearance { - Appearance::Light => ThemeMode::Light, - Appearance::Dark => ThemeMode::Dark, - }; - ThemeSelection::Dynamic { mode, light, dark } - } - - ThemeSelection::Dynamic { - mode: _, - light, - dark, - } => ThemeSelection::Dynamic { - mode: ThemeMode::System, - light, - dark, - }, - }); - }); - } -} - -fn write_keymap_base(keymap_base: BaseKeymap, cx: &App) { - let fs = <dyn Fs>::global(cx); - - update_settings_file::<BaseKeymap>(fs, cx, move |setting, _| { - *setting = Some(keymap_base); - }); -} - -fn render_telemetry_section(cx: &App) -> impl IntoElement { - let fs = <dyn Fs>::global(cx); - - v_flex() - .gap_4() - .child(Label::new("Telemetry").size(LabelSize::Large)) - .child(SwitchField::new( - "onboarding-telemetry-metrics", - "Help Improve Zed", - "Sending anonymous usage data helps us build the right features and create the best experience.", - if TelemetrySettings::get_global(cx).metrics { - ui::ToggleState::Selected - } else { - ui::ToggleState::Unselected - }, - { - let fs = fs.clone(); - move |selection, _, cx| { - let enabled = match selection { - ToggleState::Selected => true, - ToggleState::Unselected => false, - ToggleState::Indeterminate => { return; }, - }; - - update_settings_file::<TelemetrySettings>( - fs.clone(), - cx, - move |setting, _| setting.metrics = Some(enabled), - ); - }}, - )) - .child(SwitchField::new( - "onboarding-telemetry-crash-reports", - "Help Fix Zed", - "Send crash reports so we can fix critical issues fast.", - if TelemetrySettings::get_global(cx).diagnostics { - ui::ToggleState::Selected - } else { - ui::ToggleState::Unselected - }, - { - let fs = fs.clone(); - move |selection, _, cx| { - let enabled = match selection { - ToggleState::Selected => true, - ToggleState::Unselected => false, - ToggleState::Indeterminate => { return; }, - }; - - update_settings_file::<TelemetrySettings>( - fs.clone(), - cx, - move |setting, _| setting.diagnostics = Some(enabled), - ); - } - } - )) -} - -pub(crate) fn render_basics_page(window: &mut Window, cx: &mut App) -> impl IntoElement { - let base_keymap = match BaseKeymap::get_global(cx) { - BaseKeymap::VSCode => Some(0), - BaseKeymap::JetBrains => Some(1), - BaseKeymap::SublimeText => Some(2), - BaseKeymap::Atom => Some(3), - BaseKeymap::Emacs => Some(4), - BaseKeymap::Cursor => Some(5), - BaseKeymap::TextMate | BaseKeymap::None => None, - }; - - v_flex() - .gap_6() - .child(render_theme_section(window, cx)) - .child( - v_flex().gap_2().child(Label::new("Base Keymap")).child( - ToggleButtonGroup::two_rows( - "multiple_row_test", - [ - ToggleButtonWithIcon::new("VS Code", IconName::AiZed, |_, _, cx| { - write_keymap_base(BaseKeymap::VSCode, cx); - }), - ToggleButtonWithIcon::new("Jetbrains", IconName::AiZed, |_, _, cx| { - write_keymap_base(BaseKeymap::JetBrains, cx); - }), - ToggleButtonWithIcon::new("Sublime Text", IconName::AiZed, |_, _, cx| { - write_keymap_base(BaseKeymap::SublimeText, cx); - }), - ], - [ - ToggleButtonWithIcon::new("Atom", IconName::AiZed, |_, _, cx| { - write_keymap_base(BaseKeymap::Atom, cx); - }), - ToggleButtonWithIcon::new("Emacs", IconName::AiZed, |_, _, cx| { - write_keymap_base(BaseKeymap::Emacs, cx); - }), - ToggleButtonWithIcon::new("Cursor (Beta)", IconName::AiZed, |_, _, cx| { - write_keymap_base(BaseKeymap::Cursor, cx); - }), - ], - ) - .when_some(base_keymap, |this, base_keymap| this.selected_index(base_keymap)) - .button_width(rems_from_px(230.)) - .style(ui::ToggleButtonGroupStyle::Outlined) - ), - ) - .child(v_flex().justify_center().child(div().h_0().child("hack").invisible()).child(SwitchField::new( - "onboarding-vim-mode", - "Vim Mode", - "Coming from Neovim? Zed's first-class implementation of Vim Mode has got your back.", - if VimModeSetting::get_global(cx).0 { - ui::ToggleState::Selected - } else { - ui::ToggleState::Unselected - }, - { - let fs = <dyn Fs>::global(cx); - move |selection, _, cx| { - let enabled = match selection { - ToggleState::Selected => true, - ToggleState::Unselected => false, - ToggleState::Indeterminate => { return; }, - }; - - update_settings_file::<VimModeSetting>( - fs.clone(), - cx, - move |setting, _| *setting = Some(enabled), - ); - } - }, - ))) - .child(render_telemetry_section(cx)) -} diff --git a/crates/onboarding/src/editing_page.rs b/crates/onboarding/src/editing_page.rs deleted file mode 100644 index 3fb9aaf0cc..0000000000 --- a/crates/onboarding/src/editing_page.rs +++ /dev/null @@ -1,382 +0,0 @@ -use editor::{EditorSettings, ShowMinimap}; -use fs::Fs; -use gpui::{Action, App, IntoElement, Pixels, Window}; -use language::language_settings::AllLanguageSettings; -use project::project_settings::ProjectSettings; -use settings::{Settings as _, update_settings_file}; -use theme::{FontFamilyCache, FontFamilyName, ThemeSettings}; -use ui::{ - ButtonLike, ContextMenu, DropdownMenu, NumericStepper, SwitchField, ToggleButtonGroup, - ToggleButtonGroupStyle, ToggleButtonSimple, ToggleState, prelude::*, -}; - -use crate::{ImportCursorSettings, ImportVsCodeSettings}; - -fn read_show_mini_map(cx: &App) -> ShowMinimap { - editor::EditorSettings::get_global(cx).minimap.show -} - -fn write_show_mini_map(show: ShowMinimap, cx: &mut App) { - let fs = <dyn Fs>::global(cx); - - // This is used to speed up the UI - // the UI reads the current values to get what toggle state to show on buttons - // there's a slight delay if we just call update_settings_file so we manually set - // the value here then call update_settings file to get around the delay - let mut curr_settings = EditorSettings::get_global(cx).clone(); - curr_settings.minimap.show = show; - EditorSettings::override_global(curr_settings, cx); - - update_settings_file::<EditorSettings>(fs, cx, move |editor_settings, _| { - editor_settings.minimap.get_or_insert_default().show = Some(show); - }); -} - -fn read_inlay_hints(cx: &App) -> bool { - AllLanguageSettings::get_global(cx) - .defaults - .inlay_hints - .enabled -} - -fn write_inlay_hints(enabled: bool, cx: &mut App) { - let fs = <dyn Fs>::global(cx); - - let mut curr_settings = AllLanguageSettings::get_global(cx).clone(); - curr_settings.defaults.inlay_hints.enabled = enabled; - AllLanguageSettings::override_global(curr_settings, cx); - - update_settings_file::<AllLanguageSettings>(fs, cx, move |all_language_settings, cx| { - all_language_settings - .defaults - .inlay_hints - .get_or_insert_with(|| { - AllLanguageSettings::get_global(cx) - .clone() - .defaults - .inlay_hints - }) - .enabled = enabled; - }); -} - -fn read_git_blame(cx: &App) -> bool { - ProjectSettings::get_global(cx).git.inline_blame_enabled() -} - -fn set_git_blame(enabled: bool, cx: &mut App) { - let fs = <dyn Fs>::global(cx); - - let mut curr_settings = ProjectSettings::get_global(cx).clone(); - curr_settings - .git - .inline_blame - .get_or_insert_default() - .enabled = enabled; - ProjectSettings::override_global(curr_settings, cx); - - update_settings_file::<ProjectSettings>(fs, cx, move |project_settings, _| { - project_settings - .git - .inline_blame - .get_or_insert_default() - .enabled = enabled; - }); -} - -fn write_ui_font_family(font: SharedString, cx: &mut App) { - let fs = <dyn Fs>::global(cx); - - update_settings_file::<ThemeSettings>(fs, cx, move |theme_settings, _| { - theme_settings.ui_font_family = Some(FontFamilyName(font.into())); - }); -} - -fn write_ui_font_size(size: Pixels, cx: &mut App) { - let fs = <dyn Fs>::global(cx); - - update_settings_file::<ThemeSettings>(fs, cx, move |theme_settings, _| { - theme_settings.ui_font_size = Some(size.into()); - }); -} - -fn write_buffer_font_size(size: Pixels, cx: &mut App) { - let fs = <dyn Fs>::global(cx); - - update_settings_file::<ThemeSettings>(fs, cx, move |theme_settings, _| { - theme_settings.buffer_font_size = Some(size.into()); - }); -} - -fn write_buffer_font_family(font_family: SharedString, cx: &mut App) { - let fs = <dyn Fs>::global(cx); - - update_settings_file::<ThemeSettings>(fs, cx, move |theme_settings, _| { - theme_settings.buffer_font_family = Some(FontFamilyName(font_family.into())); - }); -} - -fn render_import_settings_section() -> impl IntoElement { - v_flex() - .gap_4() - .child( - v_flex() - .child(Label::new("Import Settings").size(LabelSize::Large)) - .child( - Label::new("Automatically pull your settings from other editors.") - .color(Color::Muted), - ), - ) - .child( - h_flex() - .w_full() - .gap_4() - .child( - h_flex().w_full().child( - ButtonLike::new("import_vs_code") - .full_width() - .style(ButtonStyle::Outlined) - .size(ButtonSize::Large) - .child( - h_flex() - .w_full() - .gap_1p5() - .px_1() - .child( - Icon::new(IconName::Sparkle) - .color(Color::Muted) - .size(IconSize::XSmall), - ) - .child(Label::new("VS Code")), - ) - .on_click(|_, window, cx| { - window.dispatch_action( - ImportVsCodeSettings::default().boxed_clone(), - cx, - ) - }), - ), - ) - .child( - h_flex().w_full().child( - ButtonLike::new("import_cursor") - .full_width() - .style(ButtonStyle::Outlined) - .size(ButtonSize::Large) - .child( - h_flex() - .w_full() - .gap_1p5() - .px_1() - .child( - Icon::new(IconName::Sparkle) - .color(Color::Muted) - .size(IconSize::XSmall), - ) - .child(Label::new("Cursor")), - ) - .on_click(|_, window, cx| { - window.dispatch_action( - ImportCursorSettings::default().boxed_clone(), - cx, - ) - }), - ), - ), - ) -} - -fn render_font_customization_section(window: &mut Window, cx: &mut App) -> impl IntoElement { - let theme_settings = ThemeSettings::get_global(cx); - let ui_font_size = theme_settings.ui_font_size(cx); - let font_family = theme_settings.buffer_font.family.clone(); - let buffer_font_size = theme_settings.buffer_font_size(cx); - - h_flex() - .w_full() - .gap_4() - .child( - v_flex() - .w_full() - .gap_1() - .child(Label::new("UI Font")) - .child( - h_flex() - .w_full() - .justify_between() - .gap_2() - .child( - DropdownMenu::new( - "ui-font-family", - theme_settings.ui_font.family.clone(), - ContextMenu::build(window, cx, |mut menu, _, cx| { - let font_family_cache = FontFamilyCache::global(cx); - - for font_name in font_family_cache.list_font_families(cx) { - menu = menu.custom_entry( - { - let font_name = font_name.clone(); - move |_window, _cx| { - Label::new(font_name.clone()).into_any_element() - } - }, - { - let font_name = font_name.clone(); - move |_window, cx| { - write_ui_font_family(font_name.clone(), cx); - } - }, - ) - } - - menu - }), - ) - .style(ui::DropdownStyle::Outlined) - .full_width(true), - ) - .child( - NumericStepper::new( - "ui-font-size", - ui_font_size.to_string(), - move |_, _, cx| { - write_ui_font_size(ui_font_size - px(1.), cx); - }, - move |_, _, cx| { - write_ui_font_size(ui_font_size + px(1.), cx); - }, - ) - .style(ui::NumericStepperStyle::Outlined), - ), - ), - ) - .child( - v_flex() - .w_full() - .gap_1() - .child(Label::new("Editor Font")) - .child( - h_flex() - .w_full() - .justify_between() - .gap_2() - .child( - DropdownMenu::new( - "buffer-font-family", - font_family, - ContextMenu::build(window, cx, |mut menu, _, cx| { - let font_family_cache = FontFamilyCache::global(cx); - - for font_name in font_family_cache.list_font_families(cx) { - menu = menu.custom_entry( - { - let font_name = font_name.clone(); - move |_window, _cx| { - Label::new(font_name.clone()).into_any_element() - } - }, - { - let font_name = font_name.clone(); - move |_window, cx| { - write_buffer_font_family(font_name.clone(), cx); - } - }, - ) - } - - menu - }), - ) - .style(ui::DropdownStyle::Outlined) - .full_width(true), - ) - .child( - NumericStepper::new( - "buffer-font-size", - buffer_font_size.to_string(), - move |_, _, cx| { - write_buffer_font_size(buffer_font_size - px(1.), cx); - }, - move |_, _, cx| { - write_buffer_font_size(buffer_font_size + px(1.), cx); - }, - ) - .style(ui::NumericStepperStyle::Outlined), - ), - ), - ) -} - -fn render_popular_settings_section(window: &mut Window, cx: &mut App) -> impl IntoElement { - v_flex() - .gap_5() - .child(Label::new("Popular Settings").size(LabelSize::Large).mt_8()) - .child(render_font_customization_section(window, cx)) - .child( - h_flex() - .items_start() - .justify_between() - .child( - v_flex().child(Label::new("Mini Map")).child( - Label::new("See a high-level overview of your source code.") - .color(Color::Muted), - ), - ) - .child( - ToggleButtonGroup::single_row( - "onboarding-show-mini-map", - [ - ToggleButtonSimple::new("Auto", |_, _, cx| { - write_show_mini_map(ShowMinimap::Auto, cx); - }), - ToggleButtonSimple::new("Always", |_, _, cx| { - write_show_mini_map(ShowMinimap::Always, cx); - }), - ToggleButtonSimple::new("Never", |_, _, cx| { - write_show_mini_map(ShowMinimap::Never, cx); - }), - ], - ) - .selected_index(match read_show_mini_map(cx) { - ShowMinimap::Auto => 0, - ShowMinimap::Always => 1, - ShowMinimap::Never => 2, - }) - .style(ToggleButtonGroupStyle::Outlined) - .button_width(ui::rems_from_px(64.)), - ), - ) - .child(SwitchField::new( - "onboarding-enable-inlay-hints", - "Inlay Hints", - "See parameter names for function and method calls inline.", - if read_inlay_hints(cx) { - ui::ToggleState::Selected - } else { - ui::ToggleState::Unselected - }, - |toggle_state, _, cx| { - write_inlay_hints(toggle_state == &ToggleState::Selected, cx); - }, - )) - .child(SwitchField::new( - "onboarding-git-blame-switch", - "Git Blame", - "See who committed each line on a given file.", - if read_git_blame(cx) { - ui::ToggleState::Selected - } else { - ui::ToggleState::Unselected - }, - |toggle_state, _, cx| { - set_git_blame(toggle_state == &ToggleState::Selected, cx); - }, - )) -} - -pub(crate) fn render_editing_page(window: &mut Window, cx: &mut App) -> impl IntoElement { - v_flex() - .gap_4() - .child(render_import_settings_section()) - .child(render_popular_settings_section(window, cx)) -} diff --git a/crates/onboarding/src/onboarding.rs b/crates/onboarding/src/onboarding.rs index 6496c09e79..1ce236f941 100644 --- a/crates/onboarding/src/onboarding.rs +++ b/crates/onboarding/src/onboarding.rs @@ -1,59 +1,33 @@ -use crate::welcome::{ShowWelcome, WelcomePage}; -use client::{Client, UserStore}; use command_palette_hooks::CommandPaletteFilter; use db::kvp::KEY_VALUE_STORE; use feature_flags::{FeatureFlag, FeatureFlagViewExt as _}; use fs::Fs; use gpui::{ - Action, AnyElement, App, AppContext, AsyncWindowContext, Context, Entity, EventEmitter, - FocusHandle, Focusable, IntoElement, Render, SharedString, Subscription, Task, WeakEntity, - Window, actions, + AnyElement, App, AppContext, Context, Entity, EventEmitter, FocusHandle, Focusable, + IntoElement, Render, SharedString, Subscription, Task, WeakEntity, Window, actions, }; -use schemars::JsonSchema; -use serde::Deserialize; -use settings::{SettingsStore, VsCodeSettingsSource}; +use settings::{Settings, SettingsStore, update_settings_file}; use std::sync::Arc; +use theme::{ThemeMode, ThemeSettings}; use ui::{ - Avatar, FluentBuilder, Headline, KeyBinding, ParentElement as _, StatefulInteractiveElement, - Vector, VectorName, prelude::*, rems_from_px, + ButtonCommon as _, ButtonSize, ButtonStyle, Clickable as _, Color, Divider, FluentBuilder, + Headline, InteractiveElement, KeyBinding, Label, LabelCommon, ParentElement as _, + StatefulInteractiveElement, Styled, ToggleButton, Toggleable as _, Vector, VectorName, div, + h_flex, rems, v_container, v_flex, }; use workspace::{ AppState, Workspace, WorkspaceId, dock::DockPosition, item::{Item, ItemEvent}, - notifications::NotifyResultExt as _, open_new, with_active_or_new_workspace, }; -mod basics_page; -mod editing_page; -mod theme_preview; -mod welcome; - pub struct OnBoardingFeatureFlag {} impl FeatureFlag for OnBoardingFeatureFlag { const NAME: &'static str = "onboarding"; } -/// Imports settings from Visual Studio Code. -#[derive(Copy, Clone, Debug, Default, PartialEq, Deserialize, JsonSchema, Action)] -#[action(namespace = zed)] -#[serde(deny_unknown_fields)] -pub struct ImportVsCodeSettings { - #[serde(default)] - pub skip_prompt: bool, -} - -/// Imports settings from Cursor editor. -#[derive(Copy, Clone, Debug, Default, PartialEq, Deserialize, JsonSchema, Action)] -#[action(namespace = zed)] -#[serde(deny_unknown_fields)] -pub struct ImportCursorSettings { - #[serde(default)] - pub skip_prompt: bool, -} - pub const FIRST_OPEN: &str = "first_open"; actions!( @@ -78,11 +52,7 @@ pub fn init(cx: &mut App) { if let Some(existing) = existing { workspace.activate_item(&existing, true, true, window, cx); } else { - let settings_page = Onboarding::new( - workspace.weak_handle(), - workspace.user_store().clone(), - cx, - ); + let settings_page = Onboarding::new(workspace.weak_handle(), cx); workspace.add_item_to_active_pane( Box::new(settings_page), None, @@ -95,80 +65,12 @@ pub fn init(cx: &mut App) { .detach(); }); }); - - cx.on_action(|_: &ShowWelcome, cx| { - with_active_or_new_workspace(cx, |workspace, window, cx| { - workspace - .with_local_workspace(window, cx, |workspace, window, cx| { - let existing = workspace - .active_pane() - .read(cx) - .items() - .find_map(|item| item.downcast::<WelcomePage>()); - - if let Some(existing) = existing { - workspace.activate_item(&existing, true, true, window, cx); - } else { - let settings_page = WelcomePage::new(window, cx); - workspace.add_item_to_active_pane( - Box::new(settings_page), - None, - true, - window, - cx, - ) - } - }) - .detach(); - }); - }); - - cx.observe_new(|workspace: &mut Workspace, _window, _cx| { - workspace.register_action(|_workspace, action: &ImportVsCodeSettings, window, cx| { - let fs = <dyn Fs>::global(cx); - let action = *action; - - window - .spawn(cx, async move |cx: &mut AsyncWindowContext| { - handle_import_vscode_settings( - VsCodeSettingsSource::VsCode, - action.skip_prompt, - fs, - cx, - ) - .await - }) - .detach(); - }); - - workspace.register_action(|_workspace, action: &ImportCursorSettings, window, cx| { - let fs = <dyn Fs>::global(cx); - let action = *action; - - window - .spawn(cx, async move |cx: &mut AsyncWindowContext| { - handle_import_vscode_settings( - VsCodeSettingsSource::Cursor, - action.skip_prompt, - fs, - cx, - ) - .await - }) - .detach(); - }); - }) - .detach(); - cx.observe_new::<Workspace>(|_, window, cx| { let Some(window) = window else { return; }; - let onboarding_actions = [ - std::any::TypeId::of::<OpenOnboarding>(), - std::any::TypeId::of::<ShowWelcome>(), - ]; + let onboarding_actions = [std::any::TypeId::of::<OpenOnboarding>()]; CommandPaletteFilter::update_global(cx, |filter, _cx| { filter.hide_action_types(&onboarding_actions); @@ -198,8 +100,7 @@ pub fn show_onboarding_view(app_state: Arc<AppState>, cx: &mut App) -> Task<anyh |workspace, window, cx| { { workspace.toggle_dock(DockPosition::Left, window, cx); - let onboarding_page = - Onboarding::new(workspace.weak_handle(), workspace.user_store().clone(), cx); + let onboarding_page = Onboarding::new(workspace.weak_handle(), cx); workspace.add_item_to_center(Box::new(onboarding_page.clone()), window, cx); window.focus(&onboarding_page.focus_handle(cx)); @@ -213,6 +114,23 @@ pub fn show_onboarding_view(app_state: Arc<AppState>, cx: &mut App) -> Task<anyh ) } +fn read_theme_selection(cx: &App) -> ThemeMode { + let settings = ThemeSettings::get_global(cx); + settings + .theme_selection + .as_ref() + .and_then(|selection| selection.mode()) + .unwrap_or_default() +} + +fn write_theme_selection(theme_mode: ThemeMode, cx: &App) { + let fs = <dyn Fs>::global(cx); + + update_settings_file::<ThemeSettings>(fs, cx, move |settings, _| { + settings.set_mode(theme_mode); + }); +} + #[derive(Debug, Clone, Copy, PartialEq, Eq)] enum SelectedPage { Basics, @@ -224,26 +142,20 @@ struct Onboarding { workspace: WeakEntity<Workspace>, focus_handle: FocusHandle, selected_page: SelectedPage, - user_store: Entity<UserStore>, _settings_subscription: Subscription, } impl Onboarding { - fn new( - workspace: WeakEntity<Workspace>, - user_store: Entity<UserStore>, - cx: &mut App, - ) -> Entity<Self> { + fn new(workspace: WeakEntity<Workspace>, cx: &mut App) -> Entity<Self> { cx.new(|cx| Self { workspace, - user_store, focus_handle: cx.focus_handle(), selected_page: SelectedPage::Basics, _settings_subscription: cx.observe_global::<SettingsStore>(move |_, cx| cx.notify()), }) } - fn render_nav_button( + fn render_page_nav( &mut self, page: SelectedPage, _: &mut Window, @@ -254,147 +166,103 @@ impl Onboarding { SelectedPage::Editing => "Editing", SelectedPage::AiSetup => "AI Setup", }; - let binding = match page { SelectedPage::Basics => { KeyBinding::new(vec![gpui::Keystroke::parse("cmd-1").unwrap()], cx) - .map(|kb| kb.size(rems_from_px(12.))) } SelectedPage::Editing => { KeyBinding::new(vec![gpui::Keystroke::parse("cmd-2").unwrap()], cx) - .map(|kb| kb.size(rems_from_px(12.))) } SelectedPage::AiSetup => { KeyBinding::new(vec![gpui::Keystroke::parse("cmd-3").unwrap()], cx) - .map(|kb| kb.size(rems_from_px(12.))) } }; - let selected = self.selected_page == page; - h_flex() .id(text) - .relative() - .w_full() + .rounded_sm() + .child(text) + .child(binding) + .h_8() .gap_2() .px_2() .py_0p5() + .w_full() .justify_between() - .rounded_sm() - .when(selected, |this| { - this.child( - div() - .h_4() - .w_px() - .bg(cx.theme().colors().text_accent) - .absolute() - .left_0(), - ) - }) - .hover(|style| style.bg(cx.theme().colors().element_hover)) - .child(Label::new(text).map(|this| { + .map(|this| { if selected { - this.color(Color::Default) + this.bg(Color::Selected.color(cx)) + .border_l_1() + .border_color(Color::Accent.color(cx)) } else { - this.color(Color::Muted) + this.text_color(Color::Muted.color(cx)) } - })) - .child(binding) + }) + .hover(|style| { + if selected { + style.bg(Color::Selected.color(cx).opacity(0.6)) + } else { + style.bg(Color::Selected.color(cx).opacity(0.3)) + } + }) .on_click(cx.listener(move |this, _, _, cx| { this.selected_page = page; cx.notify(); })) } - fn render_nav(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { - v_flex() - .h_full() - .w(rems_from_px(220.)) - .flex_shrink_0() - .gap_4() - .justify_between() - .child( - v_flex() - .gap_6() - .child( - h_flex() - .px_2() - .gap_4() - .child(Vector::square(VectorName::ZedLogo, rems(2.5))) - .child( - v_flex() - .child( - Headline::new("Welcome to Zed").size(HeadlineSize::Small), - ) - .child( - Label::new("The editor for what's next") - .color(Color::Muted) - .size(LabelSize::Small) - .italic(), - ), - ), - ) - .child( - v_flex() - .gap_4() - .child( - v_flex() - .py_4() - .border_y_1() - .border_color(cx.theme().colors().border_variant.opacity(0.5)) - .gap_1() - .children([ - self.render_nav_button(SelectedPage::Basics, window, cx) - .into_element(), - self.render_nav_button(SelectedPage::Editing, window, cx) - .into_element(), - self.render_nav_button(SelectedPage::AiSetup, window, cx) - .into_element(), - ]), - ) - .child(Button::new("skip_all", "Skip All")), - ), - ) - .child( - if let Some(user) = self.user_store.read(cx).current_user() { - h_flex() - .gap_2() - .child(Avatar::new(user.avatar_uri.clone())) - .child(Label::new(user.github_login.clone())) - .into_any_element() - } else { - Button::new("sign_in", "Sign In") - .style(ButtonStyle::Outlined) - .full_width() - .on_click(|_, window, cx| { - let client = Client::global(cx); - window - .spawn(cx, async move |cx| { - client - .authenticate_and_connect(true, &cx) - .await - .into_response() - .notify_async_err(cx); - }) - .detach(); - }) - .into_any_element() - }, - ) - } - fn render_page(&mut self, window: &mut Window, cx: &mut Context<Self>) -> AnyElement { match self.selected_page { - SelectedPage::Basics => { - crate::basics_page::render_basics_page(window, cx).into_any_element() - } - SelectedPage::Editing => { - crate::editing_page::render_editing_page(window, cx).into_any_element() - } + SelectedPage::Basics => self.render_basics_page(window, cx).into_any_element(), + SelectedPage::Editing => self.render_editing_page(window, cx).into_any_element(), SelectedPage::AiSetup => self.render_ai_setup_page(window, cx).into_any_element(), } } + fn render_basics_page(&mut self, _: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { + let theme_mode = read_theme_selection(cx); + + v_container().child( + h_flex() + .items_center() + .justify_between() + .child(Label::new("Theme")) + .child( + h_flex() + .rounded_md() + .child( + ToggleButton::new("light", "Light") + .style(ButtonStyle::Filled) + .size(ButtonSize::Large) + .toggle_state(theme_mode == ThemeMode::Light) + .on_click(|_, _, cx| write_theme_selection(ThemeMode::Light, cx)) + .first(), + ) + .child( + ToggleButton::new("dark", "Dark") + .style(ButtonStyle::Filled) + .size(ButtonSize::Large) + .toggle_state(theme_mode == ThemeMode::Dark) + .on_click(|_, _, cx| write_theme_selection(ThemeMode::Dark, cx)) + .last(), + ) + .child( + ToggleButton::new("system", "System") + .style(ButtonStyle::Filled) + .size(ButtonSize::Large) + .toggle_state(theme_mode == ThemeMode::System) + .on_click(|_, _, cx| write_theme_selection(ThemeMode::System, cx)) + .middle(), + ), + ), + ) + } + + fn render_editing_page(&mut self, _: &mut Window, _: &mut Context<Self>) -> impl IntoElement { + // div().child("editing page") + "Right" + } + fn render_ai_setup_page(&mut self, _: &mut Window, _: &mut Context<Self>) -> impl IntoElement { div().child("ai setup page") } @@ -405,27 +273,44 @@ impl Render for Onboarding { h_flex() .image_cache(gpui::retain_all("onboarding-page")) .key_context("onboarding-page") - .size_full() - .bg(cx.theme().colors().editor_background) + .px_24() + .py_12() + .items_start() .child( - h_flex() - .max_w(rems_from_px(1100.)) - .size_full() - .m_auto() - .py_20() - .px_12() - .items_start() - .gap_12() - .child(self.render_nav(window, cx)) + v_flex() + .w_1_3() + .h_full() .child( - div() - .pl_12() - .border_l_1() - .border_color(cx.theme().colors().border_variant.opacity(0.5)) - .size_full() - .child(self.render_page(window, cx)), + h_flex() + .pt_0p5() + .child(Vector::square(VectorName::ZedLogo, rems(2.))) + .child( + v_flex() + .left_1() + .items_center() + .child(Headline::new("Welcome to Zed")) + .child( + Label::new("The editor for what's next") + .color(Color::Muted) + .italic(), + ), + ), + ) + .p_1() + .child(Divider::horizontal_dashed()) + .child( + v_flex().gap_1().children([ + self.render_page_nav(SelectedPage::Basics, window, cx) + .into_element(), + self.render_page_nav(SelectedPage::Editing, window, cx) + .into_element(), + self.render_page_nav(SelectedPage::AiSetup, window, cx) + .into_element(), + ]), ), ) + // .child(Divider::vertical_dashed()) + .child(div().w_2_3().h_full().child(self.render_page(window, cx))) } } @@ -458,65 +343,10 @@ impl Item for Onboarding { _: &mut Window, cx: &mut Context<Self>, ) -> Option<Entity<Self>> { - Some(Onboarding::new( - self.workspace.clone(), - self.user_store.clone(), - cx, - )) + Some(Onboarding::new(self.workspace.clone(), cx)) } fn to_item_events(event: &Self::Event, mut f: impl FnMut(workspace::item::ItemEvent)) { f(*event) } } - -pub async fn handle_import_vscode_settings( - source: VsCodeSettingsSource, - skip_prompt: bool, - fs: Arc<dyn Fs>, - cx: &mut AsyncWindowContext, -) { - use util::truncate_and_remove_front; - - let vscode_settings = - match settings::VsCodeSettings::load_user_settings(source, fs.clone()).await { - Ok(vscode_settings) => vscode_settings, - Err(err) => { - zlog::error!("{err}"); - let _ = cx.prompt( - gpui::PromptLevel::Info, - &format!("Could not find or load a {source} settings file"), - None, - &["Ok"], - ); - return; - } - }; - - if !skip_prompt { - let prompt = cx.prompt( - gpui::PromptLevel::Warning, - &format!( - "Importing {} settings may overwrite your existing settings. \ - Will import settings from {}", - vscode_settings.source, - truncate_and_remove_front(&vscode_settings.path.to_string_lossy(), 128), - ), - None, - &["Ok", "Cancel"], - ); - let result = cx.spawn(async move |_| prompt.await.ok()).await; - if result != Some(0) { - return; - } - }; - - cx.update(|_, cx| { - let source = vscode_settings.source; - let path = vscode_settings.path.clone(); - cx.global::<SettingsStore>() - .import_vscode_settings(fs, vscode_settings); - zlog::info!("Imported {source} settings from {}", path.display()); - }) - .ok(); -} diff --git a/crates/onboarding/src/welcome.rs b/crates/onboarding/src/welcome.rs deleted file mode 100644 index 9e524a5e8a..0000000000 --- a/crates/onboarding/src/welcome.rs +++ /dev/null @@ -1,276 +0,0 @@ -use gpui::{ - Action, App, Context, Entity, EventEmitter, FocusHandle, Focusable, InteractiveElement, - NoAction, ParentElement, Render, Styled, Window, actions, -}; -use ui::{ButtonLike, Divider, DividerColor, KeyBinding, Vector, VectorName, prelude::*}; -use workspace::{ - NewFile, Open, Workspace, WorkspaceId, - item::{Item, ItemEvent}, -}; -use zed_actions::{Extensions, OpenSettings, agent, command_palette}; - -actions!( - zed, - [ - /// Show the Zed welcome screen - ShowWelcome - ] -); - -const CONTENT: (Section<4>, Section<3>) = ( - Section { - title: "Get Started", - entries: [ - SectionEntry { - icon: IconName::Plus, - title: "New File", - action: &NewFile, - }, - SectionEntry { - icon: IconName::FolderOpen, - title: "Open Project", - action: &Open, - }, - SectionEntry { - icon: IconName::CloudDownload, - title: "Clone a Repo", - // TODO: use proper action - action: &NoAction, - }, - SectionEntry { - icon: IconName::ListCollapse, - title: "Open Command Palette", - action: &command_palette::Toggle, - }, - ], - }, - Section { - title: "Configure", - entries: [ - SectionEntry { - icon: IconName::Settings, - title: "Open Settings", - action: &OpenSettings, - }, - SectionEntry { - icon: IconName::ZedAssistant, - title: "View AI Settings", - action: &agent::OpenSettings, - }, - SectionEntry { - icon: IconName::Blocks, - title: "Explore Extensions", - action: &Extensions { - category_filter: None, - id: None, - }, - }, - ], - }, -); - -struct Section<const COLS: usize> { - title: &'static str, - entries: [SectionEntry; COLS], -} - -impl<const COLS: usize> Section<COLS> { - fn render( - self, - index_offset: usize, - focus: &FocusHandle, - window: &mut Window, - cx: &mut App, - ) -> impl IntoElement { - v_flex() - .min_w_full() - .gap_2() - .child( - h_flex() - .px_1() - .gap_4() - .child( - Label::new(self.title.to_ascii_uppercase()) - .buffer_font(cx) - .color(Color::Muted) - .size(LabelSize::XSmall), - ) - .child(Divider::horizontal().color(DividerColor::Border)), - ) - .children( - self.entries - .iter() - .enumerate() - .map(|(index, entry)| entry.render(index_offset + index, &focus, window, cx)), - ) - } -} - -struct SectionEntry { - icon: IconName, - title: &'static str, - action: &'static dyn Action, -} - -impl SectionEntry { - fn render( - &self, - button_index: usize, - focus: &FocusHandle, - window: &Window, - cx: &App, - ) -> impl IntoElement { - ButtonLike::new(("onboarding-button-id", button_index)) - .full_width() - .child( - h_flex() - .w_full() - .gap_1() - .justify_between() - .child( - h_flex() - .gap_2() - .child( - Icon::new(self.icon) - .color(Color::Muted) - .size(IconSize::XSmall), - ) - .child(Label::new(self.title)), - ) - .children(KeyBinding::for_action_in(self.action, focus, window, cx)), - ) - .on_click(|_, window, cx| window.dispatch_action(self.action.boxed_clone(), cx)) - } -} - -pub struct WelcomePage { - focus_handle: FocusHandle, -} - -impl Render for WelcomePage { - fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { - let (first_section, second_entries) = CONTENT; - let first_section_entries = first_section.entries.len(); - - h_flex() - .size_full() - .justify_center() - .overflow_hidden() - .bg(cx.theme().colors().editor_background) - .key_context("Welcome") - .track_focus(&self.focus_handle(cx)) - .child( - h_flex() - .px_12() - .py_40() - .size_full() - .relative() - .max_w(px(1100.)) - .child( - div() - .size_full() - .max_w_128() - .mx_auto() - .child( - h_flex() - .w_full() - .justify_center() - .gap_4() - .child(Vector::square(VectorName::ZedLogo, rems(2.))) - .child( - div().child(Headline::new("Welcome to Zed")).child( - Label::new("The editor for what's next") - .size(LabelSize::Small) - .color(Color::Muted) - .italic(), - ), - ), - ) - .child( - v_flex() - .mt_12() - .gap_8() - .child(first_section.render( - Default::default(), - &self.focus_handle, - window, - cx, - )) - .child(second_entries.render( - first_section_entries, - &self.focus_handle, - window, - cx, - )) - .child( - h_flex() - .w_full() - .pt_4() - .justify_center() - // We call this a hack - .rounded_b_xs() - .border_t_1() - .border_color(DividerColor::Border.hsla(cx)) - .border_dashed() - .child( - div().child( - Button::new("welcome-exit", "Return to Setup") - .full_width() - .label_size(LabelSize::XSmall), - ), - ), - ), - ), - ), - ) - } -} - -impl WelcomePage { - pub fn new(window: &mut Window, cx: &mut Context<Workspace>) -> Entity<Self> { - cx.new(|cx| { - let focus_handle = cx.focus_handle(); - cx.on_focus(&focus_handle, window, |_, _, cx| cx.notify()) - .detach(); - - WelcomePage { focus_handle } - }) - } -} - -impl EventEmitter<ItemEvent> for WelcomePage {} - -impl Focusable for WelcomePage { - fn focus_handle(&self, _: &App) -> gpui::FocusHandle { - self.focus_handle.clone() - } -} - -impl Item for WelcomePage { - type Event = ItemEvent; - - fn tab_content_text(&self, _detail: usize, _cx: &App) -> SharedString { - "Welcome".into() - } - - fn telemetry_event_text(&self) -> Option<&'static str> { - Some("New Welcome Page Opened") - } - - fn show_toolbar(&self) -> bool { - false - } - - fn clone_on_split( - &self, - _workspace_id: Option<WorkspaceId>, - _: &mut Window, - _: &mut Context<Self>, - ) -> Option<Entity<Self>> { - None - } - - fn to_item_events(event: &Self::Event, mut f: impl FnMut(workspace::item::ItemEvent)) { - f(*event) - } -} diff --git a/crates/outline_panel/src/outline_panel.rs b/crates/outline_panel/src/outline_panel.rs index 50c6c2dcce..12dcab9e87 100644 --- a/crates/outline_panel/src/outline_panel.rs +++ b/crates/outline_panel/src/outline_panel.rs @@ -1,5 +1,19 @@ mod outline_panel_settings; +use std::{ + cmp, + collections::BTreeMap, + hash::Hash, + ops::Range, + path::{MAIN_SEPARATOR_STR, Path, PathBuf}, + sync::{ + Arc, OnceLock, + atomic::{self, AtomicBool}, + }, + time::Duration, + u32, +}; + use anyhow::Context as _; use collections::{BTreeSet, HashMap, HashSet, hash_map}; use db::kvp::KEY_VALUE_STORE; @@ -22,21 +36,8 @@ use gpui::{ uniform_list, }; use itertools::Itertools; -use language::{Anchor, BufferId, BufferSnapshot, OffsetRangeExt, OutlineItem}; +use language::{BufferId, BufferSnapshot, OffsetRangeExt, OutlineItem}; use menu::{Cancel, SelectFirst, SelectLast, SelectNext, SelectPrevious}; -use std::{ - cmp, - collections::BTreeMap, - hash::Hash, - ops::Range, - path::{MAIN_SEPARATOR_STR, Path, PathBuf}, - sync::{ - Arc, OnceLock, - atomic::{self, AtomicBool}, - }, - time::Duration, - u32, -}; use outline_panel_settings::{OutlinePanelDockPosition, OutlinePanelSettings, ShowIndentGuides}; use project::{File, Fs, GitEntry, GitTraversal, Project, ProjectItem}; @@ -131,8 +132,6 @@ pub struct OutlinePanel { hide_scrollbar_task: Option<Task<()>>, max_width_item_index: Option<usize>, preserve_selection_on_buffer_fold_toggles: HashSet<BufferId>, - pending_default_expansion_depth: Option<usize>, - outline_children_cache: HashMap<BufferId, HashMap<(Range<Anchor>, usize), bool>>, } #[derive(Debug)] @@ -319,13 +318,12 @@ struct CachedEntry { entry: PanelEntry, } -#[derive(Clone, Debug, PartialEq, Eq, Hash)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] enum CollapsedEntry { Dir(WorktreeId, ProjectEntryId), File(WorktreeId, BufferId), ExternalFile(BufferId), Excerpt(BufferId, ExcerptId), - Outline(BufferId, ExcerptId, Range<Anchor>), } #[derive(Debug)] @@ -805,56 +803,8 @@ impl OutlinePanel { outline_panel.update_cached_entries(Some(UPDATE_DEBOUNCE), window, cx); } } else if &outline_panel_settings != new_settings { - let old_expansion_depth = outline_panel_settings.expand_outlines_with_depth; outline_panel_settings = *new_settings; - - if old_expansion_depth != new_settings.expand_outlines_with_depth { - let old_collapsed_entries = outline_panel.collapsed_entries.clone(); - outline_panel - .collapsed_entries - .retain(|entry| !matches!(entry, CollapsedEntry::Outline(..))); - - let new_depth = new_settings.expand_outlines_with_depth; - - for (buffer_id, excerpts) in &outline_panel.excerpts { - for (excerpt_id, excerpt) in excerpts { - if let ExcerptOutlines::Outlines(outlines) = &excerpt.outlines { - for outline in outlines { - if outline_panel - .outline_children_cache - .get(buffer_id) - .and_then(|children_map| { - let key = - (outline.range.clone(), outline.depth); - children_map.get(&key) - }) - .copied() - .unwrap_or(false) - && (new_depth == 0 || outline.depth >= new_depth) - { - outline_panel.collapsed_entries.insert( - CollapsedEntry::Outline( - *buffer_id, - *excerpt_id, - outline.range.clone(), - ), - ); - } - } - } - } - } - - if old_collapsed_entries != outline_panel.collapsed_entries { - outline_panel.update_cached_entries( - Some(UPDATE_DEBOUNCE), - window, - cx, - ); - } - } else { - cx.notify(); - } + cx.notify(); } }); @@ -891,7 +841,6 @@ impl OutlinePanel { updating_cached_entries: false, new_entries_for_fs_update: HashSet::default(), preserve_selection_on_buffer_fold_toggles: HashSet::default(), - pending_default_expansion_depth: None, fs_entries_update_task: Task::ready(()), cached_entries_update_task: Task::ready(()), reveal_selection_task: Task::ready(Ok(())), @@ -906,7 +855,6 @@ impl OutlinePanel { workspace_subscription, filter_update_subscription, ], - outline_children_cache: HashMap::default(), }; if let Some((item, editor)) = workspace_active_editor(workspace, cx) { outline_panel.replace_active_editor(item, editor, window, cx); @@ -1514,12 +1462,7 @@ impl OutlinePanel { PanelEntry::Outline(OutlineEntry::Excerpt(excerpt)) => { Some(CollapsedEntry::Excerpt(excerpt.buffer_id, excerpt.id)) } - PanelEntry::Outline(OutlineEntry::Outline(outline)) => Some(CollapsedEntry::Outline( - outline.buffer_id, - outline.excerpt_id, - outline.outline.range.clone(), - )), - PanelEntry::Search(_) => return, + PanelEntry::Search(_) | PanelEntry::Outline(..) => return, }; let Some(collapsed_entry) = entry_to_expand else { return; @@ -1622,14 +1565,7 @@ impl OutlinePanel { PanelEntry::Outline(OutlineEntry::Excerpt(excerpt)) => self .collapsed_entries .insert(CollapsedEntry::Excerpt(excerpt.buffer_id, excerpt.id)), - PanelEntry::Outline(OutlineEntry::Outline(outline)) => { - self.collapsed_entries.insert(CollapsedEntry::Outline( - outline.buffer_id, - outline.excerpt_id, - outline.outline.range.clone(), - )) - } - PanelEntry::Search(_) => false, + PanelEntry::Search(_) | PanelEntry::Outline(..) => false, }; if collapsed { @@ -1844,17 +1780,7 @@ impl OutlinePanel { self.collapsed_entries.insert(collapsed_entry); } } - PanelEntry::Outline(OutlineEntry::Outline(outline)) => { - let collapsed_entry = CollapsedEntry::Outline( - outline.buffer_id, - outline.excerpt_id, - outline.outline.range.clone(), - ); - if !self.collapsed_entries.remove(&collapsed_entry) { - self.collapsed_entries.insert(collapsed_entry); - } - } - _ => {} + PanelEntry::Search(_) | PanelEntry::Outline(..) => return, } active_editor.update(cx, |editor, cx| { @@ -2182,7 +2108,7 @@ impl OutlinePanel { PanelEntry::Outline(OutlineEntry::Excerpt(excerpt.clone())), item_id, depth, - icon, + Some(icon), is_active, label_element, window, @@ -2234,31 +2160,10 @@ impl OutlinePanel { _ => false, }; - let has_children = self - .outline_children_cache - .get(&outline.buffer_id) - .and_then(|children_map| { - let key = (outline.outline.range.clone(), outline.outline.depth); - children_map.get(&key) - }) - .copied() - .unwrap_or(false); - let is_expanded = !self.collapsed_entries.contains(&CollapsedEntry::Outline( - outline.buffer_id, - outline.excerpt_id, - outline.outline.range.clone(), - )); - - let icon = if has_children { - FileIcons::get_chevron_icon(is_expanded, cx) - .map(|icon_path| { - Icon::from_path(icon_path) - .color(entry_label_color(is_active)) - .into_any_element() - }) - .unwrap_or_else(empty_icon) + let icon = if self.is_singleton_active(cx) { + None } else { - empty_icon() + Some(empty_icon()) }; self.entry_element( @@ -2382,7 +2287,7 @@ impl OutlinePanel { PanelEntry::Fs(rendered_entry.clone()), item_id, depth, - icon, + Some(icon), is_active, label_element, window, @@ -2453,7 +2358,7 @@ impl OutlinePanel { PanelEntry::FoldedDirs(folded_dir.clone()), item_id, depth, - icon, + Some(icon), is_active, label_element, window, @@ -2544,7 +2449,7 @@ impl OutlinePanel { }), ElementId::from(SharedString::from(format!("search-{match_range:?}"))), depth, - empty_icon(), + None, is_active, entire_label, window, @@ -2557,7 +2462,7 @@ impl OutlinePanel { rendered_entry: PanelEntry, item_id: ElementId, depth: usize, - icon_element: AnyElement, + icon_element: Option<AnyElement>, is_active: bool, label_element: gpui::AnyElement, window: &mut Window, @@ -2573,10 +2478,8 @@ impl OutlinePanel { if event.down.button == MouseButton::Right || event.down.first_mouse { return; } - let change_focus = event.down.click_count > 1; outline_panel.toggle_expanded(&clicked_entry, window, cx); - outline_panel.scroll_editor_to_entry( &clicked_entry, true, @@ -2592,11 +2495,10 @@ impl OutlinePanel { .indent_level(depth) .indent_step_size(px(settings.indent_size)) .toggle_state(is_active) - .child( - h_flex() - .child(h_flex().w(px(16.)).justify_center().child(icon_element)) - .child(h_flex().h_6().child(label_element).ml_1()), - ) + .when_some(icon_element, |list_item, icon_element| { + list_item.child(h_flex().child(icon_element)) + }) + .child(h_flex().h_6().child(label_element).ml_1()) .on_secondary_mouse_down(cx.listener( move |outline_panel, event: &MouseDownEvent, window, cx| { // Stop propagation to prevent the catch-all context menu for the project @@ -3038,12 +2940,7 @@ impl OutlinePanel { outline_panel.fs_entries_depth = new_depth_map; outline_panel.fs_children_count = new_children_count; outline_panel.update_non_fs_items(window, cx); - - // Only update cached entries if we don't have outlines to fetch - // If we do have outlines to fetch, let fetch_outdated_outlines handle the update - if outline_panel.excerpt_fetch_ranges(cx).is_empty() { - outline_panel.update_cached_entries(debounce, window, cx); - } + outline_panel.update_cached_entries(debounce, window, cx); cx.notify(); }) @@ -3059,12 +2956,6 @@ impl OutlinePanel { cx: &mut Context<Self>, ) { self.clear_previous(window, cx); - - let default_expansion_depth = - OutlinePanelSettings::get_global(cx).expand_outlines_with_depth; - // We'll apply the expansion depth after outlines are loaded - self.pending_default_expansion_depth = Some(default_expansion_depth); - let buffer_search_subscription = cx.subscribe_in( &new_active_editor, window, @@ -3113,7 +3004,6 @@ impl OutlinePanel { self.selected_entry = SelectedEntry::None; self.pinned = false; self.mode = ItemsDisplayMode::Outline; - self.pending_default_expansion_depth = None; } fn location_for_editor_selection( @@ -3369,74 +3259,25 @@ impl OutlinePanel { || buffer_language.as_ref() == buffer_snapshot.language_at(outline.range.start) }); - - let outlines_with_children = outlines - .windows(2) - .filter_map(|window| { - let current = &window[0]; - let next = &window[1]; - if next.depth > current.depth { - Some((current.range.clone(), current.depth)) - } else { - None - } - }) - .collect::<HashSet<_>>(); - - (outlines, outlines_with_children) + outlines }) .await; - - let (fetched_outlines, outlines_with_children) = fetched_outlines; - outline_panel .update_in(cx, |outline_panel, window, cx| { - let pending_default_depth = - outline_panel.pending_default_expansion_depth.take(); - - let debounce = - if first_update.fetch_and(false, atomic::Ordering::AcqRel) { - None - } else { - Some(UPDATE_DEBOUNCE) - }; - if let Some(excerpt) = outline_panel .excerpts .entry(buffer_id) .or_default() .get_mut(&excerpt_id) { + let debounce = if first_update + .fetch_and(false, atomic::Ordering::AcqRel) + { + None + } else { + Some(UPDATE_DEBOUNCE) + }; excerpt.outlines = ExcerptOutlines::Outlines(fetched_outlines); - - if let Some(default_depth) = pending_default_depth { - if let ExcerptOutlines::Outlines(outlines) = - &excerpt.outlines - { - outlines - .iter() - .filter(|outline| { - (default_depth == 0 - || outline.depth >= default_depth) - && outlines_with_children.contains(&( - outline.range.clone(), - outline.depth, - )) - }) - .for_each(|outline| { - outline_panel.collapsed_entries.insert( - CollapsedEntry::Outline( - buffer_id, - excerpt_id, - outline.range.clone(), - ), - ); - }); - } - } - - // Even if no outlines to check, we still need to update cached entries - // to show the outline entries that were just fetched outline_panel.update_cached_entries(debounce, window, cx); } }) @@ -4242,7 +4083,7 @@ impl OutlinePanel { } fn add_excerpt_entries( - &mut self, + &self, state: &mut GenerationState, buffer_id: BufferId, entries_to_add: &[ExcerptId], @@ -4253,8 +4094,6 @@ impl OutlinePanel { cx: &mut Context<Self>, ) { if let Some(excerpts) = self.excerpts.get(&buffer_id) { - let buffer_snapshot = self.buffer_snapshot_for_id(buffer_id, cx); - for &excerpt_id in entries_to_add { let Some(excerpt) = excerpts.get(&excerpt_id) else { continue; @@ -4284,84 +4123,15 @@ impl OutlinePanel { continue; } - let mut last_depth_at_level: Vec<Option<Range<Anchor>>> = vec![None; 10]; - - let all_outlines: Vec<_> = excerpt.iter_outlines().collect(); - - let mut outline_has_children = HashMap::default(); - let mut visible_outlines = Vec::new(); - let mut collapsed_state: Option<(usize, Range<Anchor>)> = None; - - for (i, &outline) in all_outlines.iter().enumerate() { - let has_children = all_outlines - .get(i + 1) - .map(|next| next.depth > outline.depth) - .unwrap_or(false); - - outline_has_children - .insert((outline.range.clone(), outline.depth), has_children); - - let mut should_include = true; - - if let Some((collapsed_depth, collapsed_range)) = &collapsed_state { - if outline.depth <= *collapsed_depth { - collapsed_state = None; - } else if let Some(buffer_snapshot) = buffer_snapshot.as_ref() { - let outline_start = outline.range.start; - if outline_start - .cmp(&collapsed_range.start, buffer_snapshot) - .is_ge() - && outline_start - .cmp(&collapsed_range.end, buffer_snapshot) - .is_lt() - { - should_include = false; // Skip - inside collapsed range - } else { - collapsed_state = None; - } - } - } - - // Check if this outline itself is collapsed - if should_include - && self.collapsed_entries.contains(&CollapsedEntry::Outline( - buffer_id, - excerpt_id, - outline.range.clone(), - )) - { - collapsed_state = Some((outline.depth, outline.range.clone())); - } - - if should_include { - visible_outlines.push(outline); - } - } - - self.outline_children_cache - .entry(buffer_id) - .or_default() - .extend(outline_has_children); - - for outline in visible_outlines { - let outline_entry = OutlineEntryOutline { - buffer_id, - excerpt_id, - outline: outline.clone(), - }; - - if outline.depth < last_depth_at_level.len() { - last_depth_at_level[outline.depth] = Some(outline.range.clone()); - // Clear deeper levels when we go back to a shallower depth - for d in (outline.depth + 1)..last_depth_at_level.len() { - last_depth_at_level[d] = None; - } - } - + for outline in excerpt.iter_outlines() { self.push_entry( state, track_matches, - PanelEntry::Outline(OutlineEntry::Outline(outline_entry)), + PanelEntry::Outline(OutlineEntry::Outline(OutlineEntryOutline { + buffer_id, + excerpt_id, + outline: outline.clone(), + })), outline_base_depth + outline.depth, cx, ); @@ -7138,540 +6908,4 @@ outline: struct OutlineEntryExcerpt multi_buffer_snapshot.text_for_range(line_start..line_end).collect::<String>().trim().to_owned() }) } - - #[gpui::test] - async fn test_outline_keyboard_expand_collapse(cx: &mut TestAppContext) { - init_test(cx); - - let fs = FakeFs::new(cx.background_executor.clone()); - fs.insert_tree( - "/test", - json!({ - "src": { - "lib.rs": indoc!(" - mod outer { - pub struct OuterStruct { - field: String, - } - impl OuterStruct { - pub fn new() -> Self { - Self { field: String::new() } - } - pub fn method(&self) { - println!(\"{}\", self.field); - } - } - mod inner { - pub fn inner_function() { - let x = 42; - println!(\"{}\", x); - } - pub struct InnerStruct { - value: i32, - } - } - } - fn main() { - let s = outer::OuterStruct::new(); - s.method(); - } - "), - } - }), - ) - .await; - - let project = Project::test(fs.clone(), ["/test".as_ref()], cx).await; - project.read_with(cx, |project, _| { - project.languages().add(Arc::new( - rust_lang() - .with_outline_query( - r#" - (struct_item - (visibility_modifier)? @context - "struct" @context - name: (_) @name) @item - (impl_item - "impl" @context - trait: (_)? @context - "for"? @context - type: (_) @context - body: (_)) @item - (function_item - (visibility_modifier)? @context - "fn" @context - name: (_) @name - parameters: (_) @context) @item - (mod_item - (visibility_modifier)? @context - "mod" @context - name: (_) @name) @item - (enum_item - (visibility_modifier)? @context - "enum" @context - name: (_) @name) @item - (field_declaration - (visibility_modifier)? @context - name: (_) @name - ":" @context - type: (_) @context) @item - "#, - ) - .unwrap(), - )) - }); - let workspace = add_outline_panel(&project, cx).await; - let cx = &mut VisualTestContext::from_window(*workspace, cx); - let outline_panel = outline_panel(&workspace, cx); - - outline_panel.update_in(cx, |outline_panel, window, cx| { - outline_panel.set_active(true, window, cx) - }); - - workspace - .update(cx, |workspace, window, cx| { - workspace.open_abs_path( - PathBuf::from("/test/src/lib.rs"), - OpenOptions { - visible: Some(OpenVisible::All), - ..Default::default() - }, - window, - cx, - ) - }) - .unwrap() - .await - .unwrap(); - - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(500)); - cx.run_until_parked(); - - // Force another update cycle to ensure outlines are fetched - outline_panel.update_in(cx, |panel, window, cx| { - panel.update_non_fs_items(window, cx); - panel.update_cached_entries(Some(UPDATE_DEBOUNCE), window, cx); - }); - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(500)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: mod outer <==== selected - outline: pub struct OuterStruct - outline: field: String - outline: impl OuterStruct - outline: pub fn new() - outline: pub fn method(&self) - outline: mod inner - outline: pub fn inner_function() - outline: pub struct InnerStruct - outline: value: i32 -outline: fn main()" - ) - ); - }); - - let parent_outline = outline_panel - .read_with(cx, |panel, _cx| { - panel - .cached_entries - .iter() - .find_map(|entry| match &entry.entry { - PanelEntry::Outline(OutlineEntry::Outline(outline)) - if panel - .outline_children_cache - .get(&outline.buffer_id) - .and_then(|children_map| { - let key = - (outline.outline.range.clone(), outline.outline.depth); - children_map.get(&key) - }) - .copied() - .unwrap_or(false) => - { - Some(entry.entry.clone()) - } - _ => None, - }) - }) - .expect("Should find an outline with children"); - - outline_panel.update_in(cx, |panel, window, cx| { - panel.select_entry(parent_outline.clone(), true, window, cx); - panel.collapse_selected_entry(&CollapseSelectedEntry, window, cx); - }); - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: mod outer <==== selected -outline: fn main()" - ) - ); - }); - - outline_panel.update_in(cx, |panel, window, cx| { - panel.expand_selected_entry(&ExpandSelectedEntry, window, cx); - }); - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: mod outer <==== selected - outline: pub struct OuterStruct - outline: field: String - outline: impl OuterStruct - outline: pub fn new() - outline: pub fn method(&self) - outline: mod inner - outline: pub fn inner_function() - outline: pub struct InnerStruct - outline: value: i32 -outline: fn main()" - ) - ); - }); - - outline_panel.update_in(cx, |panel, window, cx| { - panel.collapsed_entries.clear(); - panel.update_cached_entries(None, window, cx); - }); - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update_in(cx, |panel, window, cx| { - let outlines_with_children: Vec<_> = panel - .cached_entries - .iter() - .filter_map(|entry| match &entry.entry { - PanelEntry::Outline(OutlineEntry::Outline(outline)) - if panel - .outline_children_cache - .get(&outline.buffer_id) - .and_then(|children_map| { - let key = (outline.outline.range.clone(), outline.outline.depth); - children_map.get(&key) - }) - .copied() - .unwrap_or(false) => - { - Some(entry.entry.clone()) - } - _ => None, - }) - .collect(); - - for outline in outlines_with_children { - panel.select_entry(outline, false, window, cx); - panel.collapse_selected_entry(&CollapseSelectedEntry, window, cx); - } - }); - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: mod outer -outline: fn main()" - ) - ); - }); - - let collapsed_entries_count = - outline_panel.read_with(cx, |panel, _| panel.collapsed_entries.len()); - assert!( - collapsed_entries_count > 0, - "Should have collapsed entries tracked" - ); - } - - #[gpui::test] - async fn test_outline_click_toggle_behavior(cx: &mut TestAppContext) { - init_test(cx); - - let fs = FakeFs::new(cx.background_executor.clone()); - fs.insert_tree( - "/test", - json!({ - "src": { - "main.rs": indoc!(" - struct Config { - name: String, - value: i32, - } - impl Config { - fn new(name: String) -> Self { - Self { name, value: 0 } - } - fn get_value(&self) -> i32 { - self.value - } - } - enum Status { - Active, - Inactive, - } - fn process_config(config: Config) -> Status { - if config.get_value() > 0 { - Status::Active - } else { - Status::Inactive - } - } - fn main() { - let config = Config::new(\"test\".to_string()); - let status = process_config(config); - } - "), - } - }), - ) - .await; - - let project = Project::test(fs.clone(), ["/test".as_ref()], cx).await; - project.read_with(cx, |project, _| { - project.languages().add(Arc::new( - rust_lang() - .with_outline_query( - r#" - (struct_item - (visibility_modifier)? @context - "struct" @context - name: (_) @name) @item - (impl_item - "impl" @context - trait: (_)? @context - "for"? @context - type: (_) @context - body: (_)) @item - (function_item - (visibility_modifier)? @context - "fn" @context - name: (_) @name - parameters: (_) @context) @item - (mod_item - (visibility_modifier)? @context - "mod" @context - name: (_) @name) @item - (enum_item - (visibility_modifier)? @context - "enum" @context - name: (_) @name) @item - (field_declaration - (visibility_modifier)? @context - name: (_) @name - ":" @context - type: (_) @context) @item - "#, - ) - .unwrap(), - )) - }); - - let workspace = add_outline_panel(&project, cx).await; - let cx = &mut VisualTestContext::from_window(*workspace, cx); - let outline_panel = outline_panel(&workspace, cx); - - outline_panel.update_in(cx, |outline_panel, window, cx| { - outline_panel.set_active(true, window, cx) - }); - - let _editor = workspace - .update(cx, |workspace, window, cx| { - workspace.open_abs_path( - PathBuf::from("/test/src/main.rs"), - OpenOptions { - visible: Some(OpenVisible::All), - ..Default::default() - }, - window, - cx, - ) - }) - .unwrap() - .await - .unwrap(); - - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, _cx| { - outline_panel.selected_entry = SelectedEntry::None; - }); - - // Check initial state - all entries should be expanded by default - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: struct Config - outline: name: String - outline: value: i32 -outline: impl Config - outline: fn new(name: String) - outline: fn get_value(&self) -outline: enum Status -outline: fn process_config(config: Config) -outline: fn main()" - ) - ); - }); - - outline_panel.update(cx, |outline_panel, _cx| { - outline_panel.selected_entry = SelectedEntry::None; - }); - - cx.update(|window, cx| { - outline_panel.update(cx, |outline_panel, cx| { - outline_panel.select_first(&SelectFirst, window, cx); - }); - }); - - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: struct Config <==== selected - outline: name: String - outline: value: i32 -outline: impl Config - outline: fn new(name: String) - outline: fn get_value(&self) -outline: enum Status -outline: fn process_config(config: Config) -outline: fn main()" - ) - ); - }); - - cx.update(|window, cx| { - outline_panel.update(cx, |outline_panel, cx| { - outline_panel.open_selected_entry(&OpenSelectedEntry, window, cx); - }); - }); - - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: struct Config <==== selected -outline: impl Config - outline: fn new(name: String) - outline: fn get_value(&self) -outline: enum Status -outline: fn process_config(config: Config) -outline: fn main()" - ) - ); - }); - - cx.update(|window, cx| { - outline_panel.update(cx, |outline_panel, cx| { - outline_panel.open_selected_entry(&OpenSelectedEntry, window, cx); - }); - }); - - cx.executor() - .advance_clock(UPDATE_DEBOUNCE + Duration::from_millis(100)); - cx.run_until_parked(); - - outline_panel.update(cx, |outline_panel, cx| { - assert_eq!( - display_entries( - &project, - &snapshot(&outline_panel, cx), - &outline_panel.cached_entries, - outline_panel.selected_entry(), - cx, - ), - indoc!( - " -outline: struct Config <==== selected - outline: name: String - outline: value: i32 -outline: impl Config - outline: fn new(name: String) - outline: fn get_value(&self) -outline: enum Status -outline: fn process_config(config: Config) -outline: fn main()" - ) - ); - }); - } } diff --git a/crates/outline_panel/src/outline_panel_settings.rs b/crates/outline_panel/src/outline_panel_settings.rs index 133d28b748..6b70cb54fb 100644 --- a/crates/outline_panel/src/outline_panel_settings.rs +++ b/crates/outline_panel/src/outline_panel_settings.rs @@ -31,7 +31,6 @@ pub struct OutlinePanelSettings { pub auto_reveal_entries: bool, pub auto_fold_dirs: bool, pub scrollbar: ScrollbarSettings, - pub expand_outlines_with_depth: usize, } #[derive(Copy, Clone, Debug, Serialize, Deserialize, JsonSchema, PartialEq, Eq)] @@ -106,13 +105,6 @@ pub struct OutlinePanelSettingsContent { pub indent_guides: Option<IndentGuidesSettingsContent>, /// Scrollbar-related settings pub scrollbar: Option<ScrollbarSettingsContent>, - /// Default depth to expand outline items in the current file. - /// The default depth to which outline entries are expanded on reveal. - /// - Set to 0 to collapse all items that have children - /// - Set to 1 or higher to collapse items at that depth or deeper - /// - /// Default: 100 - pub expand_outlines_with_depth: Option<usize>, } impl Settings for OutlinePanelSettings { diff --git a/crates/paths/src/paths.rs b/crates/paths/src/paths.rs index 47a0f12c06..2f3b188980 100644 --- a/crates/paths/src/paths.rs +++ b/crates/paths/src/paths.rs @@ -35,7 +35,6 @@ pub fn remote_server_dir_relative() -> &'static Path { /// Sets a custom directory for all user data, overriding the default data directory. /// This function must be called before any other path operations that depend on the data directory. -/// The directory's path will be canonicalized to an absolute path by a blocking FS operation. /// The directory will be created if it doesn't exist. /// /// # Arguments @@ -51,20 +50,13 @@ pub fn remote_server_dir_relative() -> &'static Path { /// /// Panics if: /// * Called after the data directory has been initialized (e.g., via `data_dir` or `config_dir`) -/// * The directory's path cannot be canonicalized to an absolute path /// * The directory cannot be created pub fn set_custom_data_dir(dir: &str) -> &'static PathBuf { if CURRENT_DATA_DIR.get().is_some() || CONFIG_DIR.get().is_some() { panic!("set_custom_data_dir called after data_dir or config_dir was initialized"); } CUSTOM_DATA_DIR.get_or_init(|| { - let mut path = PathBuf::from(dir); - if path.is_relative() { - let abs_path = path - .canonicalize() - .expect("failed to canonicalize custom data directory's path to an absolute path"); - path = PathBuf::from(util::paths::SanitizedPath::from(abs_path)) - } + let path = PathBuf::from(dir); std::fs::create_dir_all(&path).expect("failed to create custom data directory"); path }) diff --git a/crates/prettier/src/prettier_server.js b/crates/prettier/src/prettier_server.js index b3d8a660a4..6799b4aceb 100644 --- a/crates/prettier/src/prettier_server.js +++ b/crates/prettier/src/prettier_server.js @@ -152,10 +152,6 @@ async function handleMessage(message, prettier) { throw new Error(`Message method is undefined: ${JSON.stringify(message)}`); } else if (method == "initialized") { return; - } else if (method === "shutdown") { - sendResponse({ result: {} }); - } else if (method == "exit") { - process.exit(0); } if (id === undefined) { diff --git a/crates/project/src/debugger/dap_command.rs b/crates/project/src/debugger/dap_command.rs index 3be3192369..1cb611680c 100644 --- a/crates/project/src/debugger/dap_command.rs +++ b/crates/project/src/debugger/dap_command.rs @@ -107,7 +107,7 @@ impl<T: DapCommand> DapCommand for Arc<T> { #[derive(Debug, Hash, PartialEq, Eq)] pub struct StepCommand { - pub thread_id: i64, + pub thread_id: u64, pub granularity: Option<SteppingGranularity>, pub single_thread: Option<bool>, } @@ -483,7 +483,7 @@ impl DapCommand for ContinueCommand { #[derive(Debug, Hash, PartialEq, Eq)] pub(crate) struct PauseCommand { - pub thread_id: i64, + pub thread_id: u64, } impl LocalDapCommand for PauseCommand { @@ -612,7 +612,7 @@ impl DapCommand for DisconnectCommand { #[derive(Debug, Hash, PartialEq, Eq)] pub(crate) struct TerminateThreadsCommand { - pub thread_ids: Option<Vec<i64>>, + pub thread_ids: Option<Vec<u64>>, } impl LocalDapCommand for TerminateThreadsCommand { @@ -1182,7 +1182,7 @@ impl DapCommand for LoadedSourcesCommand { #[derive(Debug, Clone, Hash, PartialEq, Eq)] pub(crate) struct StackTraceCommand { - pub thread_id: i64, + pub thread_id: u64, pub start_frame: Option<u64>, pub levels: Option<u64>, } diff --git a/crates/project/src/debugger/dap_store.rs b/crates/project/src/debugger/dap_store.rs index 6f834b5dc0..d494088b13 100644 --- a/crates/project/src/debugger/dap_store.rs +++ b/crates/project/src/debugger/dap_store.rs @@ -920,22 +920,12 @@ impl dap::adapters::DapDelegate for DapAdapterDelegate { self.console.unbounded_send(msg).ok(); } - #[cfg(not(target_os = "windows"))] async fn which(&self, command: &OsStr) -> Option<PathBuf> { let worktree_abs_path = self.worktree.abs_path(); let shell_path = self.shell_env().await.get("PATH").cloned(); which::which_in(command, shell_path.as_ref(), worktree_abs_path).ok() } - #[cfg(target_os = "windows")] - async fn which(&self, command: &OsStr) -> Option<PathBuf> { - // On Windows, `PATH` is handled differently from Unix. Windows generally expects users to modify the `PATH` themselves, - // and every program loads it directly from the system at startup. - // There's also no concept of a default shell on Windows, and you can't really retrieve one, so trying to get shell environment variables - // from a specific directory doesn’t make sense on Windows. - which::which(command).ok() - } - async fn shell_env(&self) -> HashMap<String, String> { let task = self.load_shell_env_task.clone(); task.await.unwrap_or_default() diff --git a/crates/project/src/debugger/locators/cargo.rs b/crates/project/src/debugger/locators/cargo.rs index fa265dae58..7d70371380 100644 --- a/crates/project/src/debugger/locators/cargo.rs +++ b/crates/project/src/debugger/locators/cargo.rs @@ -128,7 +128,7 @@ impl DapLocator for CargoLocator { .chain(Some("--message-format=json".to_owned())) .collect(), ); - let mut child = util::command::new_smol_command(program) + let mut child = Command::new(program) .args(args) .envs(build_config.env.iter().map(|(k, v)| (k.clone(), v.clone()))) .current_dir(cwd) diff --git a/crates/project/src/debugger/session.rs b/crates/project/src/debugger/session.rs index f60a7becf7..1e296ac2ac 100644 --- a/crates/project/src/debugger/session.rs +++ b/crates/project/src/debugger/session.rs @@ -61,10 +61,15 @@ use worktree::Worktree; #[derive(Debug, Copy, Clone, Hash, PartialEq, PartialOrd, Ord, Eq)] #[repr(transparent)] -pub struct ThreadId(pub i64); +pub struct ThreadId(pub u64); -impl From<i64> for ThreadId { - fn from(id: i64) -> Self { +impl ThreadId { + pub const MIN: ThreadId = ThreadId(u64::MIN); + pub const MAX: ThreadId = ThreadId(u64::MAX); +} + +impl From<u64> for ThreadId { + fn from(id: u64) -> Self { Self(id) } } diff --git a/crates/project/src/git_store.rs b/crates/project/src/git_store.rs index 28dd0e91e3..eb16446daf 100644 --- a/crates/project/src/git_store.rs +++ b/crates/project/src/git_store.rs @@ -14,10 +14,9 @@ use collections::HashMap; pub use conflict_set::{ConflictRegion, ConflictSet, ConflictSetSnapshot, ConflictSetUpdate}; use fs::Fs; use futures::{ - FutureExt, StreamExt, + FutureExt, StreamExt as _, channel::{mpsc, oneshot}, future::{self, Shared}, - stream::FuturesOrdered, }; use git::{ BuildPermalinkParams, GitHostingProviderRegistry, WORK_DIRECTORY_REPO_PATH, @@ -64,8 +63,8 @@ use sum_tree::{Edit, SumTree, TreeSet}; use text::{Bias, BufferId}; use util::{ResultExt, debug_panic, post_inc}; use worktree::{ - File, PathChange, PathKey, PathProgress, PathSummary, PathTarget, ProjectEntryId, - UpdatedGitRepositoriesSet, UpdatedGitRepository, Worktree, + File, PathKey, PathProgress, PathSummary, PathTarget, UpdatedGitRepositoriesSet, + UpdatedGitRepository, Worktree, }; pub struct GitStore { @@ -420,8 +419,6 @@ impl GitStore { client.add_entity_request_handler(Self::handle_fetch); client.add_entity_request_handler(Self::handle_stage); client.add_entity_request_handler(Self::handle_unstage); - client.add_entity_request_handler(Self::handle_stash); - client.add_entity_request_handler(Self::handle_stash_pop); client.add_entity_request_handler(Self::handle_commit); client.add_entity_request_handler(Self::handle_reset); client.add_entity_request_handler(Self::handle_show); @@ -1086,26 +1083,27 @@ impl GitStore { match event { WorktreeStoreEvent::WorktreeUpdatedEntries(worktree_id, updated_entries) => { - if let Some(worktree) = self - .worktree_store - .read(cx) - .worktree_for_id(*worktree_id, cx) - { - let paths_by_git_repo = - self.process_updated_entries(&worktree, updated_entries, cx); - let downstream = downstream - .as_ref() - .map(|downstream| downstream.updates_tx.clone()); - cx.spawn(async move |_, cx| { - let paths_by_git_repo = paths_by_git_repo.await; - for (repo, paths) in paths_by_git_repo { - repo.update(cx, |repo, cx| { - repo.paths_changed(paths, downstream.clone(), cx); - }) - .ok(); - } - }) - .detach(); + let mut paths_by_git_repo = HashMap::<_, Vec<_>>::default(); + for (relative_path, _, _) in updated_entries.iter() { + let Some((repo, repo_path)) = self.repository_and_path_for_project_path( + &(*worktree_id, relative_path.clone()).into(), + cx, + ) else { + continue; + }; + paths_by_git_repo.entry(repo).or_default().push(repo_path) + } + + for (repo, paths) in paths_by_git_repo { + repo.update(cx, |repo, cx| { + repo.paths_changed( + paths, + downstream + .as_ref() + .map(|downstream| downstream.updates_tx.clone()), + cx, + ); + }); } } WorktreeStoreEvent::WorktreeUpdatedGitRepositories(worktree_id, changed_repos) => { @@ -1698,48 +1696,6 @@ impl GitStore { Ok(proto::Ack {}) } - async fn handle_stash( - this: Entity<Self>, - envelope: TypedEnvelope<proto::Stash>, - mut cx: AsyncApp, - ) -> Result<proto::Ack> { - let repository_id = RepositoryId::from_proto(envelope.payload.repository_id); - let repository_handle = Self::repository_for_request(&this, repository_id, &mut cx)?; - - let entries = envelope - .payload - .paths - .into_iter() - .map(PathBuf::from) - .map(RepoPath::new) - .collect(); - - repository_handle - .update(&mut cx, |repository_handle, cx| { - repository_handle.stash_entries(entries, cx) - })? - .await?; - - Ok(proto::Ack {}) - } - - async fn handle_stash_pop( - this: Entity<Self>, - envelope: TypedEnvelope<proto::StashPop>, - mut cx: AsyncApp, - ) -> Result<proto::Ack> { - let repository_id = RepositoryId::from_proto(envelope.payload.repository_id); - let repository_handle = Self::repository_for_request(&this, repository_id, &mut cx)?; - - repository_handle - .update(&mut cx, |repository_handle, cx| { - repository_handle.stash_pop(cx) - })? - .await?; - - Ok(proto::Ack {}) - } - async fn handle_set_index_text( this: Entity<Self>, envelope: TypedEnvelope<proto::SetIndexText>, @@ -2235,80 +2191,6 @@ impl GitStore { .map(|(id, repo)| (*id, repo.read(cx).snapshot.clone())) .collect() } - - fn process_updated_entries( - &self, - worktree: &Entity<Worktree>, - updated_entries: &[(Arc<Path>, ProjectEntryId, PathChange)], - cx: &mut App, - ) -> Task<HashMap<Entity<Repository>, Vec<RepoPath>>> { - let mut repo_paths = self - .repositories - .values() - .map(|repo| (repo.read(cx).work_directory_abs_path.clone(), repo.clone())) - .collect::<Vec<_>>(); - let mut entries: Vec<_> = updated_entries - .iter() - .map(|(path, _, _)| path.clone()) - .collect(); - entries.sort(); - let worktree = worktree.read(cx); - - let entries = entries - .into_iter() - .filter_map(|path| worktree.absolutize(&path).ok()) - .collect::<Arc<[_]>>(); - - let executor = cx.background_executor().clone(); - cx.background_executor().spawn(async move { - repo_paths.sort_by(|lhs, rhs| lhs.0.cmp(&rhs.0)); - let mut paths_by_git_repo = HashMap::<_, Vec<_>>::default(); - let mut tasks = FuturesOrdered::new(); - for (repo_path, repo) in repo_paths.into_iter().rev() { - let entries = entries.clone(); - let task = executor.spawn(async move { - // Find all repository paths that belong to this repo - let mut ix = entries.partition_point(|path| path < &*repo_path); - if ix == entries.len() { - return None; - }; - - let mut paths = vec![]; - // All paths prefixed by a given repo will constitute a continuous range. - while let Some(path) = entries.get(ix) - && let Some(repo_path) = - RepositorySnapshot::abs_path_to_repo_path_inner(&repo_path, &path) - { - paths.push((repo_path, ix)); - ix += 1; - } - Some((repo, paths)) - }); - tasks.push_back(task); - } - - // Now, let's filter out the "duplicate" entries that were processed by multiple distinct repos. - let mut path_was_used = vec![false; entries.len()]; - let tasks = tasks.collect::<Vec<_>>().await; - // Process tasks from the back: iterating backwards allows us to see more-specific paths first. - // We always want to assign a path to it's innermost repository. - for t in tasks { - let Some((repo, paths)) = t else { - continue; - }; - let entry = paths_by_git_repo.entry(repo).or_default(); - for (repo_path, ix) in paths { - if path_was_used[ix] { - continue; - } - path_was_used[ix] = true; - entry.push(repo_path); - } - } - - paths_by_git_repo - }) - } } impl BufferGitState { @@ -2778,16 +2660,8 @@ impl RepositorySnapshot { } pub fn abs_path_to_repo_path(&self, abs_path: &Path) -> Option<RepoPath> { - Self::abs_path_to_repo_path_inner(&self.work_directory_abs_path, abs_path) - } - - #[inline] - fn abs_path_to_repo_path_inner( - work_directory_abs_path: &Path, - abs_path: &Path, - ) -> Option<RepoPath> { abs_path - .strip_prefix(&work_directory_abs_path) + .strip_prefix(&self.work_directory_abs_path) .map(RepoPath::from) .ok() } @@ -3584,82 +3458,6 @@ impl Repository { self.unstage_entries(to_unstage, cx) } - pub fn stash_all(&mut self, cx: &mut Context<Self>) -> Task<anyhow::Result<()>> { - let to_stash = self - .cached_status() - .map(|entry| entry.repo_path.clone()) - .collect(); - - self.stash_entries(to_stash, cx) - } - - pub fn stash_entries( - &mut self, - entries: Vec<RepoPath>, - cx: &mut Context<Self>, - ) -> Task<anyhow::Result<()>> { - let id = self.id; - - cx.spawn(async move |this, cx| { - this.update(cx, |this, _| { - this.send_job(None, move |git_repo, _cx| async move { - match git_repo { - RepositoryState::Local { - backend, - environment, - .. - } => backend.stash_paths(entries, environment).await, - RepositoryState::Remote { project_id, client } => { - client - .request(proto::Stash { - project_id: project_id.0, - repository_id: id.to_proto(), - paths: entries - .into_iter() - .map(|repo_path| repo_path.as_ref().to_proto()) - .collect(), - }) - .await - .context("sending stash request")?; - Ok(()) - } - } - }) - })? - .await??; - Ok(()) - }) - } - - pub fn stash_pop(&mut self, cx: &mut Context<Self>) -> Task<anyhow::Result<()>> { - let id = self.id; - cx.spawn(async move |this, cx| { - this.update(cx, |this, _| { - this.send_job(None, move |git_repo, _cx| async move { - match git_repo { - RepositoryState::Local { - backend, - environment, - .. - } => backend.stash_pop(environment).await, - RepositoryState::Remote { project_id, client } => { - client - .request(proto::StashPop { - project_id: project_id.0, - repository_id: id.to_proto(), - }) - .await - .context("sending stash pop request")?; - Ok(()) - } - } - }) - })? - .await??; - Ok(()) - }) - } - pub fn commit( &mut self, message: SharedString, diff --git a/crates/project/src/git_store/git_traversal.rs b/crates/project/src/git_store/git_traversal.rs index 777042cb02..cd173d5714 100644 --- a/crates/project/src/git_store/git_traversal.rs +++ b/crates/project/src/git_store/git_traversal.rs @@ -1,6 +1,6 @@ use collections::HashMap; -use git::{repository::RepoPath, status::GitSummary}; -use std::{collections::BTreeMap, ops::Deref, path::Path}; +use git::status::GitSummary; +use std::{ops::Deref, path::Path}; use sum_tree::Cursor; use text::Bias; use worktree::{Entry, PathProgress, PathTarget, Traversal}; @@ -11,7 +11,7 @@ use super::{RepositoryId, RepositorySnapshot, StatusEntry}; pub struct GitTraversal<'a> { traversal: Traversal<'a>, current_entry_summary: Option<GitSummary>, - repo_root_to_snapshot: BTreeMap<&'a Path, &'a RepositorySnapshot>, + repo_snapshots: &'a HashMap<RepositoryId, RepositorySnapshot>, repo_location: Option<(RepositoryId, Cursor<'a, StatusEntry, PathProgress<'a>>)>, } @@ -20,46 +20,16 @@ impl<'a> GitTraversal<'a> { repo_snapshots: &'a HashMap<RepositoryId, RepositorySnapshot>, traversal: Traversal<'a>, ) -> GitTraversal<'a> { - let repo_root_to_snapshot = repo_snapshots - .values() - .map(|snapshot| (&*snapshot.work_directory_abs_path, snapshot)) - .collect(); let mut this = GitTraversal { traversal, + repo_snapshots, current_entry_summary: None, repo_location: None, - repo_root_to_snapshot, }; this.synchronize_statuses(true); this } - fn repo_root_for_path(&self, path: &Path) -> Option<(&'a RepositorySnapshot, RepoPath)> { - // We might need to perform a range search multiple times, as there may be a nested repository inbetween - // the target and our path. E.g: - // /our_root_repo/ - // .git/ - // other_repo/ - // .git/ - // our_query.txt - let mut query = path.ancestors(); - while let Some(query) = query.next() { - let (_, snapshot) = self - .repo_root_to_snapshot - .range(Path::new("")..=query) - .last()?; - - let stripped = snapshot - .abs_path_to_repo_path(path) - .map(|repo_path| (*snapshot, repo_path)); - if stripped.is_some() { - return stripped; - } - } - - None - } - fn synchronize_statuses(&mut self, reset: bool) { self.current_entry_summary = None; @@ -72,7 +42,15 @@ impl<'a> GitTraversal<'a> { return; }; - let Some((repo, repo_path)) = self.repo_root_for_path(&abs_path) else { + let Some((repo, repo_path)) = self + .repo_snapshots + .values() + .filter_map(|repo_snapshot| { + let repo_path = repo_snapshot.abs_path_to_repo_path(&abs_path)?; + Some((repo_snapshot, repo_path)) + }) + .max_by_key(|(repo, _)| repo.work_directory_abs_path.clone()) + else { self.repo_location = None; return; }; diff --git a/crates/project/src/lsp_store.rs b/crates/project/src/lsp_store.rs index af3df72c29..161b861dd0 100644 --- a/crates/project/src/lsp_store.rs +++ b/crates/project/src/lsp_store.rs @@ -46,7 +46,6 @@ use language::{ DiagnosticEntry, DiagnosticSet, DiagnosticSourceKind, Diff, File as _, Language, LanguageName, LanguageRegistry, LanguageToolchainStore, LocalFile, LspAdapter, LspAdapterDelegate, Patch, PointUtf16, TextBufferSnapshot, ToOffset, ToPointUtf16, Transaction, Unclipped, - WorkspaceFoldersContent, language_settings::{ FormatOnSave, Formatter, LanguageSettings, SelectedFormatter, language_settings, }, @@ -218,7 +217,6 @@ impl LocalLspStore { let binary = self.get_language_server_binary(adapter.clone(), delegate.clone(), true, cx); let pending_workspace_folders: Arc<Mutex<BTreeSet<Url>>> = Default::default(); - let pending_server = cx.spawn({ let adapter = adapter.clone(); let server_name = adapter.name.clone(); @@ -244,18 +242,14 @@ impl LocalLspStore { return Ok(server); } - let code_action_kinds = adapter.code_action_kinds(); lsp::LanguageServer::new( stderr_capture, server_id, server_name, binary, &root_path, - code_action_kinds, - Some(pending_workspace_folders).filter(|_| { - adapter.adapter.workspace_folders_content() - == WorkspaceFoldersContent::SubprojectRoots - }), + adapter.code_action_kinds(), + pending_workspace_folders, cx, ) } @@ -424,7 +418,7 @@ impl LocalLspStore { if settings.as_ref().is_some_and(|b| b.path.is_some()) { let settings = settings.unwrap(); - return cx.background_spawn(async move { + return cx.spawn(async move |_| { let mut env = delegate.shell_env().await; env.extend(settings.env.unwrap_or_default()); @@ -581,7 +575,8 @@ impl LocalLspStore { }; let root = server.workspace_folders(); Ok(Some( - root.into_iter() + root.iter() + .cloned() .map(|uri| WorkspaceFolder { uri, name: Default::default(), @@ -2425,12 +2420,36 @@ impl LocalLspStore { let server_id = server_node.server_id_or_init( |LaunchDisposition { server_name, - + attach, path, settings, }| { - let server_id = - { + let server_id = match attach { + language::Attach::InstancePerRoot => { + // todo: handle instance per root proper. + if let Some(server_ids) = self + .language_server_ids + .get(&(worktree_id, server_name.clone())) + { + server_ids.iter().cloned().next().unwrap() + } else { + let language_name = language.name(); + let adapter = self.languages + .lsp_adapters(&language_name) + .into_iter() + .find(|adapter| &adapter.name() == server_name) + .expect("To find LSP adapter"); + let server_id = self.start_language_server( + &worktree, + delegate.clone(), + adapter, + settings, + cx, + ); + server_id + } + } + language::Attach::Shared => { let uri = Url::from_file_path( worktree.read(cx).abs_path().join(&path.path), ); @@ -2465,7 +2484,7 @@ impl LocalLspStore { } else { unreachable!("Language server ID should be available, as it's registered on demand") } - + } }; let lsp_store = self.weak.clone(); let server_name = server_node.name(); @@ -4681,11 +4700,35 @@ impl LspStore { let server_id = node.server_id_or_init( |LaunchDisposition { server_name, - + attach, path, settings, - }| - { + }| match attach { + language::Attach::InstancePerRoot => { + // todo: handle instance per root proper. + if let Some(server_ids) = local + .language_server_ids + .get(&(worktree_id, server_name.clone())) + { + server_ids.iter().cloned().next().unwrap() + } else { + let adapter = local + .languages + .lsp_adapters(&language) + .into_iter() + .find(|adapter| &adapter.name() == server_name) + .expect("To find LSP adapter"); + let server_id = local.start_language_server( + &worktree, + delegate.clone(), + adapter, + settings, + cx, + ); + server_id + } + } + language::Attach::Shared => { let uri = Url::from_file_path( worktree.read(cx).abs_path().join(&path.path), ); @@ -4714,6 +4757,7 @@ impl LspStore { } server_id } + }, ); if let Some(language_server_id) = server_id { @@ -4911,7 +4955,7 @@ impl LspStore { language_server_id: server_id.0 as u64, hint: Some(InlayHints::project_to_proto_hint(hint.clone())), }; - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let response = upstream_client .request(request) .await @@ -5125,7 +5169,7 @@ impl LspStore { trigger, version: serialize_version(&buffer.read(cx).version()), }; - cx.background_spawn(async move { + cx.spawn(async move |_, _| { client .request(request) .await? @@ -5284,7 +5328,7 @@ impl LspStore { GetDefinitions { position }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { Ok(definitions_task .await .into_iter() @@ -5357,7 +5401,7 @@ impl LspStore { GetDeclarations { position }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { Ok(declarations_task .await .into_iter() @@ -5430,7 +5474,7 @@ impl LspStore { GetTypeDefinitions { position }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { Ok(type_definitions_task .await .into_iter() @@ -5503,7 +5547,7 @@ impl LspStore { GetImplementations { position }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { Ok(implementations_task .await .into_iter() @@ -5576,7 +5620,7 @@ impl LspStore { GetReferences { position }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { Ok(references_task .await .into_iter() @@ -5660,7 +5704,7 @@ impl LspStore { }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { Ok(all_actions_task .await .into_iter() @@ -6854,7 +6898,7 @@ impl LspStore { } else { let document_colors_task = self.request_multiple_lsp_locally(buffer, None::<usize>, GetDocumentColor, cx); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { Ok(document_colors_task .await .into_iter() @@ -6933,7 +6977,7 @@ impl LspStore { GetSignatureHelp { position }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { all_actions_task .await .into_iter() @@ -7010,7 +7054,7 @@ impl LspStore { GetHover { position }, cx, ); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { all_actions_task .await .into_iter() @@ -8013,7 +8057,7 @@ impl LspStore { }) .collect::<FuturesUnordered<_>>(); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let mut responses = Vec::with_capacity(response_results.len()); while let Some((server_id, response_result)) = response_results.next().await { if let Some(response) = response_result.log_err() { diff --git a/crates/project/src/manifest_tree/server_tree.rs b/crates/project/src/manifest_tree/server_tree.rs index 81cb1c450c..0283f06eec 100644 --- a/crates/project/src/manifest_tree/server_tree.rs +++ b/crates/project/src/manifest_tree/server_tree.rs @@ -13,10 +13,10 @@ use std::{ sync::{Arc, Weak}, }; -use collections::IndexMap; +use collections::{HashMap, IndexMap}; use gpui::{App, AppContext as _, Entity, Subscription}; use language::{ - CachedLspAdapter, LanguageName, LanguageRegistry, ManifestDelegate, + Attach, CachedLspAdapter, LanguageName, LanguageRegistry, ManifestDelegate, language_settings::AllLanguageSettings, }; use lsp::LanguageServerName; @@ -38,6 +38,7 @@ pub(crate) struct ServersForWorktree { pub struct LanguageServerTree { manifest_tree: Entity<ManifestTree>, pub(crate) instances: BTreeMap<WorktreeId, ServersForWorktree>, + attach_kind_cache: HashMap<LanguageServerName, Attach>, languages: Arc<LanguageRegistry>, _subscriptions: Subscription, } @@ -52,6 +53,7 @@ pub struct LanguageServerTreeNode(Weak<InnerTreeNode>); #[derive(Debug)] pub(crate) struct LaunchDisposition<'a> { pub(crate) server_name: &'a LanguageServerName, + pub(crate) attach: Attach, pub(crate) path: ProjectPath, pub(crate) settings: Arc<LspSettings>, } @@ -60,6 +62,7 @@ impl<'a> From<&'a InnerTreeNode> for LaunchDisposition<'a> { fn from(value: &'a InnerTreeNode) -> Self { LaunchDisposition { server_name: &value.name, + attach: value.attach, path: value.path.clone(), settings: value.settings.clone(), } @@ -102,6 +105,7 @@ impl From<Weak<InnerTreeNode>> for LanguageServerTreeNode { pub struct InnerTreeNode { id: OnceLock<LanguageServerId>, name: LanguageServerName, + attach: Attach, path: ProjectPath, settings: Arc<LspSettings>, } @@ -109,12 +113,14 @@ pub struct InnerTreeNode { impl InnerTreeNode { fn new( name: LanguageServerName, + attach: Attach, path: ProjectPath, settings: impl Into<Arc<LspSettings>>, ) -> Self { InnerTreeNode { id: Default::default(), name, + attach, path, settings: settings.into(), } @@ -124,11 +130,8 @@ impl InnerTreeNode { /// Determines how the list of adapters to query should be constructed. pub(crate) enum AdapterQuery<'a> { /// Search for roots of all adapters associated with a given language name. - /// Layman: Look for all project roots along the queried path that have any - /// language server associated with this language running. Language(&'a LanguageName), /// Search for roots of adapter with a given name. - /// Layman: Look for all project roots along the queried path that have this server running. Adapter(&'a LanguageServerName), } @@ -144,7 +147,7 @@ impl LanguageServerTree { }), manifest_tree, instances: Default::default(), - + attach_kind_cache: Default::default(), languages, }) } @@ -220,6 +223,7 @@ impl LanguageServerTree { .and_then(|name| roots.get(&name)) .cloned() .unwrap_or_else(|| root_path.clone()); + let attach = adapter.attach_kind(); let inner_node = self .instances @@ -233,6 +237,7 @@ impl LanguageServerTree { ( Arc::new(InnerTreeNode::new( adapter.name(), + attach, root_path.clone(), settings.clone(), )), @@ -374,6 +379,7 @@ pub(crate) struct ServerTreeRebase<'a> { impl<'tree> ServerTreeRebase<'tree> { fn new(new_tree: &'tree mut LanguageServerTree) -> Self { let old_contents = std::mem::take(&mut new_tree.instances); + new_tree.attach_kind_cache.clear(); let all_server_ids = old_contents .values() .flat_map(|nodes| { @@ -440,7 +446,10 @@ impl<'tree> ServerTreeRebase<'tree> { .get(&disposition.path.worktree_id) .and_then(|worktree_nodes| worktree_nodes.roots.get(&disposition.path.path)) .and_then(|roots| roots.get(&disposition.name)) - .filter(|(old_node, _)| disposition.settings == old_node.settings) + .filter(|(old_node, _)| { + disposition.attach == old_node.attach + && disposition.settings == old_node.settings + }) else { return Some(node); }; diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 13587b43e7..6b943216b3 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -3372,7 +3372,7 @@ impl Project { let task = self.lsp_store.update(cx, |lsp_store, cx| { lsp_store.definitions(buffer, position, cx) }); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let result = task.await; drop(guard); result @@ -3390,7 +3390,7 @@ impl Project { let task = self.lsp_store.update(cx, |lsp_store, cx| { lsp_store.declarations(buffer, position, cx) }); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let result = task.await; drop(guard); result @@ -3408,7 +3408,7 @@ impl Project { let task = self.lsp_store.update(cx, |lsp_store, cx| { lsp_store.type_definitions(buffer, position, cx) }); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let result = task.await; drop(guard); result @@ -3426,7 +3426,7 @@ impl Project { let task = self.lsp_store.update(cx, |lsp_store, cx| { lsp_store.implementations(buffer, position, cx) }); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let result = task.await; drop(guard); result @@ -3444,7 +3444,7 @@ impl Project { let task = self.lsp_store.update(cx, |lsp_store, cx| { lsp_store.references(buffer, position, cx) }); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let result = task.await; drop(guard); result @@ -3996,7 +3996,7 @@ impl Project { let task = self.lsp_store.update(cx, |lsp_store, cx| { lsp_store.request_lsp(buffer_handle, server, request, cx) }); - cx.background_spawn(async move { + cx.spawn(async move |_, _| { let result = task.await; drop(guard); result diff --git a/crates/project/src/terminals.rs b/crates/project/src/terminals.rs index 973d4e8811..8cfbdff311 100644 --- a/crates/project/src/terminals.rs +++ b/crates/project/src/terminals.rs @@ -213,24 +213,17 @@ impl Project { cx: &mut Context<Self>, ) -> Result<Entity<Terminal>> { let this = &mut *self; - let ssh_details = this.ssh_details(cx); let path: Option<Arc<Path>> = match &kind { TerminalKind::Shell(path) => path.as_ref().map(|path| Arc::from(path.as_ref())), TerminalKind::Task(spawn_task) => { if let Some(cwd) = &spawn_task.cwd { - if ssh_details.is_some() { - Some(Arc::from(cwd.as_ref())) - } else { - let cwd = cwd.to_string_lossy(); - let tilde_substituted = shellexpand::tilde(&cwd); - Some(Arc::from(Path::new(tilde_substituted.as_ref()))) - } + Some(Arc::from(cwd.as_ref())) } else { this.active_project_directory(cx) } } }; - + let ssh_details = this.ssh_details(cx); let is_ssh_terminal = ssh_details.is_some(); let mut settings_location = None; diff --git a/crates/project_panel/src/project_panel.rs b/crates/project_panel/src/project_panel.rs index 05e6bfe4df..b8a7aa2220 100644 --- a/crates/project_panel/src/project_panel.rs +++ b/crates/project_panel/src/project_panel.rs @@ -2731,7 +2731,26 @@ impl ProjectPanel { } fn index_for_selection(&self, selection: SelectedEntry) -> Option<(usize, usize, usize)> { - self.index_for_entry(selection.entry_id, selection.worktree_id) + let mut entry_index = 0; + let mut visible_entries_index = 0; + for (worktree_index, (worktree_id, worktree_entries, _)) in + self.visible_entries.iter().enumerate() + { + if *worktree_id == selection.worktree_id { + for entry in worktree_entries { + if entry.id == selection.entry_id { + return Some((worktree_index, entry_index, visible_entries_index)); + } else { + visible_entries_index += 1; + entry_index += 1; + } + } + break; + } else { + visible_entries_index += worktree_entries.len(); + } + } + None } fn disjoint_entries(&self, cx: &App) -> BTreeSet<SelectedEntry> { @@ -3342,12 +3361,12 @@ impl ProjectPanel { entry_id: ProjectEntryId, worktree_id: WorktreeId, ) -> Option<(usize, usize, usize)> { + let mut worktree_ix = 0; let mut total_ix = 0; - for (worktree_ix, (current_worktree_id, visible_worktree_entries, _)) in - self.visible_entries.iter().enumerate() - { + for (current_worktree_id, visible_worktree_entries, _) in &self.visible_entries { if worktree_id != *current_worktree_id { total_ix += visible_worktree_entries.len(); + worktree_ix += 1; continue; } diff --git a/crates/proto/proto/debugger.proto b/crates/proto/proto/debugger.proto index c6f9c9f134..09abd4bf1c 100644 --- a/crates/proto/proto/debugger.proto +++ b/crates/proto/proto/debugger.proto @@ -188,7 +188,7 @@ message DapSetVariableValueResponse { message DapPauseRequest { uint64 project_id = 1; uint64 client_id = 2; - int64 thread_id = 3; + uint64 thread_id = 3; } message DapDisconnectRequest { @@ -202,7 +202,7 @@ message DapDisconnectRequest { message DapTerminateThreadsRequest { uint64 project_id = 1; uint64 client_id = 2; - repeated int64 thread_ids = 3; + repeated uint64 thread_ids = 3; } message DapThreadsRequest { @@ -246,7 +246,7 @@ message IgnoreBreakpointState { message DapNextRequest { uint64 project_id = 1; uint64 client_id = 2; - int64 thread_id = 3; + uint64 thread_id = 3; optional bool single_thread = 4; optional SteppingGranularity granularity = 5; } @@ -254,7 +254,7 @@ message DapNextRequest { message DapStepInRequest { uint64 project_id = 1; uint64 client_id = 2; - int64 thread_id = 3; + uint64 thread_id = 3; optional uint64 target_id = 4; optional bool single_thread = 5; optional SteppingGranularity granularity = 6; @@ -263,7 +263,7 @@ message DapStepInRequest { message DapStepOutRequest { uint64 project_id = 1; uint64 client_id = 2; - int64 thread_id = 3; + uint64 thread_id = 3; optional bool single_thread = 4; optional SteppingGranularity granularity = 5; } @@ -271,7 +271,7 @@ message DapStepOutRequest { message DapStepBackRequest { uint64 project_id = 1; uint64 client_id = 2; - int64 thread_id = 3; + uint64 thread_id = 3; optional bool single_thread = 4; optional SteppingGranularity granularity = 5; } @@ -279,7 +279,7 @@ message DapStepBackRequest { message DapContinueRequest { uint64 project_id = 1; uint64 client_id = 2; - int64 thread_id = 3; + uint64 thread_id = 3; optional bool single_thread = 4; } @@ -311,7 +311,7 @@ message DapLoadedSourcesResponse { message DapStackTraceRequest { uint64 project_id = 1; uint64 client_id = 2; - int64 thread_id = 3; + uint64 thread_id = 3; optional uint64 start_frame = 4; optional uint64 stack_trace_levels = 5; } @@ -358,7 +358,7 @@ message DapVariable { } message DapThread { - int64 id = 1; + uint64 id = 1; string name = 2; } diff --git a/crates/proto/proto/git.proto b/crates/proto/proto/git.proto index ea08d36371..1d544b15ff 100644 --- a/crates/proto/proto/git.proto +++ b/crates/proto/proto/git.proto @@ -286,17 +286,6 @@ message Unstage { repeated string paths = 4; } -message Stash { - uint64 project_id = 1; - uint64 repository_id = 2; - repeated string paths = 3; -} - -message StashPop { - uint64 project_id = 1; - uint64 repository_id = 2; -} - message Commit { uint64 project_id = 1; reserved 2; diff --git a/crates/proto/proto/zed.proto b/crates/proto/proto/zed.proto index 29ab2b1e90..31f929ec90 100644 --- a/crates/proto/proto/zed.proto +++ b/crates/proto/proto/zed.proto @@ -396,10 +396,8 @@ message Envelope { GetDocumentColor get_document_color = 353; GetDocumentColorResponse get_document_color_response = 354; GetColorPresentation get_color_presentation = 355; - GetColorPresentationResponse get_color_presentation_response = 356; + GetColorPresentationResponse get_color_presentation_response = 356; // current max - Stash stash = 357; - StashPop stash_pop = 358; // current max } reserved 87 to 88; diff --git a/crates/proto/src/proto.rs b/crates/proto/src/proto.rs index 83e5a77c86..918ac9e935 100644 --- a/crates/proto/src/proto.rs +++ b/crates/proto/src/proto.rs @@ -261,8 +261,6 @@ messages!( (Unfollow, Foreground), (UnshareProject, Foreground), (Unstage, Background), - (Stash, Background), - (StashPop, Background), (UpdateBuffer, Foreground), (UpdateBufferFile, Foreground), (UpdateChannelBuffer, Foreground), @@ -421,8 +419,6 @@ request_messages!( (TaskContextForLocation, TaskContext), (Test, Test), (Unstage, Ack), - (Stash, Ack), - (StashPop, Ack), (UpdateBuffer, Ack), (UpdateParticipantLocation, Ack), (UpdateProject, Ack), @@ -553,8 +549,6 @@ entity_messages!( TaskContextForLocation, UnshareProject, Unstage, - Stash, - StashPop, UpdateBuffer, UpdateBufferFile, UpdateDiagnosticSummary, @@ -784,25 +778,6 @@ pub fn split_repository_update( }]) } -impl MultiLspQuery { - pub fn request_str(&self) -> &str { - match self.request { - Some(multi_lsp_query::Request::GetHover(_)) => "GetHover", - Some(multi_lsp_query::Request::GetCodeActions(_)) => "GetCodeActions", - Some(multi_lsp_query::Request::GetSignatureHelp(_)) => "GetSignatureHelp", - Some(multi_lsp_query::Request::GetCodeLens(_)) => "GetCodeLens", - Some(multi_lsp_query::Request::GetDocumentDiagnostics(_)) => "GetDocumentDiagnostics", - Some(multi_lsp_query::Request::GetDocumentColor(_)) => "GetDocumentColor", - Some(multi_lsp_query::Request::GetDefinition(_)) => "GetDefinition", - Some(multi_lsp_query::Request::GetDeclaration(_)) => "GetDeclaration", - Some(multi_lsp_query::Request::GetTypeDefinition(_)) => "GetTypeDefinition", - Some(multi_lsp_query::Request::GetImplementation(_)) => "GetImplementation", - Some(multi_lsp_query::Request::GetReferences(_)) => "GetReferences", - None => "<unknown>", - } - } -} - #[cfg(test)] mod tests { use super::*; diff --git a/crates/remote/src/ssh_session.rs b/crates/remote/src/ssh_session.rs index 4306251e44..e31d3dcfd5 100644 --- a/crates/remote/src/ssh_session.rs +++ b/crates/remote/src/ssh_session.rs @@ -1742,7 +1742,7 @@ impl SshRemoteConnection { } }); - cx.background_spawn(async move { + cx.spawn(async move |_| { let result = futures::select! { result = stdin_task.fuse() => { result.context("stdin") diff --git a/crates/search/src/buffer_search.rs b/crates/search/src/buffer_search.rs index 5d77a95027..c2590ec9b0 100644 --- a/crates/search/src/buffer_search.rs +++ b/crates/search/src/buffer_search.rs @@ -228,17 +228,16 @@ impl Render for BufferSearchBar { if in_replace { key_context.add("in_replace"); } - let query_border = if self.query_error.is_some() { + let editor_border = if self.query_error.is_some() { Color::Error.color(cx) } else { cx.theme().colors().border }; - let replacement_border = cx.theme().colors().border; let container_width = window.viewport_size().width; let input_width = SearchInputWidth::calc_width(container_width); - let input_base_styles = |border_color| { + let input_base_styles = || { h_flex() .min_w_32() .w(input_width) @@ -247,7 +246,7 @@ impl Render for BufferSearchBar { .pr_1() .py_1() .border_1() - .border_color(border_color) + .border_color(editor_border) .rounded_lg() }; @@ -257,7 +256,7 @@ impl Render for BufferSearchBar { el.child(Label::new("Find in results").color(Color::Hint)) }) .child( - input_base_styles(query_border) + input_base_styles() .id("editor-scroll") .track_scroll(&self.editor_scroll_handle) .child(self.render_text_input(&self.query_editor, color_override, cx)) @@ -431,13 +430,11 @@ impl Render for BufferSearchBar { let replace_line = should_show_replace_input.then(|| { h_flex() .gap_2() - .child( - input_base_styles(replacement_border).child(self.render_text_input( - &self.replacement_editor, - None, - cx, - )), - ) + .child(input_base_styles().child(self.render_text_input( + &self.replacement_editor, + None, + cx, + ))) .child( h_flex() .min_w_64() @@ -703,11 +700,7 @@ impl BufferSearchBar { window: &mut Window, cx: &mut Context<Self>, ) -> Self { - let query_editor = cx.new(|cx| { - let mut editor = Editor::single_line(window, cx); - editor.set_use_autoclose(false); - editor - }); + let query_editor = cx.new(|cx| Editor::single_line(window, cx)); cx.subscribe_in(&query_editor, window, Self::on_query_editor_event) .detach(); let replacement_editor = cx.new(|cx| Editor::single_line(window, cx)); @@ -778,7 +771,6 @@ impl BufferSearchBar { pub fn dismiss(&mut self, _: &Dismiss, window: &mut Window, cx: &mut Context<Self>) { self.dismissed = true; - self.query_error = None; for searchable_item in self.searchable_items_with_matches.keys() { if let Some(searchable_item) = WeakSearchableItemHandle::upgrade(searchable_item.as_ref(), cx) diff --git a/crates/search/src/project_search.rs b/crates/search/src/project_search.rs index 3b9700c5f1..57ca5e56b9 100644 --- a/crates/search/src/project_search.rs +++ b/crates/search/src/project_search.rs @@ -195,7 +195,6 @@ pub struct ProjectSearch { #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] enum InputPanel { Query, - Replacement, Exclude, Include, } @@ -1963,7 +1962,7 @@ impl Render for ProjectSearchBar { MultipleInputs, } - let input_base_styles = |base_style: BaseStyle, panel: InputPanel| { + let input_base_styles = |base_style: BaseStyle| { h_flex() .min_w_32() .map(|div| match base_style { @@ -1975,11 +1974,11 @@ impl Render for ProjectSearchBar { .pr_1() .py_1() .border_1() - .border_color(search.border_color_for(panel, cx)) + .border_color(search.border_color_for(InputPanel::Query, cx)) .rounded_lg() }; - let query_column = input_base_styles(BaseStyle::SingleInput, InputPanel::Query) + let query_column = input_base_styles(BaseStyle::SingleInput) .on_action(cx.listener(|this, action, window, cx| this.confirm(action, window, cx))) .on_action(cx.listener(|this, action, window, cx| { this.previous_history_query(action, window, cx) @@ -2168,7 +2167,7 @@ impl Render for ProjectSearchBar { .child(h_flex().min_w_64().child(mode_column).child(matches_column)); let replace_line = search.replace_enabled.then(|| { - let replace_column = input_base_styles(BaseStyle::SingleInput, InputPanel::Replacement) + let replace_column = input_base_styles(BaseStyle::SingleInput) .child(self.render_text_input(&search.replacement_editor, cx)); let focus_handle = search.replacement_editor.read(cx).focus_handle(cx); @@ -2242,7 +2241,7 @@ impl Render for ProjectSearchBar { .gap_2() .w(input_width) .child( - input_base_styles(BaseStyle::MultipleInputs, InputPanel::Include) + input_base_styles(BaseStyle::MultipleInputs) .on_action(cx.listener(|this, action, window, cx| { this.previous_history_query(action, window, cx) })) @@ -2252,7 +2251,7 @@ impl Render for ProjectSearchBar { .child(self.render_text_input(&search.included_files_editor, cx)), ) .child( - input_base_styles(BaseStyle::MultipleInputs, InputPanel::Exclude) + input_base_styles(BaseStyle::MultipleInputs) .on_action(cx.listener(|this, action, window, cx| { this.previous_history_query(action, window, cx) })) diff --git a/crates/settings/src/settings.rs b/crates/settings/src/settings.rs index afd4ea0890..4e6bd94d92 100644 --- a/crates/settings/src/settings.rs +++ b/crates/settings/src/settings.rs @@ -7,7 +7,7 @@ mod settings_json; mod settings_store; mod vscode_import; -use gpui::{App, Global}; +use gpui::App; use rust_embed::RustEmbed; use std::{borrow::Cow, fmt, str}; use util::asset_str; @@ -27,11 +27,6 @@ pub use settings_store::{ }; pub use vscode_import::{VsCodeSettings, VsCodeSettingsSource}; -#[derive(Clone, Debug, PartialEq)] -pub struct ActiveSettingsProfileName(pub String); - -impl Global for ActiveSettingsProfileName {} - #[derive(Copy, Clone, PartialEq, Eq, Debug, Hash, PartialOrd, Ord)] pub struct WorktreeId(usize); @@ -79,7 +74,6 @@ pub fn init(cx: &mut App) { .unwrap(); cx.set_global(settings); BaseKeymap::register(cx); - SettingsStore::observe_active_settings_profile_name(cx).detach(); } pub fn default_settings() -> Cow<'static, str> { diff --git a/crates/settings/src/settings_store.rs b/crates/settings/src/settings_store.rs index 7f6437dac8..0d23385a68 100644 --- a/crates/settings/src/settings_store.rs +++ b/crates/settings/src/settings_store.rs @@ -26,8 +26,8 @@ use util::{ pub type EditorconfigProperties = ec4rs::Properties; use crate::{ - ActiveSettingsProfileName, ParameterizedJsonSchema, SettingsJsonSchemaParams, VsCodeSettings, - WorktreeId, parse_json_with_comments, update_value_in_json_text, + ParameterizedJsonSchema, SettingsJsonSchemaParams, VsCodeSettings, WorktreeId, + parse_json_with_comments, update_value_in_json_text, }; /// A value that can be defined as a user setting. @@ -122,8 +122,6 @@ pub struct SettingsSources<'a, T> { pub user: Option<&'a T>, /// The user settings for the current release channel. pub release_channel: Option<&'a T>, - /// The settings associated with an enabled settings profile - pub profile: Option<&'a T>, /// The server's settings. pub server: Option<&'a T>, /// The project settings, ordered from least specific to most specific. @@ -143,7 +141,6 @@ impl<'a, T: Serialize> SettingsSources<'a, T> { .chain(self.extensions) .chain(self.user) .chain(self.release_channel) - .chain(self.profile) .chain(self.server) .chain(self.project.iter().copied()) } @@ -285,14 +282,6 @@ impl SettingsStore { } } - pub fn observe_active_settings_profile_name(cx: &mut App) -> gpui::Subscription { - cx.observe_global::<ActiveSettingsProfileName>(|cx| { - Self::update_global(cx, |store, cx| { - store.recompute_values(None, cx).log_err(); - }); - }) - } - pub fn update<C, R>(cx: &mut C, f: impl FnOnce(&mut Self, &mut C) -> R) -> R where C: BorrowAppContext, @@ -332,17 +321,6 @@ impl SettingsStore { .log_err(); } - let mut profile_value = None; - if let Some(active_profile) = cx.try_global::<ActiveSettingsProfileName>() { - if let Some(profiles) = self.raw_user_settings.get("profiles") { - if let Some(profile_settings) = profiles.get(&active_profile.0) { - profile_value = setting_value - .deserialize_setting(profile_settings) - .log_err(); - } - } - } - let server_value = self .raw_server_settings .as_ref() @@ -362,7 +340,6 @@ impl SettingsStore { extensions: extension_value.as_ref(), user: user_value.as_ref(), release_channel: release_channel_value.as_ref(), - profile: profile_value.as_ref(), server: server_value.as_ref(), project: &[], }, @@ -425,16 +402,6 @@ impl SettingsStore { &self.raw_user_settings } - /// Get the configured settings profile names. - pub fn configured_settings_profiles(&self) -> impl Iterator<Item = &str> { - self.raw_user_settings - .get("profiles") - .and_then(|v| v.as_object()) - .into_iter() - .flat_map(|obj| obj.keys()) - .map(|s| s.as_str()) - } - /// Access the raw JSON value of the global settings. pub fn raw_global_settings(&self) -> Option<&Value> { self.raw_global_settings.as_ref() @@ -565,9 +532,7 @@ impl SettingsStore { })) .ok(); } -} -impl SettingsStore { /// Updates the value of a setting in a JSON file, returning the new text /// for that JSON file. pub fn new_text_for_update<T: Settings>( @@ -1036,18 +1001,18 @@ impl SettingsStore { const ZED_SETTINGS: &str = "ZedSettings"; let zed_settings_ref = add_new_subschema(&mut generator, ZED_SETTINGS, combined_schema); - // add `ZedSettingsOverride` which is the same as `ZedSettings` except that unknown - // fields are rejected. This is used for release stage settings and profiles. - let mut zed_settings_override = zed_settings_ref.clone(); - zed_settings_override.insert("unevaluatedProperties".to_string(), false.into()); - let zed_settings_override_ref = add_new_subschema( + // add `ZedReleaseStageSettings` which is the same as `ZedSettings` except that unknown + // fields are rejected. + let mut zed_release_stage_settings = zed_settings_ref.clone(); + zed_release_stage_settings.insert("unevaluatedProperties".to_string(), false.into()); + let zed_release_stage_settings_ref = add_new_subschema( &mut generator, - "ZedSettingsOverride", - zed_settings_override.to_value(), + "ZedReleaseStageSettings", + zed_release_stage_settings.to_value(), ); // Remove `"additionalProperties": false` added by `DefaultDenyUnknownFields` so that - // unknown fields can be handled by the root schema and `ZedSettingsOverride`. + // unknown fields can be handled by the root schema and `ZedReleaseStageSettings`. let mut definitions = generator.take_definitions(true); definitions .get_mut(ZED_SETTINGS) @@ -1067,20 +1032,15 @@ impl SettingsStore { "$schema": meta_schema, "title": "Zed Settings", "unevaluatedProperties": false, - // ZedSettings + settings overrides for each release stage / profiles + // ZedSettings + settings overrides for each release stage "allOf": [ zed_settings_ref, { "properties": { - "dev": zed_settings_override_ref, - "nightly": zed_settings_override_ref, - "stable": zed_settings_override_ref, - "preview": zed_settings_override_ref, - "profiles": { - "type": "object", - "description": "Configures any number of settings profiles.", - "additionalProperties": zed_settings_override_ref - } + "dev": zed_release_stage_settings_ref, + "nightly": zed_release_stage_settings_ref, + "stable": zed_release_stage_settings_ref, + "preview": zed_release_stage_settings_ref, } } ], @@ -1139,16 +1099,6 @@ impl SettingsStore { } } - let mut profile_settings = None; - if let Some(active_profile) = cx.try_global::<ActiveSettingsProfileName>() { - if let Some(profiles) = self.raw_user_settings.get("profiles") { - if let Some(profile_json) = profiles.get(&active_profile.0) { - profile_settings = - setting_value.deserialize_setting(profile_json).log_err(); - } - } - } - // If the global settings file changed, reload the global value for the field. if changed_local_path.is_none() { if let Some(value) = setting_value @@ -1159,7 +1109,6 @@ impl SettingsStore { extensions: extension_settings.as_ref(), user: user_settings.as_ref(), release_channel: release_channel_settings.as_ref(), - profile: profile_settings.as_ref(), server: server_settings.as_ref(), project: &[], }, @@ -1212,7 +1161,6 @@ impl SettingsStore { extensions: extension_settings.as_ref(), user: user_settings.as_ref(), release_channel: release_channel_settings.as_ref(), - profile: profile_settings.as_ref(), server: server_settings.as_ref(), project: &project_settings_stack.iter().collect::<Vec<_>>(), }, @@ -1338,9 +1286,6 @@ impl<T: Settings> AnySettingValue for SettingValue<T> { release_channel: values .release_channel .map(|value| value.0.downcast_ref::<T::FileContent>().unwrap()), - profile: values - .profile - .map(|value| value.0.downcast_ref::<T::FileContent>().unwrap()), server: values .server .map(|value| value.0.downcast_ref::<T::FileContent>().unwrap()), diff --git a/crates/settings_profile_selector/Cargo.toml b/crates/settings_profile_selector/Cargo.toml deleted file mode 100644 index 189272e54b..0000000000 --- a/crates/settings_profile_selector/Cargo.toml +++ /dev/null @@ -1,35 +0,0 @@ -[package] -name = "settings_profile_selector" -version = "0.1.0" -edition.workspace = true -publish.workspace = true -license = "GPL-3.0-or-later" - -[lints] -workspace = true - -[lib] -path = "src/settings_profile_selector.rs" -doctest = false - -[dependencies] -fuzzy.workspace = true -gpui.workspace = true -picker.workspace = true -settings.workspace = true -ui.workspace = true -workspace-hack.workspace = true -workspace.workspace = true -zed_actions.workspace = true - -[dev-dependencies] -client = { workspace = true, features = ["test-support"] } -editor = { workspace = true, features = ["test-support"] } -gpui = { workspace = true, features = ["test-support"] } -language = { workspace = true, features = ["test-support"] } -menu.workspace = true -project = { workspace = true, features = ["test-support"] } -serde_json.workspace = true -settings = { workspace = true, features = ["test-support"] } -theme = { workspace = true, features = ["test-support"] } -workspace = { workspace = true, features = ["test-support"] } diff --git a/crates/settings_profile_selector/LICENSE-GPL b/crates/settings_profile_selector/LICENSE-GPL deleted file mode 120000 index 89e542f750..0000000000 --- a/crates/settings_profile_selector/LICENSE-GPL +++ /dev/null @@ -1 +0,0 @@ -../../LICENSE-GPL \ No newline at end of file diff --git a/crates/settings_profile_selector/src/settings_profile_selector.rs b/crates/settings_profile_selector/src/settings_profile_selector.rs deleted file mode 100644 index 8a34c12051..0000000000 --- a/crates/settings_profile_selector/src/settings_profile_selector.rs +++ /dev/null @@ -1,581 +0,0 @@ -use fuzzy::{StringMatch, StringMatchCandidate, match_strings}; -use gpui::{ - App, Context, DismissEvent, Entity, EventEmitter, Focusable, Render, Task, WeakEntity, Window, -}; -use picker::{Picker, PickerDelegate}; -use settings::{ActiveSettingsProfileName, SettingsStore}; -use ui::{HighlightedLabel, ListItem, ListItemSpacing, prelude::*}; -use workspace::{ModalView, Workspace}; - -pub fn init(cx: &mut App) { - cx.on_action(|_: &zed_actions::settings_profile_selector::Toggle, cx| { - workspace::with_active_or_new_workspace(cx, |workspace, window, cx| { - toggle_settings_profile_selector(workspace, window, cx); - }); - }); -} - -fn toggle_settings_profile_selector( - workspace: &mut Workspace, - window: &mut Window, - cx: &mut Context<Workspace>, -) { - workspace.toggle_modal(window, cx, |window, cx| { - let delegate = SettingsProfileSelectorDelegate::new(cx.entity().downgrade(), window, cx); - SettingsProfileSelector::new(delegate, window, cx) - }); -} - -pub struct SettingsProfileSelector { - picker: Entity<Picker<SettingsProfileSelectorDelegate>>, -} - -impl ModalView for SettingsProfileSelector {} - -impl EventEmitter<DismissEvent> for SettingsProfileSelector {} - -impl Focusable for SettingsProfileSelector { - fn focus_handle(&self, cx: &App) -> gpui::FocusHandle { - self.picker.focus_handle(cx) - } -} - -impl Render for SettingsProfileSelector { - fn render(&mut self, _: &mut Window, _: &mut Context<Self>) -> impl IntoElement { - v_flex().w(rems(22.)).child(self.picker.clone()) - } -} - -impl SettingsProfileSelector { - pub fn new( - delegate: SettingsProfileSelectorDelegate, - window: &mut Window, - cx: &mut Context<Self>, - ) -> Self { - let picker = cx.new(|cx| Picker::uniform_list(delegate, window, cx)); - Self { picker } - } -} - -pub struct SettingsProfileSelectorDelegate { - matches: Vec<StringMatch>, - profile_names: Vec<Option<String>>, - original_profile_name: Option<String>, - selected_profile_name: Option<String>, - selected_index: usize, - selection_completed: bool, - selector: WeakEntity<SettingsProfileSelector>, -} - -impl SettingsProfileSelectorDelegate { - fn new( - selector: WeakEntity<SettingsProfileSelector>, - _: &mut Window, - cx: &mut Context<SettingsProfileSelector>, - ) -> Self { - let settings_store = cx.global::<SettingsStore>(); - let mut profile_names: Vec<Option<String>> = settings_store - .configured_settings_profiles() - .map(|s| Some(s.to_string())) - .collect(); - profile_names.insert(0, None); - - let matches = profile_names - .iter() - .enumerate() - .map(|(ix, profile_name)| StringMatch { - candidate_id: ix, - score: 0.0, - positions: Default::default(), - string: display_name(profile_name), - }) - .collect(); - - let profile_name = cx - .try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()); - - let mut this = Self { - matches, - profile_names, - original_profile_name: profile_name.clone(), - selected_profile_name: None, - selected_index: 0, - selection_completed: false, - selector, - }; - - if let Some(profile_name) = profile_name { - this.select_if_matching(&profile_name); - } - - this - } - - fn select_if_matching(&mut self, profile_name: &str) { - self.selected_index = self - .matches - .iter() - .position(|mat| mat.string == profile_name) - .unwrap_or(self.selected_index); - } - - fn set_selected_profile( - &self, - cx: &mut Context<Picker<SettingsProfileSelectorDelegate>>, - ) -> Option<String> { - let mat = self.matches.get(self.selected_index)?; - let profile_name = self.profile_names.get(mat.candidate_id)?; - return Self::update_active_profile_name_global(profile_name.clone(), cx); - } - - fn update_active_profile_name_global( - profile_name: Option<String>, - cx: &mut Context<Picker<SettingsProfileSelectorDelegate>>, - ) -> Option<String> { - if let Some(profile_name) = profile_name { - cx.set_global(ActiveSettingsProfileName(profile_name.clone())); - return Some(profile_name.clone()); - } - - if cx.has_global::<ActiveSettingsProfileName>() { - cx.remove_global::<ActiveSettingsProfileName>(); - } - - None - } -} - -impl PickerDelegate for SettingsProfileSelectorDelegate { - type ListItem = ListItem; - - fn placeholder_text(&self, _: &mut Window, _: &mut App) -> std::sync::Arc<str> { - "Select a settings profile...".into() - } - - fn match_count(&self) -> usize { - self.matches.len() - } - - fn selected_index(&self) -> usize { - self.selected_index - } - - fn set_selected_index( - &mut self, - ix: usize, - _: &mut Window, - cx: &mut Context<Picker<SettingsProfileSelectorDelegate>>, - ) { - self.selected_index = ix; - self.selected_profile_name = self.set_selected_profile(cx); - } - - fn update_matches( - &mut self, - query: String, - window: &mut Window, - cx: &mut Context<Picker<SettingsProfileSelectorDelegate>>, - ) -> Task<()> { - let background = cx.background_executor().clone(); - let candidates = self - .profile_names - .iter() - .enumerate() - .map(|(id, profile_name)| StringMatchCandidate::new(id, &display_name(profile_name))) - .collect::<Vec<_>>(); - - cx.spawn_in(window, async move |this, cx| { - let matches = if query.is_empty() { - candidates - .into_iter() - .enumerate() - .map(|(index, candidate)| StringMatch { - candidate_id: index, - string: candidate.string, - positions: Vec::new(), - score: 0.0, - }) - .collect() - } else { - match_strings( - &candidates, - &query, - false, - true, - 100, - &Default::default(), - background, - ) - .await - }; - - this.update_in(cx, |this, _, cx| { - this.delegate.matches = matches; - this.delegate.selected_index = this - .delegate - .selected_index - .min(this.delegate.matches.len().saturating_sub(1)); - this.delegate.selected_profile_name = this.delegate.set_selected_profile(cx); - }) - .ok(); - }) - } - - fn confirm( - &mut self, - _: bool, - _: &mut Window, - cx: &mut Context<Picker<SettingsProfileSelectorDelegate>>, - ) { - self.selection_completed = true; - self.selector - .update(cx, |_, cx| { - cx.emit(DismissEvent); - }) - .ok(); - } - - fn dismissed( - &mut self, - _: &mut Window, - cx: &mut Context<Picker<SettingsProfileSelectorDelegate>>, - ) { - if !self.selection_completed { - SettingsProfileSelectorDelegate::update_active_profile_name_global( - self.original_profile_name.clone(), - cx, - ); - } - self.selector.update(cx, |_, cx| cx.emit(DismissEvent)).ok(); - } - - fn render_match( - &self, - ix: usize, - selected: bool, - _: &mut Window, - _: &mut Context<Picker<Self>>, - ) -> Option<Self::ListItem> { - let mat = &self.matches[ix]; - let profile_name = &self.profile_names[mat.candidate_id]; - - Some( - ListItem::new(ix) - .inset(true) - .spacing(ListItemSpacing::Sparse) - .toggle_state(selected) - .child(HighlightedLabel::new( - display_name(profile_name), - mat.positions.clone(), - )), - ) - } -} - -fn display_name(profile_name: &Option<String>) -> String { - profile_name.clone().unwrap_or("Disabled".into()) -} - -#[cfg(test)] -mod tests { - use super::*; - use client; - use editor; - use gpui::{TestAppContext, UpdateGlobal, VisualTestContext}; - use language; - use menu::{Cancel, Confirm, SelectNext, SelectPrevious}; - use project::{FakeFs, Project}; - use serde_json::json; - use settings::Settings; - use theme::{self, ThemeSettings}; - use workspace::{self, AppState}; - use zed_actions::settings_profile_selector; - - async fn init_test( - profiles_json: serde_json::Value, - cx: &mut TestAppContext, - ) -> (Entity<Workspace>, &mut VisualTestContext) { - cx.update(|cx| { - let state = AppState::test(cx); - let settings_store = SettingsStore::test(cx); - cx.set_global(settings_store); - settings::init(cx); - theme::init(theme::LoadThemes::JustBase, cx); - ThemeSettings::register(cx); - client::init_settings(cx); - language::init(cx); - super::init(cx); - editor::init(cx); - workspace::init_settings(cx); - Project::init_settings(cx); - state - }); - - cx.update(|cx| { - SettingsStore::update_global(cx, |store, cx| { - let settings_json = json!({ - "buffer_font_size": 10.0, - "profiles": profiles_json, - }); - - store - .set_user_settings(&settings_json.to_string(), cx) - .unwrap(); - }); - }); - - let fs = FakeFs::new(cx.executor()); - let project = Project::test(fs, ["/test".as_ref()], cx).await; - let (workspace, cx) = - cx.add_window_view(|window, cx| Workspace::test_new(project.clone(), window, cx)); - - cx.update(|_, cx| { - assert!(!cx.has_global::<ActiveSettingsProfileName>()); - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 10.0); - }); - - (workspace, cx) - } - - #[track_caller] - fn active_settings_profile_picker( - workspace: &Entity<Workspace>, - cx: &mut VisualTestContext, - ) -> Entity<Picker<SettingsProfileSelectorDelegate>> { - workspace.update(cx, |workspace, cx| { - workspace - .active_modal::<SettingsProfileSelector>(cx) - .expect("settings profile selector is not open") - .read(cx) - .picker - .clone() - }) - } - - #[gpui::test] - async fn test_settings_profile_selector_state(cx: &mut TestAppContext) { - let classroom_and_streaming_profile_name = "Classroom / Streaming".to_string(); - let demo_videos_profile_name = "Demo Videos".to_string(); - - let profiles_json = json!({ - classroom_and_streaming_profile_name.clone(): { - "buffer_font_size": 20.0, - }, - demo_videos_profile_name.clone(): { - "buffer_font_size": 15.0 - } - }); - let (workspace, cx) = init_test(profiles_json.clone(), cx).await; - - cx.dispatch_action(settings_profile_selector::Toggle); - let picker = active_settings_profile_picker(&workspace, cx); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.matches.len(), 3); - assert_eq!(picker.delegate.matches[0].string, display_name(&None)); - assert_eq!( - picker.delegate.matches[1].string, - classroom_and_streaming_profile_name - ); - assert_eq!(picker.delegate.matches[2].string, demo_videos_profile_name); - assert_eq!(picker.delegate.matches.get(3), None); - - assert_eq!(picker.delegate.selected_index, 0); - assert_eq!(picker.delegate.selected_profile_name, None); - - assert_eq!(cx.try_global::<ActiveSettingsProfileName>(), None); - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 10.0); - }); - - cx.dispatch_action(Confirm); - - cx.update(|_, cx| { - assert_eq!(cx.try_global::<ActiveSettingsProfileName>(), None); - }); - - cx.dispatch_action(settings_profile_selector::Toggle); - let picker = active_settings_profile_picker(&workspace, cx); - cx.dispatch_action(SelectNext); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 1); - assert_eq!( - picker.delegate.selected_profile_name, - Some(classroom_and_streaming_profile_name.clone()) - ); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(classroom_and_streaming_profile_name.clone()) - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 20.0); - }); - - cx.dispatch_action(Cancel); - - cx.update(|_, cx| { - assert_eq!(cx.try_global::<ActiveSettingsProfileName>(), None); - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 10.0); - }); - - cx.dispatch_action(settings_profile_selector::Toggle); - let picker = active_settings_profile_picker(&workspace, cx); - - cx.dispatch_action(SelectNext); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 1); - assert_eq!( - picker.delegate.selected_profile_name, - Some(classroom_and_streaming_profile_name.clone()) - ); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(classroom_and_streaming_profile_name.clone()) - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 20.0); - }); - - cx.dispatch_action(SelectNext); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 2); - assert_eq!( - picker.delegate.selected_profile_name, - Some(demo_videos_profile_name.clone()) - ); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(demo_videos_profile_name.clone()) - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 15.0); - }); - - cx.dispatch_action(Confirm); - - cx.update(|_, cx| { - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(demo_videos_profile_name.clone()) - ); - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 15.0); - }); - - cx.dispatch_action(settings_profile_selector::Toggle); - let picker = active_settings_profile_picker(&workspace, cx); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 2); - assert_eq!( - picker.delegate.selected_profile_name, - Some(demo_videos_profile_name.clone()) - ); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(demo_videos_profile_name.clone()) - ); - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 15.0); - }); - - cx.dispatch_action(SelectPrevious); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 1); - assert_eq!( - picker.delegate.selected_profile_name, - Some(classroom_and_streaming_profile_name.clone()) - ); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(classroom_and_streaming_profile_name.clone()) - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 20.0); - }); - - cx.dispatch_action(Cancel); - - cx.update(|_, cx| { - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(demo_videos_profile_name.clone()) - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 15.0); - }); - - cx.dispatch_action(settings_profile_selector::Toggle); - let picker = active_settings_profile_picker(&workspace, cx); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 2); - assert_eq!( - picker.delegate.selected_profile_name, - Some(demo_videos_profile_name.clone()) - ); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(demo_videos_profile_name) - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 15.0); - }); - - cx.dispatch_action(SelectPrevious); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 1); - assert_eq!( - picker.delegate.selected_profile_name, - Some(classroom_and_streaming_profile_name.clone()) - ); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - Some(classroom_and_streaming_profile_name) - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 20.0); - }); - - cx.dispatch_action(SelectPrevious); - - picker.read_with(cx, |picker, cx| { - assert_eq!(picker.delegate.selected_index, 0); - assert_eq!(picker.delegate.selected_profile_name, None); - - assert_eq!( - cx.try_global::<ActiveSettingsProfileName>() - .map(|p| p.0.clone()), - None - ); - - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 10.0); - }); - - cx.dispatch_action(Confirm); - - cx.update(|_, cx| { - assert_eq!(cx.try_global::<ActiveSettingsProfileName>(), None); - assert_eq!(ThemeSettings::get_global(cx).buffer_font_size(cx).0, 10.0); - }); - } -} diff --git a/crates/settings_ui/Cargo.toml b/crates/settings_ui/Cargo.toml index a4c47081c6..02327045fd 100644 --- a/crates/settings_ui/Cargo.toml +++ b/crates/settings_ui/Cargo.toml @@ -30,6 +30,7 @@ menu.workspace = true notifications.workspace = true paths.workspace = true project.workspace = true +schemars.workspace = true search.workspace = true serde.workspace = true serde_json.workspace = true @@ -44,10 +45,3 @@ ui_input.workspace = true util.workspace = true workspace-hack.workspace = true workspace.workspace = true - -[dev-dependencies] -db = {"workspace"= true, "features" = ["test-support"]} -fs = { workspace = true, features = ["test-support"] } -gpui = { workspace = true, features = ["test-support"] } -project = { workspace = true, features = ["test-support"] } -workspace = { workspace = true, features = ["test-support"] } diff --git a/crates/settings_ui/src/keybindings.rs b/crates/settings_ui/src/keybindings.rs index 70afe1729c..9da7242e36 100644 --- a/crates/settings_ui/src/keybindings.rs +++ b/crates/settings_ui/src/keybindings.rs @@ -11,10 +11,11 @@ use editor::{CompletionProvider, Editor, EditorEvent}; use fs::Fs; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ - Action, AppContext as _, AsyncApp, Axis, ClickEvent, Context, DismissEvent, Entity, - EventEmitter, FocusHandle, Focusable, Global, IsZero, KeyContext, Keystroke, MouseButton, - Point, ScrollStrategy, ScrollWheelEvent, Stateful, StyledText, Subscription, Task, - TextStyleRefinement, WeakEntity, actions, anchored, deferred, div, + Action, Animation, AnimationExt, AppContext as _, AsyncApp, Axis, ClickEvent, Context, + DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, FontWeight, Global, IsZero, + KeyContext, Keystroke, Modifiers, ModifiersChangedEvent, MouseButton, Point, ScrollStrategy, + ScrollWheelEvent, Stateful, StyledText, Subscription, Task, TextStyleRefinement, WeakEntity, + actions, anchored, deferred, div, }; use language::{Language, LanguageConfig, ToOffset as _}; use notifications::status_toast::{StatusToast, ToastIcon}; @@ -34,10 +35,7 @@ use workspace::{ use crate::{ keybindings::persistence::KEYBINDING_EDITORS, - ui_components::{ - keystroke_input::{ClearKeystrokes, KeystrokeInput, StartRecording, StopRecording}, - table::{ColumnWidths, ResizeBehavior, Table, TableInteractionState}, - }, + ui_components::table::{ColumnWidths, ResizeBehavior, Table, TableInteractionState}, }; const NO_ACTION_ARGUMENTS_TEXT: SharedString = SharedString::new_static("<no arguments>"); @@ -74,6 +72,18 @@ actions!( ] ); +actions!( + keystroke_input, + [ + /// Starts recording keystrokes + StartRecording, + /// Stops recording keystrokes + StopRecording, + /// Clears the recorded keystrokes + ClearKeystrokes, + ] +); + pub fn init(cx: &mut App) { let keymap_event_channel = KeymapEventChannel::new(); cx.set_global(keymap_event_channel); @@ -383,7 +393,7 @@ impl KeymapEditor { let keystroke_editor = cx.new(|cx| { let mut keystroke_editor = KeystrokeInput::new(None, window, cx); - keystroke_editor.set_search(true); + keystroke_editor.search = true; keystroke_editor }); @@ -1680,7 +1690,7 @@ impl Render for KeymapEditor { move |window, cx| this.read(cx).render_no_matches_hint(window, cx) }) .column_widths([ - DefiniteLength::Absolute(AbsoluteLength::Pixels(px(36.))), + DefiniteLength::Absolute(AbsoluteLength::Pixels(px(40.))), DefiniteLength::Fraction(0.25), DefiniteLength::Fraction(0.20), DefiniteLength::Fraction(0.14), @@ -1755,7 +1765,6 @@ impl Render for KeymapEditor { }, ) .into_any_element(); - let keystrokes = binding.ui_key_binding().cloned().map_or( binding .keystroke_text() @@ -1764,7 +1773,6 @@ impl Render for KeymapEditor { .into_any_element(), IntoElement::into_any_element, ); - let action_arguments = match binding.action().arguments.clone() { Some(arguments) => arguments.into_any_element(), @@ -1777,7 +1785,6 @@ impl Render for KeymapEditor { } } }; - let context = binding.context().cloned().map_or( gpui::Empty.into_any_element(), |context| { @@ -1802,13 +1809,11 @@ impl Render for KeymapEditor { .into_any_element() }, ); - let source = binding .keybind_source() .map(|source| source.name()) .unwrap_or_default() .into_any_element(); - Some([ icon.into_any_element(), action, @@ -2969,6 +2974,524 @@ async fn remove_keybinding( Ok(()) } +#[derive(PartialEq, Eq, Debug, Copy, Clone)] +enum CloseKeystrokeResult { + Partial, + Close, + None, +} + +struct KeystrokeInput { + keystrokes: Vec<Keystroke>, + placeholder_keystrokes: Option<Vec<Keystroke>>, + outer_focus_handle: FocusHandle, + inner_focus_handle: FocusHandle, + intercept_subscription: Option<Subscription>, + _focus_subscriptions: [Subscription; 2], + search: bool, + /// Handles tripe escape to stop recording + close_keystrokes: Option<Vec<Keystroke>>, + close_keystrokes_start: Option<usize>, + previous_modifiers: Modifiers, +} + +impl KeystrokeInput { + const KEYSTROKE_COUNT_MAX: usize = 3; + + fn new( + placeholder_keystrokes: Option<Vec<Keystroke>>, + window: &mut Window, + cx: &mut Context<Self>, + ) -> Self { + let outer_focus_handle = cx.focus_handle(); + let inner_focus_handle = cx.focus_handle(); + let _focus_subscriptions = [ + cx.on_focus_in(&inner_focus_handle, window, Self::on_inner_focus_in), + cx.on_focus_out(&inner_focus_handle, window, Self::on_inner_focus_out), + ]; + Self { + keystrokes: Vec::new(), + placeholder_keystrokes, + inner_focus_handle, + outer_focus_handle, + intercept_subscription: None, + _focus_subscriptions, + search: false, + close_keystrokes: None, + close_keystrokes_start: None, + previous_modifiers: Modifiers::default(), + } + } + + fn set_keystrokes(&mut self, keystrokes: Vec<Keystroke>, cx: &mut Context<Self>) { + self.keystrokes = keystrokes; + self.keystrokes_changed(cx); + } + + fn dummy(modifiers: Modifiers) -> Keystroke { + return Keystroke { + modifiers, + key: "".to_string(), + key_char: None, + }; + } + + fn keystrokes_changed(&self, cx: &mut Context<Self>) { + cx.emit(()); + cx.notify(); + } + + fn key_context() -> KeyContext { + let mut key_context = KeyContext::default(); + key_context.add("KeystrokeInput"); + key_context + } + + fn handle_possible_close_keystroke( + &mut self, + keystroke: &Keystroke, + window: &mut Window, + cx: &mut Context<Self>, + ) -> CloseKeystrokeResult { + let Some(keybind_for_close_action) = window + .highest_precedence_binding_for_action_in_context(&StopRecording, Self::key_context()) + else { + log::trace!("No keybinding to stop recording keystrokes in keystroke input"); + self.close_keystrokes.take(); + self.close_keystrokes_start.take(); + return CloseKeystrokeResult::None; + }; + let action_keystrokes = keybind_for_close_action.keystrokes(); + + if let Some(mut close_keystrokes) = self.close_keystrokes.take() { + let mut index = 0; + + while index < action_keystrokes.len() && index < close_keystrokes.len() { + if !close_keystrokes[index].should_match(&action_keystrokes[index]) { + break; + } + index += 1; + } + if index == close_keystrokes.len() { + if index >= action_keystrokes.len() { + self.close_keystrokes_start.take(); + return CloseKeystrokeResult::None; + } + if keystroke.should_match(&action_keystrokes[index]) { + if action_keystrokes.len() >= 1 && index == action_keystrokes.len() - 1 { + self.stop_recording(&StopRecording, window, cx); + return CloseKeystrokeResult::Close; + } else { + close_keystrokes.push(keystroke.clone()); + self.close_keystrokes = Some(close_keystrokes); + return CloseKeystrokeResult::Partial; + } + } else { + self.close_keystrokes_start.take(); + return CloseKeystrokeResult::None; + } + } + } else if let Some(first_action_keystroke) = action_keystrokes.first() + && keystroke.should_match(first_action_keystroke) + { + self.close_keystrokes = Some(vec![keystroke.clone()]); + return CloseKeystrokeResult::Partial; + } + self.close_keystrokes_start.take(); + return CloseKeystrokeResult::None; + } + + fn on_modifiers_changed( + &mut self, + event: &ModifiersChangedEvent, + _window: &mut Window, + cx: &mut Context<Self>, + ) { + let keystrokes_len = self.keystrokes.len(); + + if self.previous_modifiers.modified() + && event.modifiers.is_subset_of(&self.previous_modifiers) + { + self.previous_modifiers &= event.modifiers; + cx.stop_propagation(); + return; + } + + if let Some(last) = self.keystrokes.last_mut() + && last.key.is_empty() + && keystrokes_len <= Self::KEYSTROKE_COUNT_MAX + { + if self.search { + if self.previous_modifiers.modified() { + last.modifiers |= event.modifiers; + self.previous_modifiers |= event.modifiers; + } else { + self.keystrokes.push(Self::dummy(event.modifiers)); + self.previous_modifiers |= event.modifiers; + } + } else if !event.modifiers.modified() { + self.keystrokes.pop(); + } else { + last.modifiers = event.modifiers; + } + + self.keystrokes_changed(cx); + } else if keystrokes_len < Self::KEYSTROKE_COUNT_MAX { + self.keystrokes.push(Self::dummy(event.modifiers)); + if self.search { + self.previous_modifiers |= event.modifiers; + } + self.keystrokes_changed(cx); + } + cx.stop_propagation(); + } + + fn handle_keystroke( + &mut self, + keystroke: &Keystroke, + window: &mut Window, + cx: &mut Context<Self>, + ) { + let close_keystroke_result = self.handle_possible_close_keystroke(keystroke, window, cx); + if close_keystroke_result != CloseKeystrokeResult::Close { + let key_len = self.keystrokes.len(); + if let Some(last) = self.keystrokes.last_mut() + && last.key.is_empty() + && key_len <= Self::KEYSTROKE_COUNT_MAX + { + if self.search { + last.key = keystroke.key.clone(); + if close_keystroke_result == CloseKeystrokeResult::Partial + && self.close_keystrokes_start.is_none() + { + self.close_keystrokes_start = Some(self.keystrokes.len() - 1); + } + if self.search { + self.previous_modifiers = keystroke.modifiers; + } + self.keystrokes_changed(cx); + cx.stop_propagation(); + return; + } else { + self.keystrokes.pop(); + } + } + if self.keystrokes.len() < Self::KEYSTROKE_COUNT_MAX { + if close_keystroke_result == CloseKeystrokeResult::Partial + && self.close_keystrokes_start.is_none() + { + self.close_keystrokes_start = Some(self.keystrokes.len()); + } + self.keystrokes.push(keystroke.clone()); + if self.search { + self.previous_modifiers = keystroke.modifiers; + } else if self.keystrokes.len() < Self::KEYSTROKE_COUNT_MAX { + self.keystrokes.push(Self::dummy(keystroke.modifiers)); + } + } else if close_keystroke_result != CloseKeystrokeResult::Partial { + self.clear_keystrokes(&ClearKeystrokes, window, cx); + } + } + self.keystrokes_changed(cx); + cx.stop_propagation(); + } + + fn on_inner_focus_in(&mut self, _window: &mut Window, cx: &mut Context<Self>) { + if self.intercept_subscription.is_none() { + let listener = cx.listener(|this, event: &gpui::KeystrokeEvent, window, cx| { + this.handle_keystroke(&event.keystroke, window, cx); + }); + self.intercept_subscription = Some(cx.intercept_keystrokes(listener)) + } + } + + fn on_inner_focus_out( + &mut self, + _event: gpui::FocusOutEvent, + _window: &mut Window, + cx: &mut Context<Self>, + ) { + self.intercept_subscription.take(); + cx.notify(); + } + + fn keystrokes(&self) -> &[Keystroke] { + if let Some(placeholders) = self.placeholder_keystrokes.as_ref() + && self.keystrokes.is_empty() + { + return placeholders; + } + if !self.search + && self + .keystrokes + .last() + .map_or(false, |last| last.key.is_empty()) + { + return &self.keystrokes[..self.keystrokes.len() - 1]; + } + return &self.keystrokes; + } + + fn render_keystrokes(&self, is_recording: bool) -> impl Iterator<Item = Div> { + let keystrokes = if let Some(placeholders) = self.placeholder_keystrokes.as_ref() + && self.keystrokes.is_empty() + { + if is_recording { + &[] + } else { + placeholders.as_slice() + } + } else { + &self.keystrokes + }; + keystrokes.iter().map(move |keystroke| { + h_flex().children(ui::render_keystroke( + keystroke, + Some(Color::Default), + Some(rems(0.875).into()), + ui::PlatformStyle::platform(), + false, + )) + }) + } + + fn start_recording(&mut self, _: &StartRecording, window: &mut Window, cx: &mut Context<Self>) { + window.focus(&self.inner_focus_handle); + self.clear_keystrokes(&ClearKeystrokes, window, cx); + self.previous_modifiers = window.modifiers(); + cx.stop_propagation(); + } + + fn stop_recording(&mut self, _: &StopRecording, window: &mut Window, cx: &mut Context<Self>) { + if !self.inner_focus_handle.is_focused(window) { + return; + } + window.focus(&self.outer_focus_handle); + if let Some(close_keystrokes_start) = self.close_keystrokes_start.take() + && close_keystrokes_start < self.keystrokes.len() + { + self.keystrokes.drain(close_keystrokes_start..); + } + self.close_keystrokes.take(); + cx.notify(); + } + + fn clear_keystrokes( + &mut self, + _: &ClearKeystrokes, + _window: &mut Window, + cx: &mut Context<Self>, + ) { + self.keystrokes.clear(); + self.keystrokes_changed(cx); + } +} + +impl EventEmitter<()> for KeystrokeInput {} + +impl Focusable for KeystrokeInput { + fn focus_handle(&self, _cx: &App) -> FocusHandle { + self.outer_focus_handle.clone() + } +} + +impl Render for KeystrokeInput { + fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { + let colors = cx.theme().colors(); + let is_focused = self.outer_focus_handle.contains_focused(window, cx); + let is_recording = self.inner_focus_handle.is_focused(window); + + let horizontal_padding = rems_from_px(64.); + + let recording_bg_color = colors + .editor_background + .blend(colors.text_accent.opacity(0.1)); + + let recording_pulse = |color: Color| { + Icon::new(IconName::Circle) + .size(IconSize::Small) + .color(Color::Error) + .with_animation( + "recording-pulse", + Animation::new(std::time::Duration::from_secs(2)) + .repeat() + .with_easing(gpui::pulsating_between(0.4, 0.8)), + { + let color = color.color(cx); + move |this, delta| this.color(Color::Custom(color.opacity(delta))) + }, + ) + }; + + let recording_indicator = h_flex() + .h_4() + .pr_1() + .gap_0p5() + .border_1() + .border_color(colors.border) + .bg(colors + .editor_background + .blend(colors.text_accent.opacity(0.1))) + .rounded_sm() + .child(recording_pulse(Color::Error)) + .child( + Label::new("REC") + .size(LabelSize::XSmall) + .weight(FontWeight::SEMIBOLD) + .color(Color::Error), + ); + + let search_indicator = h_flex() + .h_4() + .pr_1() + .gap_0p5() + .border_1() + .border_color(colors.border) + .bg(colors + .editor_background + .blend(colors.text_accent.opacity(0.1))) + .rounded_sm() + .child(recording_pulse(Color::Accent)) + .child( + Label::new("SEARCH") + .size(LabelSize::XSmall) + .weight(FontWeight::SEMIBOLD) + .color(Color::Accent), + ); + + let record_icon = if self.search { + IconName::MagnifyingGlass + } else { + IconName::PlayFilled + }; + + h_flex() + .id("keystroke-input") + .track_focus(&self.outer_focus_handle) + .py_2() + .px_3() + .gap_2() + .min_h_10() + .w_full() + .flex_1() + .justify_between() + .rounded_lg() + .overflow_hidden() + .map(|this| { + if is_recording { + this.bg(recording_bg_color) + } else { + this.bg(colors.editor_background) + } + }) + .border_1() + .border_color(colors.border_variant) + .when(is_focused, |parent| { + parent.border_color(colors.border_focused) + }) + .key_context(Self::key_context()) + .on_action(cx.listener(Self::start_recording)) + .on_action(cx.listener(Self::clear_keystrokes)) + .child( + h_flex() + .w(horizontal_padding) + .gap_0p5() + .justify_start() + .flex_none() + .when(is_recording, |this| { + this.map(|this| { + if self.search { + this.child(search_indicator) + } else { + this.child(recording_indicator) + } + }) + }), + ) + .child( + h_flex() + .id("keystroke-input-inner") + .track_focus(&self.inner_focus_handle) + .on_modifiers_changed(cx.listener(Self::on_modifiers_changed)) + .size_full() + .when(!self.search, |this| { + this.focus(|mut style| { + style.border_color = Some(colors.border_focused); + style + }) + }) + .w_full() + .min_w_0() + .justify_center() + .flex_wrap() + .gap(ui::DynamicSpacing::Base04.rems(cx)) + .children(self.render_keystrokes(is_recording)), + ) + .child( + h_flex() + .w(horizontal_padding) + .gap_0p5() + .justify_end() + .flex_none() + .map(|this| { + if is_recording { + this.child( + IconButton::new("stop-record-btn", IconName::StopFilled) + .shape(ui::IconButtonShape::Square) + .map(|this| { + this.tooltip(Tooltip::for_action_title( + if self.search { + "Stop Searching" + } else { + "Stop Recording" + }, + &StopRecording, + )) + }) + .icon_color(Color::Error) + .on_click(cx.listener(|this, _event, window, cx| { + this.stop_recording(&StopRecording, window, cx); + })), + ) + } else { + this.child( + IconButton::new("record-btn", record_icon) + .shape(ui::IconButtonShape::Square) + .map(|this| { + this.tooltip(Tooltip::for_action_title( + if self.search { + "Start Searching" + } else { + "Start Recording" + }, + &StartRecording, + )) + }) + .when(!is_focused, |this| this.icon_color(Color::Muted)) + .on_click(cx.listener(|this, _event, window, cx| { + this.start_recording(&StartRecording, window, cx); + })), + ) + } + }) + .child( + IconButton::new("clear-btn", IconName::Delete) + .shape(ui::IconButtonShape::Square) + .tooltip(Tooltip::for_action_title( + "Clear Keystrokes", + &ClearKeystrokes, + )) + .when(!is_recording || !is_focused, |this| { + this.icon_color(Color::Muted) + }) + .on_click(cx.listener(|this, _event, window, cx| { + this.clear_keystrokes(&ClearKeystrokes, window, cx); + })), + ), + ) + } +} + fn collect_contexts_from_assets() -> Vec<SharedString> { let mut keymap_assets = vec![ util::asset_str::<SettingsAssets>(settings::DEFAULT_KEYMAP_PATH), diff --git a/crates/settings_ui/src/settings_ui.rs b/crates/settings_ui/src/settings_ui.rs index 3022cc7142..2f0abb4789 100644 --- a/crates/settings_ui/src/settings_ui.rs +++ b/crates/settings_ui/src/settings_ui.rs @@ -1,12 +1,20 @@ mod appearance_settings_controls; use std::any::TypeId; +use std::sync::Arc; use command_palette_hooks::CommandPaletteFilter; use editor::EditorSettingsControls; use feature_flags::{FeatureFlag, FeatureFlagViewExt}; -use gpui::{App, Entity, EventEmitter, FocusHandle, Focusable, actions}; +use fs::Fs; +use gpui::{ + Action, App, AsyncWindowContext, Entity, EventEmitter, FocusHandle, Focusable, Task, actions, +}; +use schemars::JsonSchema; +use serde::Deserialize; +use settings::{SettingsStore, VsCodeSettingsSource}; use ui::prelude::*; +use util::truncate_and_remove_front; use workspace::item::{Item, ItemEvent}; use workspace::{Workspace, with_active_or_new_workspace}; @@ -21,6 +29,23 @@ impl FeatureFlag for SettingsUiFeatureFlag { const NAME: &'static str = "settings-ui"; } +/// Imports settings from Visual Studio Code. +#[derive(Copy, Clone, Debug, Default, PartialEq, Deserialize, JsonSchema, Action)] +#[action(namespace = zed)] +#[serde(deny_unknown_fields)] +pub struct ImportVsCodeSettings { + #[serde(default)] + pub skip_prompt: bool, +} + +/// Imports settings from Cursor editor. +#[derive(Copy, Clone, Debug, Default, PartialEq, Deserialize, JsonSchema, Action)] +#[action(namespace = zed)] +#[serde(deny_unknown_fields)] +pub struct ImportCursorSettings { + #[serde(default)] + pub skip_prompt: bool, +} actions!( zed, [ @@ -47,11 +72,45 @@ pub fn init(cx: &mut App) { }); }); - cx.observe_new(|_workspace: &mut Workspace, window, cx| { + cx.observe_new(|workspace: &mut Workspace, window, cx| { let Some(window) = window else { return; }; + workspace.register_action(|_workspace, action: &ImportVsCodeSettings, window, cx| { + let fs = <dyn Fs>::global(cx); + let action = *action; + + window + .spawn(cx, async move |cx: &mut AsyncWindowContext| { + handle_import_vscode_settings( + VsCodeSettingsSource::VsCode, + action.skip_prompt, + fs, + cx, + ) + .await + }) + .detach(); + }); + + workspace.register_action(|_workspace, action: &ImportCursorSettings, window, cx| { + let fs = <dyn Fs>::global(cx); + let action = *action; + + window + .spawn(cx, async move |cx: &mut AsyncWindowContext| { + handle_import_vscode_settings( + VsCodeSettingsSource::Cursor, + action.skip_prompt, + fs, + cx, + ) + .await + }) + .detach(); + }); + let settings_ui_actions = [TypeId::of::<OpenSettingsEditor>()]; CommandPaletteFilter::update_global(cx, |filter, _cx| { @@ -79,6 +138,57 @@ pub fn init(cx: &mut App) { keybindings::init(cx); } +async fn handle_import_vscode_settings( + source: VsCodeSettingsSource, + skip_prompt: bool, + fs: Arc<dyn Fs>, + cx: &mut AsyncWindowContext, +) { + let vscode_settings = + match settings::VsCodeSettings::load_user_settings(source, fs.clone()).await { + Ok(vscode_settings) => vscode_settings, + Err(err) => { + log::error!("{err}"); + let _ = cx.prompt( + gpui::PromptLevel::Info, + &format!("Could not find or load a {source} settings file"), + None, + &["Ok"], + ); + return; + } + }; + + let prompt = if skip_prompt { + Task::ready(Some(0)) + } else { + let prompt = cx.prompt( + gpui::PromptLevel::Warning, + &format!( + "Importing {} settings may overwrite your existing settings. \ + Will import settings from {}", + vscode_settings.source, + truncate_and_remove_front(&vscode_settings.path.to_string_lossy(), 128), + ), + None, + &["Ok", "Cancel"], + ); + cx.spawn(async move |_| prompt.await.ok()) + }; + if prompt.await != Some(0) { + return; + } + + cx.update(|_, cx| { + let source = vscode_settings.source; + let path = vscode_settings.path.clone(); + cx.global::<SettingsStore>() + .import_vscode_settings(fs, vscode_settings); + log::info!("Imported {source} settings from {}", path.display()); + }) + .ok(); +} + pub struct SettingsPage { focus_handle: FocusHandle, } diff --git a/crates/settings_ui/src/ui_components/keystroke_input.rs b/crates/settings_ui/src/ui_components/keystroke_input.rs deleted file mode 100644 index 03d27d0ab9..0000000000 --- a/crates/settings_ui/src/ui_components/keystroke_input.rs +++ /dev/null @@ -1,1388 +0,0 @@ -use gpui::{ - Animation, AnimationExt, Context, EventEmitter, FocusHandle, Focusable, FontWeight, KeyContext, - Keystroke, Modifiers, ModifiersChangedEvent, Subscription, Task, actions, -}; -use ui::{ - ActiveTheme as _, Color, IconButton, IconButtonShape, IconName, IconSize, Label, LabelSize, - ParentElement as _, Render, Styled as _, Tooltip, Window, prelude::*, -}; - -actions!( - keystroke_input, - [ - /// Starts recording keystrokes - StartRecording, - /// Stops recording keystrokes - StopRecording, - /// Clears the recorded keystrokes - ClearKeystrokes, - ] -); - -const KEY_CONTEXT_VALUE: &'static str = "KeystrokeInput"; - -const CLOSE_KEYSTROKE_CAPTURE_END_TIMEOUT: std::time::Duration = - std::time::Duration::from_millis(300); - -enum CloseKeystrokeResult { - Partial, - Close, - None, -} - -impl PartialEq for CloseKeystrokeResult { - fn eq(&self, other: &Self) -> bool { - matches!( - (self, other), - (CloseKeystrokeResult::Partial, CloseKeystrokeResult::Partial) - | (CloseKeystrokeResult::Close, CloseKeystrokeResult::Close) - | (CloseKeystrokeResult::None, CloseKeystrokeResult::None) - ) - } -} - -pub struct KeystrokeInput { - keystrokes: Vec<Keystroke>, - placeholder_keystrokes: Option<Vec<Keystroke>>, - outer_focus_handle: FocusHandle, - inner_focus_handle: FocusHandle, - intercept_subscription: Option<Subscription>, - _focus_subscriptions: [Subscription; 2], - search: bool, - /// The sequence of close keystrokes being typed - close_keystrokes: Option<Vec<Keystroke>>, - close_keystrokes_start: Option<usize>, - previous_modifiers: Modifiers, - /// In order to support inputting keystrokes that end with a prefix of the - /// close keybind keystrokes, we clear the close keystroke capture info - /// on a timeout after a close keystroke is pressed - /// - /// e.g. if close binding is `esc esc esc` and user wants to search for - /// `ctrl-g esc`, after entering the `ctrl-g esc`, hitting `esc` twice would - /// stop recording because of the sequence of three escapes making it - /// impossible to search for anything ending in `esc` - clear_close_keystrokes_timer: Option<Task<()>>, - #[cfg(test)] - recording: bool, -} - -impl KeystrokeInput { - const KEYSTROKE_COUNT_MAX: usize = 3; - - pub fn new( - placeholder_keystrokes: Option<Vec<Keystroke>>, - window: &mut Window, - cx: &mut Context<Self>, - ) -> Self { - let outer_focus_handle = cx.focus_handle(); - let inner_focus_handle = cx.focus_handle(); - let _focus_subscriptions = [ - cx.on_focus_in(&inner_focus_handle, window, Self::on_inner_focus_in), - cx.on_focus_out(&inner_focus_handle, window, Self::on_inner_focus_out), - ]; - Self { - keystrokes: Vec::new(), - placeholder_keystrokes, - inner_focus_handle, - outer_focus_handle, - intercept_subscription: None, - _focus_subscriptions, - search: false, - close_keystrokes: None, - close_keystrokes_start: None, - previous_modifiers: Modifiers::default(), - clear_close_keystrokes_timer: None, - #[cfg(test)] - recording: false, - } - } - - pub fn set_keystrokes(&mut self, keystrokes: Vec<Keystroke>, cx: &mut Context<Self>) { - self.keystrokes = keystrokes; - self.keystrokes_changed(cx); - } - - pub fn set_search(&mut self, search: bool) { - self.search = search; - } - - pub fn keystrokes(&self) -> &[Keystroke] { - if let Some(placeholders) = self.placeholder_keystrokes.as_ref() - && self.keystrokes.is_empty() - { - return placeholders; - } - if !self.search - && self - .keystrokes - .last() - .map_or(false, |last| last.key.is_empty()) - { - return &self.keystrokes[..self.keystrokes.len() - 1]; - } - return &self.keystrokes; - } - - fn dummy(modifiers: Modifiers) -> Keystroke { - return Keystroke { - modifiers, - key: "".to_string(), - key_char: None, - }; - } - - fn keystrokes_changed(&self, cx: &mut Context<Self>) { - cx.emit(()); - cx.notify(); - } - - fn key_context() -> KeyContext { - let mut key_context = KeyContext::default(); - key_context.add(KEY_CONTEXT_VALUE); - key_context - } - - fn determine_stop_recording_binding(window: &mut Window) -> Option<gpui::KeyBinding> { - if cfg!(test) { - Some(gpui::KeyBinding::new( - "escape escape escape", - StopRecording, - Some(KEY_CONTEXT_VALUE), - )) - } else { - window.highest_precedence_binding_for_action_in_context( - &StopRecording, - Self::key_context(), - ) - } - } - - fn upsert_close_keystrokes_start(&mut self, start: usize, cx: &mut Context<Self>) { - if self.close_keystrokes_start.is_some() { - return; - } - self.close_keystrokes_start = Some(start); - self.update_clear_close_keystrokes_timer(cx); - } - - fn update_clear_close_keystrokes_timer(&mut self, cx: &mut Context<Self>) { - self.clear_close_keystrokes_timer = Some(cx.spawn(async |this, cx| { - cx.background_executor() - .timer(CLOSE_KEYSTROKE_CAPTURE_END_TIMEOUT) - .await; - this.update(cx, |this, _cx| { - this.end_close_keystrokes_capture(); - }) - .ok(); - })); - } - - /// Interrupt the capture of close keystrokes, but do not clear the close keystrokes - /// from the input - fn end_close_keystrokes_capture(&mut self) -> Option<usize> { - self.close_keystrokes.take(); - self.clear_close_keystrokes_timer.take(); - return self.close_keystrokes_start.take(); - } - - fn handle_possible_close_keystroke( - &mut self, - keystroke: &Keystroke, - window: &mut Window, - cx: &mut Context<Self>, - ) -> CloseKeystrokeResult { - let Some(keybind_for_close_action) = Self::determine_stop_recording_binding(window) else { - log::trace!("No keybinding to stop recording keystrokes in keystroke input"); - self.end_close_keystrokes_capture(); - return CloseKeystrokeResult::None; - }; - let action_keystrokes = keybind_for_close_action.keystrokes(); - - if let Some(mut close_keystrokes) = self.close_keystrokes.take() { - let mut index = 0; - - while index < action_keystrokes.len() && index < close_keystrokes.len() { - if !close_keystrokes[index].should_match(&action_keystrokes[index]) { - break; - } - index += 1; - } - if index == close_keystrokes.len() { - if index >= action_keystrokes.len() { - self.end_close_keystrokes_capture(); - return CloseKeystrokeResult::None; - } - if keystroke.should_match(&action_keystrokes[index]) { - close_keystrokes.push(keystroke.clone()); - if close_keystrokes.len() == action_keystrokes.len() { - return CloseKeystrokeResult::Close; - } else { - self.close_keystrokes = Some(close_keystrokes); - self.update_clear_close_keystrokes_timer(cx); - return CloseKeystrokeResult::Partial; - } - } else { - self.end_close_keystrokes_capture(); - return CloseKeystrokeResult::None; - } - } - } else if let Some(first_action_keystroke) = action_keystrokes.first() - && keystroke.should_match(first_action_keystroke) - { - self.close_keystrokes = Some(vec![keystroke.clone()]); - return CloseKeystrokeResult::Partial; - } - self.end_close_keystrokes_capture(); - return CloseKeystrokeResult::None; - } - - fn on_modifiers_changed( - &mut self, - event: &ModifiersChangedEvent, - window: &mut Window, - cx: &mut Context<Self>, - ) { - cx.stop_propagation(); - let keystrokes_len = self.keystrokes.len(); - - if self.previous_modifiers.modified() - && event.modifiers.is_subset_of(&self.previous_modifiers) - { - self.previous_modifiers &= event.modifiers; - return; - } - self.keystrokes_changed(cx); - - if let Some(last) = self.keystrokes.last_mut() - && last.key.is_empty() - && keystrokes_len <= Self::KEYSTROKE_COUNT_MAX - { - if !self.search && !event.modifiers.modified() { - self.keystrokes.pop(); - return; - } - if self.search { - if self.previous_modifiers.modified() { - last.modifiers |= event.modifiers; - } else { - self.keystrokes.push(Self::dummy(event.modifiers)); - } - self.previous_modifiers |= event.modifiers; - } else { - last.modifiers = event.modifiers; - return; - } - } else if keystrokes_len < Self::KEYSTROKE_COUNT_MAX { - self.keystrokes.push(Self::dummy(event.modifiers)); - if self.search { - self.previous_modifiers |= event.modifiers; - } - } - if keystrokes_len >= Self::KEYSTROKE_COUNT_MAX { - self.clear_keystrokes(&ClearKeystrokes, window, cx); - } - } - - fn handle_keystroke( - &mut self, - keystroke: &Keystroke, - window: &mut Window, - cx: &mut Context<Self>, - ) { - cx.stop_propagation(); - - let close_keystroke_result = self.handle_possible_close_keystroke(keystroke, window, cx); - if close_keystroke_result == CloseKeystrokeResult::Close { - self.stop_recording(&StopRecording, window, cx); - return; - } - - let mut keystroke = keystroke.clone(); - if let Some(last) = self.keystrokes.last() - && last.key.is_empty() - && (!self.search || self.previous_modifiers.modified()) - { - let key = keystroke.key.clone(); - keystroke = last.clone(); - keystroke.key = key; - self.keystrokes.pop(); - } - - if close_keystroke_result == CloseKeystrokeResult::Partial { - self.upsert_close_keystrokes_start(self.keystrokes.len(), cx); - if self.keystrokes.len() >= Self::KEYSTROKE_COUNT_MAX { - return; - } - } - - if self.keystrokes.len() >= Self::KEYSTROKE_COUNT_MAX { - self.clear_keystrokes(&ClearKeystrokes, window, cx); - return; - } - - self.keystrokes.push(keystroke.clone()); - self.keystrokes_changed(cx); - - if self.search { - self.previous_modifiers = keystroke.modifiers; - return; - } - if self.keystrokes.len() < Self::KEYSTROKE_COUNT_MAX && keystroke.modifiers.modified() { - self.keystrokes.push(Self::dummy(keystroke.modifiers)); - } - } - - fn on_inner_focus_in(&mut self, _window: &mut Window, cx: &mut Context<Self>) { - if self.intercept_subscription.is_none() { - let listener = cx.listener(|this, event: &gpui::KeystrokeEvent, window, cx| { - this.handle_keystroke(&event.keystroke, window, cx); - }); - self.intercept_subscription = Some(cx.intercept_keystrokes(listener)) - } - } - - fn on_inner_focus_out( - &mut self, - _event: gpui::FocusOutEvent, - _window: &mut Window, - cx: &mut Context<Self>, - ) { - self.intercept_subscription.take(); - cx.notify(); - } - - fn render_keystrokes(&self, is_recording: bool) -> impl Iterator<Item = Div> { - let keystrokes = if let Some(placeholders) = self.placeholder_keystrokes.as_ref() - && self.keystrokes.is_empty() - { - if is_recording { - &[] - } else { - placeholders.as_slice() - } - } else { - &self.keystrokes - }; - keystrokes.iter().map(move |keystroke| { - h_flex().children(ui::render_keystroke( - keystroke, - Some(Color::Default), - Some(rems(0.875).into()), - ui::PlatformStyle::platform(), - false, - )) - }) - } - - pub fn start_recording( - &mut self, - _: &StartRecording, - window: &mut Window, - cx: &mut Context<Self>, - ) { - window.focus(&self.inner_focus_handle); - self.clear_keystrokes(&ClearKeystrokes, window, cx); - self.previous_modifiers = window.modifiers(); - #[cfg(test)] - { - self.recording = true; - } - cx.stop_propagation(); - } - - pub fn stop_recording( - &mut self, - _: &StopRecording, - window: &mut Window, - cx: &mut Context<Self>, - ) { - if !self.is_recording(window) { - return; - } - window.focus(&self.outer_focus_handle); - if let Some(close_keystrokes_start) = self.close_keystrokes_start.take() - && close_keystrokes_start < self.keystrokes.len() - { - self.keystrokes.drain(close_keystrokes_start..); - self.keystrokes_changed(cx); - } - self.end_close_keystrokes_capture(); - #[cfg(test)] - { - self.recording = false; - } - cx.notify(); - } - - pub fn clear_keystrokes( - &mut self, - _: &ClearKeystrokes, - _window: &mut Window, - cx: &mut Context<Self>, - ) { - self.keystrokes.clear(); - self.keystrokes_changed(cx); - self.end_close_keystrokes_capture(); - } - - fn is_recording(&self, window: &Window) -> bool { - #[cfg(test)] - { - if true { - // in tests, we just need a simple bool that is toggled on start and stop recording - return self.recording; - } - } - // however, in the real world, checking if the inner focus handle is focused - // is a much more reliable check, as the intercept keystroke handlers are installed - // on focus of the inner focus handle, thereby ensuring our recording state does - // not get de-synced - return self.inner_focus_handle.is_focused(window); - } -} - -impl EventEmitter<()> for KeystrokeInput {} - -impl Focusable for KeystrokeInput { - fn focus_handle(&self, _cx: &gpui::App) -> FocusHandle { - self.outer_focus_handle.clone() - } -} - -impl Render for KeystrokeInput { - fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { - let colors = cx.theme().colors(); - let is_focused = self.outer_focus_handle.contains_focused(window, cx); - let is_recording = self.is_recording(window); - - let horizontal_padding = rems_from_px(64.); - - let recording_bg_color = colors - .editor_background - .blend(colors.text_accent.opacity(0.1)); - - let recording_pulse = |color: Color| { - Icon::new(IconName::Circle) - .size(IconSize::Small) - .color(Color::Error) - .with_animation( - "recording-pulse", - Animation::new(std::time::Duration::from_secs(2)) - .repeat() - .with_easing(gpui::pulsating_between(0.4, 0.8)), - { - let color = color.color(cx); - move |this, delta| this.color(Color::Custom(color.opacity(delta))) - }, - ) - }; - - let recording_indicator = h_flex() - .h_4() - .pr_1() - .gap_0p5() - .border_1() - .border_color(colors.border) - .bg(colors - .editor_background - .blend(colors.text_accent.opacity(0.1))) - .rounded_sm() - .child(recording_pulse(Color::Error)) - .child( - Label::new("REC") - .size(LabelSize::XSmall) - .weight(FontWeight::SEMIBOLD) - .color(Color::Error), - ); - - let search_indicator = h_flex() - .h_4() - .pr_1() - .gap_0p5() - .border_1() - .border_color(colors.border) - .bg(colors - .editor_background - .blend(colors.text_accent.opacity(0.1))) - .rounded_sm() - .child(recording_pulse(Color::Accent)) - .child( - Label::new("SEARCH") - .size(LabelSize::XSmall) - .weight(FontWeight::SEMIBOLD) - .color(Color::Accent), - ); - - let record_icon = if self.search { - IconName::MagnifyingGlass - } else { - IconName::PlayFilled - }; - - h_flex() - .id("keystroke-input") - .track_focus(&self.outer_focus_handle) - .py_2() - .px_3() - .gap_2() - .min_h_10() - .w_full() - .flex_1() - .justify_between() - .rounded_lg() - .overflow_hidden() - .map(|this| { - if is_recording { - this.bg(recording_bg_color) - } else { - this.bg(colors.editor_background) - } - }) - .border_1() - .border_color(colors.border_variant) - .when(is_focused, |parent| { - parent.border_color(colors.border_focused) - }) - .key_context(Self::key_context()) - .on_action(cx.listener(Self::start_recording)) - .on_action(cx.listener(Self::clear_keystrokes)) - .child( - h_flex() - .w(horizontal_padding) - .gap_0p5() - .justify_start() - .flex_none() - .when(is_recording, |this| { - this.map(|this| { - if self.search { - this.child(search_indicator) - } else { - this.child(recording_indicator) - } - }) - }), - ) - .child( - h_flex() - .id("keystroke-input-inner") - .track_focus(&self.inner_focus_handle) - .on_modifiers_changed(cx.listener(Self::on_modifiers_changed)) - .size_full() - .when(!self.search, |this| { - this.focus(|mut style| { - style.border_color = Some(colors.border_focused); - style - }) - }) - .w_full() - .min_w_0() - .justify_center() - .flex_wrap() - .gap(ui::DynamicSpacing::Base04.rems(cx)) - .children(self.render_keystrokes(is_recording)), - ) - .child( - h_flex() - .w(horizontal_padding) - .gap_0p5() - .justify_end() - .flex_none() - .map(|this| { - if is_recording { - this.child( - IconButton::new("stop-record-btn", IconName::StopFilled) - .shape(IconButtonShape::Square) - .map(|this| { - this.tooltip(Tooltip::for_action_title( - if self.search { - "Stop Searching" - } else { - "Stop Recording" - }, - &StopRecording, - )) - }) - .icon_color(Color::Error) - .on_click(cx.listener(|this, _event, window, cx| { - this.stop_recording(&StopRecording, window, cx); - })), - ) - } else { - this.child( - IconButton::new("record-btn", record_icon) - .shape(IconButtonShape::Square) - .map(|this| { - this.tooltip(Tooltip::for_action_title( - if self.search { - "Start Searching" - } else { - "Start Recording" - }, - &StartRecording, - )) - }) - .when(!is_focused, |this| this.icon_color(Color::Muted)) - .on_click(cx.listener(|this, _event, window, cx| { - this.start_recording(&StartRecording, window, cx); - })), - ) - } - }) - .child( - IconButton::new("clear-btn", IconName::Delete) - .shape(IconButtonShape::Square) - .tooltip(Tooltip::for_action_title( - "Clear Keystrokes", - &ClearKeystrokes, - )) - .when(!is_recording || !is_focused, |this| { - this.icon_color(Color::Muted) - }) - .on_click(cx.listener(|this, _event, window, cx| { - this.clear_keystrokes(&ClearKeystrokes, window, cx); - })), - ), - ) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use fs::FakeFs; - use gpui::{Entity, TestAppContext, VisualTestContext}; - use itertools::Itertools as _; - use project::Project; - use settings::SettingsStore; - use workspace::Workspace; - - pub struct KeystrokeInputTestHelper { - input: Entity<KeystrokeInput>, - current_modifiers: Modifiers, - cx: VisualTestContext, - } - - impl KeystrokeInputTestHelper { - /// Creates a new test helper with default settings - pub fn new(mut cx: VisualTestContext) -> Self { - let input = cx.new_window_entity(|window, cx| KeystrokeInput::new(None, window, cx)); - - let mut helper = Self { - input, - current_modifiers: Modifiers::default(), - cx, - }; - - helper.start_recording(); - helper - } - - /// Sets search mode on the input - pub fn with_search_mode(&mut self, search: bool) -> &mut Self { - self.input.update(&mut self.cx, |input, _| { - input.set_search(search); - }); - self - } - - /// Sends a keystroke event based on string description - /// Examples: "a", "ctrl-a", "cmd-shift-z", "escape" - #[track_caller] - pub fn send_keystroke(&mut self, keystroke_input: &str) -> &mut Self { - self.expect_is_recording(true); - let keystroke_str = if keystroke_input.ends_with('-') { - format!("{}_", keystroke_input) - } else { - keystroke_input.to_string() - }; - - let mut keystroke = Keystroke::parse(&keystroke_str) - .unwrap_or_else(|_| panic!("Invalid keystroke: {}", keystroke_input)); - - // Remove the dummy key if we added it for modifier-only keystrokes - if keystroke_input.ends_with('-') && keystroke_str.ends_with("_") { - keystroke.key = "".to_string(); - } - - // Combine current modifiers with keystroke modifiers - keystroke.modifiers |= self.current_modifiers; - - self.update_input(|input, window, cx| { - input.handle_keystroke(&keystroke, window, cx); - }); - - // Don't update current_modifiers for keystrokes with actual keys - if keystroke.key.is_empty() { - self.current_modifiers = keystroke.modifiers; - } - self - } - - /// Sends a modifier change event based on string description - /// Examples: "+ctrl", "-ctrl", "+cmd+shift", "-all" - #[track_caller] - pub fn send_modifiers(&mut self, modifiers: &str) -> &mut Self { - self.expect_is_recording(true); - let new_modifiers = if modifiers == "-all" { - Modifiers::default() - } else { - self.parse_modifier_change(modifiers) - }; - - let event = ModifiersChangedEvent { - modifiers: new_modifiers, - capslock: gpui::Capslock::default(), - }; - - self.update_input(|input, window, cx| { - input.on_modifiers_changed(&event, window, cx); - }); - - self.current_modifiers = new_modifiers; - self - } - - /// Sends multiple events in sequence - /// Each event string is either a keystroke or modifier change - #[track_caller] - pub fn send_events(&mut self, events: &[&str]) -> &mut Self { - self.expect_is_recording(true); - for event in events { - if event.starts_with('+') || event.starts_with('-') { - self.send_modifiers(event); - } else { - self.send_keystroke(event); - } - } - self - } - - #[track_caller] - fn expect_keystrokes_equal(actual: &[Keystroke], expected: &[&str]) { - let expected_keystrokes: Result<Vec<Keystroke>, _> = expected - .iter() - .map(|s| { - let keystroke_str = if s.ends_with('-') { - format!("{}_", s) - } else { - s.to_string() - }; - - let mut keystroke = Keystroke::parse(&keystroke_str)?; - - // Remove the dummy key if we added it for modifier-only keystrokes - if s.ends_with('-') && keystroke_str.ends_with("_") { - keystroke.key = "".to_string(); - } - - Ok(keystroke) - }) - .collect(); - - let expected_keystrokes = expected_keystrokes - .unwrap_or_else(|e: anyhow::Error| panic!("Invalid expected keystroke: {}", e)); - - assert_eq!( - actual.len(), - expected_keystrokes.len(), - "Keystroke count mismatch. Expected: {:?}, Actual: {:?}", - expected_keystrokes - .iter() - .map(|k| k.unparse()) - .collect::<Vec<_>>(), - actual.iter().map(|k| k.unparse()).collect::<Vec<_>>() - ); - - for (i, (actual, expected)) in actual.iter().zip(expected_keystrokes.iter()).enumerate() - { - assert_eq!( - actual.unparse(), - expected.unparse(), - "Keystroke {} mismatch. Expected: '{}', Actual: '{}'", - i, - expected.unparse(), - actual.unparse() - ); - } - } - - /// Verifies that the keystrokes match the expected strings - #[track_caller] - pub fn expect_keystrokes(&mut self, expected: &[&str]) -> &mut Self { - let actual = self - .input - .read_with(&mut self.cx, |input, _| input.keystrokes.clone()); - Self::expect_keystrokes_equal(&actual, expected); - self - } - - #[track_caller] - pub fn expect_close_keystrokes(&mut self, expected: &[&str]) -> &mut Self { - let actual = self - .input - .read_with(&mut self.cx, |input, _| input.close_keystrokes.clone()) - .unwrap_or_default(); - Self::expect_keystrokes_equal(&actual, expected); - self - } - - /// Verifies that there are no keystrokes - #[track_caller] - pub fn expect_empty(&mut self) -> &mut Self { - self.expect_keystrokes(&[]) - } - - /// Starts recording keystrokes - #[track_caller] - pub fn start_recording(&mut self) -> &mut Self { - self.expect_is_recording(false); - self.input.update_in(&mut self.cx, |input, window, cx| { - input.start_recording(&StartRecording, window, cx); - }); - self - } - - /// Stops recording keystrokes - pub fn stop_recording(&mut self) -> &mut Self { - self.expect_is_recording(true); - self.input.update_in(&mut self.cx, |input, window, cx| { - input.stop_recording(&StopRecording, window, cx); - }); - self - } - - /// Clears all keystrokes - #[track_caller] - pub fn clear_keystrokes(&mut self) -> &mut Self { - let change_tracker = KeystrokeUpdateTracker::new(self.input.clone(), &mut self.cx); - self.input.update_in(&mut self.cx, |input, window, cx| { - input.clear_keystrokes(&ClearKeystrokes, window, cx); - }); - KeystrokeUpdateTracker::finish(change_tracker, &self.cx); - self.current_modifiers = Default::default(); - self - } - - /// Verifies the recording state - #[track_caller] - pub fn expect_is_recording(&mut self, expected: bool) -> &mut Self { - let actual = self - .input - .update_in(&mut self.cx, |input, window, _| input.is_recording(window)); - assert_eq!( - actual, expected, - "Recording state mismatch. Expected: {}, Actual: {}", - expected, actual - ); - self - } - - pub async fn wait_for_close_keystroke_capture_end(&mut self) -> &mut Self { - let task = self.input.update_in(&mut self.cx, |input, _, _| { - input.clear_close_keystrokes_timer.take() - }); - let task = task.expect("No close keystroke capture end timer task"); - self.cx - .executor() - .advance_clock(CLOSE_KEYSTROKE_CAPTURE_END_TIMEOUT); - task.await; - self - } - - /// Parses modifier change strings like "+ctrl", "-shift", "+cmd+alt" - #[track_caller] - fn parse_modifier_change(&self, modifiers_str: &str) -> Modifiers { - let mut modifiers = self.current_modifiers; - - assert!(!modifiers_str.is_empty(), "Empty modifier string"); - - let value; - let split_char; - let remaining; - if let Some(to_add) = modifiers_str.strip_prefix('+') { - value = true; - split_char = '+'; - remaining = to_add; - } else { - let to_remove = modifiers_str - .strip_prefix('-') - .expect("Modifier string must start with '+' or '-'"); - value = false; - split_char = '-'; - remaining = to_remove; - } - - for modifier in remaining.split(split_char) { - match modifier { - "ctrl" | "control" => modifiers.control = value, - "alt" | "option" => modifiers.alt = value, - "shift" => modifiers.shift = value, - "cmd" | "command" | "platform" => modifiers.platform = value, - "fn" | "function" => modifiers.function = value, - _ => panic!("Unknown modifier: {}", modifier), - } - } - - modifiers - } - - #[track_caller] - fn update_input<R>( - &mut self, - cb: impl FnOnce(&mut KeystrokeInput, &mut Window, &mut Context<KeystrokeInput>) -> R, - ) -> R { - let change_tracker = KeystrokeUpdateTracker::new(self.input.clone(), &mut self.cx); - let result = self.input.update_in(&mut self.cx, cb); - KeystrokeUpdateTracker::finish(change_tracker, &self.cx); - return result; - } - } - - struct KeystrokeUpdateTracker { - initial_keystrokes: Vec<Keystroke>, - _subscription: Subscription, - input: Entity<KeystrokeInput>, - received_keystrokes_updated: bool, - } - - impl KeystrokeUpdateTracker { - fn new(input: Entity<KeystrokeInput>, cx: &mut VisualTestContext) -> Entity<Self> { - cx.new(|cx| Self { - initial_keystrokes: input.read_with(cx, |input, _| input.keystrokes.clone()), - _subscription: cx.subscribe(&input, |this: &mut Self, _, _, _| { - this.received_keystrokes_updated = true; - }), - input, - received_keystrokes_updated: false, - }) - } - #[track_caller] - fn finish(this: Entity<Self>, cx: &VisualTestContext) { - let (received_keystrokes_updated, initial_keystrokes_str, updated_keystrokes_str) = - this.read_with(cx, |this, cx| { - let updated_keystrokes = this - .input - .read_with(cx, |input, _| input.keystrokes.clone()); - let initial_keystrokes_str = keystrokes_str(&this.initial_keystrokes); - let updated_keystrokes_str = keystrokes_str(&updated_keystrokes); - ( - this.received_keystrokes_updated, - initial_keystrokes_str, - updated_keystrokes_str, - ) - }); - if received_keystrokes_updated { - assert_ne!( - initial_keystrokes_str, updated_keystrokes_str, - "Received keystrokes_updated event, expected different keystrokes" - ); - } else { - assert_eq!( - initial_keystrokes_str, updated_keystrokes_str, - "Received no keystrokes_updated event, expected same keystrokes" - ); - } - - fn keystrokes_str(ks: &[Keystroke]) -> String { - ks.iter().map(|ks| ks.unparse()).join(" ") - } - } - } - - async fn init_test(cx: &mut TestAppContext) -> KeystrokeInputTestHelper { - cx.update(|cx| { - let settings_store = SettingsStore::test(cx); - cx.set_global(settings_store); - theme::init(theme::LoadThemes::JustBase, cx); - language::init(cx); - project::Project::init_settings(cx); - workspace::init_settings(cx); - }); - - let fs = FakeFs::new(cx.executor()); - let project = Project::test(fs, [], cx).await; - let workspace = - cx.add_window(|window, cx| Workspace::test_new(project.clone(), window, cx)); - let cx = VisualTestContext::from_window(*workspace, cx); - KeystrokeInputTestHelper::new(cx) - } - - #[gpui::test] - async fn test_basic_keystroke_input(cx: &mut TestAppContext) { - init_test(cx) - .await - .send_keystroke("a") - .clear_keystrokes() - .expect_empty(); - } - - #[gpui::test] - async fn test_modifier_handling(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "a", "-ctrl"]) - .expect_keystrokes(&["ctrl-a"]); - } - - #[gpui::test] - async fn test_multiple_modifiers(cx: &mut TestAppContext) { - init_test(cx) - .await - .send_keystroke("cmd-shift-z") - .expect_keystrokes(&["cmd-shift-z", "cmd-shift-"]); - } - - #[gpui::test] - async fn test_search_mode_behavior(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+cmd", "shift-f", "-cmd"]) - // In search mode, when completing a modifier-only keystroke with a key, - // only the original modifiers are preserved, not the keystroke's modifiers - .expect_keystrokes(&["cmd-f"]); - } - - #[gpui::test] - async fn test_keystroke_limit(cx: &mut TestAppContext) { - init_test(cx) - .await - .send_keystroke("a") - .send_keystroke("b") - .send_keystroke("c") - .expect_keystrokes(&["a", "b", "c"]) // At max limit - .send_keystroke("d") - .expect_empty(); // Should clear when exceeding limit - } - - #[gpui::test] - async fn test_modifier_release_all(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl+shift", "a", "-all"]) - .expect_keystrokes(&["ctrl-shift-a"]); - } - - #[gpui::test] - async fn test_search_new_modifiers_not_added_until_all_released(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl+shift", "a", "-ctrl"]) - .expect_keystrokes(&["ctrl-shift-a"]) - .send_events(&["+ctrl"]) - .expect_keystrokes(&["ctrl-shift-a", "ctrl-shift-"]); - } - - #[gpui::test] - async fn test_previous_modifiers_no_effect_when_not_search(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(false) - .send_events(&["+ctrl+shift", "a", "-all"]) - .expect_keystrokes(&["ctrl-shift-a"]); - } - - #[gpui::test] - async fn test_keystroke_limit_overflow_non_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(false) - .send_events(&["a", "b", "c", "d"]) // 4 keystrokes, exceeds limit of 3 - .expect_empty(); // Should clear when exceeding limit - } - - #[gpui::test] - async fn test_complex_modifier_sequences(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "+shift", "+alt", "a", "-ctrl", "-shift", "-alt"]) - .expect_keystrokes(&["ctrl-shift-alt-a"]); - } - - #[gpui::test] - async fn test_modifier_only_keystrokes_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "+shift", "-ctrl", "-shift"]) - .expect_keystrokes(&["ctrl-shift-"]); // Modifier-only sequences create modifier-only keystrokes - } - - #[gpui::test] - async fn test_modifier_only_keystrokes_non_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(false) - .send_events(&["+ctrl", "+shift", "-ctrl", "-shift"]) - .expect_empty(); // Modifier-only sequences get filtered in non-search mode - } - - #[gpui::test] - async fn test_rapid_modifier_changes(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "-ctrl", "+shift", "-shift", "+alt", "a", "-alt"]) - .expect_keystrokes(&["ctrl-", "shift-", "alt-a"]); - } - - #[gpui::test] - async fn test_clear_keystrokes_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "a", "-ctrl", "b"]) - .expect_keystrokes(&["ctrl-a", "b"]) - .clear_keystrokes() - .expect_empty(); - } - - #[gpui::test] - async fn test_non_search_mode_modifier_key_sequence(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(false) - .send_events(&["+ctrl", "a"]) - .expect_keystrokes(&["ctrl-a", "ctrl-"]) - .send_events(&["-ctrl"]) - .expect_keystrokes(&["ctrl-a"]); // Non-search mode filters trailing empty keystrokes - } - - #[gpui::test] - async fn test_all_modifiers_at_once(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl+shift+alt+cmd", "a", "-all"]) - .expect_keystrokes(&["ctrl-shift-alt-cmd-a"]); - } - - #[gpui::test] - async fn test_keystrokes_at_exact_limit(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["a", "b", "c"]) // exactly 3 keystrokes (at limit) - .expect_keystrokes(&["a", "b", "c"]) - .send_events(&["d"]) // should clear when exceeding - .expect_empty(); - } - - #[gpui::test] - async fn test_function_modifier_key(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+fn", "f1", "-fn"]) - .expect_keystrokes(&["fn-f1"]); - } - - #[gpui::test] - async fn test_start_stop_recording(cx: &mut TestAppContext) { - init_test(cx) - .await - .send_events(&["a", "b"]) - .expect_keystrokes(&["a", "b"]) // start_recording clears existing keystrokes - .stop_recording() - .expect_is_recording(false) - .start_recording() - .send_events(&["c"]) - .expect_keystrokes(&["c"]); - } - - #[gpui::test] - async fn test_modifier_sequence_with_interruption(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "+shift", "a", "-shift", "b", "-ctrl"]) - .expect_keystrokes(&["ctrl-shift-a", "ctrl-b"]); - } - - #[gpui::test] - async fn test_empty_key_sequence_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&[]) // No events at all - .expect_empty(); - } - - #[gpui::test] - async fn test_modifier_sequence_completion_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "+shift", "-shift", "a", "-ctrl"]) - .expect_keystrokes(&["ctrl-shift-a"]); - } - - #[gpui::test] - async fn test_triple_escape_stops_recording_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["a", "escape", "escape", "escape"]) - .expect_keystrokes(&["a"]) // Triple escape removes final escape, stops recording - .expect_is_recording(false); - } - - #[gpui::test] - async fn test_triple_escape_stops_recording_non_search_mode(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(false) - .send_events(&["a", "escape", "escape", "escape"]) - .expect_keystrokes(&["a"]); // Triple escape stops recording but only removes final escape - } - - #[gpui::test] - async fn test_triple_escape_at_keystroke_limit(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["a", "b", "c", "escape", "escape", "escape"]) // 6 keystrokes total, exceeds limit - .expect_keystrokes(&["a", "b", "c"]); // Triple escape stops recording and removes escapes, leaves original keystrokes - } - - #[gpui::test] - async fn test_interrupted_escape_sequence(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["escape", "escape", "a", "escape"]) // Partial escape sequence interrupted by 'a' - .expect_keystrokes(&["escape", "escape", "a"]); // Escape sequence interrupted by 'a', no close triggered - } - - #[gpui::test] - async fn test_interrupted_escape_sequence_within_limit(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["escape", "escape", "a"]) // Partial escape sequence interrupted by 'a' (3 keystrokes, at limit) - .expect_keystrokes(&["escape", "escape", "a"]); // Should not trigger close, interruption resets escape detection - } - - #[gpui::test] - async fn test_partial_escape_sequence_no_close(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["escape", "escape"]) // Only 2 escapes, not enough to close - .expect_keystrokes(&["escape", "escape"]) - .expect_is_recording(true); // Should remain in keystrokes, no close triggered - } - - #[gpui::test] - async fn test_recording_state_after_triple_escape(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["a", "escape", "escape", "escape"]) - .expect_keystrokes(&["a"]) // Triple escape stops recording, removes final escape - .expect_is_recording(false); - } - - #[gpui::test] - async fn test_triple_escape_mixed_with_other_keystrokes(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["a", "escape", "b", "escape", "escape"]) // Mixed sequence, should not trigger close - .expect_keystrokes(&["a", "escape", "b"]); // No complete triple escape sequence, stays at limit - } - - #[gpui::test] - async fn test_triple_escape_only(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["escape", "escape", "escape"]) // Pure triple escape sequence - .expect_empty(); - } - - #[gpui::test] - async fn test_end_close_keystroke_capture(cx: &mut TestAppContext) { - init_test(cx) - .await - .send_events(&["+ctrl", "g", "-ctrl", "escape"]) - .expect_keystrokes(&["ctrl-g", "escape"]) - .wait_for_close_keystroke_capture_end() - .await - .send_events(&["escape", "escape"]) - .expect_keystrokes(&["ctrl-g", "escape", "escape"]) - .expect_close_keystrokes(&["escape", "escape"]) - .send_keystroke("escape") - .expect_keystrokes(&["ctrl-g", "escape"]); - } - - #[gpui::test] - async fn test_search_previous_modifiers_are_sticky(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl+alt", "-ctrl", "j"]) - .expect_keystrokes(&["ctrl-alt-j"]); - } - - #[gpui::test] - async fn test_previous_modifiers_can_be_entered_separately(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "-ctrl"]) - .expect_keystrokes(&["ctrl-"]) - .send_events(&["+alt", "-alt"]) - .expect_keystrokes(&["ctrl-", "alt-"]); - } - - #[gpui::test] - async fn test_previous_modifiers_reset_on_key(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl+alt", "-ctrl", "+shift"]) - .expect_keystrokes(&["ctrl-shift-alt-"]) - .send_keystroke("j") - .expect_keystrokes(&["ctrl-shift-alt-j"]) - .send_keystroke("i") - .expect_keystrokes(&["ctrl-shift-alt-j", "shift-alt-i"]) - .send_events(&["-shift-alt", "+cmd"]) - .expect_keystrokes(&["ctrl-shift-alt-j", "shift-alt-i", "cmd-"]); - } - - #[gpui::test] - async fn test_previous_modifiers_reset_on_release_all(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl+alt", "-ctrl", "+shift"]) - .expect_keystrokes(&["ctrl-shift-alt-"]) - .send_events(&["-all", "j"]) - .expect_keystrokes(&["ctrl-shift-alt-", "j"]); - } - - #[gpui::test] - async fn test_search_repeat_modifiers(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(true) - .send_events(&["+ctrl", "-ctrl", "+alt", "-alt", "+shift", "-shift"]) - .expect_keystrokes(&["ctrl-", "alt-", "shift-"]) - .send_events(&["+cmd"]) - .expect_empty(); - } - - #[gpui::test] - async fn test_not_search_repeat_modifiers(cx: &mut TestAppContext) { - init_test(cx) - .await - .with_search_mode(false) - .send_events(&["+ctrl", "-ctrl", "+alt", "-alt", "+shift", "-shift"]) - .expect_empty(); - } -} diff --git a/crates/settings_ui/src/ui_components/mod.rs b/crates/settings_ui/src/ui_components/mod.rs index 5d6463a61a..13971b0a5d 100644 --- a/crates/settings_ui/src/ui_components/mod.rs +++ b/crates/settings_ui/src/ui_components/mod.rs @@ -1,2 +1 @@ -pub mod keystroke_input; pub mod table; diff --git a/crates/settings_ui/src/ui_components/table.rs b/crates/settings_ui/src/ui_components/table.rs index 3c9992bd68..69207f559b 100644 --- a/crates/settings_ui/src/ui_components/table.rs +++ b/crates/settings_ui/src/ui_components/table.rs @@ -2,9 +2,9 @@ use std::{ops::Range, rc::Rc, time::Duration}; use editor::{EditorSettings, ShowScrollbar, scroll::ScrollbarAutoHide}; use gpui::{ - AbsoluteLength, AppContext, Axis, Context, DefiniteLength, DragMoveEvent, Entity, EntityId, - FocusHandle, Length, ListHorizontalSizingBehavior, ListSizingBehavior, MouseButton, Point, - Stateful, Task, UniformListScrollHandle, WeakEntity, transparent_black, uniform_list, + AbsoluteLength, AppContext, Axis, Context, DefiniteLength, DragMoveEvent, Entity, FocusHandle, + Length, ListHorizontalSizingBehavior, ListSizingBehavior, MouseButton, Point, Stateful, Task, + UniformListScrollHandle, WeakEntity, transparent_black, uniform_list, }; use itertools::intersperse_with; @@ -13,12 +13,10 @@ use ui::{ ActiveTheme as _, AnyElement, App, Button, ButtonCommon as _, ButtonStyle, Color, Component, ComponentScope, Div, ElementId, FixedWidth as _, FluentBuilder as _, Indicator, InteractiveElement, IntoElement, ParentElement, Pixels, RegisterComponent, RenderOnce, - Scrollbar, ScrollbarState, SharedString, StatefulInteractiveElement, Styled, StyledExt as _, + Scrollbar, ScrollbarState, StatefulInteractiveElement, Styled, StyledExt as _, StyledTypography, Window, div, example_group_with_title, h_flex, px, single_example, v_flex, }; -const RESIZE_COLUMN_WIDTH: f32 = 8.0; - #[derive(Debug)] struct DraggedColumn(usize); @@ -214,7 +212,6 @@ impl TableInteractionState { let mut column_ix = 0; let resizable_columns_slice = *resizable_columns; let mut resizable_columns = resizable_columns.into_iter(); - let dividers = intersperse_with(spacers, || { window.with_id(column_ix, |window| { let mut resize_divider = div() @@ -222,15 +219,15 @@ impl TableInteractionState { .id(column_ix) .relative() .top_0() - .w_px() + .w_0p5() .h_full() - .bg(cx.theme().colors().border.opacity(0.8)); + .bg(cx.theme().colors().border.opacity(0.5)); let mut resize_handle = div() .id("column-resize-handle") .absolute() .left_neg_0p5() - .w(px(RESIZE_COLUMN_WIDTH)) + .w(px(5.0)) .h_full(); if resizable_columns @@ -238,11 +235,9 @@ impl TableInteractionState { .is_some_and(ResizeBehavior::is_resizable) { let hovered = window.use_state(cx, |_window, _cx| false); - resize_divider = resize_divider.when(*hovered.read(cx), |div| { div.bg(cx.theme().colors().border_focused) }); - resize_handle = resize_handle .on_hover(move |&was_hovered, _, cx| hovered.write(cx, was_hovered)) .cursor_col_resize() @@ -272,11 +267,12 @@ impl TableInteractionState { }) }); - h_flex() + div() .id("resize-handles") + .h_flex() .absolute() - .inset_0() .w_full() + .inset_0() .children(dividers) .into_any_element() } @@ -482,7 +478,6 @@ impl ResizeBehavior { pub struct ColumnWidths<const COLS: usize> { widths: [DefiniteLength; COLS], - visible_widths: [DefiniteLength; COLS], cached_bounds_width: Pixels, initialized: bool, } @@ -491,7 +486,6 @@ impl<const COLS: usize> ColumnWidths<COLS> { pub fn new(_: &mut App) -> Self { Self { widths: [DefiniteLength::default(); COLS], - visible_widths: [DefiniteLength::default(); COLS], cached_bounds_width: Default::default(), initialized: false, } @@ -518,105 +512,46 @@ impl<const COLS: usize> ColumnWidths<COLS> { let rem_size = window.rem_size(); let initial_sizes = initial_sizes.map(|length| Self::get_fraction(&length, bounds_width, rem_size)); - let widths = self + let mut widths = self .widths .map(|length| Self::get_fraction(&length, bounds_width, rem_size)); - let updated_widths = Self::reset_to_initial_size( - double_click_position, - widths, - initial_sizes, - resize_behavior, - ); - self.widths = updated_widths.map(DefiniteLength::Fraction); - self.visible_widths = self.widths; - } + let diff = initial_sizes[double_click_position] - widths[double_click_position]; - fn reset_to_initial_size( - col_idx: usize, - mut widths: [f32; COLS], - initial_sizes: [f32; COLS], - resize_behavior: &[ResizeBehavior; COLS], - ) -> [f32; COLS] { - // RESET: - // Part 1: - // Figure out if we should shrink/grow the selected column - // Get diff which represents the change in column we want to make initial size delta curr_size = diff - // - // Part 2: We need to decide which side column we should move and where - // - // If we want to grow our column we should check the left/right columns diff to see what side - // has a greater delta than their initial size. Likewise, if we shrink our column we should check - // the left/right column diffs to see what side has the smallest delta. - // - // Part 3: resize - // - // col_idx represents the column handle to the right of an active column - // - // If growing and right has the greater delta { - // shift col_idx to the right - // } else if growing and left has the greater delta { - // shift col_idx - 1 to the left - // } else if shrinking and the right has the greater delta { - // shift - // } { - // - // } - // } - // - // if we need to shrink, then if the right - // + if diff > 0.0 { + let diff_remaining = self.propagate_resize_diff_right( + diff, + double_click_position, + &mut widths, + resize_behavior, + ); - // DRAGGING - // we get diff which represents the change in the _drag handle_ position - // -diff => dragging left -> - // grow the column to the right of the handle as much as we can shrink columns to the left of the handle - // +diff => dragging right -> growing handles column - // grow the column to the left of the handle as much as we can shrink columns to the right of the handle - // - - let diff = initial_sizes[col_idx] - widths[col_idx]; - - let left_diff = - initial_sizes[..col_idx].iter().sum::<f32>() - widths[..col_idx].iter().sum::<f32>(); - let right_diff = initial_sizes[col_idx + 1..].iter().sum::<f32>() - - widths[col_idx + 1..].iter().sum::<f32>(); - - let go_left_first = if diff < 0.0 { - left_diff > right_diff - } else { - left_diff < right_diff - }; - - if !go_left_first { - let diff_remaining = - Self::propagate_resize_diff(diff, col_idx, &mut widths, resize_behavior, 1); - - if diff_remaining != 0.0 && col_idx > 0 { - Self::propagate_resize_diff( - diff_remaining, - col_idx, + if diff_remaining > 0.0 && double_click_position > 0 { + self.propagate_resize_diff_left( + -diff_remaining, + double_click_position - 1, &mut widths, resize_behavior, - -1, ); } - } else { - let diff_remaining = - Self::propagate_resize_diff(diff, col_idx, &mut widths, resize_behavior, -1); + } else if double_click_position > 0 { + let diff_remaining = self.propagate_resize_diff_left( + diff, + double_click_position, + &mut widths, + resize_behavior, + ); - if diff_remaining != 0.0 { - Self::propagate_resize_diff( - diff_remaining, - col_idx, + if diff_remaining < 0.0 { + self.propagate_resize_diff_right( + -diff_remaining, + double_click_position, &mut widths, resize_behavior, - 1, ); } } - - widths + self.widths = widths.map(DefiniteLength::Fraction); } fn on_drag_move( @@ -634,102 +569,98 @@ impl<const COLS: usize> ColumnWidths<COLS> { let bounds_width = bounds.right() - bounds.left(); let col_idx = drag_event.drag(cx).0; - let column_handle_width = Self::get_fraction( - &DefiniteLength::Absolute(AbsoluteLength::Pixels(px(RESIZE_COLUMN_WIDTH))), - bounds_width, - rem_size, - ); - let mut widths = self .widths .map(|length| Self::get_fraction(&length, bounds_width, rem_size)); for length in widths[0..=col_idx].iter() { - col_position += length + column_handle_width; + col_position += length; } let mut total_length_ratio = col_position; for length in widths[col_idx + 1..].iter() { total_length_ratio += length; } - total_length_ratio += (COLS - 1 - col_idx) as f32 * column_handle_width; let drag_fraction = (drag_position.x - bounds.left()) / bounds_width; let drag_fraction = drag_fraction * total_length_ratio; - let diff = drag_fraction - col_position - column_handle_width / 2.0; + let diff = drag_fraction - col_position; - Self::drag_column_handle(diff, col_idx, &mut widths, resize_behavior); + let is_dragging_right = diff > 0.0; - self.visible_widths = widths.map(DefiniteLength::Fraction); - } - - fn drag_column_handle( - diff: f32, - col_idx: usize, - widths: &mut [f32; COLS], - resize_behavior: &[ResizeBehavior; COLS], - ) { - // if diff > 0.0 then go right - if diff > 0.0 { - Self::propagate_resize_diff(diff, col_idx, widths, resize_behavior, 1); + if is_dragging_right { + self.propagate_resize_diff_right(diff, col_idx, &mut widths, resize_behavior); } else { - Self::propagate_resize_diff(-diff, col_idx + 1, widths, resize_behavior, -1); + // Resize behavior should be improved in the future by also seeking to the right column when there's not enough space + self.propagate_resize_diff_left(diff, col_idx, &mut widths, resize_behavior); } + self.widths = widths.map(DefiniteLength::Fraction); } - fn propagate_resize_diff( + fn propagate_resize_diff_right( + &self, diff: f32, col_idx: usize, widths: &mut [f32; COLS], resize_behavior: &[ResizeBehavior; COLS], - direction: i8, ) -> f32 { let mut diff_remaining = diff; - if resize_behavior[col_idx].min_size().is_none() { - return diff; + let mut curr_column = col_idx + 1; + + while diff_remaining > 0.0 && curr_column < COLS { + let Some(min_size) = resize_behavior[curr_column - 1].min_size() else { + curr_column += 1; + continue; + }; + + let mut curr_width = widths[curr_column] - diff_remaining; + + diff_remaining = 0.0; + if min_size > curr_width { + diff_remaining += min_size - curr_width; + curr_width = min_size; + } + widths[curr_column] = curr_width; + curr_column += 1; } - let step_right; - let step_left; - if direction < 0 { - step_right = 0; - step_left = 1; - } else { - step_right = 1; - step_left = 0; - } - if col_idx == 0 && direction < 0 { - return diff; - } - let mut curr_column = col_idx + step_right - step_left; + widths[col_idx] = widths[col_idx] + (diff - diff_remaining); + return diff_remaining; + } - while diff_remaining != 0.0 && curr_column < COLS { + fn propagate_resize_diff_left( + &mut self, + diff: f32, + mut curr_column: usize, + widths: &mut [f32; COLS], + resize_behavior: &[ResizeBehavior; COLS], + ) -> f32 { + let mut diff_remaining = diff; + let col_idx = curr_column; + while diff_remaining < 0.0 { let Some(min_size) = resize_behavior[curr_column].min_size() else { if curr_column == 0 { break; } - curr_column -= step_left; - curr_column += step_right; + curr_column -= 1; continue; }; - let curr_width = widths[curr_column] - diff_remaining; - widths[curr_column] = curr_width; + let mut curr_width = widths[curr_column] + diff_remaining; - if min_size > curr_width { - diff_remaining = min_size - curr_width; - widths[curr_column] = min_size; - } else { - diff_remaining = 0.0; - break; + diff_remaining = 0.0; + if curr_width < min_size { + diff_remaining = curr_width - min_size; + curr_width = min_size } + + widths[curr_column] = curr_width; if curr_column == 0 { break; } - curr_column -= step_left; - curr_column += step_right; + curr_column -= 1; } - widths[col_idx] = widths[col_idx] + (diff - diff_remaining); + widths[col_idx + 1] = widths[col_idx + 1] - (diff - diff_remaining); return diff_remaining; } @@ -755,7 +686,7 @@ impl<const COLS: usize> TableWidths<COLS> { fn lengths(&self, cx: &App) -> [Length; COLS] { self.current .as_ref() - .map(|entity| entity.read(cx).visible_widths.map(Length::Definite)) + .map(|entity| entity.read(cx).widths.map(Length::Definite)) .unwrap_or(self.initial.map(Length::Definite)) } } @@ -868,7 +799,6 @@ impl<const COLS: usize> Table<COLS> { if !widths.initialized { widths.initialized = true; widths.widths = table_widths.initial; - widths.visible_widths = widths.widths; } }) } @@ -898,6 +828,7 @@ fn base_cell_style(width: Option<Length>) -> Div { .px_1p5() .when_some(width, |this, width| this.w(width)) .when(width.is_none(), |this| this.flex_1()) + .justify_start() .whitespace_nowrap() .text_ellipsis() .overflow_hidden() @@ -942,7 +873,7 @@ pub fn render_row<const COLS: usize>( .map(IntoElement::into_any_element) .into_iter() .zip(column_widths) - .map(|(cell, width)| base_cell_style_text(width, cx).px_1().py_0p5().child(cell)), + .map(|(cell, width)| base_cell_style_text(width, cx).px_1p5().py_1().child(cell)), ); let row = if let Some(map_row) = table_context.map_row { @@ -951,30 +882,17 @@ pub fn render_row<const COLS: usize>( row.into_any_element() }; - div().size_full().child(row).into_any_element() + div().h_full().w_full().child(row).into_any_element() } pub fn render_header<const COLS: usize>( headers: [impl IntoElement; COLS], table_context: TableRenderContext<COLS>, - columns_widths: Option<( - WeakEntity<ColumnWidths<COLS>>, - [ResizeBehavior; COLS], - [DefiniteLength; COLS], - )>, - entity_id: Option<EntityId>, cx: &mut App, ) -> impl IntoElement { let column_widths = table_context .column_widths .map_or([None; COLS], |widths| widths.map(Some)); - - let element_id = entity_id - .map(|entity| entity.to_string()) - .unwrap_or_default(); - - let shared_element_id: SharedString = format!("table-{}", element_id).into(); - div() .flex() .flex_row() @@ -984,39 +902,12 @@ pub fn render_header<const COLS: usize>( .p_2() .border_b_1() .border_color(cx.theme().colors().border) - .children(headers.into_iter().enumerate().zip(column_widths).map( - |((header_idx, h), width)| { - base_cell_style_text(width, cx) - .child(h) - .id(ElementId::NamedInteger( - shared_element_id.clone(), - header_idx as u64, - )) - .when_some( - columns_widths.as_ref().cloned(), - |this, (column_widths, resizables, initial_sizes)| { - if resizables[header_idx].is_resizable() { - this.on_click(move |event, window, cx| { - if event.down.click_count > 1 { - column_widths - .update(cx, |column, _| { - column.on_double_click( - header_idx, - &initial_sizes, - &resizables, - window, - ); - }) - .ok(); - } - }) - } else { - this - } - }, - ) - }, - )) + .children( + headers + .into_iter() + .zip(column_widths) + .map(|(h, width)| base_cell_style_text(width, cx).child(h)), + ) } #[derive(Clone)] @@ -1048,12 +939,6 @@ impl<const COLS: usize> RenderOnce for Table<COLS> { .and_then(|widths| Some((widths.current.as_ref()?, widths.resizable))) .map(|(curr, resize_behavior)| (curr.downgrade(), resize_behavior)); - let current_widths_with_initial_sizes = self - .col_widths - .as_ref() - .and_then(|widths| Some((widths.current.as_ref()?, widths.resizable, widths.initial))) - .map(|(curr, resize_behavior, initial)| (curr.downgrade(), resize_behavior, initial)); - let scroll_track_size = px(16.); let h_scroll_offset = if interaction_state .as_ref() @@ -1073,13 +958,7 @@ impl<const COLS: usize> RenderOnce for Table<COLS> { .h_full() .v_flex() .when_some(self.headers.take(), |this, headers| { - this.child(render_header( - headers, - table_context.clone(), - current_widths_with_initial_sizes, - interaction_state.as_ref().map(Entity::entity_id), - cx, - )) + this.child(render_header(headers, table_context.clone(), cx)) }) .when_some(current_widths, { |this, (widths, resize_behavior)| { @@ -1093,28 +972,19 @@ impl<const COLS: usize> RenderOnce for Table<COLS> { .ok(); } }) - .on_children_prepainted({ - let widths = widths.clone(); - move |bounds, _, cx| { - widths - .update(cx, |widths, _| { - // This works because all children x axis bounds are the same - widths.cached_bounds_width = - bounds[0].right() - bounds[0].left(); - }) - .ok(); - } - }) - .on_drop::<DraggedColumn>(move |_, _, cx| { + .on_children_prepainted(move |bounds, _, cx| { widths .update(cx, |widths, _| { - widths.widths = widths.visible_widths; + // This works because all children x axis bounds are the same + widths.cached_bounds_width = bounds[0].right() - bounds[0].left(); }) .ok(); - // Finish the resize operation }) } }) + .on_drop::<DraggedColumn>(|_, _, _| { + // Finish the resize operation + }) .child( div() .flex_grow() @@ -1443,323 +1313,3 @@ impl Component for Table<3> { ) } } - -#[cfg(test)] -mod test { - use super::*; - - fn is_almost_eq(a: &[f32], b: &[f32]) -> bool { - a.len() == b.len() && a.iter().zip(b).all(|(x, y)| (x - y).abs() < 1e-6) - } - - fn cols_to_str<const COLS: usize>(cols: &[f32; COLS], total_size: f32) -> String { - cols.map(|f| "*".repeat(f32::round(f * total_size) as usize)) - .join("|") - } - - fn parse_resize_behavior<const COLS: usize>( - input: &str, - total_size: f32, - ) -> [ResizeBehavior; COLS] { - let mut resize_behavior = [ResizeBehavior::None; COLS]; - let mut max_index = 0; - for (index, col) in input.split('|').enumerate() { - if col.starts_with('X') || col.is_empty() { - resize_behavior[index] = ResizeBehavior::None; - } else if col.starts_with('*') { - resize_behavior[index] = ResizeBehavior::MinSize(col.len() as f32 / total_size); - } else { - panic!("invalid test input: unrecognized resize behavior: {}", col); - } - max_index = index; - } - - if max_index + 1 != COLS { - panic!("invalid test input: too many columns"); - } - resize_behavior - } - - mod reset_column_size { - use super::*; - - fn parse<const COLS: usize>(input: &str) -> ([f32; COLS], f32, Option<usize>) { - let mut widths = [f32::NAN; COLS]; - let mut column_index = None; - for (index, col) in input.split('|').enumerate() { - widths[index] = col.len() as f32; - if col.starts_with('X') { - column_index = Some(index); - } - } - - for w in widths { - assert!(w.is_finite(), "incorrect number of columns"); - } - let total = widths.iter().sum::<f32>(); - for width in &mut widths { - *width /= total; - } - (widths, total, column_index) - } - - #[track_caller] - fn check_reset_size<const COLS: usize>( - initial_sizes: &str, - widths: &str, - expected: &str, - resize_behavior: &str, - ) { - let (initial_sizes, total_1, None) = parse::<COLS>(initial_sizes) else { - panic!("invalid test input: initial sizes should not be marked"); - }; - let (widths, total_2, Some(column_index)) = parse::<COLS>(widths) else { - panic!("invalid test input: widths should be marked"); - }; - assert_eq!( - total_1, total_2, - "invalid test input: total width not the same {total_1}, {total_2}" - ); - let (expected, total_3, None) = parse::<COLS>(expected) else { - panic!("invalid test input: expected should not be marked: {expected:?}"); - }; - assert_eq!( - total_2, total_3, - "invalid test input: total width not the same" - ); - let resize_behavior = parse_resize_behavior::<COLS>(resize_behavior, total_1); - let result = ColumnWidths::reset_to_initial_size( - column_index, - widths, - initial_sizes, - &resize_behavior, - ); - let is_eq = is_almost_eq(&result, &expected); - if !is_eq { - let result_str = cols_to_str(&result, total_1); - let expected_str = cols_to_str(&expected, total_1); - panic!( - "resize failed\ncomputed: {result_str}\nexpected: {expected_str}\n\ncomputed values: {result:?}\nexpected values: {expected:?}\n:minimum widths: {resize_behavior:?}" - ); - } - } - - macro_rules! check_reset_size { - (columns: $cols:expr, starting: $initial:expr, snapshot: $current:expr, expected: $expected:expr, resizing: $resizing:expr $(,)?) => { - check_reset_size::<$cols>($initial, $current, $expected, $resizing); - }; - ($name:ident, columns: $cols:expr, starting: $initial:expr, snapshot: $current:expr, expected: $expected:expr, minimums: $resizing:expr $(,)?) => { - #[test] - fn $name() { - check_reset_size::<$cols>($initial, $current, $expected, $resizing); - } - }; - } - - check_reset_size!( - basic_right, - columns: 5, - starting: "**|**|**|**|**", - snapshot: "**|**|X|***|**", - expected: "**|**|**|**|**", - minimums: "X|*|*|*|*", - ); - - check_reset_size!( - basic_left, - columns: 5, - starting: "**|**|**|**|**", - snapshot: "**|**|***|X|**", - expected: "**|**|**|**|**", - minimums: "X|*|*|*|**", - ); - - check_reset_size!( - squashed_left_reset_col2, - columns: 6, - starting: "*|***|**|**|****|*", - snapshot: "*|*|X|*|*|********", - expected: "*|*|**|*|*|*******", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - grow_cascading_right, - columns: 6, - starting: "*|***|****|**|***|*", - snapshot: "*|***|X|**|**|*****", - expected: "*|***|****|*|*|****", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - squashed_right_reset_col4, - columns: 6, - starting: "*|***|**|**|****|*", - snapshot: "*|********|*|*|X|*", - expected: "*|*****|*|*|****|*", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - reset_col6_right, - columns: 6, - starting: "*|***|**|***|***|**", - snapshot: "*|***|**|***|**|XXX", - expected: "*|***|**|***|***|**", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - reset_col6_left, - columns: 6, - starting: "*|***|**|***|***|**", - snapshot: "*|***|**|***|****|X", - expected: "*|***|**|***|***|**", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - last_column_grow_cascading, - columns: 6, - starting: "*|***|**|**|**|***", - snapshot: "*|*******|*|**|*|X", - expected: "*|******|*|*|*|***", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - goes_left_when_left_has_extreme_diff, - columns: 6, - starting: "*|***|****|**|**|***", - snapshot: "*|********|X|*|**|**", - expected: "*|*****|****|*|**|**", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - basic_shrink_right, - columns: 6, - starting: "**|**|**|**|**|**", - snapshot: "**|**|XXX|*|**|**", - expected: "**|**|**|**|**|**", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - shrink_should_go_left, - columns: 6, - starting: "*|***|**|*|*|*", - snapshot: "*|*|XXX|**|*|*", - expected: "*|**|**|**|*|*", - minimums: "X|*|*|*|*|*", - ); - - check_reset_size!( - shrink_should_go_right, - columns: 6, - starting: "*|***|**|**|**|*", - snapshot: "*|****|XXX|*|*|*", - expected: "*|****|**|**|*|*", - minimums: "X|*|*|*|*|*", - ); - } - - mod drag_handle { - use super::*; - - fn parse<const COLS: usize>(input: &str) -> ([f32; COLS], f32, Option<usize>) { - let mut widths = [f32::NAN; COLS]; - let column_index = input.replace("*", "").find("I"); - for (index, col) in input.replace("I", "|").split('|').enumerate() { - widths[index] = col.len() as f32; - } - - for w in widths { - assert!(w.is_finite(), "incorrect number of columns"); - } - let total = widths.iter().sum::<f32>(); - for width in &mut widths { - *width /= total; - } - (widths, total, column_index) - } - - #[track_caller] - fn check<const COLS: usize>( - distance: i32, - widths: &str, - expected: &str, - resize_behavior: &str, - ) { - let (mut widths, total_1, Some(column_index)) = parse::<COLS>(widths) else { - panic!("invalid test input: widths should be marked"); - }; - let (expected, total_2, None) = parse::<COLS>(expected) else { - panic!("invalid test input: expected should not be marked: {expected:?}"); - }; - assert_eq!( - total_1, total_2, - "invalid test input: total width not the same" - ); - let resize_behavior = parse_resize_behavior::<COLS>(resize_behavior, total_1); - - let distance = distance as f32 / total_1; - - let result = ColumnWidths::drag_column_handle( - distance, - column_index, - &mut widths, - &resize_behavior, - ); - - let is_eq = is_almost_eq(&widths, &expected); - if !is_eq { - let result_str = cols_to_str(&widths, total_1); - let expected_str = cols_to_str(&expected, total_1); - panic!( - "resize failed\ncomputed: {result_str}\nexpected: {expected_str}\n\ncomputed values: {result:?}\nexpected values: {expected:?}\n:minimum widths: {resize_behavior:?}" - ); - } - } - - macro_rules! check { - (columns: $cols:expr, distance: $dist:expr, snapshot: $current:expr, expected: $expected:expr, resizing: $resizing:expr $(,)?) => { - check!($cols, $dist, $snapshot, $expected, $resizing); - }; - ($name:ident, columns: $cols:expr, distance: $dist:expr, snapshot: $current:expr, expected: $expected:expr, minimums: $resizing:expr $(,)?) => { - #[test] - fn $name() { - check::<$cols>($dist, $current, $expected, $resizing); - } - }; - } - - check!( - basic_right_drag, - columns: 3, - distance: 1, - snapshot: "**|**I**", - expected: "**|***|*", - minimums: "X|*|*", - ); - - check!( - drag_left_against_mins, - columns: 5, - distance: -1, - snapshot: "*|*|*|*I*******", - expected: "*|*|*|*|*******", - minimums: "X|*|*|*|*", - ); - - check!( - drag_left, - columns: 5, - distance: -2, - snapshot: "*|*|*|*****I***", - expected: "*|*|*|***|*****", - minimums: "X|*|*|*|*", - ); - } -} diff --git a/crates/sum_tree/src/sum_tree.rs b/crates/sum_tree/src/sum_tree.rs index 4c5ce39590..4f9e01ce20 100644 --- a/crates/sum_tree/src/sum_tree.rs +++ b/crates/sum_tree/src/sum_tree.rs @@ -41,14 +41,16 @@ pub trait Summary: Clone { fn add_summary(&mut self, summary: &Self, cx: &Self::Context); } -/// Catch-all implementation for when you need something that implements [`Summary`] without a specific type. -/// We implement it on a &'static, as that avoids blanket impl collisions with `impl<T: Summary> Dimension for T` -/// (as we also need unit type to be a fill-in dimension) -impl Summary for &'static () { +/// This type exists because we can't implement Summary for () without causing +/// type resolution errors +#[derive(Copy, Clone, PartialEq, Eq, Debug)] +pub struct Unit; + +impl Summary for Unit { type Context = (); fn zero(_: &()) -> Self { - &() + Unit } fn add_summary(&mut self, _: &Self, _: &()) {} diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index bf65a736e8..1cc1fbcf6f 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -430,7 +430,6 @@ impl TerminalView { fn settings_changed(&mut self, cx: &mut Context<Self>) { let settings = TerminalSettings::get_global(cx); - let breadcrumb_visibility_changed = self.show_breadcrumbs != settings.toolbar.breadcrumbs; self.show_breadcrumbs = settings.toolbar.breadcrumbs; let new_cursor_shape = settings.cursor_shape.unwrap_or_default(); @@ -442,9 +441,6 @@ impl TerminalView { }); } - if breadcrumb_visibility_changed { - cx.emit(ItemEvent::UpdateBreadcrumbs); - } cx.notify(); } diff --git a/crates/theme/src/icon_theme.rs b/crates/theme/src/icon_theme.rs index baa928d722..09f5df06b0 100644 --- a/crates/theme/src/icon_theme.rs +++ b/crates/theme/src/icon_theme.rs @@ -216,7 +216,6 @@ const FILE_SUFFIXES_BY_ICON_KEY: &[(&str, &[&str])] = &[ "stylelintrc.yml", ], ), - ("surrealql", &["surql"]), ("svelte", &["svelte"]), ("swift", &["swift"]), ("tcl", &["tcl"]), @@ -341,7 +340,6 @@ const FILE_ICONS: &[(&str, &str)] = &[ ("solidity", "icons/file_icons/file.svg"), ("storage", "icons/file_icons/database.svg"), ("stylelint", "icons/file_icons/javascript.svg"), - ("surrealql", "icons/file_icons/surrealql.svg"), ("svelte", "icons/file_icons/html.svg"), ("swift", "icons/file_icons/swift.svg"), ("tcl", "icons/file_icons/tcl.svg"), diff --git a/crates/theme/src/settings.rs b/crates/theme/src/settings.rs index 20c837f287..1c4c90a475 100644 --- a/crates/theme/src/settings.rs +++ b/crates/theme/src/settings.rs @@ -438,7 +438,7 @@ fn default_font_fallbacks() -> Option<FontFallbacks> { impl ThemeSettingsContent { /// Sets the theme for the given appearance to the theme with the specified name. - pub fn set_theme(&mut self, theme_name: impl Into<Arc<str>>, appearance: Appearance) { + pub fn set_theme(&mut self, theme_name: String, appearance: Appearance) { if let Some(selection) = self.theme.as_mut() { let theme_to_update = match selection { ThemeSelection::Static(theme) => theme, @@ -867,7 +867,6 @@ impl settings::Settings for ThemeSettings { .user .into_iter() .chain(sources.release_channel) - .chain(sources.profile) .chain(sources.server) { if let Some(value) = value.ui_density { diff --git a/crates/title_bar/Cargo.toml b/crates/title_bar/Cargo.toml index cf178e2850..8e95c6f79f 100644 --- a/crates/title_bar/Cargo.toml +++ b/crates/title_bar/Cargo.toml @@ -32,7 +32,6 @@ auto_update.workspace = true call.workspace = true chrono.workspace = true client.workspace = true -cloud_llm_client.workspace = true db.workspace = true gpui = { workspace = true, features = ["screen-capture"] } notifications.workspace = true diff --git a/crates/title_bar/src/collab.rs b/crates/title_bar/src/collab.rs index d026b4de14..056c981ccf 100644 --- a/crates/title_bar/src/collab.rs +++ b/crates/title_bar/src/collab.rs @@ -11,8 +11,8 @@ use gpui::{App, Task, Window, actions}; use rpc::proto::{self}; use theme::ActiveTheme; use ui::{ - Avatar, AvatarAudioStatusIndicator, ContextMenu, ContextMenuItem, Divider, DividerColor, - Facepile, PopoverMenu, SplitButton, SplitButtonStyle, TintColor, Tooltip, prelude::*, + Avatar, AvatarAudioStatusIndicator, ContextMenu, ContextMenuItem, Divider, Facepile, + PopoverMenu, SplitButton, SplitButtonStyle, TintColor, Tooltip, prelude::*, }; use util::maybe; use workspace::notifications::DetachAndPromptErr; @@ -343,24 +343,6 @@ impl TitleBar { let mut children = Vec::new(); - children.push( - h_flex() - .gap_1() - .child( - IconButton::new("leave-call", IconName::Exit) - .style(ButtonStyle::Subtle) - .tooltip(Tooltip::text("Leave Call")) - .icon_size(IconSize::Small) - .on_click(move |_, _window, cx| { - ActiveCall::global(cx) - .update(cx, |call, cx| call.hang_up(cx)) - .detach_and_log_err(cx); - }), - ) - .child(Divider::vertical().color(DividerColor::Border)) - .into_any_element(), - ); - if is_local && can_share_projects && !is_connecting_to_project { children.push( Button::new( @@ -387,14 +369,32 @@ impl TitleBar { ); } + children.push( + div() + .pr_2() + .child( + IconButton::new("leave-call", ui::IconName::Exit) + .style(ButtonStyle::Subtle) + .tooltip(Tooltip::text("Leave call")) + .icon_size(IconSize::Small) + .on_click(move |_, _window, cx| { + ActiveCall::global(cx) + .update(cx, |call, cx| call.hang_up(cx)) + .detach_and_log_err(cx); + }), + ) + .child(Divider::vertical()) + .into_any_element(), + ); + if can_use_microphone { children.push( IconButton::new( "mute-microphone", if is_muted { - IconName::MicMute + ui::IconName::MicMute } else { - IconName::Mic + ui::IconName::Mic }, ) .tooltip(move |window, cx| { @@ -429,9 +429,9 @@ impl TitleBar { IconButton::new( "mute-sound", if is_deafened { - IconName::AudioOff + ui::IconName::AudioOff } else { - IconName::AudioOn + ui::IconName::AudioOn }, ) .style(ButtonStyle::Subtle) @@ -462,7 +462,7 @@ impl TitleBar { ); if can_use_microphone && screen_sharing_supported { - let trigger = IconButton::new("screen-share", IconName::Screen) + let trigger = IconButton::new("screen-share", ui::IconName::Screen) .style(ButtonStyle::Subtle) .icon_size(IconSize::Small) .toggle_state(is_screen_sharing) @@ -498,7 +498,7 @@ impl TitleBar { trigger.render(window, cx), self.render_screen_list().into_any_element(), ) - .style(SplitButtonStyle::Transparent) + .style(SplitButtonStyle::Outlined) .into_any_element(), ); } @@ -513,11 +513,11 @@ impl TitleBar { .with_handle(self.screen_share_popover_handle.clone()) .trigger( ui::ButtonLike::new_rounded_right("screen-share-screen-list-trigger") + .layer(ui::ElevationIndex::ModalSurface) + .size(ui::ButtonSize::None) .child( - h_flex() - .mx_neg_0p5() - .h_full() - .justify_center() + div() + .px_1() .child(Icon::new(IconName::ChevronDownSmall).size(IconSize::XSmall)), ) .toggle_state(self.screen_share_popover_handle.is_deployed()), diff --git a/crates/title_bar/src/title_bar.rs b/crates/title_bar/src/title_bar.rs index 552ef915cb..17c4c85b6d 100644 --- a/crates/title_bar/src/title_bar.rs +++ b/crates/title_bar/src/title_bar.rs @@ -20,8 +20,7 @@ use crate::application_menu::{ use auto_update::AutoUpdateStatus; use call::ActiveCall; -use client::{Client, CloudUserStore, UserStore, zed_urls}; -use cloud_llm_client::Plan; +use client::{Client, UserStore, zed_urls}; use gpui::{ Action, AnyElement, App, Context, Corner, Element, Entity, Focusable, InteractiveElement, IntoElement, MouseButton, ParentElement, Render, StatefulInteractiveElement, Styled, @@ -29,6 +28,7 @@ use gpui::{ }; use onboarding_banner::OnboardingBanner; use project::Project; +use rpc::proto; use settings::Settings as _; use settings_ui::keybindings; use std::sync::Arc; @@ -126,7 +126,6 @@ pub struct TitleBar { platform_titlebar: Entity<PlatformTitleBar>, project: Entity<Project>, user_store: Entity<UserStore>, - cloud_user_store: Entity<CloudUserStore>, client: Arc<Client>, workspace: WeakEntity<Workspace>, application_menu: Option<Entity<ApplicationMenu>>, @@ -180,25 +179,24 @@ impl Render for TitleBar { children.push(self.banner.clone().into_any_element()) } - let is_authenticated = self.cloud_user_store.read(cx).is_authenticated(); - let status = self.client.status(); - let status = &*status.borrow(); - - let show_sign_in = !is_authenticated || !matches!(status, client::Status::Connected { .. }); - children.push( h_flex() .gap_1() .pr_1() .on_mouse_down(MouseButton::Left, |_, _, cx| cx.stop_propagation()) .children(self.render_call_controls(window, cx)) - .children(self.render_connection_status(status, cx)) - .when( - show_sign_in && TitleBarSettings::get_global(cx).show_sign_in, - |el| el.child(self.render_sign_in_button(cx)), - ) - .when(is_authenticated, |parent| { - parent.child(self.render_user_menu_button(cx)) + .map(|el| { + let status = self.client.status(); + let status = &*status.borrow(); + if matches!(status, client::Status::Connected { .. }) { + el.child(self.render_user_menu_button(cx)) + } else { + el.children(self.render_connection_status(status, cx)) + .when(TitleBarSettings::get_global(cx).show_sign_in, |el| { + el.child(self.render_sign_in_button(cx)) + }) + .child(self.render_user_menu_button(cx)) + } }) .into_any_element(), ); @@ -248,7 +246,6 @@ impl TitleBar { ) -> Self { let project = workspace.project().clone(); let user_store = workspace.app_state().user_store.clone(); - let cloud_user_store = workspace.app_state().cloud_user_store.clone(); let client = workspace.app_state().client.clone(); let active_call = ActiveCall::global(cx); @@ -296,7 +293,6 @@ impl TitleBar { workspace: workspace.weak_handle(), project, user_store, - cloud_user_store, client, _subscriptions: subscriptions, banner, @@ -632,15 +628,15 @@ impl TitleBar { } pub fn render_user_menu_button(&mut self, cx: &mut Context<Self>) -> impl Element { - let cloud_user_store = self.cloud_user_store.read(cx); - if let Some(user) = cloud_user_store.authenticated_user() { - let has_subscription_period = cloud_user_store.subscription_period().is_some(); - let plan = cloud_user_store.plan().filter(|_| { + let user_store = self.user_store.read(cx); + if let Some(user) = user_store.current_user() { + let has_subscription_period = self.user_store.read(cx).subscription_period().is_some(); + let plan = self.user_store.read(cx).current_plan().filter(|_| { // Since the user might be on the legacy free plan we filter based on whether we have a subscription period. has_subscription_period }); - let user_avatar = user.avatar_url.clone(); + let user_avatar = user.avatar_uri.clone(); let free_chip_bg = cx .theme() .colors() @@ -662,9 +658,13 @@ impl TitleBar { let user_login = user.github_login.clone(); let (plan_name, label_color, bg_color) = match plan { - None | Some(Plan::ZedFree) => ("Free", Color::Default, free_chip_bg), - Some(Plan::ZedProTrial) => ("Pro Trial", Color::Accent, pro_chip_bg), - Some(Plan::ZedPro) => ("Pro", Color::Accent, pro_chip_bg), + None | Some(proto::Plan::Free) => { + ("Free", Color::Default, free_chip_bg) + } + Some(proto::Plan::ZedProTrial) => { + ("Pro Trial", Color::Accent, pro_chip_bg) + } + Some(proto::Plan::ZedPro) => ("Pro", Color::Accent, pro_chip_bg), }; menu.custom_entry( diff --git a/crates/ui/src/components/button/split_button.rs b/crates/ui/src/components/button/split_button.rs index 14b9fd153c..a7fa2106d1 100644 --- a/crates/ui/src/components/button/split_button.rs +++ b/crates/ui/src/components/button/split_button.rs @@ -12,7 +12,6 @@ use super::ButtonLike; pub enum SplitButtonStyle { Filled, Outlined, - Transparent, } /// /// A button with two parts: a primary action on the left and a secondary action on the right. @@ -45,17 +44,10 @@ impl SplitButton { impl RenderOnce for SplitButton { fn render(self, _window: &mut Window, cx: &mut App) -> impl IntoElement { - let is_filled_or_outlined = matches!( - self.style, - SplitButtonStyle::Filled | SplitButtonStyle::Outlined - ); - h_flex() .rounded_sm() - .when(is_filled_or_outlined, |this| { - this.border_1() - .border_color(cx.theme().colors().border.opacity(0.8)) - }) + .border_1() + .border_color(cx.theme().colors().border.opacity(0.5)) .child(div().flex_grow().child(self.left)) .child( div() diff --git a/crates/ui/src/components/button/toggle_button.rs b/crates/ui/src/components/button/toggle_button.rs index a621585349..eca23fe6f7 100644 --- a/crates/ui/src/components/button/toggle_button.rs +++ b/crates/ui/src/components/button/toggle_button.rs @@ -1,6 +1,6 @@ use gpui::{AnyView, ClickEvent}; -use crate::{ButtonLike, ButtonLikeRounding, ElevationIndex, TintColor, prelude::*}; +use crate::{ButtonLike, ButtonLikeRounding, ElevationIndex, prelude::*}; /// The position of a [`ToggleButton`] within a group of buttons. #[derive(Debug, PartialEq, Eq, Clone, Copy)] @@ -290,583 +290,3 @@ impl Component for ToggleButton { ) } } - -pub struct ButtonConfiguration { - label: SharedString, - icon: Option<IconName>, - on_click: Box<dyn Fn(&ClickEvent, &mut Window, &mut App) + 'static>, -} - -mod private { - pub trait ToggleButtonStyle {} -} - -pub trait ButtonBuilder: 'static + private::ToggleButtonStyle { - fn into_configuration(self) -> ButtonConfiguration; -} - -pub struct ToggleButtonSimple { - label: SharedString, - on_click: Box<dyn Fn(&ClickEvent, &mut Window, &mut App) + 'static>, -} - -impl ToggleButtonSimple { - pub fn new( - label: impl Into<SharedString>, - on_click: impl Fn(&ClickEvent, &mut Window, &mut App) + 'static, - ) -> Self { - Self { - label: label.into(), - on_click: Box::new(on_click), - } - } -} - -impl private::ToggleButtonStyle for ToggleButtonSimple {} - -impl ButtonBuilder for ToggleButtonSimple { - fn into_configuration(self) -> ButtonConfiguration { - ButtonConfiguration { - label: self.label, - icon: None, - on_click: self.on_click, - } - } -} - -pub struct ToggleButtonWithIcon { - label: SharedString, - icon: IconName, - on_click: Box<dyn Fn(&ClickEvent, &mut Window, &mut App) + 'static>, -} - -impl ToggleButtonWithIcon { - pub fn new( - label: impl Into<SharedString>, - icon: IconName, - on_click: impl Fn(&ClickEvent, &mut Window, &mut App) + 'static, - ) -> Self { - Self { - label: label.into(), - icon, - on_click: Box::new(on_click), - } - } -} - -impl private::ToggleButtonStyle for ToggleButtonWithIcon {} - -impl ButtonBuilder for ToggleButtonWithIcon { - fn into_configuration(self) -> ButtonConfiguration { - ButtonConfiguration { - label: self.label, - icon: Some(self.icon), - on_click: self.on_click, - } - } -} - -#[derive(Clone, Copy, PartialEq)] -pub enum ToggleButtonGroupStyle { - Transparent, - Filled, - Outlined, -} - -#[derive(IntoElement)] -pub struct ToggleButtonGroup<T, const COLS: usize = 3, const ROWS: usize = 1> -where - T: ButtonBuilder, -{ - group_name: &'static str, - rows: [[T; COLS]; ROWS], - style: ToggleButtonGroupStyle, - button_width: Rems, - selected_index: usize, -} - -impl<T: ButtonBuilder, const COLS: usize> ToggleButtonGroup<T, COLS> { - pub fn single_row(group_name: &'static str, buttons: [T; COLS]) -> Self { - Self { - group_name, - rows: [buttons], - style: ToggleButtonGroupStyle::Transparent, - button_width: rems_from_px(100.), - selected_index: 0, - } - } -} - -impl<T: ButtonBuilder, const COLS: usize> ToggleButtonGroup<T, COLS, 2> { - pub fn two_rows(group_name: &'static str, first_row: [T; COLS], second_row: [T; COLS]) -> Self { - Self { - group_name, - rows: [first_row, second_row], - style: ToggleButtonGroupStyle::Transparent, - button_width: rems_from_px(100.), - selected_index: 0, - } - } -} - -impl<T: ButtonBuilder, const COLS: usize, const ROWS: usize> ToggleButtonGroup<T, COLS, ROWS> { - pub fn style(mut self, style: ToggleButtonGroupStyle) -> Self { - self.style = style; - self - } - - pub fn button_width(mut self, button_width: Rems) -> Self { - self.button_width = button_width; - self - } - - pub fn selected_index(mut self, index: usize) -> Self { - self.selected_index = index; - self - } -} - -impl<T: ButtonBuilder, const COLS: usize, const ROWS: usize> RenderOnce - for ToggleButtonGroup<T, COLS, ROWS> -{ - fn render(self, _window: &mut Window, cx: &mut App) -> impl IntoElement { - let entries = self.rows.into_iter().enumerate().map(|(row_index, row)| { - row.into_iter().enumerate().map(move |(col_index, button)| { - let ButtonConfiguration { - label, - icon, - on_click, - } = button.into_configuration(); - - let entry_index = row_index * COLS + col_index; - - ButtonLike::new((self.group_name, entry_index)) - .when(entry_index == self.selected_index, |this| { - this.toggle_state(true) - .selected_style(ButtonStyle::Tinted(TintColor::Accent)) - }) - .rounding(None) - .when(self.style == ToggleButtonGroupStyle::Filled, |button| { - button.style(ButtonStyle::Filled) - }) - .child( - h_flex() - .min_w(self.button_width) - .gap_1p5() - .px_3() - .py_1() - .justify_center() - .when_some(icon, |this, icon| { - this.child(Icon::new(icon).size(IconSize::XSmall).map(|this| { - if entry_index == self.selected_index { - this.color(Color::Accent) - } else { - this.color(Color::Muted) - } - })) - }) - .child( - Label::new(label) - .size(LabelSize::Small) - .when(entry_index == self.selected_index, |this| { - this.color(Color::Accent) - }), - ), - ) - .on_click(on_click) - .into_any_element() - }) - }); - - let border_color = cx.theme().colors().border.opacity(0.6); - let is_outlined_or_filled = self.style == ToggleButtonGroupStyle::Outlined - || self.style == ToggleButtonGroupStyle::Filled; - let is_transparent = self.style == ToggleButtonGroupStyle::Transparent; - - v_flex() - .rounded_md() - .overflow_hidden() - .map(|this| { - if is_transparent { - this.gap_px() - } else { - this.border_1().border_color(border_color) - } - }) - .children(entries.enumerate().map(|(row_index, row)| { - let last_row = row_index == ROWS - 1; - h_flex() - .when(!is_outlined_or_filled, |this| this.gap_px()) - .when(is_outlined_or_filled && !last_row, |this| { - this.border_b_1().border_color(border_color) - }) - .children(row.enumerate().map(|(item_index, item)| { - let last_item = item_index == COLS - 1; - div() - .when(is_outlined_or_filled && !last_item, |this| { - this.border_r_1().border_color(border_color) - }) - .child(item) - })) - })) - } -} - -fn register_toggle_button_group() { - component::register_component::<ToggleButtonGroup<ToggleButtonSimple>>(); -} - -component::__private::inventory::submit! { - component::ComponentFn::new(register_toggle_button_group) -} - -impl<T: ButtonBuilder, const COLS: usize, const ROWS: usize> Component - for ToggleButtonGroup<T, COLS, ROWS> -{ - fn name() -> &'static str { - "ToggleButtonGroup" - } - - fn scope() -> ComponentScope { - ComponentScope::Input - } - - fn sort_name() -> &'static str { - "ButtonG" - } - - fn preview(_window: &mut Window, _cx: &mut App) -> Option<AnyElement> { - Some( - v_flex() - .gap_6() - .children(vec![example_group_with_title( - "Transparent Variant", - vec![ - single_example( - "Single Row Group", - ToggleButtonGroup::single_row( - "single_row_test", - [ - ToggleButtonSimple::new("First", |_, _, _| {}), - ToggleButtonSimple::new("Second", |_, _, _| {}), - ToggleButtonSimple::new("Third", |_, _, _| {}), - ], - ) - .selected_index(1) - .button_width(rems_from_px(100.)) - .into_any_element(), - ), - single_example( - "Single Row Group with icons", - ToggleButtonGroup::single_row( - "single_row_test_icon", - [ - ToggleButtonWithIcon::new( - "First", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Second", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Third", - IconName::AiZed, - |_, _, _| {}, - ), - ], - ) - .selected_index(1) - .button_width(rems_from_px(100.)) - .into_any_element(), - ), - single_example( - "Multiple Row Group", - ToggleButtonGroup::two_rows( - "multiple_row_test", - [ - ToggleButtonSimple::new("First", |_, _, _| {}), - ToggleButtonSimple::new("Second", |_, _, _| {}), - ToggleButtonSimple::new("Third", |_, _, _| {}), - ], - [ - ToggleButtonSimple::new("Fourth", |_, _, _| {}), - ToggleButtonSimple::new("Fifth", |_, _, _| {}), - ToggleButtonSimple::new("Sixth", |_, _, _| {}), - ], - ) - .selected_index(3) - .button_width(rems_from_px(100.)) - .into_any_element(), - ), - single_example( - "Multiple Row Group with Icons", - ToggleButtonGroup::two_rows( - "multiple_row_test_icons", - [ - ToggleButtonWithIcon::new( - "First", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Second", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Third", - IconName::AiZed, - |_, _, _| {}, - ), - ], - [ - ToggleButtonWithIcon::new( - "Fourth", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Fifth", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Sixth", - IconName::AiZed, - |_, _, _| {}, - ), - ], - ) - .selected_index(3) - .button_width(rems_from_px(100.)) - .into_any_element(), - ), - ], - )]) - .children(vec![example_group_with_title( - "Outlined Variant", - vec![ - single_example( - "Single Row Group", - ToggleButtonGroup::single_row( - "single_row_test_outline", - [ - ToggleButtonSimple::new("First", |_, _, _| {}), - ToggleButtonSimple::new("Second", |_, _, _| {}), - ToggleButtonSimple::new("Third", |_, _, _| {}), - ], - ) - .selected_index(1) - .style(ToggleButtonGroupStyle::Outlined) - .into_any_element(), - ), - single_example( - "Single Row Group with icons", - ToggleButtonGroup::single_row( - "single_row_test_icon_outlined", - [ - ToggleButtonWithIcon::new( - "First", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Second", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Third", - IconName::AiZed, - |_, _, _| {}, - ), - ], - ) - .selected_index(1) - .button_width(rems_from_px(100.)) - .style(ToggleButtonGroupStyle::Outlined) - .into_any_element(), - ), - single_example( - "Multiple Row Group", - ToggleButtonGroup::two_rows( - "multiple_row_test", - [ - ToggleButtonSimple::new("First", |_, _, _| {}), - ToggleButtonSimple::new("Second", |_, _, _| {}), - ToggleButtonSimple::new("Third", |_, _, _| {}), - ], - [ - ToggleButtonSimple::new("Fourth", |_, _, _| {}), - ToggleButtonSimple::new("Fifth", |_, _, _| {}), - ToggleButtonSimple::new("Sixth", |_, _, _| {}), - ], - ) - .selected_index(3) - .button_width(rems_from_px(100.)) - .style(ToggleButtonGroupStyle::Outlined) - .into_any_element(), - ), - single_example( - "Multiple Row Group with Icons", - ToggleButtonGroup::two_rows( - "multiple_row_test", - [ - ToggleButtonWithIcon::new( - "First", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Second", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Third", - IconName::AiZed, - |_, _, _| {}, - ), - ], - [ - ToggleButtonWithIcon::new( - "Fourth", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Fifth", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Sixth", - IconName::AiZed, - |_, _, _| {}, - ), - ], - ) - .selected_index(3) - .button_width(rems_from_px(100.)) - .style(ToggleButtonGroupStyle::Outlined) - .into_any_element(), - ), - ], - )]) - .children(vec![example_group_with_title( - "Filled Variant", - vec![ - single_example( - "Single Row Group", - ToggleButtonGroup::single_row( - "single_row_test_outline", - [ - ToggleButtonSimple::new("First", |_, _, _| {}), - ToggleButtonSimple::new("Second", |_, _, _| {}), - ToggleButtonSimple::new("Third", |_, _, _| {}), - ], - ) - .selected_index(2) - .style(ToggleButtonGroupStyle::Filled) - .into_any_element(), - ), - single_example( - "Single Row Group with icons", - ToggleButtonGroup::single_row( - "single_row_test_icon_outlined", - [ - ToggleButtonWithIcon::new( - "First", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Second", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Third", - IconName::AiZed, - |_, _, _| {}, - ), - ], - ) - .selected_index(1) - .button_width(rems_from_px(100.)) - .style(ToggleButtonGroupStyle::Filled) - .into_any_element(), - ), - single_example( - "Multiple Row Group", - ToggleButtonGroup::two_rows( - "multiple_row_test", - [ - ToggleButtonSimple::new("First", |_, _, _| {}), - ToggleButtonSimple::new("Second", |_, _, _| {}), - ToggleButtonSimple::new("Third", |_, _, _| {}), - ], - [ - ToggleButtonSimple::new("Fourth", |_, _, _| {}), - ToggleButtonSimple::new("Fifth", |_, _, _| {}), - ToggleButtonSimple::new("Sixth", |_, _, _| {}), - ], - ) - .selected_index(3) - .button_width(rems_from_px(100.)) - .style(ToggleButtonGroupStyle::Filled) - .into_any_element(), - ), - single_example( - "Multiple Row Group with Icons", - ToggleButtonGroup::two_rows( - "multiple_row_test", - [ - ToggleButtonWithIcon::new( - "First", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Second", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Third", - IconName::AiZed, - |_, _, _| {}, - ), - ], - [ - ToggleButtonWithIcon::new( - "Fourth", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Fifth", - IconName::AiZed, - |_, _, _| {}, - ), - ToggleButtonWithIcon::new( - "Sixth", - IconName::AiZed, - |_, _, _| {}, - ), - ], - ) - .selected_index(3) - .button_width(rems_from_px(100.)) - .style(ToggleButtonGroupStyle::Filled) - .into_any_element(), - ), - ], - )]) - .into_any_element(), - ) - } -} diff --git a/crates/ui/src/components/dropdown_menu.rs b/crates/ui/src/components/dropdown_menu.rs index cdb98086ca..189fac930f 100644 --- a/crates/ui/src/components/dropdown_menu.rs +++ b/crates/ui/src/components/dropdown_menu.rs @@ -8,7 +8,6 @@ use super::PopoverMenuHandle; pub enum DropdownStyle { #[default] Solid, - Outlined, Ghost, } @@ -148,23 +147,6 @@ impl Component for DropdownMenu { ), ], ), - example_group_with_title( - "Styles", - vec![ - single_example( - "Outlined", - DropdownMenu::new("outlined", "Outlined Dropdown", menu.clone()) - .style(DropdownStyle::Outlined) - .into_any_element(), - ), - single_example( - "Ghost", - DropdownMenu::new("ghost", "Ghost Dropdown", menu.clone()) - .style(DropdownStyle::Ghost) - .into_any_element(), - ), - ], - ), example_group_with_title( "States", vec![single_example( @@ -188,13 +170,10 @@ pub struct DropdownTriggerStyle { impl DropdownTriggerStyle { pub fn for_style(style: DropdownStyle, cx: &App) -> Self { let colors = cx.theme().colors(); - let bg = match style { DropdownStyle::Solid => colors.editor_background, - DropdownStyle::Outlined => colors.surface_background, DropdownStyle::Ghost => colors.ghost_element_background, }; - Self { bg } } } @@ -265,24 +244,17 @@ impl RenderOnce for DropdownMenuTrigger { let disabled = self.disabled; let style = DropdownTriggerStyle::for_style(self.style, cx); - let is_outlined = matches!(self.style, DropdownStyle::Outlined); h_flex() .id("dropdown-menu-trigger") - .min_w_20() + .justify_between() + .rounded_sm() + .bg(style.bg) .pl_2() .pr_1p5() .py_0p5() .gap_2() - .justify_between() - .rounded_sm() - .bg(style.bg) - .hover(|s| s.bg(cx.theme().colors().element_hover)) - .when(is_outlined, |this| { - this.border_1() - .border_color(cx.theme().colors().border) - .overflow_hidden() - }) + .min_w_20() .map(|el| { if self.full_width { el.w_full() diff --git a/crates/ui/src/components/keybinding.rs b/crates/ui/src/components/keybinding.rs index 5779093ccc..1d91492f26 100644 --- a/crates/ui/src/components/keybinding.rs +++ b/crates/ui/src/components/keybinding.rs @@ -44,7 +44,7 @@ impl KeyBinding { pub fn for_action_in( action: &dyn Action, focus: &FocusHandle, - window: &Window, + window: &mut Window, cx: &App, ) -> Option<Self> { let key_binding = window.highest_precedence_binding_for_action_in(action, focus)?; diff --git a/crates/ui/src/components/numeric_stepper.rs b/crates/ui/src/components/numeric_stepper.rs index 5a84633d1b..f9e6e88f01 100644 --- a/crates/ui/src/components/numeric_stepper.rs +++ b/crates/ui/src/components/numeric_stepper.rs @@ -2,18 +2,10 @@ use gpui::ClickEvent; use crate::{IconButtonShape, prelude::*}; -#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash)] -pub enum NumericStepperStyle { - Outlined, - #[default] - Ghost, -} - -#[derive(IntoElement, RegisterComponent)] +#[derive(IntoElement)] pub struct NumericStepper { id: ElementId, value: SharedString, - style: NumericStepperStyle, on_decrement: Box<dyn Fn(&ClickEvent, &mut Window, &mut App) + 'static>, on_increment: Box<dyn Fn(&ClickEvent, &mut Window, &mut App) + 'static>, /// Whether to reserve space for the reset button. @@ -31,7 +23,6 @@ impl NumericStepper { Self { id: id.into(), value: value.into(), - style: NumericStepperStyle::default(), on_decrement: Box::new(on_decrement), on_increment: Box::new(on_increment), reserve_space_for_reset: false, @@ -39,11 +30,6 @@ impl NumericStepper { } } - pub fn style(mut self, style: NumericStepperStyle) -> Self { - self.style = style; - self - } - pub fn reserve_space_for_reset(mut self, reserve_space_for_reset: bool) -> Self { self.reserve_space_for_reset = reserve_space_for_reset; self @@ -63,8 +49,6 @@ impl RenderOnce for NumericStepper { let shape = IconButtonShape::Square; let icon_size = IconSize::Small; - let is_outlined = matches!(self.style, NumericStepperStyle::Outlined); - h_flex() .id(self.id) .gap_1() @@ -90,117 +74,22 @@ impl RenderOnce for NumericStepper { .child( h_flex() .gap_1() - .rounded_sm() - .map(|this| { - if is_outlined { - this.overflow_hidden() - .bg(cx.theme().colors().surface_background) - .border_1() - .border_color(cx.theme().colors().border) - } else { - this.px_1().bg(cx.theme().colors().editor_background) - } - }) - .map(|decrement| { - if is_outlined { - decrement.child( - h_flex() - .id("decrement_button") - .p_1p5() - .size_full() - .justify_center() - .hover(|s| s.bg(cx.theme().colors().element_hover)) - .border_r_1() - .border_color(cx.theme().colors().border) - .child(Icon::new(IconName::Dash).size(IconSize::Small)) - .on_click(self.on_decrement), - ) - } else { - decrement.child( - IconButton::new("decrement", IconName::Dash) - .shape(shape) - .icon_size(icon_size) - .on_click(self.on_decrement), - ) - } - }) - .when(is_outlined, |this| this) - .child(Label::new(self.value).mx_3()) - .map(|increment| { - if is_outlined { - increment.child( - h_flex() - .id("increment_button") - .p_1p5() - .size_full() - .justify_center() - .hover(|s| s.bg(cx.theme().colors().element_hover)) - .border_l_1() - .border_color(cx.theme().colors().border) - .child(Icon::new(IconName::Plus).size(IconSize::Small)) - .on_click(self.on_increment), - ) - } else { - increment.child( - IconButton::new("increment", IconName::Dash) - .shape(shape) - .icon_size(icon_size) - .on_click(self.on_increment), - ) - } - }), + .px_1() + .rounded_xs() + .bg(cx.theme().colors().editor_background) + .child( + IconButton::new("decrement", IconName::Dash) + .shape(shape) + .icon_size(icon_size) + .on_click(self.on_decrement), + ) + .child(Label::new(self.value)) + .child( + IconButton::new("increment", IconName::Plus) + .shape(shape) + .icon_size(icon_size) + .on_click(self.on_increment), + ), ) } } - -impl Component for NumericStepper { - fn scope() -> ComponentScope { - ComponentScope::Input - } - - fn name() -> &'static str { - "Numeric Stepper" - } - - fn sort_name() -> &'static str { - Self::name() - } - - fn description() -> Option<&'static str> { - Some("A button used to increment or decrement a numeric value.") - } - - fn preview(_window: &mut Window, _cx: &mut App) -> Option<AnyElement> { - Some( - v_flex() - .gap_6() - .children(vec![example_group_with_title( - "Styles", - vec![ - single_example( - "Default", - NumericStepper::new( - "numeric-stepper-component-preview", - "10", - move |_, _, _| {}, - move |_, _, _| {}, - ) - .into_any_element(), - ), - single_example( - "Outlined", - NumericStepper::new( - "numeric-stepper-with-border-component-preview", - "10", - move |_, _, _| {}, - move |_, _, _| {}, - ) - .style(NumericStepperStyle::Outlined) - .into_any_element(), - ), - ], - )]) - .into_any_element(), - ) - } -} diff --git a/crates/ui/src/components/popover.rs b/crates/ui/src/components/popover.rs index 7143514c52..24460f6d9c 100644 --- a/crates/ui/src/components/popover.rs +++ b/crates/ui/src/components/popover.rs @@ -50,7 +50,7 @@ impl RenderOnce for Popover { v_flex() .elevation_2(cx) .py(POPOVER_Y_PADDING / 2.) - .child(div().children(self.children)), + .children(self.children), ) .when_some(self.aside, |this, aside| { this.child( diff --git a/crates/ui/src/components/scrollbar.rs b/crates/ui/src/components/scrollbar.rs index 7af55b76b7..17ab2e788f 100644 --- a/crates/ui/src/components/scrollbar.rs +++ b/crates/ui/src/components/scrollbar.rs @@ -4,8 +4,8 @@ use crate::{IntoElement, prelude::*, px, relative}; use gpui::{ Along, App, Axis as ScrollbarAxis, BorderStyle, Bounds, ContentMask, Corners, CursorStyle, Edges, Element, ElementId, Entity, EntityId, GlobalElementId, Hitbox, HitboxBehavior, Hsla, - IsZero, LayoutId, ListState, MouseButton, MouseDownEvent, MouseMoveEvent, MouseUpEvent, Pixels, - Point, ScrollHandle, ScrollWheelEvent, Size, Style, UniformListScrollHandle, Window, quad, + IsZero, LayoutId, ListState, MouseDownEvent, MouseMoveEvent, MouseUpEvent, Pixels, Point, + ScrollHandle, ScrollWheelEvent, Size, Style, UniformListScrollHandle, Window, quad, }; pub struct Scrollbar { @@ -301,6 +301,8 @@ impl Element for Scrollbar { window.set_cursor_style(CursorStyle::Arrow, hitbox); } + let scroll = self.state.scroll_handle.clone(); + enum ScrollbarMouseEvent { GutterClick, ThumbDrag(Pixels), @@ -335,12 +337,10 @@ impl Element for Scrollbar { }; window.on_mouse_event({ + let scroll = scroll.clone(); let state = self.state.clone(); move |event: &MouseDownEvent, phase, _, _| { - if !phase.bubble() - || event.button != MouseButton::Left - || !bounds.contains(&event.position) - { + if !(phase.bubble() && bounds.contains(&event.position)) { return; } @@ -348,71 +348,57 @@ impl Element for Scrollbar { let offset = event.position.along(axis) - thumb_bounds.origin.along(axis); state.set_dragging(offset); } else { - let scroll_handle = state.scroll_handle(); let click_offset = compute_click_offset( event.position, - scroll_handle.max_offset(), + scroll.max_offset(), ScrollbarMouseEvent::GutterClick, ); - scroll_handle - .set_offset(scroll_handle.offset().apply_along(axis, |_| click_offset)); + scroll.set_offset(scroll.offset().apply_along(axis, |_| click_offset)); } } }); window.on_mouse_event({ - let scroll_handle = self.state.scroll_handle().clone(); + let scroll = scroll.clone(); move |event: &ScrollWheelEvent, phase, window, _| { if phase.bubble() && bounds.contains(&event.position) { - let current_offset = scroll_handle.offset(); - scroll_handle.set_offset( + let current_offset = scroll.offset(); + scroll.set_offset( current_offset + event.delta.pixel_delta(window.line_height()), ); } } }); - window.on_mouse_event({ - let state = self.state.clone(); - move |event: &MouseMoveEvent, phase, window, cx| { - if phase.bubble() { - match state.thumb_state.get() { - ThumbState::Dragging(drag_state) if event.dragging() => { - let scroll_handle = state.scroll_handle(); - let drag_offset = compute_click_offset( - event.position, - scroll_handle.max_offset(), - ScrollbarMouseEvent::ThumbDrag(drag_state), - ); - scroll_handle.set_offset( - scroll_handle.offset().apply_along(axis, |_| drag_offset), - ); - window.refresh(); - if let Some(id) = state.parent_id { - cx.notify(id); - } - } - _ if event.pressed_button.is_none() => { - state.set_thumb_hovered(thumb_bounds.contains(&event.position)) - } - _ => {} + let state = self.state.clone(); + window.on_mouse_event(move |event: &MouseMoveEvent, _, window, cx| { + match state.thumb_state.get() { + ThumbState::Dragging(drag_state) if event.dragging() => { + let drag_offset = compute_click_offset( + event.position, + scroll.max_offset(), + ScrollbarMouseEvent::ThumbDrag(drag_state), + ); + scroll.set_offset(scroll.offset().apply_along(axis, |_| drag_offset)); + window.refresh(); + if let Some(id) = state.parent_id { + cx.notify(id); } } + _ => state.set_thumb_hovered(thumb_bounds.contains(&event.position)), } }); - - window.on_mouse_event({ - let state = self.state.clone(); - move |event: &MouseUpEvent, phase, _, cx| { - if phase.bubble() { - if state.is_dragging() { - state.scroll_handle().drag_ended(); - if let Some(id) = state.parent_id { - cx.notify(id); - } - } + let state = self.state.clone(); + let scroll = self.state.scroll_handle.clone(); + window.on_mouse_event(move |event: &MouseUpEvent, phase, _, cx| { + if phase.bubble() { + if state.is_dragging() { state.set_thumb_hovered(thumb_bounds.contains(&event.position)); } + scroll.drag_ended(); + if let Some(id) = state.parent_id { + cx.notify(id); + } } }); }) diff --git a/crates/ui/src/components/toggle.rs b/crates/ui/src/components/toggle.rs index daa8aa7fbe..cf2a56b1c9 100644 --- a/crates/ui/src/components/toggle.rs +++ b/crates/ui/src/components/toggle.rs @@ -609,9 +609,6 @@ impl RenderOnce for SwitchField { fn render(self, _window: &mut Window, _cx: &mut App) -> impl IntoElement { h_flex() .id(SharedString::from(format!("{}-container", self.id))) - .when(!self.disabled, |this| { - this.hover(|this| this.cursor_pointer()) - }) .w_full() .gap_4() .justify_between() diff --git a/crates/ui/src/styles/animation.rs b/crates/ui/src/styles/animation.rs index 0649bee1f8..50c4e0eb0d 100644 --- a/crates/ui/src/styles/animation.rs +++ b/crates/ui/src/styles/animation.rs @@ -109,7 +109,7 @@ impl Component for Animation { fn preview(_window: &mut Window, _cx: &mut App) -> Option<AnyElement> { let container_size = 128.0; let element_size = 32.0; - let offset = container_size / 2.0 - element_size / 2.0; + let left_offset = element_size - container_size / 2.0; Some( v_flex() .gap_6() @@ -129,7 +129,7 @@ impl Component for Animation { .id("animate-in-from-bottom") .absolute() .size(px(element_size)) - .left(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::red()) .animate_in(AnimationDirection::FromBottom, false), @@ -148,7 +148,7 @@ impl Component for Animation { .id("animate-in-from-top") .absolute() .size(px(element_size)) - .left(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::blue()) .animate_in(AnimationDirection::FromTop, false), @@ -167,7 +167,7 @@ impl Component for Animation { .id("animate-in-from-left") .absolute() .size(px(element_size)) - .top(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::green()) .animate_in(AnimationDirection::FromLeft, false), @@ -186,7 +186,7 @@ impl Component for Animation { .id("animate-in-from-right") .absolute() .size(px(element_size)) - .top(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::yellow()) .animate_in(AnimationDirection::FromRight, false), @@ -211,7 +211,7 @@ impl Component for Animation { .id("fade-animate-in-from-bottom") .absolute() .size(px(element_size)) - .left(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::red()) .animate_in(AnimationDirection::FromBottom, true), @@ -230,7 +230,7 @@ impl Component for Animation { .id("fade-animate-in-from-top") .absolute() .size(px(element_size)) - .left(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::blue()) .animate_in(AnimationDirection::FromTop, true), @@ -249,7 +249,7 @@ impl Component for Animation { .id("fade-animate-in-from-left") .absolute() .size(px(element_size)) - .top(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::green()) .animate_in(AnimationDirection::FromLeft, true), @@ -268,7 +268,7 @@ impl Component for Animation { .id("fade-animate-in-from-right") .absolute() .size(px(element_size)) - .top(px(offset)) + .left(px(left_offset)) .rounded_md() .bg(gpui::yellow()) .animate_in(AnimationDirection::FromRight, true), diff --git a/crates/ui_prompt/src/ui_prompt.rs b/crates/ui_prompt/src/ui_prompt.rs index fe6dc5b3f4..2b6a030f26 100644 --- a/crates/ui_prompt/src/ui_prompt.rs +++ b/crates/ui_prompt/src/ui_prompt.rs @@ -43,7 +43,7 @@ fn zed_prompt_renderer( let renderer = cx.new({ |cx| ZedPromptRenderer { _level: level, - message: cx.new(|cx| Markdown::new(SharedString::new(message), None, None, cx)), + message: message.to_string(), actions: actions.iter().map(|a| a.label().to_string()).collect(), focus: cx.focus_handle(), active_action_id: 0, @@ -58,7 +58,7 @@ fn zed_prompt_renderer( pub struct ZedPromptRenderer { _level: PromptLevel, - message: Entity<Markdown>, + message: String, actions: Vec<String>, focus: FocusHandle, active_action_id: usize, @@ -114,7 +114,7 @@ impl ZedPromptRenderer { impl Render for ZedPromptRenderer { fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { let settings = ThemeSettings::get_global(cx); - let font_size = settings.ui_font_size(cx).into(); + let font_family = settings.ui_font.family.clone(); let prompt = v_flex() .key_context("Prompt") .cursor_default() @@ -130,38 +130,24 @@ impl Render for ZedPromptRenderer { .overflow_hidden() .p_4() .gap_4() - .font_family(settings.ui_font.family.clone()) + .font_family(font_family) .child( div() .w_full() - .child(MarkdownElement::new(self.message.clone(), { - let mut base_text_style = window.text_style(); - base_text_style.refine(&TextStyleRefinement { - font_family: Some(settings.ui_font.family.clone()), - font_size: Some(font_size), - font_weight: Some(FontWeight::BOLD), - color: Some(ui::Color::Default.color(cx)), - ..Default::default() - }); - MarkdownStyle { - base_text_style, - selection_background_color: cx - .theme() - .colors() - .element_selection_background, - ..Default::default() - } - })), + .font_weight(FontWeight::BOLD) + .child(self.message.clone()) + .text_color(ui::Color::Default.color(cx)), ) .children(self.detail.clone().map(|detail| { div() .w_full() .text_xs() .child(MarkdownElement::new(detail, { + let settings = ThemeSettings::get_global(cx); let mut base_text_style = window.text_style(); base_text_style.refine(&TextStyleRefinement { font_family: Some(settings.ui_font.family.clone()), - font_size: Some(font_size), + font_size: Some(settings.ui_font_size(cx).into()), color: Some(ui::Color::Muted.color(cx)), ..Default::default() }); @@ -190,28 +176,24 @@ impl Render for ZedPromptRenderer { }), )); - div() - .size_full() - .occlude() - .bg(gpui::black().opacity(0.2)) - .child( - div() - .size_full() - .absolute() - .top_0() - .left_0() - .flex() - .flex_col() - .justify_around() - .child( - div() - .w_full() - .flex() - .flex_row() - .justify_around() - .child(prompt), - ), - ) + div().size_full().occlude().child( + div() + .size_full() + .absolute() + .top_0() + .left_0() + .flex() + .flex_col() + .justify_around() + .child( + div() + .w_full() + .flex() + .flex_row() + .justify_around() + .child(prompt), + ), + ) } } diff --git a/crates/vim/src/command.rs b/crates/vim/src/command.rs index 7963db3571..23e04cae2c 100644 --- a/crates/vim/src/command.rs +++ b/crates/vim/src/command.rs @@ -6,7 +6,7 @@ use editor::{ actions::{SortLinesCaseInsensitive, SortLinesCaseSensitive}, display_map::ToDisplayPoint, }; -use gpui::{Action, App, AppContext as _, Context, Global, Keystroke, Window, actions}; +use gpui::{Action, App, AppContext as _, Context, Global, Window, actions}; use itertools::Itertools; use language::Point; use multi_buffer::MultiBufferRow; @@ -202,7 +202,6 @@ actions!( ArgumentRequired ] ); - /// Opens the specified file for editing. #[derive(Clone, PartialEq, Action)] #[action(namespace = vim, no_json, no_register)] @@ -210,13 +209,6 @@ struct VimEdit { pub filename: String, } -#[derive(Clone, PartialEq, Action)] -#[action(namespace = vim, no_json, no_register)] -struct VimNorm { - pub range: Option<CommandRange>, - pub command: String, -} - #[derive(Debug)] struct WrappedAction(Box<dyn Action>); @@ -455,81 +447,6 @@ pub fn register(editor: &mut Editor, cx: &mut Context<Vim>) { }); }); - Vim::action(editor, cx, |vim, action: &VimNorm, window, cx| { - let keystrokes = action - .command - .chars() - .map(|c| Keystroke::parse(&c.to_string()).unwrap()) - .collect(); - vim.switch_mode(Mode::Normal, true, window, cx); - let initial_selections = vim.update_editor(window, cx, |_, editor, _, _| { - editor.selections.disjoint_anchors() - }); - if let Some(range) = &action.range { - let result = vim.update_editor(window, cx, |vim, editor, window, cx| { - let range = range.buffer_range(vim, editor, window, cx)?; - editor.change_selections( - SelectionEffects::no_scroll().nav_history(false), - window, - cx, - |s| { - s.select_ranges( - (range.start.0..=range.end.0) - .map(|line| Point::new(line, 0)..Point::new(line, 0)), - ); - }, - ); - anyhow::Ok(()) - }); - if let Some(Err(err)) = result { - log::error!("Error selecting range: {}", err); - return; - } - }; - - let Some(workspace) = vim.workspace(window) else { - return; - }; - let task = workspace.update(cx, |workspace, cx| { - workspace.send_keystrokes_impl(keystrokes, window, cx) - }); - let had_range = action.range.is_some(); - - cx.spawn_in(window, async move |vim, cx| { - task.await; - vim.update_in(cx, |vim, window, cx| { - vim.update_editor(window, cx, |_, editor, window, cx| { - if had_range { - editor.change_selections(SelectionEffects::default(), window, cx, |s| { - s.select_anchor_ranges([s.newest_anchor().range()]); - }) - } - }); - if matches!(vim.mode, Mode::Insert | Mode::Replace) { - vim.normal_before(&Default::default(), window, cx); - } else { - vim.switch_mode(Mode::Normal, true, window, cx); - } - vim.update_editor(window, cx, |_, editor, _, cx| { - if let Some(first_sel) = initial_selections { - if let Some(tx_id) = editor - .buffer() - .update(cx, |multi, cx| multi.last_transaction_id(cx)) - { - let last_sel = editor.selections.disjoint_anchors(); - editor.modify_transaction_selection_history(tx_id, |old| { - old.0 = first_sel; - old.1 = Some(last_sel); - }); - } - } - }); - }) - .ok(); - }) - .detach(); - }); - Vim::action(editor, cx, |vim, _: &CountCommand, window, cx| { let Some(workspace) = vim.workspace(window) else { return; @@ -758,15 +675,14 @@ impl VimCommand { } else { return None; }; - - let action = if args.is_empty() { - action - } else { + if !args.is_empty() { // if command does not accept args and we have args then we should do no action - self.args.as_ref()?(action, args)? - }; - - if let Some(range) = range { + if let Some(args_fn) = &self.args { + args_fn.deref()(action, args) + } else { + None + } + } else if let Some(range) = range { self.range.as_ref().and_then(|f| f(action, range)) } else { Some(action) @@ -1145,27 +1061,6 @@ fn generate_commands(_: &App) -> Vec<VimCommand> { save_intent: Some(SaveIntent::Skip), close_pinned: true, }), - VimCommand::new( - ("norm", "al"), - VimNorm { - command: "".into(), - range: None, - }, - ) - .args(|_, args| { - Some( - VimNorm { - command: args, - range: None, - } - .boxed_clone(), - ) - }) - .range(|action, range| { - let mut action: VimNorm = action.as_any().downcast_ref::<VimNorm>().unwrap().clone(); - action.range.replace(range.clone()); - Some(Box::new(action)) - }), VimCommand::new(("bn", "ext"), workspace::ActivateNextItem).count(), VimCommand::new(("bN", "ext"), workspace::ActivatePreviousItem).count(), VimCommand::new(("bp", "revious"), workspace::ActivatePreviousItem).count(), @@ -2403,78 +2298,4 @@ mod test { }); assert!(mark.is_none()) } - - #[gpui::test] - async fn test_normal_command(cx: &mut TestAppContext) { - let mut cx = NeovimBackedTestContext::new(cx).await; - - cx.set_shared_state(indoc! {" - The quick - brown« fox - jumpsˇ» over - the lazy dog - "}) - .await; - - cx.simulate_shared_keystrokes(": n o r m space w C w o r d") - .await; - cx.simulate_shared_keystrokes("enter").await; - - cx.shared_state().await.assert_eq(indoc! {" - The quick - brown word - jumps worˇd - the lazy dog - "}); - - cx.simulate_shared_keystrokes(": n o r m space _ w c i w t e s t") - .await; - cx.simulate_shared_keystrokes("enter").await; - - cx.shared_state().await.assert_eq(indoc! {" - The quick - brown word - jumps tesˇt - the lazy dog - "}); - - cx.simulate_shared_keystrokes("_ l v l : n o r m space s l a") - .await; - cx.simulate_shared_keystrokes("enter").await; - - cx.shared_state().await.assert_eq(indoc! {" - The quick - brown word - lˇaumps test - the lazy dog - "}); - - cx.set_shared_state(indoc! {" - ˇThe quick - brown fox - jumps over - the lazy dog - "}) - .await; - - cx.simulate_shared_keystrokes("c i w M y escape").await; - - cx.shared_state().await.assert_eq(indoc! {" - Mˇy quick - brown fox - jumps over - the lazy dog - "}); - - cx.simulate_shared_keystrokes(": n o r m space u").await; - cx.simulate_shared_keystrokes("enter").await; - - cx.shared_state().await.assert_eq(indoc! {" - ˇThe quick - brown fox - jumps over - the lazy dog - "}); - // Once ctrl-v to input character literals is added there should be a test for redo - } } diff --git a/crates/vim/src/helix.rs b/crates/vim/src/helix.rs index ca93c9c1de..ec9b959b12 100644 --- a/crates/vim/src/helix.rs +++ b/crates/vim/src/helix.rs @@ -1,31 +1,21 @@ -use editor::{DisplayPoint, Editor, SelectionEffects, ToOffset, ToPoint, movement}; +use editor::{DisplayPoint, Editor, movement}; use gpui::{Action, actions}; use gpui::{Context, Window}; use language::{CharClassifier, CharKind}; -use text::{Bias, SelectionGoal}; +use text::SelectionGoal; -use crate::{ - Vim, - motion::{Motion, right}, - state::Mode, -}; +use crate::{Vim, motion::Motion, state::Mode}; actions!( vim, [ /// Switches to normal mode after the cursor (Helix-style). - HelixNormalAfter, - /// Inserts at the beginning of the selection. - HelixInsert, - /// Appends at the end of the selection. - HelixAppend, + HelixNormalAfter ] ); pub fn register(editor: &mut Editor, cx: &mut Context<Vim>) { Vim::action(editor, cx, Vim::helix_normal_after); - Vim::action(editor, cx, Vim::helix_insert); - Vim::action(editor, cx, Vim::helix_append); } impl Vim { @@ -309,112 +299,6 @@ impl Vim { _ => self.helix_move_and_collapse(motion, times, window, cx), } } - - fn helix_insert(&mut self, _: &HelixInsert, window: &mut Window, cx: &mut Context<Self>) { - self.start_recording(cx); - self.update_editor(window, cx, |_, editor, window, cx| { - editor.change_selections(Default::default(), window, cx, |s| { - s.move_with(|_map, selection| { - // In helix normal mode, move cursor to start of selection and collapse - if !selection.is_empty() { - selection.collapse_to(selection.start, SelectionGoal::None); - } - }); - }); - }); - self.switch_mode(Mode::Insert, false, window, cx); - } - - fn helix_append(&mut self, _: &HelixAppend, window: &mut Window, cx: &mut Context<Self>) { - self.start_recording(cx); - self.switch_mode(Mode::Insert, false, window, cx); - self.update_editor(window, cx, |_, editor, window, cx| { - editor.change_selections(Default::default(), window, cx, |s| { - s.move_with(|map, selection| { - let point = if selection.is_empty() { - right(map, selection.head(), 1) - } else { - selection.end - }; - selection.collapse_to(point, SelectionGoal::None); - }); - }); - }); - } - - pub fn helix_replace(&mut self, text: &str, window: &mut Window, cx: &mut Context<Self>) { - self.update_editor(window, cx, |_, editor, window, cx| { - editor.transact(window, cx, |editor, window, cx| { - let (map, selections) = editor.selections.all_display(cx); - - // Store selection info for positioning after edit - let selection_info: Vec<_> = selections - .iter() - .map(|selection| { - let range = selection.range(); - let start_offset = range.start.to_offset(&map, Bias::Left); - let end_offset = range.end.to_offset(&map, Bias::Left); - let was_empty = range.is_empty(); - let was_reversed = selection.reversed; - ( - map.buffer_snapshot.anchor_at(start_offset, Bias::Left), - end_offset - start_offset, - was_empty, - was_reversed, - ) - }) - .collect(); - - let mut edits = Vec::new(); - for selection in &selections { - let mut range = selection.range(); - - // For empty selections, extend to replace one character - if range.is_empty() { - range.end = movement::saturating_right(&map, range.start); - } - - let byte_range = range.start.to_offset(&map, Bias::Left) - ..range.end.to_offset(&map, Bias::Left); - - if !byte_range.is_empty() { - let replacement_text = text.repeat(byte_range.len()); - edits.push((byte_range, replacement_text)); - } - } - - editor.edit(edits, cx); - - // Restore selections based on original info - let snapshot = editor.buffer().read(cx).snapshot(cx); - let ranges: Vec<_> = selection_info - .into_iter() - .map(|(start_anchor, original_len, was_empty, was_reversed)| { - let start_point = start_anchor.to_point(&snapshot); - if was_empty { - // For cursor-only, collapse to start - start_point..start_point - } else { - // For selections, span the replaced text - let replacement_len = text.len() * original_len; - let end_offset = start_anchor.to_offset(&snapshot) + replacement_len; - let end_point = snapshot.offset_to_point(end_offset); - if was_reversed { - end_point..start_point - } else { - start_point..end_point - } - } - }) - .collect(); - - editor.change_selections(SelectionEffects::no_scroll(), window, cx, |s| { - s.select_ranges(ranges); - }); - }); - }); - self.switch_mode(Mode::HelixNormal, true, window, cx); - } } #[cfg(test)] @@ -613,94 +497,4 @@ mod test { cx.assert_state("«ˇaa»\n", Mode::HelixNormal); } - - #[gpui::test] - async fn test_insert_selected(cx: &mut gpui::TestAppContext) { - let mut cx = VimTestContext::new(cx, true).await; - cx.set_state( - indoc! {" - «The ˇ»quick brown - fox jumps over - the lazy dog."}, - Mode::HelixNormal, - ); - - cx.simulate_keystrokes("i"); - - cx.assert_state( - indoc! {" - ˇThe quick brown - fox jumps over - the lazy dog."}, - Mode::Insert, - ); - } - - #[gpui::test] - async fn test_append(cx: &mut gpui::TestAppContext) { - let mut cx = VimTestContext::new(cx, true).await; - // test from the end of the selection - cx.set_state( - indoc! {" - «Theˇ» quick brown - fox jumps over - the lazy dog."}, - Mode::HelixNormal, - ); - - cx.simulate_keystrokes("a"); - - cx.assert_state( - indoc! {" - Theˇ quick brown - fox jumps over - the lazy dog."}, - Mode::Insert, - ); - - // test from the beginning of the selection - cx.set_state( - indoc! {" - «ˇThe» quick brown - fox jumps over - the lazy dog."}, - Mode::HelixNormal, - ); - - cx.simulate_keystrokes("a"); - - cx.assert_state( - indoc! {" - Theˇ quick brown - fox jumps over - the lazy dog."}, - Mode::Insert, - ); - } - - #[gpui::test] - async fn test_replace(cx: &mut gpui::TestAppContext) { - let mut cx = VimTestContext::new(cx, true).await; - - // No selection (single character) - cx.set_state("ˇaa", Mode::HelixNormal); - - cx.simulate_keystrokes("r x"); - - cx.assert_state("ˇxa", Mode::HelixNormal); - - // Cursor at the beginning - cx.set_state("«ˇaa»", Mode::HelixNormal); - - cx.simulate_keystrokes("r x"); - - cx.assert_state("«ˇxx»", Mode::HelixNormal); - - // Cursor at the end - cx.set_state("«aaˇ»", Mode::HelixNormal); - - cx.simulate_keystrokes("r x"); - - cx.assert_state("«xxˇ»", Mode::HelixNormal); - } } diff --git a/crates/vim/src/insert.rs b/crates/vim/src/insert.rs index 0a370e16ba..89c60adee7 100644 --- a/crates/vim/src/insert.rs +++ b/crates/vim/src/insert.rs @@ -21,7 +21,7 @@ pub fn register(editor: &mut Editor, cx: &mut Context<Vim>) { } impl Vim { - pub(crate) fn normal_before( + fn normal_before( &mut self, action: &NormalBefore, window: &mut Window, diff --git a/crates/vim/src/motion.rs b/crates/vim/src/motion.rs index c22cf0ef00..a50b238cc5 100644 --- a/crates/vim/src/motion.rs +++ b/crates/vim/src/motion.rs @@ -987,7 +987,7 @@ impl Motion { SelectionGoal::None, ), NextWordEnd { ignore_punctuation } => ( - next_word_end(map, point, *ignore_punctuation, times, true, true), + next_word_end(map, point, *ignore_punctuation, times, true), SelectionGoal::None, ), PreviousWordStart { ignore_punctuation } => ( @@ -1723,19 +1723,14 @@ pub(crate) fn next_word_end( ignore_punctuation: bool, times: usize, allow_cross_newline: bool, - always_advance: bool, ) -> DisplayPoint { let classifier = map .buffer_snapshot .char_classifier_at(point.to_point(map)) .ignore_punctuation(ignore_punctuation); for _ in 0..times { + let new_point = next_char(map, point, allow_cross_newline); let mut need_next_char = false; - let new_point = if always_advance { - next_char(map, point, allow_cross_newline) - } else { - point - }; let new_point = movement::find_boundary_exclusive( map, new_point, diff --git a/crates/vim/src/normal/change.rs b/crates/vim/src/normal/change.rs index 135cdd687f..9485f17477 100644 --- a/crates/vim/src/normal/change.rs +++ b/crates/vim/src/normal/change.rs @@ -51,7 +51,6 @@ impl Vim { ignore_punctuation, &text_layout_details, motion == Motion::NextSubwordStart { ignore_punctuation }, - !matches!(motion, Motion::NextWordStart { .. }), ) } _ => { @@ -149,7 +148,6 @@ fn expand_changed_word_selection( ignore_punctuation: bool, text_layout_details: &TextLayoutDetails, use_subword: bool, - always_advance: bool, ) -> Option<MotionKind> { let is_in_word = || { let classifier = map @@ -175,14 +173,8 @@ fn expand_changed_word_selection( selection.end = motion::next_subword_end(map, selection.end, ignore_punctuation, 1, false); } else { - selection.end = motion::next_word_end( - map, - selection.end, - ignore_punctuation, - 1, - false, - always_advance, - ); + selection.end = + motion::next_word_end(map, selection.end, ignore_punctuation, 1, false); } selection.end = motion::next_char(map, selection.end, false); } @@ -279,10 +271,6 @@ mod test { cx.simulate("c shift-w", "Test teˇst-test test") .await .assert_matches(); - - // on last character of word, `cw` doesn't eat subsequent punctuation - // see https://github.com/zed-industries/zed/issues/35269 - cx.simulate("c w", "tesˇt-test").await.assert_matches(); } #[gpui::test] diff --git a/crates/vim/src/vim.rs b/crates/vim/src/vim.rs index c747c30462..95a08d7c66 100644 --- a/crates/vim/src/vim.rs +++ b/crates/vim/src/vim.rs @@ -1639,7 +1639,6 @@ impl Vim { Mode::Visual | Mode::VisualLine | Mode::VisualBlock => { self.visual_replace(text, window, cx) } - Mode::HelixNormal => self.helix_replace(&text, window, cx), _ => self.clear_operator(window, cx), }, Some(Operator::Digraph { first_char }) => { diff --git a/crates/vim/test_data/test_change_w.json b/crates/vim/test_data/test_change_w.json index 149dac8420..27be543532 100644 --- a/crates/vim/test_data/test_change_w.json +++ b/crates/vim/test_data/test_change_w.json @@ -30,7 +30,3 @@ {"Key":"c"} {"Key":"shift-w"} {"Get":{"state":"Test teˇ test","mode":"Insert"}} -{"Put":{"state":"tesˇt-test"}} -{"Key":"c"} -{"Key":"w"} -{"Get":{"state":"tesˇ-test","mode":"Insert"}} diff --git a/crates/vim/test_data/test_normal_command.json b/crates/vim/test_data/test_normal_command.json deleted file mode 100644 index efd1d532c4..0000000000 --- a/crates/vim/test_data/test_normal_command.json +++ /dev/null @@ -1,64 +0,0 @@ -{"Put":{"state":"The quick\nbrown« fox\njumpsˇ» over\nthe lazy dog\n"}} -{"Key":":"} -{"Key":"n"} -{"Key":"o"} -{"Key":"r"} -{"Key":"m"} -{"Key":"space"} -{"Key":"w"} -{"Key":"C"} -{"Key":"w"} -{"Key":"o"} -{"Key":"r"} -{"Key":"d"} -{"Key":"enter"} -{"Get":{"state":"The quick\nbrown word\njumps worˇd\nthe lazy dog\n","mode":"Normal"}} -{"Key":":"} -{"Key":"n"} -{"Key":"o"} -{"Key":"r"} -{"Key":"m"} -{"Key":"space"} -{"Key":"_"} -{"Key":"w"} -{"Key":"c"} -{"Key":"i"} -{"Key":"w"} -{"Key":"t"} -{"Key":"e"} -{"Key":"s"} -{"Key":"t"} -{"Key":"enter"} -{"Get":{"state":"The quick\nbrown word\njumps tesˇt\nthe lazy dog\n","mode":"Normal"}} -{"Key":"_"} -{"Key":"l"} -{"Key":"v"} -{"Key":"l"} -{"Key":":"} -{"Key":"n"} -{"Key":"o"} -{"Key":"r"} -{"Key":"m"} -{"Key":"space"} -{"Key":"s"} -{"Key":"l"} -{"Key":"a"} -{"Key":"enter"} -{"Get":{"state":"The quick\nbrown word\nlˇaumps test\nthe lazy dog\n","mode":"Normal"}} -{"Put":{"state":"ˇThe quick\nbrown fox\njumps over\nthe lazy dog\n"}} -{"Key":"c"} -{"Key":"i"} -{"Key":"w"} -{"Key":"M"} -{"Key":"y"} -{"Key":"escape"} -{"Get":{"state":"Mˇy quick\nbrown fox\njumps over\nthe lazy dog\n","mode":"Normal"}} -{"Key":":"} -{"Key":"n"} -{"Key":"o"} -{"Key":"r"} -{"Key":"m"} -{"Key":"space"} -{"Key":"u"} -{"Key":"enter"} -{"Get":{"state":"ˇThe quick\nbrown fox\njumps over\nthe lazy dog\n","mode":"Normal"}} diff --git a/crates/web_search/Cargo.toml b/crates/web_search/Cargo.toml index 4ba46faec4..e5b8ca63b2 100644 --- a/crates/web_search/Cargo.toml +++ b/crates/web_search/Cargo.toml @@ -13,8 +13,8 @@ path = "src/web_search.rs" [dependencies] anyhow.workspace = true -cloud_llm_client.workspace = true collections.workspace = true gpui.workspace = true serde.workspace = true workspace-hack.workspace = true +zed_llm_client.workspace = true diff --git a/crates/web_search/src/web_search.rs b/crates/web_search/src/web_search.rs index 8578cfe4aa..a131b0de71 100644 --- a/crates/web_search/src/web_search.rs +++ b/crates/web_search/src/web_search.rs @@ -1,9 +1,8 @@ -use std::sync::Arc; - use anyhow::Result; -use cloud_llm_client::WebSearchResponse; use collections::HashMap; use gpui::{App, AppContext as _, Context, Entity, Global, SharedString, Task}; +use std::sync::Arc; +use zed_llm_client::WebSearchResponse; pub fn init(cx: &mut App) { let registry = cx.new(|_cx| WebSearchRegistry::default()); diff --git a/crates/web_search_providers/Cargo.toml b/crates/web_search_providers/Cargo.toml index f7a248d106..2e052796c4 100644 --- a/crates/web_search_providers/Cargo.toml +++ b/crates/web_search_providers/Cargo.toml @@ -14,7 +14,6 @@ path = "src/web_search_providers.rs" [dependencies] anyhow.workspace = true client.workspace = true -cloud_llm_client.workspace = true futures.workspace = true gpui.workspace = true http_client.workspace = true @@ -23,3 +22,4 @@ serde.workspace = true serde_json.workspace = true web_search.workspace = true workspace-hack.workspace = true +zed_llm_client.workspace = true diff --git a/crates/web_search_providers/src/cloud.rs b/crates/web_search_providers/src/cloud.rs index 52ee0da0d4..adf79b0ff6 100644 --- a/crates/web_search_providers/src/cloud.rs +++ b/crates/web_search_providers/src/cloud.rs @@ -2,12 +2,12 @@ use std::sync::Arc; use anyhow::{Context as _, Result}; use client::Client; -use cloud_llm_client::{EXPIRED_LLM_TOKEN_HEADER_NAME, WebSearchBody, WebSearchResponse}; use futures::AsyncReadExt as _; use gpui::{App, AppContext, Context, Entity, Subscription, Task}; use http_client::{HttpClient, Method}; use language_model::{LlmApiToken, RefreshLlmTokenListener}; use web_search::{WebSearchProvider, WebSearchProviderId}; +use zed_llm_client::{EXPIRED_LLM_TOKEN_HEADER_NAME, WebSearchBody, WebSearchResponse}; pub struct CloudWebSearchProvider { state: Entity<State>, diff --git a/crates/welcome/Cargo.toml b/crates/welcome/Cargo.toml index acb3fe0f84..769dd8d6aa 100644 --- a/crates/welcome/Cargo.toml +++ b/crates/welcome/Cargo.toml @@ -29,6 +29,7 @@ project.workspace = true serde.workspace = true settings.workspace = true telemetry.workspace = true +theme.workspace = true ui.workspace = true util.workspace = true vim_mode_setting.workspace = true diff --git a/crates/welcome/src/welcome.rs b/crates/welcome/src/welcome.rs index 352118eee8..49bf2031ab 100644 --- a/crates/welcome/src/welcome.rs +++ b/crates/welcome/src/welcome.rs @@ -21,6 +21,7 @@ pub use multibuffer_hint::*; mod base_keymap_picker; mod multibuffer_hint; +mod welcome_ui; actions!( welcome, diff --git a/crates/welcome/src/welcome_ui.rs b/crates/welcome/src/welcome_ui.rs new file mode 100644 index 0000000000..622b6f448d --- /dev/null +++ b/crates/welcome/src/welcome_ui.rs @@ -0,0 +1 @@ +mod theme_preview; diff --git a/crates/onboarding/src/theme_preview.rs b/crates/welcome/src/welcome_ui/theme_preview.rs similarity index 81% rename from crates/onboarding/src/theme_preview.rs rename to crates/welcome/src/welcome_ui/theme_preview.rs index 73b540bd40..b3a80c74c3 100644 --- a/crates/onboarding/src/theme_preview.rs +++ b/crates/welcome/src/welcome_ui/theme_preview.rs @@ -11,14 +11,22 @@ use ui::{ #[derive(IntoElement, RegisterComponent, Documented)] pub struct ThemePreviewTile { theme: Arc<Theme>, + selected: bool, seed: f32, } impl ThemePreviewTile { - pub const CORNER_RADIUS: Pixels = px(8.0); + pub fn new(theme: Arc<Theme>, selected: bool, seed: f32) -> Self { + Self { + theme, + selected, + seed, + } + } - pub fn new(theme: Arc<Theme>, seed: f32) -> Self { - Self { theme, seed } + pub fn selected(mut self, selected: bool) -> Self { + self.selected = selected; + self } } @@ -26,7 +34,7 @@ impl RenderOnce for ThemePreviewTile { fn render(self, _window: &mut ui::Window, _cx: &mut ui::App) -> impl IntoElement { let color = self.theme.colors(); - let root_radius = Self::CORNER_RADIUS; + let root_radius = px(8.0); let root_border = px(2.0); let root_padding = px(2.0); let child_border = px(1.0); @@ -176,6 +184,11 @@ impl RenderOnce for ThemePreviewTile { .size_full() .rounded(root_radius) .p(root_padding) + .border(root_border) + .border_color(color.border_transparent) + .when(self.selected, |this| { + this.border_color(color.border_selected) + }) .child( div() .size_full() @@ -217,14 +230,24 @@ impl Component for ThemePreviewTile { .p_4() .children({ if let Some(one_dark) = one_dark.ok() { - vec![example_group(vec![single_example( - "Default", - div() - .w(px(240.)) - .h(px(180.)) - .child(ThemePreviewTile::new(one_dark.clone(), 0.42)) - .into_any_element(), - )])] + vec![example_group(vec![ + single_example( + "Default", + div() + .w(px(240.)) + .h(px(180.)) + .child(ThemePreviewTile::new(one_dark.clone(), false, 0.42)) + .into_any_element(), + ), + single_example( + "Selected", + div() + .w(px(240.)) + .h(px(180.)) + .child(ThemePreviewTile::new(one_dark, true, 0.42)) + .into_any_element(), + ), + ])] } else { vec![] } @@ -238,11 +261,12 @@ impl Component for ThemePreviewTile { themes_to_preview .iter() .enumerate() - .map(|(_, theme)| { - div() - .w(px(200.)) - .h(px(140.)) - .child(ThemePreviewTile::new(theme.clone(), 0.42)) + .map(|(i, theme)| { + div().w(px(200.)).h(px(140.)).child(ThemePreviewTile::new( + theme.clone(), + false, + 0.42, + )) }) .collect::<Vec<_>>(), ) diff --git a/crates/workspace/src/dock.rs b/crates/workspace/src/dock.rs index ca63d3e553..7165de23ec 100644 --- a/crates/workspace/src/dock.rs +++ b/crates/workspace/src/dock.rs @@ -934,10 +934,6 @@ impl Render for PanelButtons { h_flex() .gap_1() - .when( - has_buttons && dock.position == DockPosition::Bottom, - |this| this.child(Divider::vertical().color(DividerColor::Border)), - ) .children(buttons) .when(has_buttons && dock.position == DockPosition::Left, |this| { this.child(Divider::vertical().color(DividerColor::Border)) diff --git a/crates/workspace/src/persistence.rs b/crates/workspace/src/persistence.rs index 6fa5c969e7..3f8b098203 100644 --- a/crates/workspace/src/persistence.rs +++ b/crates/workspace/src/persistence.rs @@ -939,26 +939,6 @@ impl WorkspaceDb { } } - query! { - pub async fn update_ssh_project_paths_query(ssh_project_id: u64, paths: String) -> Result<Option<SerializedSshProject>> { - UPDATE ssh_projects - SET paths = ?2 - WHERE id = ?1 - RETURNING id, host, port, paths, user - } - } - - pub(crate) async fn update_ssh_project_paths( - &self, - ssh_project_id: SshProjectId, - new_paths: Vec<String>, - ) -> Result<SerializedSshProject> { - let paths = serde_json::to_string(&new_paths)?; - self.update_ssh_project_paths_query(ssh_project_id.0, paths) - .await? - .context("failed to update ssh project paths") - } - query! { pub async fn next_id() -> Result<WorkspaceId> { INSERT INTO workspaces DEFAULT VALUES RETURNING workspace_id @@ -2644,56 +2624,4 @@ mod tests { assert_eq!(workspace.center_group, new_workspace.center_group); } - - #[gpui::test] - async fn test_update_ssh_project_paths() { - zlog::init_test(); - - let db = WorkspaceDb::open_test_db("test_update_ssh_project_paths").await; - - let (host, port, initial_paths, user) = ( - "example.com".to_string(), - Some(22_u16), - vec!["/home/user".to_string(), "/etc/nginx".to_string()], - Some("user".to_string()), - ); - - let project = db - .get_or_create_ssh_project(host.clone(), port, initial_paths.clone(), user.clone()) - .await - .unwrap(); - - assert_eq!(project.host, host); - assert_eq!(project.paths, initial_paths); - assert_eq!(project.user, user); - - let new_paths = vec![ - "/home/user".to_string(), - "/etc/nginx".to_string(), - "/var/log".to_string(), - "/opt/app".to_string(), - ]; - - let updated_project = db - .update_ssh_project_paths(project.id, new_paths.clone()) - .await - .unwrap(); - - assert_eq!(updated_project.id, project.id); - assert_eq!(updated_project.paths, new_paths); - - let retrieved_project = db - .get_ssh_project( - host.clone(), - port, - serde_json::to_string(&new_paths).unwrap(), - user.clone(), - ) - .await - .unwrap() - .unwrap(); - - assert_eq!(retrieved_project.id, project.id); - assert_eq!(retrieved_project.paths, new_paths); - } } diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index aad585e419..52502c1aa8 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -15,7 +15,6 @@ mod toast_layer; mod toolbar; mod workspace_settings; -use client::CloudUserStore; pub use toast_layer::{ToastAction, ToastLayer, ToastView}; use anyhow::{Context as _, Result, anyhow}; @@ -33,7 +32,7 @@ use futures::{ mpsc::{self, UnboundedReceiver, UnboundedSender}, oneshot, }, - future::{Shared, try_join_all}, + future::try_join_all, }; use gpui::{ Action, AnyEntity, AnyView, AnyWeakView, App, AsyncApp, AsyncWindowContext, Bounds, Context, @@ -88,7 +87,7 @@ use std::{ borrow::Cow, cell::RefCell, cmp, - collections::{VecDeque, hash_map::DefaultHasher}, + collections::hash_map::DefaultHasher, env, hash::{Hash, Hasher}, path::{Path, PathBuf}, @@ -840,7 +839,6 @@ pub struct AppState { pub languages: Arc<LanguageRegistry>, pub client: Arc<Client>, pub user_store: Entity<UserStore>, - pub cloud_user_store: Entity<CloudUserStore>, pub workspace_store: Entity<WorkspaceStore>, pub fs: Arc<dyn fs::Fs>, pub build_window_options: fn(Option<Uuid>, &mut App) -> WindowOptions, @@ -913,8 +911,6 @@ impl AppState { let client = Client::new(clock, http_client.clone(), cx); let session = cx.new(|cx| AppSession::new(Session::test(), cx)); let user_store = cx.new(|cx| UserStore::new(client.clone(), cx)); - let cloud_user_store = - cx.new(|cx| CloudUserStore::new(client.cloud_client(), user_store.clone(), cx)); let workspace_store = cx.new(|cx| WorkspaceStore::new(client.clone(), cx)); theme::init(theme::LoadThemes::JustBase, cx); @@ -926,7 +922,6 @@ impl AppState { fs, languages, user_store, - cloud_user_store, workspace_store, node_runtime: NodeRuntime::unavailable(), build_window_options: |_, _| Default::default(), @@ -1048,13 +1043,6 @@ type PromptForOpenPath = Box< ) -> oneshot::Receiver<Option<Vec<PathBuf>>>, >; -#[derive(Default)] -struct DispatchingKeystrokes { - dispatched: HashSet<Vec<Keystroke>>, - queue: VecDeque<Keystroke>, - task: Option<Shared<Task<()>>>, -} - /// Collects everything project-related for a certain window opened. /// In some way, is a counterpart of a window, as the [`WindowHandle`] could be downcast into `Workspace`. /// @@ -1070,6 +1058,7 @@ pub struct Workspace { center: PaneGroup, left_dock: Entity<Dock>, bottom_dock: Entity<Dock>, + bottom_dock_layout: BottomDockLayout, right_dock: Entity<Dock>, panes: Vec<Entity<Pane>>, panes_by_item: HashMap<EntityId, WeakEntity<Pane>>, @@ -1091,12 +1080,11 @@ pub struct Workspace { leader_updates_tx: mpsc::UnboundedSender<(PeerId, proto::UpdateFollowers)>, database_id: Option<WorkspaceId>, app_state: Arc<AppState>, - dispatching_keystrokes: Rc<RefCell<DispatchingKeystrokes>>, + dispatching_keystrokes: Rc<RefCell<(HashSet<String>, Vec<Keystroke>)>>, _subscriptions: Vec<Subscription>, _apply_leader_updates: Task<Result<()>>, _observe_current_user: Task<Result<()>>, - _schedule_serialize_workspace: Option<Task<()>>, - _schedule_serialize_ssh_paths: Option<Task<()>>, + _schedule_serialize: Option<Task<()>>, pane_history_timestamp: Arc<AtomicUsize>, bounds: Bounds<Pixels>, pub centered_layout: bool, @@ -1155,8 +1143,6 @@ impl Workspace { project::Event::WorktreeRemoved(_) | project::Event::WorktreeAdded(_) => { this.update_window_title(window, cx); - this.update_ssh_paths(cx); - this.serialize_ssh_paths(window, cx); this.serialize_workspace(window, cx); // This event could be triggered by `AddFolderToProject` or `RemoveFromProject`. this.update_history(cx); @@ -1314,6 +1300,7 @@ impl Workspace { ) .detach(); + let bottom_dock_layout = WorkspaceSettings::get_global(cx).bottom_dock_layout; let left_dock = Dock::new(DockPosition::Left, modal_layer.clone(), window, cx); let bottom_dock = Dock::new(DockPosition::Bottom, modal_layer.clone(), window, cx); let right_dock = Dock::new(DockPosition::Right, modal_layer.clone(), window, cx); @@ -1412,6 +1399,7 @@ impl Workspace { suppressed_notifications: HashSet::default(), left_dock, bottom_dock, + bottom_dock_layout, right_dock, project: project.clone(), follower_states: Default::default(), @@ -1424,8 +1412,7 @@ impl Workspace { app_state, _observe_current_user, _apply_leader_updates, - _schedule_serialize_workspace: None, - _schedule_serialize_ssh_paths: None, + _schedule_serialize: None, leader_updates_tx, _subscriptions: subscriptions, pane_history_timestamp, @@ -1639,6 +1626,10 @@ impl Workspace { &self.bottom_dock } + pub fn bottom_dock_layout(&self) -> BottomDockLayout { + self.bottom_dock_layout + } + pub fn set_bottom_dock_layout( &mut self, layout: BottomDockLayout, @@ -1650,6 +1641,7 @@ impl Workspace { content.bottom_dock_layout = Some(layout); }); + self.bottom_dock_layout = layout; cx.notify(); self.serialize_workspace(window, cx); } @@ -2321,65 +2313,49 @@ impl Workspace { window: &mut Window, cx: &mut Context<Self>, ) { - let keystrokes: Vec<Keystroke> = action + let mut state = self.dispatching_keystrokes.borrow_mut(); + if !state.0.insert(action.0.clone()) { + cx.propagate(); + return; + } + let mut keystrokes: Vec<Keystroke> = action .0 .split(' ') .flat_map(|k| Keystroke::parse(k).log_err()) .collect(); - let _ = self.send_keystrokes_impl(keystrokes, window, cx); - } + keystrokes.reverse(); - pub fn send_keystrokes_impl( - &mut self, - keystrokes: Vec<Keystroke>, - window: &mut Window, - cx: &mut Context<Self>, - ) -> Shared<Task<()>> { - let mut state = self.dispatching_keystrokes.borrow_mut(); - if !state.dispatched.insert(keystrokes.clone()) { - cx.propagate(); - return state.task.clone().unwrap(); - } - - state.queue.extend(keystrokes); + state.1.append(&mut keystrokes); + drop(state); let keystrokes = self.dispatching_keystrokes.clone(); - if state.task.is_none() { - state.task = Some( - window - .spawn(cx, async move |cx| { - // limit to 100 keystrokes to avoid infinite recursion. - for _ in 0..100 { - let mut state = keystrokes.borrow_mut(); - let Some(keystroke) = state.queue.pop_front() else { - state.dispatched.clear(); - state.task.take(); - return; - }; - drop(state); - cx.update(|window, cx| { - let focused = window.focused(cx); - window.dispatch_keystroke(keystroke.clone(), cx); - if window.focused(cx) != focused { - // dispatch_keystroke may cause the focus to change. - // draw's side effect is to schedule the FocusChanged events in the current flush effect cycle - // And we need that to happen before the next keystroke to keep vim mode happy... - // (Note that the tests always do this implicitly, so you must manually test with something like: - // "bindings": { "g z": ["workspace::SendKeystrokes", ": j <enter> u"]} - // ) - window.draw(cx).clear(); - } - }) - .ok(); + window + .spawn(cx, async move |cx| { + // limit to 100 keystrokes to avoid infinite recursion. + for _ in 0..100 { + let Some(keystroke) = keystrokes.borrow_mut().1.pop() else { + keystrokes.borrow_mut().0.clear(); + return Ok(()); + }; + cx.update(|window, cx| { + let focused = window.focused(cx); + window.dispatch_keystroke(keystroke.clone(), cx); + if window.focused(cx) != focused { + // dispatch_keystroke may cause the focus to change. + // draw's side effect is to schedule the FocusChanged events in the current flush effect cycle + // And we need that to happen before the next keystroke to keep vim mode happy... + // (Note that the tests always do this implicitly, so you must manually test with something like: + // "bindings": { "g z": ["workspace::SendKeystrokes", ": j <enter> u"]} + // ) + window.draw(cx).clear(); } + })?; + } - *keystrokes.borrow_mut() = Default::default(); - log::error!("over 100 keystrokes passed to send_keystrokes"); - }) - .shared(), - ); - } - state.task.clone().unwrap() + *keystrokes.borrow_mut() = Default::default(); + anyhow::bail!("over 100 keystrokes passed to send_keystrokes"); + }) + .detach_and_log_err(cx); } fn save_all_internal( @@ -5082,46 +5058,6 @@ impl Workspace { } } - fn update_ssh_paths(&mut self, cx: &App) { - let project = self.project().read(cx); - if !project.is_local() { - let paths: Vec<String> = project - .visible_worktrees(cx) - .map(|worktree| worktree.read(cx).abs_path().to_string_lossy().to_string()) - .collect(); - if let Some(ssh_project) = &mut self.serialized_ssh_project { - ssh_project.paths = paths; - } - } - } - - fn serialize_ssh_paths(&mut self, window: &mut Window, cx: &mut Context<Workspace>) { - if self._schedule_serialize_ssh_paths.is_none() { - self._schedule_serialize_ssh_paths = - Some(cx.spawn_in(window, async move |this, cx| { - cx.background_executor() - .timer(SERIALIZATION_THROTTLE_TIME) - .await; - this.update_in(cx, |this, window, cx| { - let task = if let Some(ssh_project) = &this.serialized_ssh_project { - let ssh_project_id = ssh_project.id; - let ssh_project_paths = ssh_project.paths.clone(); - window.spawn(cx, async move |_| { - persistence::DB - .update_ssh_project_paths(ssh_project_id, ssh_project_paths) - .await - }) - } else { - Task::ready(Err(anyhow::anyhow!("No SSH project to serialize"))) - }; - task.detach(); - this._schedule_serialize_ssh_paths.take(); - }) - .log_err(); - })); - } - } - fn remove_panes(&mut self, member: Member, window: &mut Window, cx: &mut Context<Workspace>) { match member { Member::Axis(PaneAxis { members, .. }) => { @@ -5165,18 +5101,17 @@ impl Workspace { } fn serialize_workspace(&mut self, window: &mut Window, cx: &mut Context<Self>) { - if self._schedule_serialize_workspace.is_none() { - self._schedule_serialize_workspace = - Some(cx.spawn_in(window, async move |this, cx| { - cx.background_executor() - .timer(SERIALIZATION_THROTTLE_TIME) - .await; - this.update_in(cx, |this, window, cx| { - this.serialize_workspace_internal(window, cx).detach(); - this._schedule_serialize_workspace.take(); - }) - .log_err(); - })); + if self._schedule_serialize.is_none() { + self._schedule_serialize = Some(cx.spawn_in(window, async move |this, cx| { + cx.background_executor() + .timer(Duration::from_millis(100)) + .await; + this.update_in(cx, |this, window, cx| { + this.serialize_workspace_internal(window, cx).detach(); + this._schedule_serialize.take(); + }) + .log_err(); + })); } } @@ -5739,8 +5674,6 @@ impl Workspace { let client = project.read(cx).client(); let user_store = project.read(cx).user_store(); - let cloud_user_store = - cx.new(|cx| CloudUserStore::new(client.cloud_client(), user_store.clone(), cx)); let workspace_store = cx.new(|cx| WorkspaceStore::new(client.clone(), cx)); let session = cx.new(|cx| AppSession::new(Session::test(), cx)); @@ -5748,7 +5681,6 @@ impl Workspace { let app_state = Arc::new(AppState { languages: project.read(cx).languages().clone(), workspace_store, - cloud_user_store, client, user_store, fs: project.read(cx).fs().clone(), @@ -6291,7 +6223,6 @@ impl Render for Workspace { .iter() .map(|(_, notification)| notification.entity_id()) .collect::<Vec<_>>(); - let bottom_dock_layout = WorkspaceSettings::get_global(cx).bottom_dock_layout; client_side_decorations( self.actions(div(), window, cx) @@ -6415,7 +6346,7 @@ impl Render for Workspace { )) }) .child({ - match bottom_dock_layout { + match self.bottom_dock_layout { BottomDockLayout::Full => div() .flex() .flex_col() diff --git a/crates/worktree/src/worktree.rs b/crates/worktree/src/worktree.rs index e6949f62df..4fc6b91abb 100644 --- a/crates/worktree/src/worktree.rs +++ b/crates/worktree/src/worktree.rs @@ -62,7 +62,7 @@ use std::{ }, time::{Duration, Instant}, }; -use sum_tree::{Bias, Edit, KeyedItem, SeekTarget, SumTree, Summary, TreeMap, TreeSet}; +use sum_tree::{Bias, Edit, KeyedItem, SeekTarget, SumTree, Summary, TreeMap, TreeSet, Unit}; use text::{LineEnding, Rope}; use util::{ ResultExt, @@ -407,12 +407,12 @@ struct LocalRepositoryEntry { } impl sum_tree::Item for LocalRepositoryEntry { - type Summary = PathSummary<&'static ()>; + type Summary = PathSummary<Unit>; fn summary(&self, _: &<Self::Summary as Summary>::Context) -> Self::Summary { PathSummary { max_path: self.work_directory.path_key().0, - item_summary: &(), + item_summary: Unit, } } } @@ -425,6 +425,12 @@ impl KeyedItem for LocalRepositoryEntry { } } +//impl LocalRepositoryEntry { +// pub fn repo(&self) -> &Arc<dyn GitRepository> { +// &self.repo_ptr +// } +//} + impl Deref for LocalRepositoryEntry { type Target = WorkDirectory; @@ -5411,7 +5417,7 @@ impl<'a> SeekTarget<'a, EntrySummary, TraversalProgress<'a>> for TraversalTarget } } -impl<'a> SeekTarget<'a, PathSummary<&'static ()>, TraversalProgress<'a>> for TraversalTarget<'_> { +impl<'a> SeekTarget<'a, PathSummary<Unit>, TraversalProgress<'a>> for TraversalTarget<'_> { fn cmp(&self, cursor_location: &TraversalProgress<'a>, _: &()) -> Ordering { self.cmp_progress(cursor_location) } diff --git a/crates/zed/Cargo.toml b/crates/zed/Cargo.toml index 536af7b7b9..e0cb4c4f66 100644 --- a/crates/zed/Cargo.toml +++ b/crates/zed/Cargo.toml @@ -2,7 +2,7 @@ description = "The fast, collaborative code editor." edition.workspace = true name = "zed" -version = "0.199.0" +version = "0.197.3" publish.workspace = true license = "GPL-3.0-or-later" authors = ["Zed Team <hi@zed.dev>"] @@ -56,7 +56,6 @@ env_logger.workspace = true extension.workspace = true extension_host.workspace = true extensions_ui.workspace = true -feature_flags.workspace = true feedback.workspace = true file_finder.workspace = true fs.workspace = true @@ -106,7 +105,6 @@ outline_panel.workspace = true parking_lot.workspace = true paths.workspace = true picker.workspace = true -settings_profile_selector.workspace = true profiling.workspace = true project.workspace = true project_panel.workspace = true diff --git a/crates/zed/RELEASE_CHANNEL b/crates/zed/RELEASE_CHANNEL index 38f8e886e1..870bbe4e50 100644 --- a/crates/zed/RELEASE_CHANNEL +++ b/crates/zed/RELEASE_CHANNEL @@ -1 +1 @@ -dev +stable \ No newline at end of file diff --git a/crates/zed/resources/app-icon-nightly.png b/crates/zed/resources/app-icon-nightly.png index 776cd06b1bca36c74257dafbc4bffebbbc8f55ad..5f1304a6af8d57bbf7414d175611829989d122da 100644 GIT binary patch literal 239870 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 Re+C8y22WQ%mvv4FO#lr_8leCH literal 242801 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 jlaorG;Ym&+1*p- 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�QLG)d>V<LA3#-!epVo;+!)K0nj_LhQZYwx8Yk;=2}JF@MXF zfB%16%>6wdCIoLg>ZVk$bWQ*Eia6o$TXEmYb97l4eHee)sW;oTD>mJ@G|OSZuFR%? z`<5DB-{%tl+BD-T*Nu0t*B#uJTlQdc+p=Y?z0)4d*t9a_*P0^FNB{olJYU`L(%Gah z$KU1%gTWFZ?Xu8+@xKlC?5sO_U7F#;>OJeq<jedIgomB`qx8%05bMS7t9N;?PTKAr zoKV3eWxxHjc<9=bGcWOMsr$P&c(*cR!O7a!VaKk#*T1xLA;&yT_k|pih6w@-8#eK% zJ6hkH>Mpz7?dXyv&H=j=<o_nfHF$75lL@Yl?OY*ufopP&;lWFb{;vBWe)VKshu!Z5 znJ153d-C$A5$D4X#{x8tP0%iIo|?Q+WyP~4pPV*6@>+k0i|eW4)4zY!4<1)>wpG-5 zCNTNJ_N;!DDM!MN-<p2SB7D8J>(~0((To0GIlBFQy}DlbQ;Su4i<%644lI8schY|{ z%V%}Z10hYVeL?e2ZFiOHJHw@ZPq6#kKKX?ccHIB1H^+O|#p?%L>@8MZpD)19y)b~E z-9hf%sn0jA=d|(M;!-nvE29%AyXvy;FU_0h?9bm~pS`I@_l;^@_PYN}5~rfB|8QrT zvL)=`reD@qv(3KL%nz2CU-w<h|IdpzA37K$Z|ARQ*9=^cq3p5p!O^G9auqII8U4Ad zmN@n(rrf!_^?rR(`QNMc^7-rHuU`G|>{n>K|N41<c1}&N&qzI|zA-#HIPimd>$@d9 zigNPb-{i(G&~P&DU3OSvHn-H0L!PRg0cH+se!slSG*f%#<u1k~$FxU_B0~j_b$nA@ zb6N3D%+0NV8?*mpD>fvxx}2CY^PJ+GMw`jo8pZhTE)DxM!~JvC#P^d|b^p6<c4AV^ z(x1*2=1W$eK9#leHvfG8bD2U$E6%Q8%zm*iiR-n7nrh>(UvAkun7Tq{u&Bv6q<D1% zy3cj^wqNPWO4&u-s{32QmS48nKJlaRlOGn>`K%t*y%aUp|M2g0zQgfr-b^O<8yB(d zb2{r8wLB`r?(&v@I+Fhu3ZJUvKB)gQ{#n-)?_U1H%&E-g@1g{{mVKI1&~&W5+B$lX zcvsgPf#uJy{Qq=S%BbS?zwhf${j(6+zV|!Fa`pMllOvV4*+rcBe&TX8<BpmMCL&Ij z+ZePvOydvRvETpsCptSQOY6eztEZ}W+%q`Dxbt75!||rTM&V@bH)=L~j658E%4P3W z`;z(Q_)kCjI#9$a%tbrZ&Sn0a(0>o!Y88J3#YU6)_4=##wtk74B=fYx>igC8FRkTf zPjswUca}}Dg<Vn6foXfV!fBy-s@jj|KTx&)Ex)5&=cB#Ekz>}|Rm0XC6Pl*exX|5A zB6-F>+sn4K@ynamoT;b@d~T+H_Hv*9<>K=zgQrfFoGJOy^~r17!yhl6^vwQqKbQ9p z%iej0h5TjTn>ifzCmYT=t@9ysy}Zhn9>(*TKGEwcXDcj?|7+CqIOmviQqtW2eukD8 zY<TAA?D(A4>9@bGuGU+o{Dsm7={J{rb~H!a=?HAFk?c6I;I!7=6TvPr$JUh=cZs;H zvpmUc&BU&_akr`dHWTmu`7ckEo!KX5?ls3IY?oMER5rheT*3+F9{ZzDcIt?1Pk;G) zYr*f`Qbvut9!@d$@m75z$Yks@$z$$h6_v^hcXYe9%uOy<+4jUC?4y*j%CzUD&0Tv| zPWdABhTmbz=jG>(*&R2Z-Sk0r-#6K(nO~E;O}6^3Q5U~8;g*oqc3Y)wr-cH~pSRdr z^d=-zn)PhUMUDCC4m0w(PQPJqT`PU_g!_dwwWj@hrxiX^O^l7UUEMP!K(|u1+A8Pd zd8LaPN7HusR{z$&`1GlN)ZRFj#b39{w1lk7-moEclPjy+2haX%*ADlaFnv2F>c2kl z?c4wJ7Ai5kSBz45@bKkN`}%3AyX@Do%<lV;T4BO{=7P@cPy32~y#DL3aNoJRLQgBy zG-rB5>_6VJ<HM%po>H5&vbRK*{7aL5ykVAp;9aE&?2M{@3u1bh&RpAAE%vp!o%!u< zH|=RB8hj2Pe=n!1?tgBP;<S58izAJnZaKv>>(r&i3a4#_KE)~tiMbn0Hop0J-2;X7 zDKD8q0}kh{<}+K<oo-TO{IXF?nKSsn#JWGm=awD2<|$e+JL`>MRLaVm^Z3HvD_Q=0 zezWejZLefc6K{XV4<qxBf23Vz%Qa7(FeN|V{##32vCvVol_fEASk<IfE&1~!#&M?L z(h0|lN;efHThHL=loI^$?^kWQY3o$SM{^VZSlS<!x&7>v#OCj1#tTJF54$@gZ2KFq zN;kHZXSdBX&Kakd9JZV|N5jhP(Y3!$C&Ficd2MlJ)5l+8|LuO-hOs}kzo2@{>{7v$ zZ~qPNC*I6XlHOk_A8(ic;=>2wEBr4OI<DDczV6=Pm0TP8#Bbi(Fux+?^q0GvCI)pY z-QB;-uy$k5|LX2p%pdF?<kWqcyLhj^O`d%H`oGp(Q^n>cHkLk0J$>u1S=f(HYyB@j z?sl);eS2oobEA^iXZ*Vb<31H=y|hmGs%JcDwVuS}Ga)}09XuYLdbROp<lYOv=DeH8 zR}r@C#-1}WmLZ3IZTy;Ful%GX;^(Q~)MR>oLNj~hj2qo~T_#haXVt9mDr3q&S~t5P zruVs;`IT)go9vBdZt8j(y5h}3CYyTUNe&fT7d)^O4V$lSaO7XW5>X%iO9zsk{Axcm zQSg9|vW1M<+5Yuh3nr+p<W%du)AK}v$GBR0%hS|<b2U1qUC)+KRr2sQxSJuIJg-~V zefF7SjW=$3R;&|R5pPsz+;Oi?{Jr|7RngrSj<}dB1v#IY628{q=#TRJbxtR5@NY^y zTu_$2=I#6%JFZE~Uu!<dh_7N&n<jDp`H`;91C9-+E^L!3)tQ?SbMffW=(p3njXp`0 z&QSkfdf3i-?%mwmd;gg!%>VbZ<nR~q+o_xG-+U=4dN0^O^q%>V2@G>xBrZ*xaj@5j zPbjL5VcLcVoBpo5(PqT5&GV4NbBAq`F&xTO=|_Ga|9#wiv&<}Ye#Y5JUC-CCM@VlK z(iD-h%Da=xH_2CM#@9K&E%&(G&zkymbK7s$&$IW4o#C&Z`Eyp-T&Igdfs;<GXmL!f za0pA?x<58klkt_Pa!ZS=!TNbiB)QH^ZxH0npJk|@z480~Yrn5L-%>jHd)uRms|<<< zc)QBNZdGo)p39Z8^5q6sc8^{|9?9M^?+ZqcmuDnOy>eBYR5>YkPNn6O&a^|DMMD}A zPF#~bzv;Qj>Uk&4PM>7qto2u$Qs|>}=i6mv*M#k-LRYpiZmH^e(|JlO_d-j~vCEO+ zZFf%xF1)O8_O!v3CyJj#k9!w&bj*z{b$ae~?A<k!vRe*cg4Hru)>QFwe3;P7YwfT* zERt<!N9W9C?bCioW#!BGn8#UL|9<GKwMTyi$ARA+n^#}Hy!q|RztX?w$K3j|_uXIL z1eZ7Zmv2n2mHhoYB1z<~#gywaLY$|hMeg1uwfp4VJ9jSmSuNkNu3vqz>V&PkPAETl zwm9L&G>LldyAR`L+-pd@d%|r>w28l2%)vmX(_L2VbHcnI7wa(_OZa6xn74*|Gvh`b zL*|FKWZfLspP#SD<L-Y_t4i)}N9McAIZhc5f5fP7dl}^77Sm_KGkyJz7wO6!`_=hp z&sa3Ss4n&EOwG!SI=$Tua~7PlxwUBe9cA&kq6Z5n$t_IeoF(uxwdlO9O^IJwhD!_I zi>2ar?$4+D@1EYd&FHG(O9QqoXB2AF3Uc4ERmR?kZ*<;v<F!yqa_xodJCdbXK7H1o z*Z5-f<i7mmU2|SDzdqxky5@EN@f%tOuR0ZdU#wni>zTD*Of>p--Rj3Lp7><i^Znk> zVOIY1@a0wh!U9VQKP~(8+rz)Nj%P8i(}jO`?%$iWuk7m+`TxCK@1?sKY8WhbSG_)X z@t^noY~DX{zpHZEawNETCM!QaeooT6xhgzu&WE)B$6S_0SC_x=|M$VWq++MLef2N- z+Mq=L-p@Ht12opS9bM=C<Gjcxsb%LplZ0kGcjS%MdCc}S<>gBiO*Z9J>E}mwXlY1% zkgE!^yKO6yY@ucFg<*!-WO<9nnQM8io)?CH599cwc8-N{qngYM$-dLU@%r_TA572S zoO|x?izFF6#YHJAL-ST8UKTP_;as-HP(R>$*^#wdr=}_|Fl6&vvGk;bxUhuoTJifI zc{`M)7_!$N5q#(VaMtnD0qagoeo~lWc+aBeW0AonoB8EUd(>2~J(IY-zT4xq|Dg@t z)%Pc!ca{6QBKw8^$=~KbXYZLCEAVrNO>*qZ(znYe9SZun-v3+kPZmQSL2b2|Qx?hc z(yD9ij|(u09j%*h@#=IqQ`sTazYo@==C{~<oK)ki-x&VWOLndBWtWAMB{m%uIW774 zRz~nG=Na<bc=nW)etZ@mcH;kEcfkgJj$RfUo7;A~>bF!DW`6uWE&JL@XHKIDCBgk0 z?Q6f>H%NM*_TB!p-M`=d{4bm4U0l3*`>%gr3guN}H@=oRUdt3~t9G)t`UbDVw=Fk$ zCoem?=kv0FGYJ-Ix{p)5I6s|w(pG0X&u7-PCHHN2C3Rh%8Xx?L{daCh>g6XJODhXf zPQ3q~J?pTDnp-kYAh&Uhq2T0&b#H!mB<cvx66cFwlpg-Rgy}%`rHifS14S+J-nJZ4 zee)<a<kPJ1wDRpIZ0@V}J`Gs#R;Tcd?j#0j_B6)k#!Z_(*zLAC^rz{KPuM-NMLj1a zloFeMC9OZ6%JjnWCY$HShKkC9EompR-!6S_by6s0SLyGx`<wxrLiWa|J`^(a(@QaV z=TiCHz0XK6aNUBAS4&?^+@Ho3_>(1aQAbLEOv#f?N91_hW`CAZ)Smr)V(7hTy^E$D z-mIs$Zi|QT$0+#;LRt!kFS;Ete4r5gw^#Um+QeMFb4C~QKc|15+-|?*5IfVdL+pKq z<_W*@ephU&F<&pyyIYdcbD`N64Y%!^RL{)v;9r`1Yya)-`4=Xa&;K_0&!Ym7FL6`v zI;(%N4qKOd$N%L#gC|9?hPLrc=XWj=G}m7EX1AW`j_D7g!sf*?KCVtYW39*8d9Spj z;)4BL{pfwC^6DmuduL2nxu5s6Y2D>ityMhg=UzHDE&k^wl902-=JzQk{i)&GrWwkz zEuOdKh}zk>r28Ax>Na+Ym$~hJ`uo{gWh?vr61(p&HTXK|+q7eh9wJNJQYGDNc@Fkz zgufNfa{lb{(<<e<fuGBsPtJ?N^iK#(DfWv$!7dx7FSzA-$@6o$Rlnz|zjis<X6jKE z{b2>S;>4|{yWiDnOFZ0k{;#13i_n^xWgeXgbB}*K8#n#+H15wTYkE)es9RYDO8zbC zoOaj3YSD84`4ioxFa2F|?vz5*Ut242wWAyjJiX6sZq;9p+Q$8$=)Vhph25`TPoLWF zact!m5f-&8=y}@o|I5v5&HJuZ9Xk9lrNH3t6GpccvufuQEiqOTdAeo#g#S-#9K~;c zF5J?#pp%)&@zz^O(XBi3T&`|lJ|Qe<xqrLilc%?hrrk{vOl}tNzFVp?d9L+?uD(fi zAAcV={k-GGX<5|+s(F_CPcK)MmyS+!kT&P6W1k%&VJTpk`ZQzHC!6jHJBed&T~9BY zxyVBEQqP(m<9E5@7S(+Y%aV4Af9jn#OXmCX#cG$CyKdeITkTdB_BFLFc2V7&6Eg+W z*6QC}F3umf(AG{xzI|IFlke5rE0=O_k~rdis9Lq6UtsA@5s?<=*Y~3)xyHIoe`$E7 z*racTef+ZL`A>h?J7>4qsz{hyC9QdS;`oG_Z$CfSUS;UApg~b_0{_20x4_eHPK&8) z{GTBIn|sEka}|p+54`_*KWRel?6?ktFJ+d~SouCaE3EzWiJ@@=XVsRh>Dwl;cZnSo zVw)K)xz=V@$9F-yT+Q0Qul^j5*LnQ^;R22W?H!jl%l{3%>=K`2`)Rge=B*j_s?QU? zlzw|Zh385DM`8Eu6#mJ4&Ij^V+^{wIaK`7buffdrW2YzQ^HgpWIdN|(SM~h97uVzd z@LJjZxN<{%Uef6YPbv+(SWImsq8G^=DrrtT$(#I;o#Cc!!XLh6wYxT2X8nxHIJs<c zljnD3g$X-VnoWYZ7bh+Jx9~s&%O^!GJI?iMpC>N1@0`Tu^>}Ys)_U`WIjIkpHSgVB zYhU#(HEl|7^YX2pZ8}?wkCvJ$l<j#NR5<;!<k1$Zwr|S{8914>b^L6Uj^tEEO7fX~ zIu;P0*7JEor>kxN+qZe8|J-AbR10-(X5v24dC{Zm`|8AVQ&vPSZ~S-lwDw2K^Tvr> z+8m`BQy0Gfd@*e1VxC!y>NW@VB{Qvh+UqWr_hb1K|3CK6W|y|_dwBG4K%cO7-#;e{ z8CR*!g@r7d=|X;f4+@0dJc&K{i`V;v#<U-oGJpR!-@e^!{@y)n-qzUrT#;$um)sTf z;9&3H-S_kUzB_vDU|cHO`a`8FG^M=eB}pv*@t?!hze;LBOCOWRCX*-M7p#=`^N|qv z@+)(xhWfU0e&_ldd#>L9yY~L_?ehDb`_JEhwOYo_h-cpV*VZQ_jOL%1Ud%q<M#EZ= z`SXnS9<>Rf(%<jxcGQ>O>-0X(CU>Hs?Cp@$ciKD>m+!q`G=DPB{@jvx-yc6&6EOc~ zTXfu+2E~bzk}QwkhjaxcxP9K{(^Oqn>2>;Ck=Yby<Hp)>Rqf7A0tTvIuPxtKa;AS; zXmgqB`&BtA&q^}7A8=-^ioa%-$kt*o>quZ_&u`_11P*1nfP;YvPG%`>n&*-qtVsVp zCG)G$w~~48ChX^D9;;+vX%33uGw+azG`^o{!ZP(ATaV1S*$SsVXIzumU#aq9*8Gq9 z>ND51?W>wrTv30=LP<zr=O3>AXDxGnpPYH`JZH+u0~co;s}u^G?s#YMUj@k}zsvLT z;;O&DoPB?#XPvy=3@&-iFFzTN+|RiCe6?VbO6Vn*IyGAXrjToOXL~MgI+E68SRZ=t zQ8M$U#S%I98vmO1tDk+K`t{U-TMsQ6Pp2GdepaY2d{<BGypf^68EcIV4~=4~=TE&{ zV%&GuE}yT-cFUdW3r@H7@7J{c`+IZ$g`a=)Zdz>Lt3Ks_#qqZO7w7(|znpve{}S%X zXL8!B(!WnT^4ER$ibbx6)e@c`*pTrf=Gg|zmG>0=3v&w8N*!${+&KFC%wgH&{U76e ztVOmoZ0y^X@Z`c`>GM}*0=88iJ5xQI>7}6Bky+`rTkk);_rWM<(c^pbp6i&X3*S?B z39EFy)VQZ*F`sViNtKi*-iv)@qI0Wvvb^7@FOede-#@KYW3|Hn?mq{1)LmKY=kvAt z*@|Fg^}n;eO|*+Fs63{`QT*ng#*Fy3?2og}P5Te^RC#}Hnz8q7f05Bmt&VT2E+4bp ze|J&deXG@T|JVg-FnthoRcA7;UA$8yKI8Ap7LG$x-o?&%l=#;s{rSw?*P$khZb}Oo zM14@H)R?9r*_1Nv&NYr@W*o<T@^sSgJZR<UnZ6^5Q(vuvTTtrE0inbj`E0e4m*Y<y z-8PX&Me#A`w<I0=+^UEgso5uAL~<AUPdO!WuTGg^f6epaFPGKrmu>#(S)X^Tx%HZo zLwAlD%aj*6zwa~q-=3(>s(7f%WZ^?QhE21kh?c+XE>-umH)&sNXOy|Q=E#zBH~ii9 zylZ6bu`%4k-Mee6s{Zp&Z<d{w>8n|g{ZnD~#ch`#ww)<Fq?v8K{cWE5wudYpeabHS zc^sObUg&>iH+gL~XQA-xb-8cCDomH`6JF}uHd#S4<*>*Ny&IiUQukCi&R0+4Rduoq zv+g)$amr@m*VPhPiT~B_iHGMNJh}bfHnVp(5(4UYBuj)0Pu<x!Z(INO{QGnEl~(=w zFojFrQiSn`#Da;9_W5rAR<EtT`&#@=_05lbEe1WBa$ILNf3xK@uUin|BiNAiA%p4c z5rf+{XSsjm3%qC4KgPSqO<cofVSwJRe=bqS7JBOE*tzQ8|7r5~#l`!Vm&ORJouZ>Q z;k4euHy>@)ME)A7@%P=mH*K!u+!+&2%`+-gINvDHrx|>Tv#vez!k*dFPPZK>u8*tA znY?M*(h1dn8D`ZPbV~(nmYpURZ1&2LNn=*isg2Ukce7@hD)t9Bh@@S2Si3)+bBR^q z`67v+XUtZ2ev8EB-OoyVkuH)gr?XhicCzV3zQqxO?x*AY)Mt6ytW|&FJ7;$5-Q{fY zVQ%{3fq#kx7_2YLrKI1y_V3y6S_79CK4C0NvVLx8xigVvok!FAC7efiwIgr%z1uv= zXUd{{&p9$bk2mkTcGz&%^=lmRCYE>a-&?{S()M4uSBXJh`NgM$>$l`xJJGObm)R@s z3m+^r8CcEM6^Gq<wo@m*_T^NS)|ZcuR_$K;{$5Xgl<BIePY-uAYx9J!x#`ejQ(P0i zzS!`bH%r2L$rqo+=IwvA`IY9~_wyuNC9DKF)wvd4D7v@N#pUGXxAq2JJO1Z=mRYy) z={)nEoF@<ax4N&mCvsHiXkhW={iWt-JHIUx+qvWG>@Sy>+b{Y2R@jtj=b3r#wdbCf zZuGr#XxqZ7`X-A>Z#c45i%;I)+nZV$y@Y9phka~+^xe8gFN{m7{;lt2*t7b1l7sCH z12+|s`rpS_d@orwf7)FS)x;$Swk<g(QL#!qYHR9;U5#frpK)$V^?rFRu0D(Xe5QGu zpyaJDxrcu5HFnXexNE0jDE?T|t>@Ubhr$9Zx%m!ubDF<Yt1U7;`D%90O@VfsjMP7I zmA~cnMHqj~NK$0>O|M=0@~M5U?AN##>L=xxm&QLb*7zWJcFNpq35rJ}A890)t4s=K zIyL2w=#=jU4e~Ot-~Y&4bSC#x?c}!7=`uez9#`?4xo+{~yiHeyot|cAuH9SC)~)wX z_9@rXxAATf5o#Yzly$A|Gt7(sx1x8B>5=@(?SG|n{x>|4oaN@9Bq`1NHn;EAh7*=& zZ+qJoO<TAwS)S2nSw6eEfMe2{?yoG?ijnP2!l#A1PKfL*Q2M{~UbXCxf1FiLD!C>` zTUdW`MW`Bo+W6#Bv3kJE#TPz=H`J_9{8BY@kMEAV&kUdG*Ui};D_yj8+cnvEwM|mq zpBa4E%tQ>WWLn+jHl1xzcoyCBSD7z!^UkY_tWV2KI~})wje7|DOq0iXPudrC&9Qj- zJ5<eQjxv9Xw(J_K<`ujCM9OWk{=cjD?f$sr-}3$<j6W<7eEfLQaPGy`Yt8m=n)~$g z+MxG4)t}2XrCe6~aa>~mip@qZ^$J~%SR6Z*@l9yb#(2s6h5z|Cr9Xc>*ZTe5K8+8i zmA6BSmaVwBm%B;$UcdY%mbQ-aDcdixZ?~S5aa~6tIYn*DES8@!oWe_FQ(ARIZD(lk ze{MMblJzosm>Z+>ISZ3VM*>bR=%0MP*lbdE()P!$QS%P52^P!@aWJ(=o_ehD-Gho{ z#Rf&Y9e!57vwRlwL_>0SOw)ohc~1f_bb16#xyzmSw5?9$^3#SXJptSo&s~`L&BpYd zPeR7Vy?)6N2{-*8A3K=-;&lA4<f^~<am!Dyo<A|*Ol?Gp@k@awd7i8B2JD)O-_B>> z<XyC0+s@*P6OZ`UGj<u<Yxh6>`SrGYb^es)|3A75Hp~ycV`sJV`kV`?GahiSo#Y?o zyT410RqL4Czc&+Y3fVcQmY*?gxcM$ydA5l3s;_TsPx4s{gf{tz<@N48e`IRXoq2n; z%U(~q+1T*!X{omOr%5XB<t2Gq&$cXbkbEO_qPSh*sm;uVZ?$H=ePUn6ET^vUNZC+D zSUf!b`aP+Au_xzOPTy;%aLagG+XVrOD|;u;k1UybD9=OoeAo`Ydr~I#f~HKGk^h7i zN~NSp@>$%e?tFLer|7Sni{(u!WBDRq>!w}nP&xUqe)+XUYuU_&&O1+1T=Lv#iQ|UG zvLorr=9e9R?>VC!dCq8u)YC1A6a6e6e6fpby|GYcjo`$yCEa;)f3<9Ft2f8S_T9J5 z*gp6BR5RsIEJX)wDuX;&zAh5HBbuCle&5AUxBr<o?|*8ZcVDmh|K|=RhW!pZw$^`o zb>#NsWjmxLADlN2F1hokW%4o$zhAuTCbwRy$c;IA`@!^&|L;D{_^H>p*k|VY{3=H? zpNrftR#z}fJ)EdslU*JgY*k&Ie7gJX(`&qDRaIhkq1^R<H!xI{{PWwP-pRvz@sx&V zMg1a{ju%!l6JH+b-7I<kXf;1;|ISF;=WTO#owc;ETClqN^h5hy?5h_R+%}4sUbrw& z_~a(p>z31|RNlPd=_1sA^1@Mpw+ZGcb|;Q)k}1}Fb+t%hLXP8-uyC1|hd!Jrsw`qw zS1jlM>we_bhZhshojcdq!ozRX!8#?;=#tNq=n!uK&fSHQtL<-CFSGyEtbh6bzq{ox z|GZJJm1m!1^PaiWqh^}u$J;-))-6)dfAWHD?~g<8FD%}^|9;BnZzlpOUinQqmeI_z z@UoSROLg6ib@R8?pS_U3&;I=F%YV=QYvy|X|Iq>thlR;Ag9}{4)oV^3-*a63ZICis z$@WTi^~VQ{Ei=6yt7v}8KGt~m%F0JOx3$hZI6L+DZuMTa6aO8A%Jx>PGCVujXuQA1 z?oB$QK<u3OC9h|_^_Z=+<=s5nisjec_&PFe>ko+Nc~0wG&YXJmz44x8^)-F(n?4w8 zuM|2o-9_?P%Eptu58vM2{^HG_IeOBPk4^|k{5~jRv~$D#+)io6nWu%{=BzJY-z=cU z(bN&7(i(PeONMc9v+oY|eS3@dXt!CWgooMsTOGcee)e&VXr6OM`HL?ft)1<Pbt2zx zX0muEy1HCnM2O$*-^G*1)84aM{XCO@dA9vONA8>Zudd6BtutGH_;pseN{h2s&!m{L zrYC>hnDVxIpU=46=B~tFbn8-{Tdh@YYTb>XjQa2LmuvoQ;1!zlsZIXf#e0X1KDDyC zGI0G*?>XBwEBqSA;Z21xpWXUzOFSvGUsU%@c>lzw5h=S~XJ6{<pUqr)$9MMG`%wm` z4Zpr#^4)V&;yfA0TMctN>s_o9KR;#J^K^Uq`E!oxi(S>W24-X=>z2#yUz*Kh7h!Zp z{K>sTzt1b1J-NvH_s(7u$)6h@N}b*A`)y9n-Cgbq7k=>P+g4w{!*Ss3yN_|X;+Fj< zbK>NbZLH)J@~*7)`%-e~=>>%tHjba?Ih+pZ-IqMkG+}*g`<5J`7`g3YKXSXWcUVpk zu#I2)beFN@{k_$*<>uQh+_6Q<tDw8*sq_0<rRezm5)Z!p;h6f_f;)NU360OwYHqvL zF5~==cwhctr<Zy>f9>JL|D@{fw6#}N<(_z0V)$sT$A^EK{<DMcU3!`3{P(-jt5&Cl m0U9D)qZAE-U{ClD{iucI6Spkb;lRMaz~JfX=d#Wzp$Pycmg({U diff --git a/crates/zed/resources/app-icon-nightly@2x.png b/crates/zed/resources/app-icon-nightly@2x.png index 6d781594ac658d32e5fcff01f66543f7f4f70d93..edb416ede489be0733bdbb00c467a1d828173e56 100644 GIT binary patch literal 716288 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≀oGJ^mGC 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 f#Qp6|4oxm-moC{ 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⁡Nj&ZqRQW7J0H2McRdy8z3#2t?#V(D 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�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쵔XnZ_HoJnf1q?M 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ⅅ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 St~Ub%1B0ilpUXO@geCwEBdl}) literal 923937 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%0D~W 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 G2~7YTq+NFa diff --git a/crates/zed/resources/windows/zed.iss b/crates/zed/resources/windows/zed.iss index 2e76f35a0b..9d104d1f15 100644 --- a/crates/zed/resources/windows/zed.iss +++ b/crates/zed/resources/windows/zed.iss @@ -62,7 +62,6 @@ Source: "{#ResourcesDir}\Zed.exe"; DestDir: "{code:GetInstallDir}"; Flags: ignor Source: "{#ResourcesDir}\bin\*"; DestDir: "{code:GetInstallDir}\bin"; Flags: ignoreversion Source: "{#ResourcesDir}\tools\*"; DestDir: "{app}\tools"; Flags: ignoreversion Source: "{#ResourcesDir}\appx\*"; DestDir: "{app}\appx"; BeforeInstall: RemoveAppxPackage; AfterInstall: AddAppxPackage; Flags: ignoreversion; Check: IsWindows11OrLater -Source: "{#ResourcesDir}\amd_ags_x64.dll"; DestDir: "{app}"; Flags: ignoreversion [Icons] Name: "{group}\{#AppName}"; Filename: "{app}\{#AppExeName}.exe"; AppUserModelID: "{#AppUserId}" @@ -1246,6 +1245,16 @@ Root: HKCU; Subkey: "Software\Classes\zed\DefaultIcon"; ValueType: "string"; Val Root: HKCU; Subkey: "Software\Classes\zed\shell\open\command"; ValueType: "string"; ValueData: """{app}\Zed.exe"" ""%1""" [Code] +function InitializeSetup(): Boolean; +begin + Result := True; + + if not WizardSilent() and IsAdmin() then begin + MsgBox('This User Installer is not meant to be run as an Administrator.', mbError, MB_OK); + Result := False; + end; +end; + function WizardNotSilent(): Boolean; begin Result := not WizardSilent(); diff --git a/crates/zed/src/main.rs b/crates/zed/src/main.rs index a18c112c7e..d0b9c53397 100644 --- a/crates/zed/src/main.rs +++ b/crates/zed/src/main.rs @@ -5,7 +5,7 @@ use agent_ui::AgentPanel; use anyhow::{Context as _, Result}; use clap::{Parser, command}; use cli::FORCE_CLI_MODE_ENV_VAR_NAME; -use client::{Client, CloudUserStore, ProxySettings, UserStore, parse_zed_link}; +use client::{Client, ProxySettings, UserStore, parse_zed_link}; use collab_ui::channel_view::ChannelView; use collections::HashMap; use db::kvp::{GLOBAL_KEY_VALUE_STORE, KEY_VALUE_STORE}; @@ -457,8 +457,6 @@ pub fn main() { language::init(cx); languages::init(languages.clone(), node_runtime.clone(), cx); let user_store = cx.new(|cx| UserStore::new(client.clone(), cx)); - let cloud_user_store = - cx.new(|cx| CloudUserStore::new(client.cloud_client(), user_store.clone(), cx)); let workspace_store = cx.new(|cx| WorkspaceStore::new(client.clone(), cx)); language_extension::init( @@ -518,7 +516,6 @@ pub fn main() { languages: languages.clone(), client: client.clone(), user_store: user_store.clone(), - cloud_user_store, fs: fs.clone(), build_window_options, workspace_store, @@ -564,7 +561,7 @@ pub fn main() { snippet_provider::init(cx); inline_completion_registry::init( app_state.client.clone(), - app_state.cloud_user_store.clone(), + app_state.user_store.clone(), cx, ); let prompt_builder = PromptBuilder::load(app_state.fs.clone(), stdout_is_a_pty(), cx); @@ -616,7 +613,6 @@ pub fn main() { language_selector::init(cx); toolchain_selector::init(cx); theme_selector::init(cx); - settings_profile_selector::init(cx); language_tools::init(cx); call::init(app_state.client.clone(), app_state.user_store.clone(), cx); notifications::init(app_state.client.clone(), app_state.user_store.clone(), cx); diff --git a/crates/zed/src/reliability.rs b/crates/zed/src/reliability.rs index d7f1473288..ccbe57e7b3 100644 --- a/crates/zed/src/reliability.rs +++ b/crates/zed/src/reliability.rs @@ -63,7 +63,7 @@ pub fn init_panic_hook( location.column(), match app_commit_sha.as_ref() { Some(commit_sha) => format!( - "https://github.com/zed-industries/zed/blob/{}/{}#L{} \ + "https://github.com/zed-industries/zed/blob/{}/src/{}#L{} \ (may not be uploaded, line may be incorrect if files modified)\n", commit_sha.full(), location.file(), diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index 8c6da335ab..24c7ab5ba2 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -19,7 +19,6 @@ use collections::VecDeque; use debugger_ui::debugger_panel::DebugPanel; use editor::ProposedChangesEditorToolbar; use editor::{Editor, MultiBuffer}; -use feature_flags::{FeatureFlagAppExt, PanicFeatureFlag}; use futures::future::Either; use futures::{StreamExt, channel::mpsc, select_biased}; use git_ui::git_panel::GitPanel; @@ -54,12 +53,9 @@ use settings::{ initial_local_debug_tasks_content, initial_project_settings_content, initial_tasks_content, update_settings_file, }; -use std::{ - borrow::Cow, - path::{Path, PathBuf}, - sync::Arc, - sync::atomic::{self, AtomicBool}, -}; +use std::path::PathBuf; +use std::sync::atomic::{self, AtomicBool}; +use std::{borrow::Cow, path::Path, sync::Arc}; use terminal_view::terminal_panel::{self, TerminalPanel}; use theme::{ActiveTheme, ThemeSettings}; use ui::{PopoverMenuHandle, prelude::*}; @@ -111,8 +107,6 @@ actions!( Zoom, /// Triggers a test panic for debugging. TestPanic, - /// Triggers a hard crash for debugging. - TestCrash, ] ); @@ -126,28 +120,11 @@ pub fn init(cx: &mut App) { cx.on_action(quit); cx.on_action(|_: &RestoreBanner, cx| title_bar::restore_banner(cx)); - let flag = cx.wait_for_flag::<PanicFeatureFlag>(); - cx.spawn(async |cx| { - if cx - .update(|cx| ReleaseChannel::global(cx) == ReleaseChannel::Dev) - .unwrap_or_default() - || flag.await - { - cx.update(|cx| { - cx.on_action(|_: &TestPanic, _| panic!("Ran the TestPanic action")); - cx.on_action(|_: &TestCrash, _| { - unsafe extern "C" { - fn puts(s: *const i8); - } - unsafe { - puts(0xabad1d3a as *const i8); - } - }); - }) - .ok(); - }; - }) - .detach(); + + if ReleaseChannel::global(cx) == ReleaseChannel::Dev { + cx.on_action(test_panic); + } + cx.on_action(|_: &OpenLog, cx| { with_active_or_new_workspace(cx, |workspace, window, cx| { open_log_file(workspace, window, cx); @@ -1010,6 +987,10 @@ fn about( .detach(); } +fn test_panic(_: &TestPanic, _: &mut App) { + panic!("Ran the TestPanic action") +} + fn install_cli( _: &mut Workspace, _: &install_cli::Install, @@ -4366,7 +4347,6 @@ mod tests { "repl", "rules_library", "search", - "settings_profile_selector", "snippets", "supermaven", "svg", diff --git a/crates/zed/src/zed/app_menus.rs b/crates/zed/src/zed/app_menus.rs index 15d5659f03..78532b10b4 100644 --- a/crates/zed/src/zed/app_menus.rs +++ b/crates/zed/src/zed/app_menus.rs @@ -24,10 +24,6 @@ pub fn app_menus() -> Vec<Menu> { zed_actions::OpenDefaultKeymap, ), MenuItem::action("Open Project Settings", super::OpenProjectSettings), - MenuItem::action( - "Select Settings Profile...", - zed_actions::settings_profile_selector::Toggle, - ), MenuItem::action( "Select Theme...", zed_actions::theme_selector::Toggle::default(), diff --git a/crates/zed/src/zed/component_preview.rs b/crates/zed/src/zed/component_preview.rs index 2e57152c62..670793cff3 100644 --- a/crates/zed/src/zed/component_preview.rs +++ b/crates/zed/src/zed/component_preview.rs @@ -105,7 +105,6 @@ enum PreviewPage { struct ComponentPreview { active_page: PreviewPage, active_thread: Option<Entity<ActiveThread>>, - reset_key: usize, component_list: ListState, component_map: HashMap<ComponentId, ComponentMetadata>, components: Vec<ComponentMetadata>, @@ -189,7 +188,6 @@ impl ComponentPreview { let mut component_preview = Self { active_page, active_thread: None, - reset_key: 0, component_list, component_map: component_registry.component_map(), components: sorted_components, @@ -267,13 +265,8 @@ impl ComponentPreview { } fn set_active_page(&mut self, page: PreviewPage, cx: &mut Context<Self>) { - if self.active_page == page { - // Force the current preview page to render again - self.reset_key = self.reset_key.wrapping_add(1); - } else { - self.active_page = page; - cx.emit(ItemEvent::UpdateTab); - } + self.active_page = page; + cx.emit(ItemEvent::UpdateTab); cx.notify(); } @@ -697,7 +690,6 @@ impl ComponentPreview { component.clone(), self.workspace.clone(), self.active_thread.clone(), - self.reset_key, )) .into_any_element() } else { @@ -1049,7 +1041,6 @@ pub struct ComponentPreviewPage { component: ComponentMetadata, workspace: WeakEntity<Workspace>, active_thread: Option<Entity<ActiveThread>>, - reset_key: usize, } impl ComponentPreviewPage { @@ -1057,7 +1048,6 @@ impl ComponentPreviewPage { component: ComponentMetadata, workspace: WeakEntity<Workspace>, active_thread: Option<Entity<ActiveThread>>, - reset_key: usize, // languages: Arc<LanguageRegistry> ) -> Self { Self { @@ -1065,7 +1055,6 @@ impl ComponentPreviewPage { component, workspace, active_thread, - reset_key, } } @@ -1166,7 +1155,6 @@ impl ComponentPreviewPage { }; v_flex() - .id(("component-preview", self.reset_key)) .size_full() .flex_1() .px_12() diff --git a/crates/zed/src/zed/inline_completion_registry.rs b/crates/zed/src/zed/inline_completion_registry.rs index ba19457d39..52b7166a11 100644 --- a/crates/zed/src/zed/inline_completion_registry.rs +++ b/crates/zed/src/zed/inline_completion_registry.rs @@ -1,4 +1,4 @@ -use client::{Client, CloudUserStore, DisableAiSettings}; +use client::{Client, DisableAiSettings, UserStore}; use collections::HashMap; use copilot::{Copilot, CopilotCompletionProvider}; use editor::Editor; @@ -13,12 +13,12 @@ use util::ResultExt; use workspace::Workspace; use zeta::{ProviderDataCollection, ZetaInlineCompletionProvider}; -pub fn init(client: Arc<Client>, cloud_user_store: Entity<CloudUserStore>, cx: &mut App) { +pub fn init(client: Arc<Client>, user_store: Entity<UserStore>, cx: &mut App) { let editors: Rc<RefCell<HashMap<WeakEntity<Editor>, AnyWindowHandle>>> = Rc::default(); cx.observe_new({ let editors = editors.clone(); let client = client.clone(); - let cloud_user_store = cloud_user_store.clone(); + let user_store = user_store.clone(); move |editor: &mut Editor, window, cx: &mut Context<Editor>| { if !editor.mode().is_full() { return; @@ -48,7 +48,7 @@ pub fn init(client: Arc<Client>, cloud_user_store: Entity<CloudUserStore>, cx: & editor, provider, &client, - cloud_user_store.clone(), + user_store.clone(), window, cx, ); @@ -60,7 +60,7 @@ pub fn init(client: Arc<Client>, cloud_user_store: Entity<CloudUserStore>, cx: & let mut provider = all_language_settings(None, cx).edit_predictions.provider; cx.spawn({ - let cloud_user_store = cloud_user_store.clone(); + let user_store = user_store.clone(); let editors = editors.clone(); let client = client.clone(); @@ -72,7 +72,7 @@ pub fn init(client: Arc<Client>, cloud_user_store: Entity<CloudUserStore>, cx: & &editors, provider, &client, - cloud_user_store.clone(), + user_store.clone(), cx, ); }) @@ -85,12 +85,15 @@ pub fn init(client: Arc<Client>, cloud_user_store: Entity<CloudUserStore>, cx: & cx.observe_global::<SettingsStore>({ let editors = editors.clone(); let client = client.clone(); - let cloud_user_store = cloud_user_store.clone(); + let user_store = user_store.clone(); move |cx| { let new_provider = all_language_settings(None, cx).edit_predictions.provider; if new_provider != provider { - let tos_accepted = cloud_user_store.read(cx).has_accepted_tos(); + let tos_accepted = user_store + .read(cx) + .current_user_has_accepted_terms() + .unwrap_or(false); telemetry::event!( "Edit Prediction Provider Changed", @@ -104,7 +107,7 @@ pub fn init(client: Arc<Client>, cloud_user_store: Entity<CloudUserStore>, cx: & &editors, provider, &client, - cloud_user_store.clone(), + user_store.clone(), cx, ); @@ -145,7 +148,7 @@ fn assign_edit_prediction_providers( editors: &Rc<RefCell<HashMap<WeakEntity<Editor>, AnyWindowHandle>>>, provider: EditPredictionProvider, client: &Arc<Client>, - cloud_user_store: Entity<CloudUserStore>, + user_store: Entity<UserStore>, cx: &mut App, ) { for (editor, window) in editors.borrow().iter() { @@ -155,7 +158,7 @@ fn assign_edit_prediction_providers( editor, provider, &client, - cloud_user_store.clone(), + user_store.clone(), window, cx, ); @@ -210,7 +213,7 @@ fn assign_edit_prediction_provider( editor: &mut Editor, provider: EditPredictionProvider, client: &Arc<Client>, - cloud_user_store: Entity<CloudUserStore>, + user_store: Entity<UserStore>, window: &mut Window, cx: &mut Context<Editor>, ) { @@ -241,7 +244,7 @@ fn assign_edit_prediction_provider( } } EditPredictionProvider::Zed => { - if cloud_user_store.read(cx).is_authenticated() { + if client.status().borrow().is_connected() { let mut worktree = None; if let Some(buffer) = &singleton_buffer { @@ -263,7 +266,7 @@ fn assign_edit_prediction_provider( .map(|workspace| workspace.downgrade()); let zeta = - zeta::Zeta::register(workspace, worktree, client.clone(), cloud_user_store, cx); + zeta::Zeta::register(workspace, worktree, client.clone(), user_store, cx); if let Some(buffer) = &singleton_buffer { if buffer.read(cx).file().is_some() { diff --git a/crates/zed_actions/src/lib.rs b/crates/zed_actions/src/lib.rs index 64891b6973..4b4bf016c4 100644 --- a/crates/zed_actions/src/lib.rs +++ b/crates/zed_actions/src/lib.rs @@ -260,25 +260,14 @@ pub mod icon_theme_selector { } } -pub mod settings_profile_selector { - use gpui::Action; - use schemars::JsonSchema; - use serde::Deserialize; - - #[derive(PartialEq, Clone, Default, Debug, Deserialize, JsonSchema, Action)] - #[action(namespace = settings_profile_selector)] - pub struct Toggle; -} - pub mod agent { use gpui::actions; actions!( agent, [ - /// Opens the agent settings panel. - #[action(deprecated_aliases = ["agent::OpenConfiguration"])] - OpenSettings, + /// Opens the agent configuration panel. + OpenConfiguration, /// Opens the agent onboarding modal. OpenOnboardingModal, /// Resets the agent onboarding state. diff --git a/crates/zeta/Cargo.toml b/crates/zeta/Cargo.toml index 26eeda3f22..c2b1de08ae 100644 --- a/crates/zeta/Cargo.toml +++ b/crates/zeta/Cargo.toml @@ -21,7 +21,6 @@ ai_onboarding.workspace = true anyhow.workspace = true arrayvec.workspace = true client.workspace = true -cloud_llm_client.workspace = true collections.workspace = true command_palette_hooks.workspace = true copilot.workspace = true @@ -40,6 +39,7 @@ log.workspace = true menu.workspace = true postage.workspace = true project.workspace = true +proto.workspace = true regex.workspace = true release_channel.workspace = true serde.workspace = true @@ -52,17 +52,16 @@ thiserror.workspace = true ui.workspace = true util.workspace = true uuid.workspace = true -workspace-hack.workspace = true workspace.workspace = true worktree.workspace = true zed_actions.workspace = true +zed_llm_client.workspace = true +workspace-hack.workspace = true [dev-dependencies] -call = { workspace = true, features = ["test-support"] } +collections = { workspace = true, features = ["test-support"] } client = { workspace = true, features = ["test-support"] } clock = { workspace = true, features = ["test-support"] } -cloud_api_types.workspace = true -collections = { workspace = true, features = ["test-support"] } ctor.workspace = true editor = { workspace = true, features = ["test-support"] } gpui = { workspace = true, features = ["test-support"] } @@ -78,4 +77,5 @@ tree-sitter-rust.workspace = true unindent.workspace = true workspace = { workspace = true, features = ["test-support"] } worktree = { workspace = true, features = ["test-support"] } +call = { workspace = true, features = ["test-support"] } zlog.workspace = true diff --git a/crates/zeta/src/zeta.rs b/crates/zeta/src/zeta.rs index d295b7d17c..d6f033899d 100644 --- a/crates/zeta/src/zeta.rs +++ b/crates/zeta/src/zeta.rs @@ -16,11 +16,7 @@ pub use rate_completion_modal::*; use anyhow::{Context as _, Result, anyhow}; use arrayvec::ArrayVec; -use client::{Client, CloudUserStore, EditPredictionUsage, UserStore}; -use cloud_llm_client::{ - AcceptEditPredictionBody, EXPIRED_LLM_TOKEN_HEADER_NAME, MINIMUM_REQUIRED_VERSION_HEADER_NAME, - PredictEditsBody, PredictEditsResponse, ZED_VERSION_HEADER_NAME, -}; +use client::{Client, EditPredictionUsage, UserStore}; use collections::{HashMap, HashSet, VecDeque}; use futures::AsyncReadExt; use gpui::{ @@ -57,6 +53,10 @@ use uuid::Uuid; use workspace::Workspace; use workspace::notifications::{ErrorMessagePrompt, NotificationId}; use worktree::Worktree; +use zed_llm_client::{ + AcceptEditPredictionBody, EXPIRED_LLM_TOKEN_HEADER_NAME, MINIMUM_REQUIRED_VERSION_HEADER_NAME, + PredictEditsBody, PredictEditsResponse, ZED_VERSION_HEADER_NAME, +}; const CURSOR_MARKER: &'static str = "<|user_cursor_is_here|>"; const START_OF_FILE_MARKER: &'static str = "<|start_of_file|>"; @@ -226,9 +226,12 @@ pub struct Zeta { data_collection_choice: Entity<DataCollectionChoice>, llm_token: LlmApiToken, _llm_token_subscription: Subscription, + /// Whether the terms of service have been accepted. + tos_accepted: bool, /// Whether an update to a newer version of Zed is required to continue using Zeta. update_required: bool, - cloud_user_store: Entity<CloudUserStore>, + user_store: Entity<UserStore>, + _user_store_subscription: Subscription, license_detection_watchers: HashMap<WorktreeId, Rc<LicenseDetectionWatcher>>, } @@ -241,11 +244,11 @@ impl Zeta { workspace: Option<WeakEntity<Workspace>>, worktree: Option<Entity<Worktree>>, client: Arc<Client>, - cloud_user_store: Entity<CloudUserStore>, + user_store: Entity<UserStore>, cx: &mut App, ) -> Entity<Self> { let this = Self::global(cx).unwrap_or_else(|| { - let entity = cx.new(|cx| Self::new(workspace, client, cloud_user_store, cx)); + let entity = cx.new(|cx| Self::new(workspace, client, user_store, cx)); cx.set_global(ZetaGlobal(entity.clone())); entity }); @@ -268,13 +271,13 @@ impl Zeta { } pub fn usage(&self, cx: &App) -> Option<EditPredictionUsage> { - self.cloud_user_store.read(cx).edit_prediction_usage() + self.user_store.read(cx).edit_prediction_usage() } fn new( workspace: Option<WeakEntity<Workspace>>, client: Arc<Client>, - cloud_user_store: Entity<CloudUserStore>, + user_store: Entity<UserStore>, cx: &mut Context<Self>, ) -> Self { let refresh_llm_token_listener = RefreshLlmTokenListener::global(cx); @@ -303,9 +306,24 @@ impl Zeta { .detach_and_log_err(cx); }, ), + tos_accepted: user_store + .read(cx) + .current_user_has_accepted_terms() + .unwrap_or(false), update_required: false, + _user_store_subscription: cx.subscribe(&user_store, |this, user_store, event, cx| { + match event { + client::user::Event::PrivateUserInfoUpdated => { + this.tos_accepted = user_store + .read(cx) + .current_user_has_accepted_terms() + .unwrap_or(false); + } + _ => {} + } + }), license_detection_watchers: HashMap::default(), - cloud_user_store, + user_store, } } @@ -534,8 +552,8 @@ impl Zeta { if let Some(usage) = usage { this.update(cx, |this, cx| { - this.cloud_user_store.update(cx, |cloud_user_store, cx| { - cloud_user_store.update_edit_prediction_usage(usage, cx); + this.user_store.update(cx, |user_store, cx| { + user_store.update_edit_prediction_usage(usage, cx); }); }) .ok(); @@ -876,8 +894,8 @@ and then another if response.status().is_success() { if let Some(usage) = EditPredictionUsage::from_headers(response.headers()).ok() { this.update(cx, |this, cx| { - this.cloud_user_store.update(cx, |cloud_user_store, cx| { - cloud_user_store.update_edit_prediction_usage(usage, cx); + this.user_store.update(cx, |user_store, cx| { + user_store.update_edit_prediction_usage(usage, cx); }); })?; } @@ -1555,12 +1573,7 @@ impl inline_completion::EditPredictionProvider for ZetaInlineCompletionProvider } fn needs_terms_acceptance(&self, cx: &App) -> bool { - !self - .zeta - .read(cx) - .cloud_user_store - .read(cx) - .has_accepted_tos() + !self.zeta.read(cx).tos_accepted } fn is_refreshing(&self) -> bool { @@ -1575,7 +1588,7 @@ impl inline_completion::EditPredictionProvider for ZetaInlineCompletionProvider _debounce: bool, cx: &mut Context<Self>, ) { - if self.needs_terms_acceptance(cx) { + if !self.zeta.read(cx).tos_accepted { return; } @@ -1586,9 +1599,9 @@ impl inline_completion::EditPredictionProvider for ZetaInlineCompletionProvider if self .zeta .read(cx) - .cloud_user_store - .read_with(cx, |cloud_user_store, _cx| { - cloud_user_store.account_too_young() || cloud_user_store.has_overdue_invoices() + .user_store + .read_with(cx, |user_store, _| { + user_store.account_too_young() || user_store.has_overdue_invoices() }) { return; @@ -1806,51 +1819,15 @@ fn tokens_for_bytes(bytes: usize) -> usize { mod tests { use client::test::FakeServer; use clock::FakeSystemClock; - use cloud_api_types::{ - AuthenticatedUser, CreateLlmTokenResponse, GetAuthenticatedUserResponse, LlmToken, PlanInfo, - }; - use cloud_llm_client::{CurrentUsage, Plan, UsageData, UsageLimit}; use gpui::TestAppContext; use http_client::FakeHttpClient; use indoc::indoc; use language::Point; + use rpc::proto; use settings::SettingsStore; use super::*; - fn make_get_authenticated_user_response() -> GetAuthenticatedUserResponse { - GetAuthenticatedUserResponse { - user: AuthenticatedUser { - id: 1, - metrics_id: "metrics-id-1".to_string(), - avatar_url: "".to_string(), - github_login: "".to_string(), - name: None, - is_staff: false, - accepted_tos_at: None, - }, - feature_flags: vec![], - plan: PlanInfo { - plan: Plan::ZedPro, - subscription_period: None, - usage: CurrentUsage { - model_requests: UsageData { - used: 0, - limit: UsageLimit::Limited(500), - }, - edit_predictions: UsageData { - used: 250, - limit: UsageLimit::Unlimited, - }, - }, - trial_started_at: None, - is_usage_based_billing_enabled: false, - is_account_too_young: false, - has_overdue_invoices: false, - }, - } - } - #[gpui::test] async fn test_inline_completion_basic_interpolation(cx: &mut TestAppContext) { let buffer = cx.new(|cx| Buffer::local("Lorem ipsum dolor", cx)); @@ -2050,55 +2027,28 @@ mod tests { <|editable_region_end|> ```"}; - let http_client = FakeHttpClient::create(move |req| async move { - match (req.method(), req.uri().path()) { - (&Method::GET, "/client/users/me") => Ok(http_client::Response::builder() - .status(200) - .body( - serde_json::to_string(&make_get_authenticated_user_response()) - .unwrap() - .into(), - ) - .unwrap()), - (&Method::POST, "/client/llm_tokens") => Ok(http_client::Response::builder() - .status(200) - .body( - serde_json::to_string(&CreateLlmTokenResponse { - token: LlmToken("the-llm-token".to_string()), - }) - .unwrap() - .into(), - ) - .unwrap()), - (&Method::POST, "/predict_edits/v2") => Ok(http_client::Response::builder() - .status(200) - .body( - serde_json::to_string(&PredictEditsResponse { - request_id: Uuid::parse_str("7e86480f-3536-4d2c-9334-8213e3445d45") - .unwrap(), - output_excerpt: completion_response.to_string(), - }) - .unwrap() - .into(), - ) - .unwrap()), - _ => Ok(http_client::Response::builder() - .status(404) - .body("Not Found".into()) - .unwrap()), - } + let http_client = FakeHttpClient::create(move |_| async move { + Ok(http_client::Response::builder() + .status(200) + .body( + serde_json::to_string(&PredictEditsResponse { + request_id: Uuid::parse_str("7e86480f-3536-4d2c-9334-8213e3445d45") + .unwrap(), + output_excerpt: completion_response.to_string(), + }) + .unwrap() + .into(), + ) + .unwrap()) }); let client = cx.update(|cx| Client::new(Arc::new(FakeSystemClock::new()), http_client, cx)); cx.update(|cx| { RefreshLlmTokenListener::register(client.clone(), cx); }); - // Construct the fake server to authenticate. - let _server = FakeServer::for_client(42, &client, cx).await; + let server = FakeServer::for_client(42, &client, cx).await; let user_store = cx.new(|cx| UserStore::new(client.clone(), cx)); - let cloud_user_store = - cx.new(|cx| CloudUserStore::new(client.cloud_client(), user_store.clone(), cx)); - let zeta = cx.new(|cx| Zeta::new(None, client, cloud_user_store, cx)); + let zeta = cx.new(|cx| Zeta::new(None, client, user_store, cx)); let buffer = cx.new(|cx| Buffer::local(buffer_content, cx)); let cursor = buffer.read_with(cx, |buffer, _| buffer.anchor_before(Point::new(1, 0))); @@ -2106,6 +2056,13 @@ mod tests { zeta.request_completion(None, &buffer, cursor, false, cx) }); + server.receive::<proto::GetUsers>().await.unwrap(); + let token_request = server.receive::<proto::GetLlmToken>().await.unwrap(); + server.respond( + token_request.receipt(), + proto::GetLlmTokenResponse { token: "".into() }, + ); + let completion = completion_task.await.unwrap().unwrap(); buffer.update(cx, |buffer, cx| { buffer.edit(completion.edits.iter().cloned(), None, cx) @@ -2122,44 +2079,20 @@ mod tests { cx: &mut TestAppContext, ) -> Vec<(Range<Point>, String)> { let completion_response = completion_response.to_string(); - let http_client = FakeHttpClient::create(move |req| { + let http_client = FakeHttpClient::create(move |_| { let completion = completion_response.clone(); async move { - match (req.method(), req.uri().path()) { - (&Method::GET, "/client/users/me") => Ok(http_client::Response::builder() - .status(200) - .body( - serde_json::to_string(&make_get_authenticated_user_response()) - .unwrap() - .into(), - ) - .unwrap()), - (&Method::POST, "/client/llm_tokens") => Ok(http_client::Response::builder() - .status(200) - .body( - serde_json::to_string(&CreateLlmTokenResponse { - token: LlmToken("the-llm-token".to_string()), - }) - .unwrap() - .into(), - ) - .unwrap()), - (&Method::POST, "/predict_edits/v2") => Ok(http_client::Response::builder() - .status(200) - .body( - serde_json::to_string(&PredictEditsResponse { - request_id: Uuid::new_v4(), - output_excerpt: completion, - }) - .unwrap() - .into(), - ) - .unwrap()), - _ => Ok(http_client::Response::builder() - .status(404) - .body("Not Found".into()) - .unwrap()), - } + Ok(http_client::Response::builder() + .status(200) + .body( + serde_json::to_string(&PredictEditsResponse { + request_id: Uuid::new_v4(), + output_excerpt: completion, + }) + .unwrap() + .into(), + ) + .unwrap()) } }); @@ -2167,12 +2100,9 @@ mod tests { cx.update(|cx| { RefreshLlmTokenListener::register(client.clone(), cx); }); - // Construct the fake server to authenticate. - let _server = FakeServer::for_client(42, &client, cx).await; + let server = FakeServer::for_client(42, &client, cx).await; let user_store = cx.new(|cx| UserStore::new(client.clone(), cx)); - let cloud_user_store = - cx.new(|cx| CloudUserStore::new(client.cloud_client(), user_store.clone(), cx)); - let zeta = cx.new(|cx| Zeta::new(None, client, cloud_user_store, cx)); + let zeta = cx.new(|cx| Zeta::new(None, client, user_store, cx)); let buffer = cx.new(|cx| Buffer::local(buffer_content, cx)); let snapshot = buffer.read_with(cx, |buffer, _| buffer.snapshot()); @@ -2181,6 +2111,13 @@ mod tests { zeta.request_completion(None, &buffer, cursor, false, cx) }); + server.receive::<proto::GetUsers>().await.unwrap(); + let token_request = server.receive::<proto::GetLlmToken>().await.unwrap(); + server.respond( + token_request.receipt(), + proto::GetLlmTokenResponse { token: "".into() }, + ); + let completion = completion_task.await.unwrap().unwrap(); completion .edits diff --git a/crates/zlog/src/sink.rs b/crates/zlog/src/sink.rs index 17aa08026e..acf0469c77 100644 --- a/crates/zlog/src/sink.rs +++ b/crates/zlog/src/sink.rs @@ -21,8 +21,6 @@ const ANSI_MAGENTA: &str = "\x1b[35m"; /// Whether stdout output is enabled. static mut ENABLED_SINKS_STDOUT: bool = false; -/// Whether stderr output is enabled. -static mut ENABLED_SINKS_STDERR: bool = false; /// Is Some(file) if file output is enabled. static ENABLED_SINKS_FILE: Mutex<Option<std::fs::File>> = Mutex::new(None); @@ -47,12 +45,6 @@ pub fn init_output_stdout() { } } -pub fn init_output_stderr() { - unsafe { - ENABLED_SINKS_STDERR = true; - } -} - pub fn init_output_file( path: &'static PathBuf, path_rotate: Option<&'static PathBuf>, @@ -123,21 +115,6 @@ pub fn submit(record: Record) { }, record.message ); - } else if unsafe { ENABLED_SINKS_STDERR } { - let mut stdout = std::io::stderr().lock(); - _ = writeln!( - &mut stdout, - "{} {ANSI_BOLD}{}{}{ANSI_RESET} {} {}", - chrono::Local::now().format("%Y-%m-%dT%H:%M:%S%:z"), - LEVEL_ANSI_COLORS[record.level as usize], - LEVEL_OUTPUT_STRINGS[record.level as usize], - SourceFmt { - scope: record.scope, - module_path: record.module_path, - ansi: true, - }, - record.message - ); } let mut file = ENABLED_SINKS_FILE.lock().unwrap_or_else(|handle| { ENABLED_SINKS_FILE.clear_poison(); diff --git a/crates/zlog/src/zlog.rs b/crates/zlog/src/zlog.rs index 5b40278f3f..570c82314c 100644 --- a/crates/zlog/src/zlog.rs +++ b/crates/zlog/src/zlog.rs @@ -5,7 +5,7 @@ mod env_config; pub mod filter; pub mod sink; -pub use sink::{flush, init_output_file, init_output_stderr, init_output_stdout}; +pub use sink::{flush, init_output_file, init_output_stdout}; pub const SCOPE_DEPTH_MAX: usize = 4; diff --git a/docs/README.md b/docs/README.md index a225903674..55993c9e36 100644 --- a/docs/README.md +++ b/docs/README.md @@ -69,64 +69,3 @@ Templates are just functions that modify the source of the docs pages (usually w - Template Trait: crates/docs_preprocessor/src/templates.rs - Example template: crates/docs_preprocessor/src/templates/keybinding.rs - Client-side plugins: docs/theme/plugins.js - -## Postprocessor - -A postprocessor is implemented as a sub-command of `docs_preprocessor` that wraps the builtin `html` renderer and applies post-processing to the `html` files, to add support for page-specific title and meta description values. - -An example of the syntax can be found in `git.md`, as well as below - -```md ---- -title: Some more detailed title for this page -description: A page-specific description ---- - -# Editor -``` - -The above will be transformed into (with non-relevant tags removed) - -```html -<head> - <title>Editor | Some more detailed title for this page - - - -

Editor

- -``` - -If no front-matter is provided, or If one or both keys aren't provided, the title and description will be set based on the `default-title` and `default-description` keys in `book.toml` respectively. - -### Implementation details - -Unfortunately, `mdbook` does not support post-processing like it does pre-processing, and only supports defining one description to put in the meta tag per book rather than per file. So in order to apply post-processing (necessary to modify the html head tags) the global book description is set to a marker value `#description#` and the html renderer is replaced with a sub-command of `docs_preprocessor` that wraps the builtin `html` renderer and applies post-processing to the `html` files, replacing the marker value and the `(.*)` with the contents of the front-matter if there is one. - -### Known limitations - -The front-matter parsing is extremely simple, which avoids needing to take on an additional dependency, or implement full yaml parsing. - -- Double quotes and multi-line values are not supported, i.e. Keys and values must be entirely on the same line, with no double quotes around the value. - -The following will not work: - -```md ---- -title: Some - Multi-line - Title ---- -``` - -And neither will: - -```md ---- -title: "Some title" ---- -``` - -- The front-matter must be at the top of the file, with only white-space preceding it - -- The contents of the title and description will not be html-escaped. They should be simple ascii text with no unicode or emoji characters diff --git a/docs/book.toml b/docs/book.toml index 60ddc5ac51..f5d186f377 100644 --- a/docs/book.toml +++ b/docs/book.toml @@ -6,27 +6,13 @@ src = "src" title = "Zed" site-url = "/docs/" -[build] -extra-watch-dirs = ["../crates/docs_preprocessor"] - -# zed-html is a "custom" renderer that just wraps the -# builtin mdbook html renderer, and applies post-processing -# as post-processing is not possible with mdbook in the same way -# pre-processing is -# The config is passed directly to the html renderer, so all config -# options that apply to html apply to zed-html -[output.zed-html] -command = "cargo run -p docs_preprocessor -- postprocess" -# Set here instead of above as we only use it replace the `#description#` we set in the template -# when no front-matter is provided value -default-description = "Learn how to use and customize Zed, the fast, collaborative code editor. Official docs on features, configuration, AI tools, and workflows." -default-title = "Zed Code Editor Documentation" +[output.html] no-section-label = true preferred-dark-theme = "dark" additional-css = ["theme/page-toc.css", "theme/plugins.css", "theme/highlight.css"] additional-js = ["theme/page-toc.js", "theme/plugins.js"] -[output.zed-html.print] +[output.html.print] enable = false # Redirects for `/docs` pages. @@ -38,7 +24,7 @@ enable = false # The destination URLs are interpreted relative to `https://zed.dev`. # - Redirects to other docs pages should end in `.html` # - You can link to pages on the Zed site by omitting the `/docs` in front of it. -[output.zed-html.redirect] +[output.html.redirect] # AI "/ai.html" = "/docs/ai/overview.html" "/assistant-panel.html" = "/docs/ai/agent-panel.html" @@ -54,7 +40,6 @@ enable = false "/assistant/prompting.html" = "/docs/ai/rules.html" "/language-model-integration.html" = "/docs/assistant/assistant.html" "/model-improvement.html" = "/docs/ai/ai-improvement.html" -"/ai/temperature.html" = "/docs/ai/agent-settings.html#model-temperature" # Community "/community/feedback.html" = "/community-links" diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index fc936d6bd0..1d43872547 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -45,14 +45,13 @@ - [Overview](./ai/overview.md) - [Agent Panel](./ai/agent-panel.md) - [Tools](./ai/tools.md) + - [Model Temperature](./ai/temperature.md) - [Inline Assistant](./ai/inline-assistant.md) - [Edit Prediction](./ai/edit-prediction.md) - [Text Threads](./ai/text-threads.md) - [Rules](./ai/rules.md) - [Model Context Protocol](./ai/mcp.md) - [Configuration](./ai/configuration.md) - - [LLM Providers](./ai/llm-providers.md) - - [Agent Settings](./ai/agent-settings.md) - [Subscription](./ai/subscription.md) - [Plans and Usage](./ai/plans-and-usage.md) - [Billing](./ai/billing.md) diff --git a/docs/src/accounts.md b/docs/src/accounts.md index 1ce23cf902..c13c98ad9a 100644 --- a/docs/src/accounts.md +++ b/docs/src/accounts.md @@ -5,7 +5,7 @@ Signing in to Zed is not a requirement. You can use most features you'd expect i ## What Features Require Signing In? 1. All real-time [collaboration features](./collaboration.md). -2. [LLM-powered features](./ai/overview.md), if you are using Zed as the provider of your LLM models. Alternatively, you can [bring and configure your own API keys](./ai/llm-providers.md#use-your-own-keys) if you'd prefer, and avoid having to sign in. +2. [LLM-powered features](./ai/overview.md), if you are using Zed as the provider of your LLM models. Alternatively, you can [bring and configure your own API keys](./ai/configuration.md#use-your-own-keys) if you'd prefer, and avoid having to sign in. ## Signing In diff --git a/docs/src/ai/agent-panel.md b/docs/src/ai/agent-panel.md index f944eb88b0..97568d6643 100644 --- a/docs/src/ai/agent-panel.md +++ b/docs/src/ai/agent-panel.md @@ -8,7 +8,7 @@ If you're using the Agent Panel for the first time, you need to have at least on You can do that by: 1. [subscribing to our Pro plan](https://zed.dev/pricing), so you have access to our hosted models -2. or by [bringing your own API keys](./llm-providers.md#use-your-own-keys) for your desired provider +2. or by [bringing your own API keys](./configuration.md#use-your-own-keys) for your desired provider ## Overview {#overview} @@ -87,7 +87,7 @@ You can also do this at any time with an ongoing thread via the "Agent Options" ## Changing Models {#changing-models} -After you've configured your LLM providers—either via [a custom API key](./llm-providers.md#use-your-own-keys) or through [Zed's hosted models](./models.md)—you can switch between them by clicking on the model selector on the message editor or by using the {#kb agent::ToggleModelSelector} keybinding. +After you've configured your LLM providers—either via [a custom API key](./configuration.md#use-your-own-keys) or through [Zed's hosted models](./models.md)—you can switch between them by clicking on the model selector on the message editor or by using the {#kb agent::ToggleModelSelector} keybinding. ## Using Tools {#using-tools} diff --git a/docs/src/ai/agent-settings.md b/docs/src/ai/agent-settings.md deleted file mode 100644 index ff97bcb8ee..0000000000 --- a/docs/src/ai/agent-settings.md +++ /dev/null @@ -1,226 +0,0 @@ -# Agent Settings - -Learn about all the settings you can customize in Zed's Agent Panel. - -## Model Settings {#model-settings} - -### Default Model {#default-model} - -If you're using [Zed's hosted LLM service](./plans-and-usage.md), it sets `claude-sonnet-4` as the default model. -But if you're not subscribed to it or simply just want to change it, you can do it so either via the model dropdown in the Agent Panel's bottom-right corner or by manually editing the `default_model` object in your settings: - -```json -{ - "agent": { - "default_model": { - "provider": "zed.dev", - "model": "gpt-4o" - } - } -} -``` - -### Feature-specific Models {#feature-specific-models} - -Assign distinct and specific models for the following AI-powered features in Zed: - -- Thread summary model: Used for generating thread summaries -- Inline assistant model: Used for the inline assistant feature -- Commit message model: Used for generating Git commit messages - -```json -{ - "agent": { - "default_model": { - "provider": "zed.dev", - "model": "claude-sonnet-4" - }, - "inline_assistant_model": { - "provider": "anthropic", - "model": "claude-3-5-sonnet" - }, - "commit_message_model": { - "provider": "openai", - "model": "gpt-4o-mini" - }, - "thread_summary_model": { - "provider": "google", - "model": "gemini-2.0-flash" - } - } -} -``` - -> If a custom model isn't set for one of these features, they automatically fall back to using the default model. - -### Alternative Models for Inline Assists {#alternative-assists} - -The Inline Assist feature in particular has the capacity to perform multiple generations in parallel using different models. -That is possible by assigning more than one model to it, taking the configuration shown above one step further. - -When configured, the inline assist UI will surface controls to cycle between the outputs generated by each model. - -The models you specify here are always used in _addition_ to your [default model](#default-model). - -For example, the following configuration will generate two outputs for every assist. -One with Claude Sonnet 4 (the default model), and one with GPT-4o. - -```json -{ - "agent": { - "default_model": { - "provider": "zed.dev", - "model": "claude-sonnet-4" - }, - "inline_alternatives": [ - { - "provider": "zed.dev", - "model": "gpt-4o" - } - ] - } -} -``` - -### Model Temperature - -Specify a custom temperature for a provider and/or model: - -```json -"model_parameters": [ - // To set parameters for all requests to OpenAI models: - { - "provider": "openai", - "temperature": 0.5 - }, - // To set parameters for all requests in general: - { - "temperature": 0 - }, - // To set parameters for a specific provider and model: - { - "provider": "zed.dev", - "model": "claude-sonnet-4", - "temperature": 1.0 - } -], -``` - -## Agent Panel Settings {#agent-panel-settings} - -Note that some of these settings are also surfaced in the Agent Panel's settings UI, which you can access either via the `agent: open settings` action or by the dropdown menu on the top-right corner of the panel. - -### Default View - -Use the `default_view` setting to change the default view of the Agent Panel. -You can choose between `thread` (the default) and `text_thread`: - -```json -{ - "agent": { - "default_view": "text_thread" - } -} -``` - -### Auto-run Commands - -Control whether you want to allow the agent to run commands without asking you for permission. -The default value is `false`. - -```json -{ - "agent": { - "always_allow_tool_actions": "true" - } -} -``` - -> This setting is available via the Agent Panel's settings UI. - -### Single-file Review - -Control whether you want to see review actions (accept & reject) in single buffers after the agent is done performing edits. -The default value is `false`. - -```json -{ - "agent": { - "single_file_review": "true" - } -} -``` - -When set to false, these controls are only available in the multibuffer review tab. - -> This setting is available via the Agent Panel's settings UI. - -### Sound Notification - -Control whether you want to hear a notification sound when the agent is done generating changes or needs your input. -The default value is `false`. - -```json -{ - "agent": { - "play_sound_when_agent_done": "true" - } -} -``` - -> This setting is available via the Agent Panel's settings UI. - -### Modifier to Send - -Make a modifier (`cmd` on macOS, `ctrl` on Linux) required to send messages. -This is encouraged for more thoughtful prompt crafting. -The default value is `false`. - -```json -{ - "agent": { - "use_modifier_to_send": "true" - } -} -``` - -> This setting is available via the Agent Panel's settings UI. - -### Edit Card - -Use the `expand_edit_card` setting to control whether edit cards show the full diff in the Agent Panel. -It is set to `true` by default, but if set to false, the card's height is capped to a certain number of lines, requiring a click to be expanded. - -```json -{ - "agent": { - "expand_edit_card": "false" - } -} -``` - -### Terminal Card - -Use the `expand_terminal_card` setting to control whether terminal cards show the command output in the Agent Panel. -It is set to `true` by default, but if set to false, the card will be fully collapsed even while the command is running, requiring a click to be expanded. - -```json -{ - "agent": { - "expand_terminal_card": "false" - } -} -``` - -### Feedback Controls - -Control whether you want to see the thumbs up/down buttons to give Zed feedback about the agent's performance. -The default value is `true`. - -```json -{ - "agent": { - "enable_feedback": "false" - } -} -``` diff --git a/docs/src/ai/billing.md b/docs/src/ai/billing.md index d519b136ae..c49bacd883 100644 --- a/docs/src/ai/billing.md +++ b/docs/src/ai/billing.md @@ -1,7 +1,7 @@ # Billing We use Stripe as our billing and payments provider. All Pro plans require payment via credit card. -For invoice-based billing, a Business plan is required. Contact [sales@zed.dev](mailto:sales@zed.dev) for more information. +For invoice-based billing, a Business plan is required. Contact sales@zed.dev for more information. ## Settings {#settings} @@ -12,8 +12,7 @@ Clicking the button under Account Settings will navigate you to Stripe’s secur Zed is billed on a monthly basis based on the date you initially subscribe. -We’ll also bill in-month for additional prompts used beyond your plan’s prompt limit, if usage exceeds $20 before month end. -See [usage-based pricing](./plans-and-usage.md#ubp) for more. +We’ll also bill in-month for additional prompts used beyond your plan’s prompt limit, if usage exceeds $20 before month end. See [usage-based pricing](./plans-and-usage.md#ubp) for more. ## Invoice History {#invoice-history} @@ -26,12 +25,3 @@ From Stripe’s secure portal, you can download all current and historical invoi You can update your payment method, company name, address, and tax information through the billing portal. Please note that changes to billing information will **only** affect future invoices — **we cannot modify historical invoices**. - -## Sales Tax {#sales-tax} - -Zed partners with [Sphere](https://www.getsphere.com/) to calculate indirect tax rate for invoices, based on customer location and the product being sold. Tax is listed as a separate line item on invoices, based preferentially on your billing address, followed by the card issue country known to Stripe. - -If you have a VAT/GST ID, you can add it at [zed.dev/account](https://zed.dev/account) by clicking "Manage" on your subscription. Check the box that denotes you as a business. - -Please note that changes to VAT/GST IDs and address will **only** affect future invoices — **we cannot modify historical invoices**. -Questions or issues can be directed to [billing-support@zed.dev](mailto:billing-support@zed.dev). diff --git a/docs/src/ai/configuration.md b/docs/src/ai/configuration.md index d28a7e8ed0..414da2206f 100644 --- a/docs/src/ai/configuration.md +++ b/docs/src/ai/configuration.md @@ -1,20 +1,735 @@ # Configuration -When using AI in Zed, you can customize several aspects: +There are various aspects about the Agent Panel that you can customize. +All of them can be seen by either visiting [the Configuring Zed page](../configuring-zed.md#agent) or by running the `zed: open default settings` action and searching for `"agent"`. -1. Which [LLM providers](./llm-providers.md) you can use -2. [Model parameters and usage](./agent-settings.md#model-settings) -3. [Interactions with the Agent Panel](./agent-settings.md#agent-panel-settings) +Alternatively, you can also visit the panel's Settings view by running the `agent: open configuration` action or going to the top-right menu and hitting "Settings". -## Turning AI Off Entirely +## LLM Providers -We want to respect users who want to use Zed without interacting with AI whatsoever. -To do that, add the following key to your `settings.json`: +Zed supports multiple large language model providers. +Here's an overview of the supported providers and tool call support: + +| Provider | Tool Use Supported | +| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Amazon Bedrock](#amazon-bedrock) | Depends on the model | +| [Anthropic](#anthropic) | ✅ | +| [DeepSeek](#deepseek) | ✅ | +| [GitHub Copilot Chat](#github-copilot-chat) | For some models ([link](https://github.com/zed-industries/zed/blob/9e0330ba7d848755c9734bf456c716bddf0973f3/crates/language_models/src/provider/copilot_chat.rs#L189-L198)) | +| [Google AI](#google-ai) | ✅ | +| [LM Studio](#lmstudio) | ✅ | +| [Mistral](#mistral) | ✅ | +| [Ollama](#ollama) | ✅ | +| [OpenAI](#openai) | ✅ | +| [OpenAI API Compatible](#openai-api-compatible) | 🚫 | +| [OpenRouter](#openrouter) | ✅ | +| [Vercel](#vercel-v0) | ✅ | +| [xAI](#xai) | ✅ | + +## Use Your Own Keys {#use-your-own-keys} + +While Zed offers hosted versions of models through [our various plans](./plans-and-usage.md), we're always happy to support users wanting to supply their own API keys. +Below, you can learn how to do that for each provider. + +> Using your own API keys is _free_—you do not need to subscribe to a Zed plan to use our AI features with your own keys. + +### Amazon Bedrock {#amazon-bedrock} + +> ✅ Supports tool use with models that support streaming tool use. +> More details can be found in the [Amazon Bedrock's Tool Use documentation](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html). + +To use Amazon Bedrock's models, an AWS authentication is required. +Ensure your credentials have the following permissions set up: + +- `bedrock:InvokeModelWithResponseStream` +- `bedrock:InvokeModel` +- `bedrock:ConverseStream` + +Your IAM policy should look similar to: ```json { - "disable_ai": true + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "bedrock:InvokeModel", + "bedrock:InvokeModelWithResponseStream", + "bedrock:ConverseStream" + ], + "Resource": "*" + } + ] } ``` -Read [the following blog post](https://zed.dev/blog/disable-ai-features) to learn more about our motivation to promote this, as much as we also encourage users to explore AI-assisted programming. +With that done, choose one of the two authentication methods: + +#### Authentication via Named Profile (Recommended) + +1. Ensure you have the AWS CLI installed and configured with a named profile +2. Open your `settings.json` (`zed: open settings`) and include the `bedrock` key under `language_models` with the following settings: + ```json + { + "language_models": { + "bedrock": { + "authentication_method": "named_profile", + "region": "your-aws-region", + "profile": "your-profile-name" + } + } + } + ``` + +#### Authentication via Static Credentials + +While it's possible to configure through the Agent Panel settings UI by entering your AWS access key and secret directly, we recommend using named profiles instead for better security practices. +To do this: + +1. Create an IAM User that you can assume in the [IAM Console](https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/users). +2. Create security credentials for that User, save them and keep them secure. +3. Open the Agent Configuration with (`agent: open configuration`) and go to the Amazon Bedrock section +4. Copy the credentials from Step 2 into the respective **Access Key ID**, **Secret Access Key**, and **Region** fields. + +#### Cross-Region Inference + +The Zed implementation of Amazon Bedrock uses [Cross-Region inference](https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html) for all the models and region combinations that support it. +With Cross-Region inference, you can distribute traffic across multiple AWS Regions, enabling higher throughput. + +For example, if you use `Claude Sonnet 3.7 Thinking` from `us-east-1`, it may be processed across the US regions, namely: `us-east-1`, `us-east-2`, or `us-west-2`. +Cross-Region inference requests are kept within the AWS Regions that are part of the geography where the data originally resides. +For example, a request made within the US is kept within the AWS Regions in the US. + +Although the data remains stored only in the source Region, your input prompts and output results might move outside of your source Region during cross-Region inference. +All data will be transmitted encrypted across Amazon's secure network. + +We will support Cross-Region inference for each of the models on a best-effort basis, please refer to the [Cross-Region Inference method Code](https://github.com/zed-industries/zed/blob/main/crates/bedrock/src/models.rs#L297). + +For the most up-to-date supported regions and models, refer to the [Supported Models and Regions for Cross Region inference](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html). + +### Anthropic {#anthropic} + +> ✅ Supports tool use + +You can use Anthropic models by choosing it via the model dropdown in the Agent Panel. + +1. Sign up for Anthropic and [create an API key](https://console.anthropic.com/settings/keys) +2. Make sure that your Anthropic account has credits +3. Open the settings view (`agent: open configuration`) and go to the Anthropic section +4. Enter your Anthropic API key + +Even if you pay for Claude Pro, you will still have to [pay for additional credits](https://console.anthropic.com/settings/plans) to use it via the API. + +Zed will also use the `ANTHROPIC_API_KEY` environment variable if it's defined. + +#### Custom Models {#anthropic-custom-models} + +You can add custom models to the Anthropic provider by adding the following to your Zed `settings.json`: + +```json +{ + "language_models": { + "anthropic": { + "available_models": [ + { + "name": "claude-3-5-sonnet-20240620", + "display_name": "Sonnet 2024-June", + "max_tokens": 128000, + "max_output_tokens": 2560, + "cache_configuration": { + "max_cache_anchors": 10, + "min_total_token": 10000, + "should_speculate": false + }, + "tool_override": "some-model-that-supports-toolcalling" + } + ] + } + } +} +``` + +Custom models will be listed in the model dropdown in the Agent Panel. + +You can configure a model to use [extended thinking](https://docs.anthropic.com/en/docs/about-claude/models/extended-thinking-models) (if it supports it) by changing the mode in your model's configuration to `thinking`, for example: + +```json +{ + "name": "claude-sonnet-4-latest", + "display_name": "claude-sonnet-4-thinking", + "max_tokens": 200000, + "mode": { + "type": "thinking", + "budget_tokens": 4_096 + } +} +``` + +### DeepSeek {#deepseek} + +> ✅ Supports tool use + +1. Visit the DeepSeek platform and [create an API key](https://platform.deepseek.com/api_keys) +2. Open the settings view (`agent: open configuration`) and go to the DeepSeek section +3. Enter your DeepSeek API key + +The DeepSeek API key will be saved in your keychain. + +Zed will also use the `DEEPSEEK_API_KEY` environment variable if it's defined. + +#### Custom Models {#deepseek-custom-models} + +The Zed agent comes pre-configured to use the latest version for common models (DeepSeek Chat, DeepSeek Reasoner). +If you wish to use alternate models or customize the API endpoint, you can do so by adding the following to your Zed `settings.json`: + +```json +{ + "language_models": { + "deepseek": { + "api_url": "https://api.deepseek.com", + "available_models": [ + { + "name": "deepseek-chat", + "display_name": "DeepSeek Chat", + "max_tokens": 64000 + }, + { + "name": "deepseek-reasoner", + "display_name": "DeepSeek Reasoner", + "max_tokens": 64000, + "max_output_tokens": 4096 + } + ] + } + } +} +``` + +Custom models will be listed in the model dropdown in the Agent Panel. +You can also modify the `api_url` to use a custom endpoint if needed. + +### GitHub Copilot Chat {#github-copilot-chat} + +> ✅ Supports tool use in some cases. +> Visit [the Copilot Chat code](https://github.com/zed-industries/zed/blob/9e0330ba7d848755c9734bf456c716bddf0973f3/crates/language_models/src/provider/copilot_chat.rs#L189-L198) for the supported subset. + +You can use GitHub Copilot Chat with the Zed agent by choosing it via the model dropdown in the Agent Panel. + +1. Open the settings view (`agent: open configuration`) and go to the GitHub Copilot Chat section +2. Click on `Sign in to use GitHub Copilot`, follow the steps shown in the modal. + +Alternatively, you can provide an OAuth token via the `GH_COPILOT_TOKEN` environment variable. + +> **Note**: If you don't see specific models in the dropdown, you may need to enable them in your [GitHub Copilot settings](https://github.com/settings/copilot/features). + +To use Copilot Enterprise with Zed (for both agent and inline completions), you must configure your enterprise endpoint as described in [Configuring GitHub Copilot Enterprise](./edit-prediction.md#github-copilot-enterprise). + +### Google AI {#google-ai} + +> ✅ Supports tool use + +You can use Gemini models with the Zed agent by choosing it via the model dropdown in the Agent Panel. + +1. Go to the Google AI Studio site and [create an API key](https://aistudio.google.com/app/apikey). +2. Open the settings view (`agent: open configuration`) and go to the Google AI section +3. Enter your Google AI API key and press enter. + +The Google AI API key will be saved in your keychain. + +Zed will also use the `GEMINI_API_KEY` environment variable if it's defined. See [Using Gemini API keys](Using Gemini API keys) in the Gemini docs for more. + +#### Custom Models {#google-ai-custom-models} + +By default, Zed will use `stable` versions of models, but you can use specific versions of models, including [experimental models](https://ai.google.dev/gemini-api/docs/models/experimental-models). You can configure a model to use [thinking mode](https://ai.google.dev/gemini-api/docs/thinking) (if it supports it) by adding a `mode` configuration to your model. This is useful for controlling reasoning token usage and response speed. If not specified, Gemini will automatically choose the thinking budget. + +Here is an example of a custom Google AI model you could add to your Zed `settings.json`: + +```json +{ + "language_models": { + "google": { + "available_models": [ + { + "name": "gemini-2.5-flash-preview-05-20", + "display_name": "Gemini 2.5 Flash (Thinking)", + "max_tokens": 1000000, + "mode": { + "type": "thinking", + "budget_tokens": 24000 + } + } + ] + } + } +} +``` + +Custom models will be listed in the model dropdown in the Agent Panel. + +### LM Studio {#lmstudio} + +> ✅ Supports tool use + +1. Download and install [the latest version of LM Studio](https://lmstudio.ai/download) +2. In the app press `cmd/ctrl-shift-m` and download at least one model (e.g., qwen2.5-coder-7b). Alternatively, you can get models via the LM Studio CLI: + + ```sh + lms get qwen2.5-coder-7b + ``` + +3. Make sure the LM Studio API server is running by executing: + + ```sh + lms server start + ``` + +Tip: Set [LM Studio as a login item](https://lmstudio.ai/docs/advanced/headless#run-the-llm-service-on-machine-login) to automate running the LM Studio server. + +### Mistral {#mistral} + +> ✅ Supports tool use + +1. Visit the Mistral platform and [create an API key](https://console.mistral.ai/api-keys/) +2. Open the configuration view (`agent: open configuration`) and navigate to the Mistral section +3. Enter your Mistral API key + +The Mistral API key will be saved in your keychain. + +Zed will also use the `MISTRAL_API_KEY` environment variable if it's defined. + +#### Custom Models {#mistral-custom-models} + +The Zed agent comes pre-configured with several Mistral models (codestral-latest, mistral-large-latest, mistral-medium-latest, mistral-small-latest, open-mistral-nemo, and open-codestral-mamba). +All the default models support tool use. +If you wish to use alternate models or customize their parameters, you can do so by adding the following to your Zed `settings.json`: + +```json +{ + "language_models": { + "mistral": { + "api_url": "https://api.mistral.ai/v1", + "available_models": [ + { + "name": "mistral-tiny-latest", + "display_name": "Mistral Tiny", + "max_tokens": 32000, + "max_output_tokens": 4096, + "max_completion_tokens": 1024, + "supports_tools": true, + "supports_images": false + } + ] + } + } +} +``` + +Custom models will be listed in the model dropdown in the Agent Panel. + +### Ollama {#ollama} + +> ✅ Supports tool use + +Download and install Ollama from [ollama.com/download](https://ollama.com/download) (Linux or macOS) and ensure it's running with `ollama --version`. + +1. Download one of the [available models](https://ollama.com/models), for example, for `mistral`: + + ```sh + ollama pull mistral + ``` + +2. Make sure that the Ollama server is running. You can start it either via running Ollama.app (macOS) or launching: + + ```sh + ollama serve + ``` + +3. In the Agent Panel, select one of the Ollama models using the model dropdown. + +#### Ollama Context Length {#ollama-context} + +Zed has pre-configured maximum context lengths (`max_tokens`) to match the capabilities of common models. +Zed API requests to Ollama include this as the `num_ctx` parameter, but the default values do not exceed `16384` so users with ~16GB of RAM are able to use most models out of the box. + +See [get_max_tokens in ollama.rs](https://github.com/zed-industries/zed/blob/main/crates/ollama/src/ollama.rs) for a complete set of defaults. + +> **Note**: Token counts displayed in the Agent Panel are only estimates and will differ from the model's native tokenizer. + +Depending on your hardware or use-case you may wish to limit or increase the context length for a specific model via settings.json: + +```json +{ + "language_models": { + "ollama": { + "api_url": "http://localhost:11434", + "available_models": [ + { + "name": "qwen2.5-coder", + "display_name": "qwen 2.5 coder 32K", + "max_tokens": 32768, + "supports_tools": true, + "supports_thinking": true, + "supports_images": true + } + ] + } + } +} +``` + +If you specify a context length that is too large for your hardware, Ollama will log an error. +You can watch these logs by running: `tail -f ~/.ollama/logs/ollama.log` (macOS) or `journalctl -u ollama -f` (Linux). +Depending on the memory available on your machine, you may need to adjust the context length to a smaller value. + +You may also optionally specify a value for `keep_alive` for each available model. +This can be an integer (seconds) or alternatively a string duration like "5m", "10m", "1h", "1d", etc. +For example, `"keep_alive": "120s"` will allow the remote server to unload the model (freeing up GPU VRAM) after 120 seconds. + +The `supports_tools` option controls whether the model will use additional tools. +If the model is tagged with `tools` in the Ollama catalog, this option should be supplied, and the built-in profiles `Ask` and `Write` can be used. +If the model is not tagged with `tools` in the Ollama catalog, this option can still be supplied with the value `true`; however, be aware that only the `Minimal` built-in profile will work. + +The `supports_thinking` option controls whether the model will perform an explicit "thinking" (reasoning) pass before producing its final answer. +If the model is tagged with `thinking` in the Ollama catalog, set this option and you can use it in Zed. + +The `supports_images` option enables the model's vision capabilities, allowing it to process images included in the conversation context. +If the model is tagged with `vision` in the Ollama catalog, set this option and you can use it in Zed. + +### OpenAI {#openai} + +> ✅ Supports tool use + +1. Visit the OpenAI platform and [create an API key](https://platform.openai.com/account/api-keys) +2. Make sure that your OpenAI account has credits +3. Open the settings view (`agent: open configuration`) and go to the OpenAI section +4. Enter your OpenAI API key + +The OpenAI API key will be saved in your keychain. + +Zed will also use the `OPENAI_API_KEY` environment variable if it's defined. + +#### Custom Models {#openai-custom-models} + +The Zed agent comes pre-configured to use the latest version for common models (GPT-3.5 Turbo, GPT-4, GPT-4 Turbo, GPT-4o, GPT-4o mini). +To use alternate models, perhaps a preview release or a dated model release, or if you wish to control the request parameters, you can do so by adding the following to your Zed `settings.json`: + +```json +{ + "language_models": { + "openai": { + "available_models": [ + { + "name": "gpt-4o-2024-08-06", + "display_name": "GPT 4o Summer 2024", + "max_tokens": 128000 + }, + { + "name": "o1-mini", + "display_name": "o1-mini", + "max_tokens": 128000, + "max_completion_tokens": 20000 + } + ], + "version": "1" + } + } +} +``` + +You must provide the model's context window in the `max_tokens` parameter; this can be found in the [OpenAI model documentation](https://platform.openai.com/docs/models). + +OpenAI `o1` models should set `max_completion_tokens` as well to avoid incurring high reasoning token costs. +Custom models will be listed in the model dropdown in the Agent Panel. + +### OpenAI API Compatible {#openai-api-compatible} + +Zed supports using [OpenAI compatible APIs](https://platform.openai.com/docs/api-reference/chat) by specifying a custom `api_url` and `available_models` for the OpenAI provider. This is useful for connecting to other hosted services (like Together AI, Anyscale, etc.) or local models. + +To configure a compatible API, you can add a custom API URL for OpenAI either via the UI (currently available only in Preview) or by editing your `settings.json`. + +For example, to connect to [Together AI](https://www.together.ai/) via the UI: + +1. Get an API key from your [Together AI account](https://api.together.ai/settings/api-keys). +2. Go to the Agent Panel's settings view, click on the "Add Provider" button, and then on the "OpenAI" menu item +3. Add the requested fields, such as `api_url`, `api_key`, available models, and others + +Alternatively, you can also add it via the `settings.json`: + +```json +{ + "language_models": { + "openai": { + "api_url": "https://api.together.xyz/v1", + "api_key": "YOUR_TOGETHER_AI_API_KEY", + "available_models": [ + { + "name": "mistralai/Mixtral-8x7B-Instruct-v0.1", + "display_name": "Together Mixtral 8x7B", + "max_tokens": 32768, + "supports_tools": true + } + ] + } + } +} +``` + +### OpenRouter {#openrouter} + +> ✅ Supports tool use + +OpenRouter provides access to multiple AI models through a single API. It supports tool use for compatible models. + +1. Visit [OpenRouter](https://openrouter.ai) and create an account +2. Generate an API key from your [OpenRouter keys page](https://openrouter.ai/keys) +3. Open the settings view (`agent: open configuration`) and go to the OpenRouter section +4. Enter your OpenRouter API key + +The OpenRouter API key will be saved in your keychain. + +Zed will also use the `OPENROUTER_API_KEY` environment variable if it's defined. + +#### Custom Models {#openrouter-custom-models} + +You can add custom models to the OpenRouter provider by adding the following to your Zed `settings.json`: + +```json +{ + "language_models": { + "open_router": { + "api_url": "https://openrouter.ai/api/v1", + "available_models": [ + { + "name": "google/gemini-2.0-flash-thinking-exp", + "display_name": "Gemini 2.0 Flash (Thinking)", + "max_tokens": 200000, + "max_output_tokens": 8192, + "supports_tools": true, + "supports_images": true, + "mode": { + "type": "thinking", + "budget_tokens": 8000 + } + } + ] + } + } +} +``` + +The available configuration options for each model are: + +- `name` (required): The model identifier used by OpenRouter +- `display_name` (optional): A human-readable name shown in the UI +- `max_tokens` (required): The model's context window size +- `max_output_tokens` (optional): Maximum tokens the model can generate +- `max_completion_tokens` (optional): Maximum completion tokens +- `supports_tools` (optional): Whether the model supports tool/function calling +- `supports_images` (optional): Whether the model supports image inputs +- `mode` (optional): Special mode configuration for thinking models + +You can find available models and their specifications on the [OpenRouter models page](https://openrouter.ai/models). + +Custom models will be listed in the model dropdown in the Agent Panel. + +### Vercel v0 {#vercel-v0} + +> ✅ Supports tool use + +[Vercel v0](https://vercel.com/docs/v0/api) is an expert model for generating full-stack apps, with framework-aware completions optimized for modern stacks like Next.js and Vercel. +It supports text and image inputs and provides fast streaming responses. + +The v0 models are [OpenAI-compatible models](/#openai-api-compatible), but Vercel is listed as first-class provider in the panel's settings view. + +To start using it with Zed, ensure you have first created a [v0 API key](https://v0.dev/chat/settings/keys). +Once you have it, paste it directly into the Vercel provider section in the panel's settings view. + +You should then find it as `v0-1.5-md` in the model dropdown in the Agent Panel. + +### xAI {#xai} + +> ✅ Supports tool use + +Zed has first-class support for [xAI](https://x.ai/) models. You can use your own API key to access Grok models. + +1. [Create an API key in the xAI Console](https://console.x.ai/team/default/api-keys) +2. Open the settings view (`agent: open configuration`) and go to the **xAI** section +3. Enter your xAI API key + +The xAI API key will be saved in your keychain. Zed will also use the `XAI_API_KEY` environment variable if it's defined. + +> **Note:** While the xAI API is OpenAI-compatible, Zed has first-class support for it as a dedicated provider. For the best experience, we recommend using the dedicated `x_ai` provider configuration instead of the [OpenAI API Compatible](#openai-api-compatible) method. + +#### Custom Models {#xai-custom-models} + +The Zed agent comes pre-configured with common Grok models. If you wish to use alternate models or customize their parameters, you can do so by adding the following to your Zed `settings.json`: + +```json +{ + "language_models": { + "x_ai": { + "api_url": "https://api.x.ai/v1", + "available_models": [ + { + "name": "grok-1.5", + "display_name": "Grok 1.5", + "max_tokens": 131072, + "max_output_tokens": 8192 + }, + { + "name": "grok-1.5v", + "display_name": "Grok 1.5V (Vision)", + "max_tokens": 131072, + "max_output_tokens": 8192, + "supports_images": true + } + ] + } + } +} +``` + +## Advanced Configuration {#advanced-configuration} + +### Custom Provider Endpoints {#custom-provider-endpoint} + +You can use a custom API endpoint for different providers, as long as it's compatible with the provider's API structure. +To do so, add the following to your `settings.json`: + +```json +{ + "language_models": { + "some-provider": { + "api_url": "http://localhost:11434" + } + } +} +``` + +Where `some-provider` can be any of the following values: `anthropic`, `google`, `ollama`, `openai`. + +### Default Model {#default-model} + +Zed's hosted LLM service sets `claude-sonnet-4` as the default model. +However, you can change it either via the model dropdown in the Agent Panel's bottom-right corner or by manually editing the `default_model` object in your settings: + +```json +{ + "agent": { + "version": "2", + "default_model": { + "provider": "zed.dev", + "model": "gpt-4o" + } + } +} +``` + +### Feature-specific Models {#feature-specific-models} + +If a feature-specific model is not set, it will fall back to using the default model, which is the one you set on the Agent Panel. + +You can configure the following feature-specific models: + +- Thread summary model: Used for generating thread summaries +- Inline assistant model: Used for the inline assistant feature +- Commit message model: Used for generating Git commit messages + +Example configuration: + +```json +{ + "agent": { + "version": "2", + "default_model": { + "provider": "zed.dev", + "model": "claude-sonnet-4" + }, + "inline_assistant_model": { + "provider": "anthropic", + "model": "claude-3-5-sonnet" + }, + "commit_message_model": { + "provider": "openai", + "model": "gpt-4o-mini" + }, + "thread_summary_model": { + "provider": "google", + "model": "gemini-2.0-flash" + } + } +} +``` + +### Alternative Models for Inline Assists {#alternative-assists} + +You can configure additional models that will be used to perform inline assists in parallel. +When you do this, the inline assist UI will surface controls to cycle between the alternatives generated by each model. + +The models you specify here are always used in _addition_ to your [default model](#default-model). +For example, the following configuration will generate two outputs for every assist. +One with Claude 3.7 Sonnet, and one with GPT-4o. + +```json +{ + "agent": { + "default_model": { + "provider": "zed.dev", + "model": "claude-sonnet-4" + }, + "inline_alternatives": [ + { + "provider": "zed.dev", + "model": "gpt-4o" + } + ], + "version": "2" + } +} +``` + +### Default View + +Use the `default_view` setting to set change the default view of the Agent Panel. +You can choose between `thread` (the default) and `text_thread`: + +```json +{ + "agent": { + "default_view": "text_thread" + } +} +``` + +### Edit Card + +Use the `expand_edit_card` setting to control whether edit cards show the full diff in the Agent Panel. +It is set to `true` by default, but if set to false, the card's height is capped to a certain number of lines, requiring a click to be expanded. + +```json +{ + "agent": { + "expand_edit_card": "false" + } +} +``` + +This setting is currently only available in Preview. +It should be up in Stable by the next release. + +### Terminal Card + +Use the `expand_terminal_card` setting to control whether terminal cards show the command output in the Agent Panel. +It is set to `true` by default, but if set to false, the card will be fully collapsed even while the command is running, requiring a click to be expanded. + +```json +{ + "agent": { + "expand_terminal_card": "false" + } +} +``` + +This setting is currently only available in Preview. +It should be up in Stable by the next release. diff --git a/docs/src/ai/inline-assistant.md b/docs/src/ai/inline-assistant.md index da894e2cd8..cd0ace3ce6 100644 --- a/docs/src/ai/inline-assistant.md +++ b/docs/src/ai/inline-assistant.md @@ -12,7 +12,7 @@ You can also perform multiple generation requests in parallel by pressing `ctrl- Give the Inline Assistant context the same way you can in [the Agent Panel](./agent-panel.md), allowing you to provide additional instructions or rules for code transformations with @-mentions. -A useful pattern here is to create a thread in the Agent Panel, and then mention that thread with `@thread` in the Inline Assistant to include it as context. +A useful pattern here is to create a thread in the Agent Panel, and then use the mention that thread with `@thread` in the Inline Assistant to include it as context. > The Inline Assistant is limited to normal mode context windows ([see Models](./models.md) for more). diff --git a/docs/src/ai/llm-providers.md b/docs/src/ai/llm-providers.md deleted file mode 100644 index bd208e94ac..0000000000 --- a/docs/src/ai/llm-providers.md +++ /dev/null @@ -1,607 +0,0 @@ -# LLM Providers - -To use AI in Zed, you need to have at least one large language model provider set up. - -You can do that by either subscribing to [one of Zed's plans](./plans-and-usage.md), or by using API keys you already have for the supported providers. - -## Use Your Own Keys {#use-your-own-keys} - -If you already have an API key for an existing LLM provider—say Anthropic or OpenAI, for example—you can insert them in Zed and use the Agent Panel **_for free_**. - -You can add your API key to a given provider either via the Agent Panel's settings UI or directly via the `settings.json` through the `language_models` key. - -## Supported Providers - -Here's all the supported LLM providers for which you can use your own API keys: - -| Provider | Tool Use Supported | -| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Amazon Bedrock](#amazon-bedrock) | Depends on the model | -| [Anthropic](#anthropic) | ✅ | -| [DeepSeek](#deepseek) | ✅ | -| [GitHub Copilot Chat](#github-copilot-chat) | For some models ([link](https://github.com/zed-industries/zed/blob/9e0330ba7d848755c9734bf456c716bddf0973f3/crates/language_models/src/provider/copilot_chat.rs#L189-L198)) | -| [Google AI](#google-ai) | ✅ | -| [LM Studio](#lmstudio) | ✅ | -| [Mistral](#mistral) | ✅ | -| [Ollama](#ollama) | ✅ | -| [OpenAI](#openai) | ✅ | -| [OpenAI API Compatible](#openai-api-compatible) | ✅ | -| [OpenRouter](#openrouter) | ✅ | -| [Vercel](#vercel-v0) | ✅ | -| [xAI](#xai) | ✅ | - -### Amazon Bedrock {#amazon-bedrock} - -> ✅ Supports tool use with models that support streaming tool use. -> More details can be found in the [Amazon Bedrock's Tool Use documentation](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html). - -To use Amazon Bedrock's models, an AWS authentication is required. -Ensure your credentials have the following permissions set up: - -- `bedrock:InvokeModelWithResponseStream` -- `bedrock:InvokeModel` -- `bedrock:ConverseStream` - -Your IAM policy should look similar to: - -```json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "bedrock:InvokeModel", - "bedrock:InvokeModelWithResponseStream", - "bedrock:ConverseStream" - ], - "Resource": "*" - } - ] -} -``` - -With that done, choose one of the two authentication methods: - -#### Authentication via Named Profile (Recommended) - -1. Ensure you have the AWS CLI installed and configured with a named profile -2. Open your `settings.json` (`zed: open settings`) and include the `bedrock` key under `language_models` with the following settings: - ```json - { - "language_models": { - "bedrock": { - "authentication_method": "named_profile", - "region": "your-aws-region", - "profile": "your-profile-name" - } - } - } - ``` - -#### Authentication via Static Credentials - -While it's possible to configure through the Agent Panel settings UI by entering your AWS access key and secret directly, we recommend using named profiles instead for better security practices. -To do this: - -1. Create an IAM User that you can assume in the [IAM Console](https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/users). -2. Create security credentials for that User, save them and keep them secure. -3. Open the Agent Configuration with (`agent: open settings`) and go to the Amazon Bedrock section -4. Copy the credentials from Step 2 into the respective **Access Key ID**, **Secret Access Key**, and **Region** fields. - -#### Cross-Region Inference - -The Zed implementation of Amazon Bedrock uses [Cross-Region inference](https://docs.aws.amazon.com/bedrock/latest/userguide/cross-region-inference.html) for all the models and region combinations that support it. -With Cross-Region inference, you can distribute traffic across multiple AWS Regions, enabling higher throughput. - -For example, if you use `Claude Sonnet 3.7 Thinking` from `us-east-1`, it may be processed across the US regions, namely: `us-east-1`, `us-east-2`, or `us-west-2`. -Cross-Region inference requests are kept within the AWS Regions that are part of the geography where the data originally resides. -For example, a request made within the US is kept within the AWS Regions in the US. - -Although the data remains stored only in the source Region, your input prompts and output results might move outside of your source Region during cross-Region inference. -All data will be transmitted encrypted across Amazon's secure network. - -We will support Cross-Region inference for each of the models on a best-effort basis, please refer to the [Cross-Region Inference method Code](https://github.com/zed-industries/zed/blob/main/crates/bedrock/src/models.rs#L297). - -For the most up-to-date supported regions and models, refer to the [Supported Models and Regions for Cross Region inference](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html). - -### Anthropic {#anthropic} - -> ✅ Supports tool use - -You can use Anthropic models by choosing them via the model dropdown in the Agent Panel. - -1. Sign up for Anthropic and [create an API key](https://console.anthropic.com/settings/keys) -2. Make sure that your Anthropic account has credits -3. Open the settings view (`agent: open settings`) and go to the Anthropic section -4. Enter your Anthropic API key - -Even if you pay for Claude Pro, you will still have to [pay for additional credits](https://console.anthropic.com/settings/plans) to use it via the API. - -Zed will also use the `ANTHROPIC_API_KEY` environment variable if it's defined. - -#### Custom Models {#anthropic-custom-models} - -You can add custom models to the Anthropic provider by adding the following to your Zed `settings.json`: - -```json -{ - "language_models": { - "anthropic": { - "available_models": [ - { - "name": "claude-3-5-sonnet-20240620", - "display_name": "Sonnet 2024-June", - "max_tokens": 128000, - "max_output_tokens": 2560, - "cache_configuration": { - "max_cache_anchors": 10, - "min_total_token": 10000, - "should_speculate": false - }, - "tool_override": "some-model-that-supports-toolcalling" - } - ] - } - } -} -``` - -Custom models will be listed in the model dropdown in the Agent Panel. - -You can configure a model to use [extended thinking](https://docs.anthropic.com/en/docs/about-claude/models/extended-thinking-models) (if it supports it) by changing the mode in your model's configuration to `thinking`, for example: - -```json -{ - "name": "claude-sonnet-4-latest", - "display_name": "claude-sonnet-4-thinking", - "max_tokens": 200000, - "mode": { - "type": "thinking", - "budget_tokens": 4_096 - } -} -``` - -### DeepSeek {#deepseek} - -> ✅ Supports tool use - -1. Visit the DeepSeek platform and [create an API key](https://platform.deepseek.com/api_keys) -2. Open the settings view (`agent: open settings`) and go to the DeepSeek section -3. Enter your DeepSeek API key - -The DeepSeek API key will be saved in your keychain. - -Zed will also use the `DEEPSEEK_API_KEY` environment variable if it's defined. - -#### Custom Models {#deepseek-custom-models} - -The Zed agent comes pre-configured to use the latest version for common models (DeepSeek Chat, DeepSeek Reasoner). -If you wish to use alternate models or customize the API endpoint, you can do so by adding the following to your Zed `settings.json`: - -```json -{ - "language_models": { - "deepseek": { - "api_url": "https://api.deepseek.com", - "available_models": [ - { - "name": "deepseek-chat", - "display_name": "DeepSeek Chat", - "max_tokens": 64000 - }, - { - "name": "deepseek-reasoner", - "display_name": "DeepSeek Reasoner", - "max_tokens": 64000, - "max_output_tokens": 4096 - } - ] - } - } -} -``` - -Custom models will be listed in the model dropdown in the Agent Panel. -You can also modify the `api_url` to use a custom endpoint if needed. - -### GitHub Copilot Chat {#github-copilot-chat} - -> ✅ Supports tool use in some cases. -> Visit [the Copilot Chat code](https://github.com/zed-industries/zed/blob/9e0330ba7d848755c9734bf456c716bddf0973f3/crates/language_models/src/provider/copilot_chat.rs#L189-L198) for the supported subset. - -You can use GitHub Copilot Chat with the Zed agent by choosing it via the model dropdown in the Agent Panel. - -1. Open the settings view (`agent: open settings`) and go to the GitHub Copilot Chat section -2. Click on `Sign in to use GitHub Copilot`, follow the steps shown in the modal. - -Alternatively, you can provide an OAuth token via the `GH_COPILOT_TOKEN` environment variable. - -> **Note**: If you don't see specific models in the dropdown, you may need to enable them in your [GitHub Copilot settings](https://github.com/settings/copilot/features). - -To use Copilot Enterprise with Zed (for both agent and inline completions), you must configure your enterprise endpoint as described in [Configuring GitHub Copilot Enterprise](./edit-prediction.md#github-copilot-enterprise). - -### Google AI {#google-ai} - -> ✅ Supports tool use - -You can use Gemini models with the Zed agent by choosing it via the model dropdown in the Agent Panel. - -1. Go to the Google AI Studio site and [create an API key](https://aistudio.google.com/app/apikey). -2. Open the settings view (`agent: open settings`) and go to the Google AI section -3. Enter your Google AI API key and press enter. - -The Google AI API key will be saved in your keychain. - -Zed will also use the `GEMINI_API_KEY` environment variable if it's defined. See [Using Gemini API keys](https://ai.google.dev/gemini-api/docs/api-key) in the Gemini docs for more. - -#### Custom Models {#google-ai-custom-models} - -By default, Zed will use `stable` versions of models, but you can use specific versions of models, including [experimental models](https://ai.google.dev/gemini-api/docs/models/experimental-models). You can configure a model to use [thinking mode](https://ai.google.dev/gemini-api/docs/thinking) (if it supports it) by adding a `mode` configuration to your model. This is useful for controlling reasoning token usage and response speed. If not specified, Gemini will automatically choose the thinking budget. - -Here is an example of a custom Google AI model you could add to your Zed `settings.json`: - -```json -{ - "language_models": { - "google": { - "available_models": [ - { - "name": "gemini-2.5-flash-preview-05-20", - "display_name": "Gemini 2.5 Flash (Thinking)", - "max_tokens": 1000000, - "mode": { - "type": "thinking", - "budget_tokens": 24000 - } - } - ] - } - } -} -``` - -Custom models will be listed in the model dropdown in the Agent Panel. - -### LM Studio {#lmstudio} - -> ✅ Supports tool use - -1. Download and install [the latest version of LM Studio](https://lmstudio.ai/download) -2. In the app press `cmd/ctrl-shift-m` and download at least one model (e.g., qwen2.5-coder-7b). Alternatively, you can get models via the LM Studio CLI: - - ```sh - lms get qwen2.5-coder-7b - ``` - -3. Make sure the LM Studio API server is running by executing: - - ```sh - lms server start - ``` - -Tip: Set [LM Studio as a login item](https://lmstudio.ai/docs/advanced/headless#run-the-llm-service-on-machine-login) to automate running the LM Studio server. - -### Mistral {#mistral} - -> ✅ Supports tool use - -1. Visit the Mistral platform and [create an API key](https://console.mistral.ai/api-keys/) -2. Open the configuration view (`agent: open settings`) and navigate to the Mistral section -3. Enter your Mistral API key - -The Mistral API key will be saved in your keychain. - -Zed will also use the `MISTRAL_API_KEY` environment variable if it's defined. - -#### Custom Models {#mistral-custom-models} - -The Zed agent comes pre-configured with several Mistral models (codestral-latest, mistral-large-latest, mistral-medium-latest, mistral-small-latest, open-mistral-nemo, and open-codestral-mamba). -All the default models support tool use. -If you wish to use alternate models or customize their parameters, you can do so by adding the following to your Zed `settings.json`: - -```json -{ - "language_models": { - "mistral": { - "api_url": "https://api.mistral.ai/v1", - "available_models": [ - { - "name": "mistral-tiny-latest", - "display_name": "Mistral Tiny", - "max_tokens": 32000, - "max_output_tokens": 4096, - "max_completion_tokens": 1024, - "supports_tools": true, - "supports_images": false - } - ] - } - } -} -``` - -Custom models will be listed in the model dropdown in the Agent Panel. - -### Ollama {#ollama} - -> ✅ Supports tool use - -Download and install Ollama from [ollama.com/download](https://ollama.com/download) (Linux or macOS) and ensure it's running with `ollama --version`. - -1. Download one of the [available models](https://ollama.com/models), for example, for `mistral`: - - ```sh - ollama pull mistral - ``` - -2. Make sure that the Ollama server is running. You can start it either via running Ollama.app (macOS) or launching: - - ```sh - ollama serve - ``` - -3. In the Agent Panel, select one of the Ollama models using the model dropdown. - -#### Ollama Context Length {#ollama-context} - -Zed has pre-configured maximum context lengths (`max_tokens`) to match the capabilities of common models. -Zed API requests to Ollama include this as the `num_ctx` parameter, but the default values do not exceed `16384` so users with ~16GB of RAM are able to use most models out of the box. - -See [get_max_tokens in ollama.rs](https://github.com/zed-industries/zed/blob/main/crates/ollama/src/ollama.rs) for a complete set of defaults. - -> **Note**: Token counts displayed in the Agent Panel are only estimates and will differ from the model's native tokenizer. - -Depending on your hardware or use-case you may wish to limit or increase the context length for a specific model via settings.json: - -```json -{ - "language_models": { - "ollama": { - "api_url": "http://localhost:11434", - "available_models": [ - { - "name": "qwen2.5-coder", - "display_name": "qwen 2.5 coder 32K", - "max_tokens": 32768, - "supports_tools": true, - "supports_thinking": true, - "supports_images": true - } - ] - } - } -} -``` - -If you specify a context length that is too large for your hardware, Ollama will log an error. -You can watch these logs by running: `tail -f ~/.ollama/logs/ollama.log` (macOS) or `journalctl -u ollama -f` (Linux). -Depending on the memory available on your machine, you may need to adjust the context length to a smaller value. - -You may also optionally specify a value for `keep_alive` for each available model. -This can be an integer (seconds) or alternatively a string duration like "5m", "10m", "1h", "1d", etc. -For example, `"keep_alive": "120s"` will allow the remote server to unload the model (freeing up GPU VRAM) after 120 seconds. - -The `supports_tools` option controls whether the model will use additional tools. -If the model is tagged with `tools` in the Ollama catalog, this option should be supplied, and the built-in profiles `Ask` and `Write` can be used. -If the model is not tagged with `tools` in the Ollama catalog, this option can still be supplied with the value `true`; however, be aware that only the `Minimal` built-in profile will work. - -The `supports_thinking` option controls whether the model will perform an explicit "thinking" (reasoning) pass before producing its final answer. -If the model is tagged with `thinking` in the Ollama catalog, set this option and you can use it in Zed. - -The `supports_images` option enables the model's vision capabilities, allowing it to process images included in the conversation context. -If the model is tagged with `vision` in the Ollama catalog, set this option and you can use it in Zed. - -### OpenAI {#openai} - -> ✅ Supports tool use - -1. Visit the OpenAI platform and [create an API key](https://platform.openai.com/account/api-keys) -2. Make sure that your OpenAI account has credits -3. Open the settings view (`agent: open settings`) and go to the OpenAI section -4. Enter your OpenAI API key - -The OpenAI API key will be saved in your keychain. - -Zed will also use the `OPENAI_API_KEY` environment variable if it's defined. - -#### Custom Models {#openai-custom-models} - -The Zed agent comes pre-configured to use the latest version for common models (GPT-3.5 Turbo, GPT-4, GPT-4 Turbo, GPT-4o, GPT-4o mini). -To use alternate models, perhaps a preview release or a dated model release, or if you wish to control the request parameters, you can do so by adding the following to your Zed `settings.json`: - -```json -{ - "language_models": { - "openai": { - "available_models": [ - { - "name": "gpt-4o-2024-08-06", - "display_name": "GPT 4o Summer 2024", - "max_tokens": 128000 - }, - { - "name": "o1-mini", - "display_name": "o1-mini", - "max_tokens": 128000, - "max_completion_tokens": 20000 - } - ], - "version": "1" - } - } -} -``` - -You must provide the model's context window in the `max_tokens` parameter; this can be found in the [OpenAI model documentation](https://platform.openai.com/docs/models). - -OpenAI `o1` models should set `max_completion_tokens` as well to avoid incurring high reasoning token costs. -Custom models will be listed in the model dropdown in the Agent Panel. - -### OpenAI API Compatible {#openai-api-compatible} - -Zed supports using [OpenAI compatible APIs](https://platform.openai.com/docs/api-reference/chat) by specifying a custom `api_url` and `available_models` for the OpenAI provider. This is useful for connecting to other hosted services (like Together AI, Anyscale, etc.) or local models. - -To configure a compatible API, you can add a custom API URL for OpenAI either via the UI (currently available only in Preview) or by editing your `settings.json`. - -For example, to connect to [Together AI](https://www.together.ai/) via the UI: - -1. Get an API key from your [Together AI account](https://api.together.ai/settings/api-keys). -2. Go to the Agent Panel's settings view, click on the "Add Provider" button, and then on the "OpenAI" menu item -3. Add the requested fields, such as `api_url`, `api_key`, available models, and others - -Alternatively, you can also add it via the `settings.json`: - -```json -{ - "language_models": { - "openai": { - "api_url": "https://api.together.xyz/v1", - "api_key": "YOUR_TOGETHER_AI_API_KEY", - "available_models": [ - { - "name": "mistralai/Mixtral-8x7B-Instruct-v0.1", - "display_name": "Together Mixtral 8x7B", - "max_tokens": 32768, - "supports_tools": true - } - ] - } - } -} -``` - -### OpenRouter {#openrouter} - -> ✅ Supports tool use - -OpenRouter provides access to multiple AI models through a single API. It supports tool use for compatible models. - -1. Visit [OpenRouter](https://openrouter.ai) and create an account -2. Generate an API key from your [OpenRouter keys page](https://openrouter.ai/keys) -3. Open the settings view (`agent: open settings`) and go to the OpenRouter section -4. Enter your OpenRouter API key - -The OpenRouter API key will be saved in your keychain. - -Zed will also use the `OPENROUTER_API_KEY` environment variable if it's defined. - -#### Custom Models {#openrouter-custom-models} - -You can add custom models to the OpenRouter provider by adding the following to your Zed `settings.json`: - -```json -{ - "language_models": { - "open_router": { - "api_url": "https://openrouter.ai/api/v1", - "available_models": [ - { - "name": "google/gemini-2.0-flash-thinking-exp", - "display_name": "Gemini 2.0 Flash (Thinking)", - "max_tokens": 200000, - "max_output_tokens": 8192, - "supports_tools": true, - "supports_images": true, - "mode": { - "type": "thinking", - "budget_tokens": 8000 - } - } - ] - } - } -} -``` - -The available configuration options for each model are: - -- `name` (required): The model identifier used by OpenRouter -- `display_name` (optional): A human-readable name shown in the UI -- `max_tokens` (required): The model's context window size -- `max_output_tokens` (optional): Maximum tokens the model can generate -- `max_completion_tokens` (optional): Maximum completion tokens -- `supports_tools` (optional): Whether the model supports tool/function calling -- `supports_images` (optional): Whether the model supports image inputs -- `mode` (optional): Special mode configuration for thinking models - -You can find available models and their specifications on the [OpenRouter models page](https://openrouter.ai/models). - -Custom models will be listed in the model dropdown in the Agent Panel. - -### Vercel v0 {#vercel-v0} - -> ✅ Supports tool use - -[Vercel v0](https://vercel.com/docs/v0/api) is an expert model for generating full-stack apps, with framework-aware completions optimized for modern stacks like Next.js and Vercel. -It supports text and image inputs and provides fast streaming responses. - -The v0 models are [OpenAI-compatible models](/#openai-api-compatible), but Vercel is listed as first-class provider in the panel's settings view. - -To start using it with Zed, ensure you have first created a [v0 API key](https://v0.dev/chat/settings/keys). -Once you have it, paste it directly into the Vercel provider section in the panel's settings view. - -You should then find it as `v0-1.5-md` in the model dropdown in the Agent Panel. - -### xAI {#xai} - -> ✅ Supports tool use - -Zed has first-class support for [xAI](https://x.ai/) models. You can use your own API key to access Grok models. - -1. [Create an API key in the xAI Console](https://console.x.ai/team/default/api-keys) -2. Open the settings view (`agent: open settings`) and go to the **xAI** section -3. Enter your xAI API key - -The xAI API key will be saved in your keychain. Zed will also use the `XAI_API_KEY` environment variable if it's defined. - -> **Note:** While the xAI API is OpenAI-compatible, Zed has first-class support for it as a dedicated provider. For the best experience, we recommend using the dedicated `x_ai` provider configuration instead of the [OpenAI API Compatible](#openai-api-compatible) method. - -#### Custom Models {#xai-custom-models} - -The Zed agent comes pre-configured with common Grok models. If you wish to use alternate models or customize their parameters, you can do so by adding the following to your Zed `settings.json`: - -```json -{ - "language_models": { - "x_ai": { - "api_url": "https://api.x.ai/v1", - "available_models": [ - { - "name": "grok-1.5", - "display_name": "Grok 1.5", - "max_tokens": 131072, - "max_output_tokens": 8192 - }, - { - "name": "grok-1.5v", - "display_name": "Grok 1.5V (Vision)", - "max_tokens": 131072, - "max_output_tokens": 8192, - "supports_images": true - } - ] - } - } -} -``` - -## Custom Provider Endpoints {#custom-provider-endpoint} - -You can use a custom API endpoint for different providers, as long as it's compatible with the provider's API structure. -To do so, add the following to your `settings.json`: - -```json -{ - "language_models": { - "some-provider": { - "api_url": "http://localhost:11434" - } - } -} -``` - -Currently, `some-provider` can be any of the following values: `anthropic`, `google`, `ollama`, `openai`. - -This is the same infrastructure that powers models that are, for example, [OpenAI-compatible](#openai-api-compatible). diff --git a/docs/src/ai/mcp.md b/docs/src/ai/mcp.md index dfe3e4bdb9..95929b2d7e 100644 --- a/docs/src/ai/mcp.md +++ b/docs/src/ai/mcp.md @@ -50,7 +50,7 @@ You can connect them by adding their commands directly to your `settings.json`, } ``` -Alternatively, you can also add a custom server by accessing the Agent Panel's Settings view (also accessible via the `agent: open settings` action). +Alternatively, you can also add a custom server by accessing the Agent Panel's Settings view (also accessible via the `agent: open configuration` action). From there, you can add it through the modal that appears when you click the "Add Custom Server" button. ## Using MCP Servers @@ -75,7 +75,7 @@ Mentioning your MCP server by name helps the agent pick it up. If you want to ensure a given server will be used, you can create [a custom profile](./agent-panel.md#custom-profiles) by turning off the built-in tools (either all of them or the ones that would cause conflicts) and turning on only the tools coming from the MCP server. -As an example, [the Dagger team suggests](https://container-use.com/agent-integrations#add-container-use-agent-profile-optional) doing that with their [Container Use MCP server](https://zed.dev/extensions/mcp-server-container-use): +As an example, [the Dagger team suggests](https://container-use.com/agent-integrations#add-container-use-agent-profile-optional) doing that with their [Container Use MCP server](https://zed.dev/extensions/container-use-mcp-server): ```json "agent": { diff --git a/docs/src/ai/overview.md b/docs/src/ai/overview.md index 6f081cb243..f437b24ba6 100644 --- a/docs/src/ai/overview.md +++ b/docs/src/ai/overview.md @@ -1,12 +1,15 @@ # AI -Learn how to get started using AI with Zed and all its capabilities. +Zed smoothly integrates LLMs in multiple ways across the editor. +Learn how to get started with AI on Zed and all its capabilities. ## Setting up AI in Zed - [Configuration](./configuration.md): Learn how to set up different language model providers like Anthropic, OpenAI, Ollama, Google AI, and more. -- [Subscription](./subscription.md): Learn about Zed's hosted model service and other billing-related information. +- [Models](./models.md): Learn about the various language models available in Zed. + +- [Subscription](./subscription.md): Learn about Zed's subscriptions and other billing-related information. - [Privacy and Security](./privacy-and-security.md): Understand how Zed handles privacy and security with AI features. diff --git a/docs/src/ai/plans-and-usage.md b/docs/src/ai/plans-and-usage.md index 1e6616c79b..a1da17f50d 100644 --- a/docs/src/ai/plans-and-usage.md +++ b/docs/src/ai/plans-and-usage.md @@ -11,7 +11,7 @@ Please note that if you’re interested in just using Zed as the world’s faste ## Usage {#usage} -- A `prompt` in Zed is an input from the user, initiated by pressing enter, composed of one or many `requests`. A `prompt` can be initiated from the Agent Panel, or via Inline Assist. +- A `prompt` in Zed is an input from the user, initiated on pressing enter, composed of one or many `requests`. A `prompt` can be initiated from the Agent Panel, or via Inline Assist. - A `request` in Zed is a response to a `prompt`, plus any tool calls that are initiated as part of that response. There may be one `request` per `prompt`, or many. Most models offered by Zed are metered per-prompt. diff --git a/docs/src/ai/rules.md b/docs/src/ai/rules.md index 653b907a7d..ed916874ca 100644 --- a/docs/src/ai/rules.md +++ b/docs/src/ai/rules.md @@ -5,7 +5,7 @@ Currently, Zed supports `.rules` files at the directory's root and the Rules Lib ## `.rules` files -Zed supports including `.rules` files at the top level of worktrees, and they act as project-level instructions that are included in all of your interactions with the Agent Panel. +Zed supports including `.rules` files at the top level of worktrees, and act as project-level instructions that are included in all of your interactions with the Agent Panel. Other names for this file are also supported for compatibility with other agents, but note that the first file which matches in this list will be used: - `.rules` diff --git a/docs/src/ai/temperature.md b/docs/src/ai/temperature.md new file mode 100644 index 0000000000..bb0cef6b51 --- /dev/null +++ b/docs/src/ai/temperature.md @@ -0,0 +1,23 @@ +# Model Temperature + +Zed's settings allow you to specify a custom temperature for a provider and/or model: + +```json +"model_parameters": [ + // To set parameters for all requests to OpenAI models: + { + "provider": "openai", + "temperature": 0.5 + }, + // To set parameters for all requests in general: + { + "temperature": 0 + }, + // To set parameters for a specific provider and model: + { + "provider": "zed.dev", + "model": "claude-sonnet-4", + "temperature": 1.0 + } + ], +``` diff --git a/docs/src/configuring-zed.md b/docs/src/configuring-zed.md index 5fd27abad6..cc4800fd6d 100644 --- a/docs/src/configuring-zed.md +++ b/docs/src/configuring-zed.md @@ -2588,7 +2588,6 @@ List of `integer` column numbers "font_features": null, "font_size": null, "line_height": "comfortable", - "minimum_contrast": 45, "option_as_meta": false, "button": true, "shell": "system", @@ -2884,30 +2883,6 @@ See Buffer Font Features } ``` -### Terminal: Minimum Contrast - -- Description: Controls the minimum contrast between foreground and background colors in the terminal. Uses the APCA (Accessible Perceptual Contrast Algorithm) for color adjustments. Set this to 0 to disable this feature. -- Setting: `minimum_contrast` -- Default: `45` - -**Options** - -`integer` values from 0 to 106. Common recommended values: - -- `0`: No contrast adjustment -- `45`: Minimum for large fluent text (default) -- `60`: Minimum for other content text -- `75`: Minimum for body text -- `90`: Preferred for body text - -```json -{ - "terminal": { - "minimum_contrast": 45 - } -} -``` - ### Terminal: Option As Meta - Description: Re-interprets the option keys to act like a 'meta' key, like in Emacs. @@ -3415,7 +3390,26 @@ Run the `theme selector: toggle` action in the command palette to see a current ## Agent -Visit [the Configuration page](./ai/configuration.md) under the AI section to learn more about all the agent-related settings. +- Description: Customize agent behavior +- Setting: `agent` +- Default: + +```json +"agent": { + "version": "2", + "enabled": true, + "button": true, + "dock": "right", + "default_width": 640, + "default_height": 320, + "default_view": "thread", + "default_model": { + "provider": "zed.dev", + "model": "claude-sonnet-4" + }, + "single_file_review": true, +} +``` ## Outline Panel diff --git a/docs/src/extensions/installing-extensions.md b/docs/src/extensions/installing-extensions.md index 801fe5c55c..aed8bef428 100644 --- a/docs/src/extensions/installing-extensions.md +++ b/docs/src/extensions/installing-extensions.md @@ -1,6 +1,6 @@ # Installing Extensions -You can search for extensions by launching the Zed Extension Gallery by pressing {#kb zed::Extensions} , opening the command palette and selecting {#action zed::Extensions} or by selecting "Zed > Extensions" from the menu bar. +You can search for extensions by launching the Zed Extension Gallery by pressing `cmd-shift-x` (macOS) or `ctrl-shift-x` (Linux), opening the command palette and selecting `zed: extensions` or by selecting "Zed > Extensions" from the menu bar. Here you can view the extensions that you currently have installed or search and install new ones. diff --git a/docs/src/getting-started.md b/docs/src/getting-started.md index 22af3b36d7..5940c74b21 100644 --- a/docs/src/getting-started.md +++ b/docs/src/getting-started.md @@ -83,6 +83,6 @@ Visit [the AI overview page](./ai/overview.md) to learn how to quickly get start ## Set up your key bindings -To edit your custom keymap and add or remap bindings, you can either use {#kb zed::OpenKeymapEditor} to spawn the Zed Keymap Editor ({#action zed::OpenKeymapEditor}) or you can directly open your Zed Keymap json (`~/.config/zed/keymap.json`) with {#action zed::OpenKeymap}. +To open your custom keymap to add your key bindings, use the {#kb zed::OpenKeymap} keybinding. To access the default key binding set, open the Command Palette with {#kb command_palette::Toggle} and search for "zed: open default keymap". See [Key Bindings](./key-bindings.md) for more info. diff --git a/docs/src/git.md b/docs/src/git.md index cccbad9b2e..76db15a767 100644 --- a/docs/src/git.md +++ b/docs/src/git.md @@ -1,8 +1,3 @@ ---- -description: Zed is a text editor that supports lots of Git features -title: Zed Editor Git integration documentation ---- - # Git Zed currently offers a set of fundamental Git features, with support coming in the future for more advanced ones, like conflict resolution tools, line by line staging, and more. @@ -81,7 +76,7 @@ You can ask AI to generate a commit message by focusing on the message editor wi > Note that you need to have an LLM provider configured. Visit [the AI configuration page](./ai/configuration.md) to learn how to do so. -You can specify your preferred model to use by providing a `commit_message_model` agent setting. See [Feature-specific models](./ai/agent-settings.md#feature-specific-models) for more information. +You can specify your preferred model to use by providing a `commit_message_model` agent setting. See [Feature-specific models](./ai/configuration.md#feature-specific-models) for more information. ```json { diff --git a/docs/src/key-bindings.md b/docs/src/key-bindings.md index 9984f234ad..90aa400bb4 100644 --- a/docs/src/key-bindings.md +++ b/docs/src/key-bindings.md @@ -18,7 +18,7 @@ You can also enable `vim_mode`, which adds vim bindings too. ## User keymaps -Zed reads your keymap from `~/.config/zed/keymap.json`. You can open the file within Zed with {#action zed::OpenKeymap} from the command palette or to spawn the Zed Keymap Editor ({#action zed::OpenKeymapEditor}) use {#kb zed::OpenKeymapEditor}. +Zed reads your keymap from `~/.config/zed/keymap.json`. You can open the file within Zed with {#kb zed::OpenKeymap}, or via `zed: Open Keymap` in the command palette. The file contains a JSON array of objects with `"bindings"`. If no `"context"` is set the bindings are always active. If it is set the binding is only active when the [context matches](#contexts). diff --git a/docs/src/languages/c.md b/docs/src/languages/c.md index 8db1bb6712..14a11c0d66 100644 --- a/docs/src/languages/c.md +++ b/docs/src/languages/c.md @@ -77,7 +77,7 @@ You can use CodeLLDB or GDB to debug native binaries. (Make sure that your build "command": "make", "args": ["-j8"], "cwd": "$ZED_WORKTREE_ROOT" - }, + } "program": "$ZED_WORKTREE_ROOT/build/prog", "request": "launch", "adapter": "CodeLLDB" diff --git a/docs/src/languages/cpp.md b/docs/src/languages/cpp.md index e84bb6ea50..1273bce2ac 100644 --- a/docs/src/languages/cpp.md +++ b/docs/src/languages/cpp.md @@ -127,7 +127,7 @@ You can use CodeLLDB or GDB to debug native binaries. (Make sure that your build "command": "make", "args": ["-j8"], "cwd": "$ZED_WORKTREE_ROOT" - }, + } "program": "$ZED_WORKTREE_ROOT/build/prog", "request": "launch", "adapter": "CodeLLDB" diff --git a/docs/src/languages/deno.md b/docs/src/languages/deno.md index c40b6531e6..c18b112326 100644 --- a/docs/src/languages/deno.md +++ b/docs/src/languages/deno.md @@ -57,40 +57,6 @@ See [Configuring supported languages](../configuring-languages.md) in the Zed do TBD: Deno Typescript REPL instructions [docs/repl#typescript-deno](../repl.md#typescript-deno) --> -## DAP support - -To debug deno programs, add this to `.zed/debug.json` - -```json -[ - { - "adapter": "JavaScript", - "label": "Deno", - "request": "launch", - "type": "pwa-node", - "cwd": "$ZED_WORKTREE_ROOT", - "program": "$ZED_FILE", - "runtimeExecutable": "deno", - "runtimeArgs": ["run", "--allow-all", "--inspect-wait"], - "attachSimplePort": 9229 - } -] -``` - -## Runnable support - -To run deno tasks like tests from the ui, add this to `.zed/tasks.json` - -```json -[ - { - "label": "deno test", - "command": "deno test -A --filter '/^$ZED_CUSTOM_DENO_TEST_NAME$/' $ZED_FILE", - "tags": ["js-test"] - } -] -``` - ## See also: - [TypeScript](./typescript.md) diff --git a/docs/src/linux.md b/docs/src/linux.md index 309354de6d..ca65da2969 100644 --- a/docs/src/linux.md +++ b/docs/src/linux.md @@ -294,78 +294,3 @@ If your system uses PipeWire: ``` 3. **Restart your system** - -### Forcing X11 scale factor - -On X11 systems, Zed automatically detects the appropriate scale factor for high-DPI displays. The scale factor is determined using the following priority order: - -1. `GPUI_X11_SCALE_FACTOR` environment variable (if set) -2. `Xft.dpi` from X resources database (xrdb) -3. Automatic detection via RandR based on monitor resolution and physical size - -If you want to customize the scale factor beyond what Zed detects automatically, you have several options: - -#### Check your current scale factor - -You can verify if you have `Xft.dpi` set: - -```sh -xrdb -query | grep Xft.dpi -``` - -If this command returns no output, Zed is using RandR (X11's monitor management extension) to automatically calculate the scale factor based on your monitor's reported resolution and physical dimensions. - -#### Option 1: Set Xft.dpi (X Resources Database) - -`Xft.dpi` is a standard X11 setting that many applications use for consistent font and UI scaling. Setting this ensures Zed scales the same way as other X11 applications that respect this setting. - -Edit or create the `~/.Xresources` file: - -```sh -vim ~/.Xresources -``` - -Add this line with your desired DPI: - -```sh -Xft.dpi: 96 -``` - -Common DPI values: - -- `96` for standard 1x scaling -- `144` for 1.5x scaling -- `192` for 2x scaling -- `288` for 3x scaling - -Load the configuration: - -```sh -xrdb -merge ~/.Xresources -``` - -Restart Zed for the changes to take effect. - -#### Option 2: Use the GPUI_X11_SCALE_FACTOR environment variable - -This Zed-specific environment variable directly sets the scale factor, bypassing all automatic detection. - -```sh -GPUI_X11_SCALE_FACTOR=1.5 zed -``` - -You can use decimal values (e.g., `1.25`, `1.5`, `2.0`) or set `GPUI_X11_SCALE_FACTOR=randr` to force RandR-based detection even when `Xft.dpi` is set. - -To make this permanent, add it to your shell profile or desktop entry. - -#### Option 3: Adjust system-wide RandR DPI - -This changes the reported DPI for your entire X11 session, affecting how RandR calculates scaling for all applications that use it. - -Add this to your `.xprofile` or `.xinitrc`: - -```sh -xrandr --dpi 192 -``` - -Replace `192` with your desired DPI value. This affects the system globally and will be used by Zed's automatic RandR detection when `Xft.dpi` is not set. diff --git a/docs/src/telemetry.md b/docs/src/telemetry.md index 7f5994be0c..20018b920a 100644 --- a/docs/src/telemetry.md +++ b/docs/src/telemetry.md @@ -22,9 +22,8 @@ The telemetry settings can also be configured via the welcome screen, which can Telemetry is sent from the application to our servers. Data is proxied through our servers to enable us to easily switch analytics services. We currently use: - [Axiom](https://axiom.co): Cloud-monitoring service - stores diagnostic events -- [Snowflake](https://snowflake.com): Data warehouse - stores both diagnostic and metric events -- [Hex](https://www.hex.tech): Dashboards and data exploration - accesses data stored in Snowflake -- [Amplitude](https://www.amplitude.com): Dashboards and data exploration - accesses data stored in Snowflake +- [Snowflake](https://snowflake.com): Business Intelligence platform - stores both diagnostic and metric events +- [Metabase](https://www.metabase.com): Dashboards - dashboards built around data pulled from Snowflake ## Types of Telemetry @@ -34,7 +33,7 @@ Diagnostic events include debug information (stack traces) from crash reports. R You can see what data is sent when a panic occurs by inspecting the `Panic` struct in [crates/telemetry_events/src/telemetry_events.rs](https://github.com/zed-industries/zed/blob/main/crates/telemetry_events/src/telemetry_events.rs) in the Zed repo. You can find additional information in the [Debugging Crashes](./development/debugging-crashes.md) documentation. -### Client-Side Usage Data {#client-metrics} +### Usage Data (Metrics) {#metrics} To improve Zed and understand how it is being used in the wild, Zed optionally collects usage data like the following: @@ -51,12 +50,6 @@ You can audit the metrics data that Zed has reported by running the command {#ac You can see the full list of the event types and exactly the data sent for each by inspecting the `Event` enum and the associated structs in [crates/telemetry_events/src/telemetry_events.rs](https://github.com/zed-industries/zed/blob/main/crates/telemetry_events/src/telemetry_events.rs) in the Zed repository. -### Server-Side Usage Data {#metrics} - -When using Zed's hosted services, we may collect, generate, and Process data to allow us to support users and improve our hosted offering. Examples include metadata around rate limiting and billing metrics/token usage. Zed does not persistently store user content or use user content to evaluate and/or improve our AI features, unless it is explicitly shared with Zed, and we have a zero-data retention agreement with Anthropic. - -You can see more about our stance on data collection (and that any prompt data shared with Zed is explicitly opt-in) at [AI Improvement](./ai/ai-improvement.md). - ## Concerns and Questions If you have concerns about telemetry, please feel free to [open an issue](https://github.com/zed-industries/zed/issues/new/choose). diff --git a/docs/src/visual-customization.md b/docs/src/visual-customization.md index 8b307d97d5..197c9b80f8 100644 --- a/docs/src/visual-customization.md +++ b/docs/src/visual-customization.md @@ -267,7 +267,7 @@ TBD: Centered layout related settings "display_in": "active_editor", // Where to show (active_editor, all_editor) "thumb": "always", // When to show thumb (always, hover) "thumb_border": "left_open", // Thumb border (left_open, right_open, full, none) - "max_width_columns": 80, // Maximum width of minimap + "max_width_columns": 80 // Maximum width of minimap "current_line_highlight": null // Highlight current line (null, line, gutter) }, diff --git a/docs/theme/index.hbs b/docs/theme/index.hbs index 4339a02d17..8ab4f21cf1 100644 --- a/docs/theme/index.hbs +++ b/docs/theme/index.hbs @@ -15,7 +15,7 @@ {{> head}} - + diff --git a/extensions/emmet/Cargo.toml b/extensions/emmet/Cargo.toml index 9d72a6c5c4..db8aaaae41 100644 --- a/extensions/emmet/Cargo.toml +++ b/extensions/emmet/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zed_emmet" -version = "0.0.4" +version = "0.0.3" edition.workspace = true publish.workspace = true license = "Apache-2.0" diff --git a/script/bundle-linux b/script/bundle-linux index 64de62ce9b..c52312015b 100755 --- a/script/bundle-linux +++ b/script/bundle-linux @@ -83,23 +83,6 @@ if [[ "$remote_server_triple" == "$musl_triple" ]]; then fi cargo build --release --target "${remote_server_triple}" --package remote_server -# Upload debug info to sentry.io -if ! command -v sentry-cli >/dev/null 2>&1; then - echo "sentry-cli not found. skipping sentry upload." - echo "install with: 'curl -sL https://sentry.io/get-cli | bash'" -else - if [[ -n "${SENTRY_AUTH_TOKEN:-}" ]]; then - echo "Uploading zed debug symbols to sentry..." - # note: this uploads the unstripped binary which is needed because it contains - # .eh_frame data for stack unwinindg. see https://github.com/getsentry/symbolic/issues/783 - sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev \ - "${target_dir}/${target_triple}"/release/zed \ - "${target_dir}/${remote_server_triple}"/release/remote_server - else - echo "missing SENTRY_AUTH_TOKEN. skipping sentry upload." - fi -fi - # Strip debug symbols and save them for upload to DigitalOcean objcopy --only-keep-debug "${target_dir}/${target_triple}/release/zed" "${target_dir}/${target_triple}/release/zed.dbg" objcopy --only-keep-debug "${target_dir}/${remote_server_triple}/release/remote_server" "${target_dir}/${remote_server_triple}/release/remote_server.dbg" diff --git a/script/bundle-mac b/script/bundle-mac index b2be573235..18dfe90815 100755 --- a/script/bundle-mac +++ b/script/bundle-mac @@ -366,20 +366,3 @@ else gzip -f --stdout --best target/x86_64-apple-darwin/release/remote_server > target/zed-remote-server-macos-x86_64.gz gzip -f --stdout --best target/aarch64-apple-darwin/release/remote_server > target/zed-remote-server-macos-aarch64.gz fi - -# Upload debug info to sentry.io -if ! command -v sentry-cli >/dev/null 2>&1; then - echo "sentry-cli not found. skipping sentry upload." - echo "install with: 'curl -sL https://sentry.io/get-cli | bash'" -else - if [[ -n "${SENTRY_AUTH_TOKEN:-}" ]]; then - echo "Uploading zed debug symbols to sentry..." - # note: this uploads the unstripped binary which is needed because it contains - # .eh_frame data for stack unwinindg. see https://github.com/getsentry/symbolic/issues/783 - sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev \ - "target/x86_64-apple-darwin/${target_dir}/" \ - "target/aarch64-apple-darwin/${target_dir}/" - else - echo "missing SENTRY_AUTH_TOKEN. skipping sentry upload." - fi -fi diff --git a/script/bundle-windows.ps1 b/script/bundle-windows.ps1 index 8ae0212491..01a1114c26 100644 --- a/script/bundle-windows.ps1 +++ b/script/bundle-windows.ps1 @@ -26,7 +26,6 @@ if ($Help) { Push-Location -Path crates/zed $channel = Get-Content "RELEASE_CHANNEL" $env:ZED_RELEASE_CHANNEL = $channel -$env:RELEASE_CHANNEL = $channel Pop-Location function CheckEnvironmentVariables { @@ -97,21 +96,6 @@ function ZipZedAndItsFriendsDebug { Compress-Archive -Path $items -DestinationPath ".\target\release\zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip" -Force } - -function UploadToSentry { - if (-not (Get-Command "sentry-cli" -ErrorAction SilentlyContinue)) { - Write-Output "sentry-cli not found. skipping sentry upload." - Write-Output "install with: 'winget install -e --id=Sentry.sentry-cli'" - return - } - if (-not (Test-Path "env:SENTRY_AUTH_TOKEN")) { - Write-Output "missing SENTRY_AUTH_TOKEN. skipping sentry upload." - return - } - Write-Output "Uploading zed debug symbols to sentry..." - sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev .\target\release\ -} - function MakeAppx { switch ($channel) { "stable" { @@ -136,22 +120,11 @@ function SignZedAndItsFriends { & "$innoDir\sign.ps1" $files } -function DownloadAMDGpuServices { - # If you update the AGS SDK version, please also update the version in `crates/gpui/src/platform/windows/directx_renderer.rs` - $url = "https://codeload.github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/zip/refs/tags/v6.3.0" - $zipPath = ".\AGS_SDK_v6.3.0.zip" - # Download the AGS SDK zip file - Invoke-WebRequest -Uri $url -OutFile $zipPath - # Extract the AGS SDK zip file - Expand-Archive -Path $zipPath -DestinationPath "." -Force -} - function CollectFiles { Move-Item -Path "$innoDir\zed_explorer_command_injector.appx" -Destination "$innoDir\appx\zed_explorer_command_injector.appx" -Force Move-Item -Path "$innoDir\zed_explorer_command_injector.dll" -Destination "$innoDir\appx\zed_explorer_command_injector.dll" -Force Move-Item -Path "$innoDir\cli.exe" -Destination "$innoDir\bin\zed.exe" -Force Move-Item -Path "$innoDir\auto_update_helper.exe" -Destination "$innoDir\tools\auto_update_helper.exe" -Force - Move-Item -Path ".\AGS_SDK-6.3.0\ags_lib\lib\amd_ags_x64.dll" -Destination "$innoDir\amd_ags_x64.dll" -Force } function BuildInstaller { @@ -222,6 +195,7 @@ function BuildInstaller { # Windows runner 2022 default has iscc in PATH, https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md # Currently, we are using Windows 2022 runner. # Windows runner 2025 doesn't have iscc in PATH for now, https://github.com/actions/runner-images/issues/11228 + # $innoSetupPath = "iscc.exe" $innoSetupPath = "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" $definitions = @{ @@ -268,8 +242,6 @@ function BuildInstaller { ParseZedWorkspace $innoDir = "$env:ZED_WORKSPACE\inno" -$debugArchive = ".\target\release\zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip" -$debugStoreKey = "$env:ZED_RELEASE_CHANNEL/zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip" CheckEnvironmentVariables PrepareForBundle @@ -278,12 +250,12 @@ BuildZedAndItsFriends MakeAppx SignZedAndItsFriends ZipZedAndItsFriendsDebug -DownloadAMDGpuServices CollectFiles BuildInstaller +$debugArchive = ".\target\release\zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip" +$debugStoreKey = "$env:ZED_RELEASE_CHANNEL/zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip" UploadToBlobStorePublic -BucketName "zed-debug-symbols" -FileToUpload $debugArchive -BlobStoreKey $debugStoreKey -UploadToSentry if ($buildSuccess) { Write-Output "Build successful" diff --git a/tooling/workspace-hack/Cargo.toml b/tooling/workspace-hack/Cargo.toml index 4196696f47..1026454026 100644 --- a/tooling/workspace-hack/Cargo.toml +++ b/tooling/workspace-hack/Cargo.toml @@ -284,6 +284,7 @@ winnow = { version = "0.7", features = ["simd"] } codespan-reporting = { version = "0.12" } core-foundation = { version = "0.9" } core-foundation-sys = { version = "0.8" } +coreaudio-sys = { version = "0.2", default-features = false, features = ["audio_toolbox", "audio_unit", "core_audio", "core_midi", "open_al"] } foldhash = { version = "0.1", default-features = false, features = ["std"] } getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-features = false, features = ["std"] } gimli = { version = "0.31", default-features = false, features = ["read", "std", "write"] } @@ -309,9 +310,11 @@ tokio-stream = { version = "0.1", features = ["fs"] } tower = { version = "0.5", default-features = false, features = ["timeout", "util"] } [target.x86_64-apple-darwin.build-dependencies] +clang-sys = { version = "1", default-features = false, features = ["clang_11_0", "runtime"] } codespan-reporting = { version = "0.12" } core-foundation = { version = "0.9" } core-foundation-sys = { version = "0.8" } +coreaudio-sys = { version = "0.2", default-features = false, features = ["audio_toolbox", "audio_unit", "core_audio", "core_midi", "open_al"] } foldhash = { version = "0.1", default-features = false, features = ["std"] } getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-features = false, features = ["std"] } gimli = { version = "0.31", default-features = false, features = ["read", "std", "write"] } @@ -341,6 +344,7 @@ tower = { version = "0.5", default-features = false, features = ["timeout", "uti codespan-reporting = { version = "0.12" } core-foundation = { version = "0.9" } core-foundation-sys = { version = "0.8" } +coreaudio-sys = { version = "0.2", default-features = false, features = ["audio_toolbox", "audio_unit", "core_audio", "core_midi", "open_al"] } foldhash = { version = "0.1", default-features = false, features = ["std"] } getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-features = false, features = ["std"] } gimli = { version = "0.31", default-features = false, features = ["read", "std", "write"] } @@ -366,9 +370,11 @@ tokio-stream = { version = "0.1", features = ["fs"] } tower = { version = "0.5", default-features = false, features = ["timeout", "util"] } [target.aarch64-apple-darwin.build-dependencies] +clang-sys = { version = "1", default-features = false, features = ["clang_11_0", "runtime"] } codespan-reporting = { version = "0.12" } core-foundation = { version = "0.9" } core-foundation-sys = { version = "0.8" } +coreaudio-sys = { version = "0.2", default-features = false, features = ["audio_toolbox", "audio_unit", "core_audio", "core_midi", "open_al"] } foldhash = { version = "0.1", default-features = false, features = ["std"] } getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-features = false, features = ["std"] } gimli = { version = "0.31", default-features = false, features = ["read", "std", "write"] } @@ -558,6 +564,7 @@ getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-f getrandom-6f8ce4dd05d13bba = { package = "getrandom", version = "0.2", default-features = false, features = ["js", "rdrand"] } hyper-rustls = { version = "0.27", default-features = false, features = ["http1", "http2", "native-tokio", "ring", "tls12"] } itertools-5ef9efb8ec2df382 = { package = "itertools", version = "0.12" } +naga = { version = "25", features = ["spv-out", "wgsl-in"] } ring = { version = "0.17", features = ["std"] } rustix-d585fab2519d2d1 = { package = "rustix", version = "0.38", features = ["event"] } scopeguard = { version = "1" } @@ -571,7 +578,7 @@ windows-core = { version = "0.61" } windows-numerics = { version = "0.2" } windows-sys-73dcd821b1037cfd = { package = "windows-sys", version = "0.59", features = ["Wdk_Foundation", "Wdk_Storage_FileSystem", "Win32_Globalization", "Win32_NetworkManagement_IpHelper", "Win32_Networking_WinSock", "Win32_Security_Authentication_Identity", "Win32_Security_Credentials", "Win32_Security_Cryptography", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Console", "Win32_System_Diagnostics_Debug", "Win32_System_IO", "Win32_System_Ioctl", "Win32_System_Kernel", "Win32_System_LibraryLoader", "Win32_System_Memory", "Win32_System_Performance", "Win32_System_Pipes", "Win32_System_Registry", "Win32_System_SystemInformation", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_Time", "Win32_System_WindowsProgramming", "Win32_UI_Input_KeyboardAndMouse", "Win32_UI_Shell", "Win32_UI_WindowsAndMessaging"] } windows-sys-b21d60becc0929df = { package = "windows-sys", version = "0.52", features = ["Wdk_Foundation", "Wdk_Storage_FileSystem", "Wdk_System_IO", "Win32_Foundation", "Win32_Networking_WinSock", "Win32_Security_Authorization", "Win32_Storage_FileSystem", "Win32_System_Console", "Win32_System_IO", "Win32_System_Memory", "Win32_System_Pipes", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_WindowsProgramming"] } -windows-sys-c8eced492e86ede7 = { package = "windows-sys", version = "0.48", features = ["Win32_Foundation", "Win32_Globalization", "Win32_Networking_WinSock", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Diagnostics_Debug", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_Registry", "Win32_System_Threading", "Win32_System_Time", "Win32_System_WindowsProgramming", "Win32_UI_Shell"] } +windows-sys-c8eced492e86ede7 = { package = "windows-sys", version = "0.48", features = ["Win32_Foundation", "Win32_Globalization", "Win32_Networking_WinSock", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Diagnostics_Debug", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_Registry", "Win32_System_Threading", "Win32_System_Time", "Win32_UI_Shell"] } [target.x86_64-pc-windows-msvc.build-dependencies] codespan-reporting = { version = "0.12" } @@ -581,6 +588,7 @@ getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-f getrandom-6f8ce4dd05d13bba = { package = "getrandom", version = "0.2", default-features = false, features = ["js", "rdrand"] } hyper-rustls = { version = "0.27", default-features = false, features = ["http1", "http2", "native-tokio", "ring", "tls12"] } itertools-5ef9efb8ec2df382 = { package = "itertools", version = "0.12" } +naga = { version = "25", features = ["spv-out", "wgsl-in"] } proc-macro2 = { version = "1", default-features = false, features = ["span-locations"] } ring = { version = "0.17", features = ["std"] } rustix-d585fab2519d2d1 = { package = "rustix", version = "0.38", features = ["event"] } @@ -595,7 +603,7 @@ windows-core = { version = "0.61" } windows-numerics = { version = "0.2" } windows-sys-73dcd821b1037cfd = { package = "windows-sys", version = "0.59", features = ["Wdk_Foundation", "Wdk_Storage_FileSystem", "Win32_Globalization", "Win32_NetworkManagement_IpHelper", "Win32_Networking_WinSock", "Win32_Security_Authentication_Identity", "Win32_Security_Credentials", "Win32_Security_Cryptography", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Console", "Win32_System_Diagnostics_Debug", "Win32_System_IO", "Win32_System_Ioctl", "Win32_System_Kernel", "Win32_System_LibraryLoader", "Win32_System_Memory", "Win32_System_Performance", "Win32_System_Pipes", "Win32_System_Registry", "Win32_System_SystemInformation", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_Time", "Win32_System_WindowsProgramming", "Win32_UI_Input_KeyboardAndMouse", "Win32_UI_Shell", "Win32_UI_WindowsAndMessaging"] } windows-sys-b21d60becc0929df = { package = "windows-sys", version = "0.52", features = ["Wdk_Foundation", "Wdk_Storage_FileSystem", "Wdk_System_IO", "Win32_Foundation", "Win32_Networking_WinSock", "Win32_Security_Authorization", "Win32_Storage_FileSystem", "Win32_System_Console", "Win32_System_IO", "Win32_System_Memory", "Win32_System_Pipes", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_WindowsProgramming"] } -windows-sys-c8eced492e86ede7 = { package = "windows-sys", version = "0.48", features = ["Win32_Foundation", "Win32_Globalization", "Win32_Networking_WinSock", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Diagnostics_Debug", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_Registry", "Win32_System_Threading", "Win32_System_Time", "Win32_System_WindowsProgramming", "Win32_UI_Shell"] } +windows-sys-c8eced492e86ede7 = { package = "windows-sys", version = "0.48", features = ["Win32_Foundation", "Win32_Globalization", "Win32_Networking_WinSock", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Diagnostics_Debug", "Win32_System_IO", "Win32_System_Pipes", "Win32_System_Registry", "Win32_System_Threading", "Win32_System_Time", "Win32_UI_Shell"] } [target.x86_64-unknown-linux-musl.dependencies] aes = { version = "0.8", default-features = false, features = ["zeroize"] } diff --git a/typos.toml b/typos.toml index 336a829a44..7f1c6e04f1 100644 --- a/typos.toml +++ b/typos.toml @@ -71,10 +71,6 @@ extend-ignore-re = [ # Not an actual typo but an intentionally invalid color, in `color_extractor` "#fof", # Stripped version of reserved keyword `type` - "typ", - # AMD GPU Services - "ags", - # AMD GPU Services - "AGS" + "typ" ] check-filename = true