Swift
Swift language support in Gram is provided by the community-maintained Swift extension. Report issues to: [https://github.com/zed-extensions/swift/issues](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. Gram's
name for the adapter (in the UI and debug.jsonc) 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": "$GRAM_WORKTREE_ROOT/swift-app/.build/arm64-apple-macosx/debug/swift-app",
"request": "launch",
"adapter": "Swift"
}
]