Single-commit orphan branch: full zed-industries/zed @ 8c74db0 source tree with a 3-file patch applied (no upstream history). Patch (crates/gpui_linux/src/linux/wayland/): - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Mutter honors window activation only when the token carries the keyboard- focus serial from wl_keyboard.enter; GPUI used a stale mouse-press serial. See docs/tray-window-focus-wayland.md in logiguard. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.0 KiB
title, description
| title | description |
|---|---|
| Swift | Configure Swift language support in Zed, including language servers, formatting, and debugging. |
Swift
Swift language support in Zed is provided by the community-maintained Swift extension. Report issues to: https://github.com/zed-extensions/swift/issues
- Tree-sitter: alex-pinkus/tree-sitter-swift
- Language Server: swiftlang/sourcekit-lsp
- Debug Adapter:
lldb-dap
Language Server Configuration
You can modify the behavior of SourceKit LSP by creating a .sourcekit-lsp/config.json under your home directory or in your project root. See SourceKit-LSP configuration file for complete documentation.
Debugging
The Swift extension provides a debug adapter for debugging Swift code.
Zed's name for the adapter (in the UI and debug.json) is Swift, and under the hood it uses lldb-dap, as provided by the Swift toolchain.
The extension tries to find an lldb-dap binary using swiftly, using xcrun, and by searching $PATH, in that order of preference.
The extension doesn't attempt to download lldb-dap if it's not found.
Examples
Build and debug a Swift binary
[
{
"label": "Debug Swift",
"build": {
"command": "swift",
"args": ["build"]
},
"program": "$ZED_WORKTREE_ROOT/swift-app/.build/arm64-apple-macosx/debug/swift-app",
"request": "launch",
"adapter": "Swift"
}
]