8.16.0.1
racket-tree-sitter
(require racket-tree-sitter) | package: racket-tree-sitter |
1 Guide
(require racket-tree-sitter ffi/unsafe ffi/unsafe/define) (define-ffi-definer define-racket (ffi-lib "./zig-out/lib/libtree-sitter-racket" '(#f))) (define-racket rkt-language (fun -> _TSLanguageRef) #:c-id tree_sitter_racket) (define p (parser-new)) (set-language p (rkt-language)) (define source-code "\n(+ 1 2)\n(define x 1)\n(define (foo a b)\n (+ a b x))\n") (define tree (parse-string p #f source-code)) (define root (root-node tree)) (displayln (node->string root)) (tree-delete tree)
2 Reference
value
_TSParserRef : ctype?
_TSLanguageRef : ctype? _TSTreeRef : ctype?
Tree sitter primitive types.
procedure
(TSParserRef? v) → boolean?
v : any/c
check a value is TSParserRef or not
procedure
(TSLanguageRef? v) → boolean?
v : any/c
check a value is TSLanguageRef or not
procedure
(TSTreeRef? v) → boolean?
v : any/c
check a value is TSTreeRef or not
procedure
(parser-new) → TSParserRef?
New parser
procedure
(parser-delete parser) → void?
parser : TSParserRef?
Delete a parser
procedure
(set-language parser language) → void?
parser : TSParserRef? language : TSLanguageRef?
Setting the language of parser
procedure
(parse-string parser old-tree source-code) → TSTreeRef?
parser : TSParserRef? old-tree : (or/c #f TSTreeRef?) source-code : string?
Parser a string source code