racket-tree-sitter
1 Guide
2 Reference
_  TSParser  Ref
_  TSLanguage  Ref
_  TSTree  Ref
TSParser  Ref?
TSLanguage  Ref?
TSTree  Ref?
parser-new
parser-delete
set-language
parse-string
8.12

racket-tree-sitter🔗ℹ

Lîm Tsú-thuàn

 (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