Files
codeql/Cargo.toml
Taus 97b5a9d828 unified: Stop using the tree-sitter-swift grammar
With the Swift front-end fully switched to swift-syntax, nothing links
the tree-sitter Swift grammar any more. Remove every reference to it;
the vendored crate itself is deleted in the following commit, so that
this one shows only what actually changed.

- Drop `unified/extractor/tree-sitter-swift` as a workspace member, path
  dependency and BUILD.bazel dependency.
- Drop the now-unused `tree-sitter` and `tree-sitter-embedded-template`
  direct dependencies from the extractor (neither is referenced any
  longer; the tree-sitter runtime is still pulled in transitively where
  the shared extractor needs it).
- Rewrite the "Swift Parser" section of `AGENTS.md`, which still pointed
  at `grammar.js` and `node-types.yml`, to describe `swift-syntax-parse`
  and the hand-maintained `swift_node_types.yml`, and note that the
  tests need the parser binary.

The mapping's comments also explained many rules by how the tree-sitter
path had behaved. That is now of historical interest only, so each is
restated in terms of swift-syntax and the target AST alone — no rule
changes, and the corpus is unaffected. Two were more than stylistic:

- The `subscriptCallExpr` rule and its corpus case said the parser
  reports `xs[0]` and `xs(0)` identically. swift-syntax distinguishes
  them, so the collapse to `call_expr` is now purely ours, and a
  dedicated `subscript_expr` would need only a schema addition and a
  remap.
- `discardAssignmentExpr` mapped to `name_expr` "because tree-sitter
  treated `_` as a name". The standing reason is that the target AST has
  no expression-level discard — only `ignore_pattern`, which is a
  pattern.

References to tree-sitter's *node model* are kept: yeast is built on it,
so `adapter.rs` still explains named/anonymous nodes, `extra` tokens and
byte-offset conventions in those terms.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-28 21:18:22 +00:00

18 lines
414 B
TOML

# This is the shared workspace file for extractor using shared/tree-sitter/extractor
[workspace]
resolver = "2"
members = [
"shared/tree-sitter-extractor",
"shared/yeast",
"shared/yeast-macros",
"shared/yeast-schema",
"ruby/extractor",
"unified/extractor",
"unified/swift-syntax-rs",
"rust/extractor",
"rust/extractor/macros",
"rust/ast-generator",
"rust/autobuild",
]