SwiftTreeSitter

0.7.0

Swift API for the tree-sitter incremental parsing system
ChimeHQ/SwiftTreeSitter

What's New

v0.7.0

2022-10-06T14:43:17Z
  • update to tree-sitter 0.20.7
  • support for the #set! directive
  • NamedRange type to better support standardized query formats
  • QueryMatch.inject(with:) to translate injections.scm matches

Build Status License Platforms Documentation

SwiftTreeSitter

Swift API for the tree-sitter incremental parsing system.

  • Close to full coverage of the C API
  • Swift/Foundation types where possible
  • Standard query result mapping for injections
  • Query predicate support via ResolvingQueryCursor

SwiftTreeSitter is fairly low-level. If you are looking a higher-level system for syntax highlighting and other syntactic operations, you might want to have a look at Neon.

📖 Documentation is available in DocC format.

Integration

dependencies: [
    .package(url: "https://github.com/ChimeHQ/SwiftTreeSitter")
]

Language Parsers

Tree-sitter language parsers are separate projects, and you'll probably need at least one. More details are available in the documentation. How they can be installed an incorporated varies. Since you're here, you might find SPM the most convenient.

Parser Make SPM Official Repo
Bash
C
C++
C#
Clojure
CMake
Comment
CSS
D
Dart
Dockerfile
Elixir
Elm
Erlang
Fish
Fortran
gitattributes
gitignore
Go
GoMod
GoWork
graphql
Hack
Haskell
HTML
Java
Javascript
JSON
Json5
Julia
Kotlin
Latex
LLVM
Lua
Make
Markdown
Markdown
OCaml
Pascal
Perl
PHP
PowerShell
Python
R
Racket
Regex
Ruby
Rust
Scala
Scheme
Scss
SQL
Sqlite
SSH
Swift
TOML
Tree-sitter query language
Typescript
Verilog
Vue
YAML
Zig

Suggestions or Feedback

We'd love to hear from you! Get in touch via twitter, an issue, or a pull request.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Description

  • Swift Tools 5.5.0
View More Packages from this Author

Dependencies

  • None
Last updated: Sat Dec 03 2022 10:58:05 GMT-0500 (GMT-05:00)