tree-sitter / py-tree-sitter

Python bindings to the Tree-sitter parsing library
https://tree-sitter.github.io/py-tree-sitter/
MIT License
817 stars 96 forks source link

way to get parser for typescript/tsx #230

Closed SaitejaUtpala closed 4 months ago

SaitejaUtpala commented 4 months ago
from pathlib import Path
from tree_sitter import Language

def get_tree_sitter_library_dir() -> str:
    return "/home/lazytensor/typescript/CodePlan/src/dependency_graph/analyzers/tree_sitter"

Language.build_library(
    f"{get_tree_sitter_library_dir()}/build/my-languages.so",
    [
        f"{get_tree_sitter_library_dir()}/tree-sitter-typescript/typescript",
        f"{get_tree_sitter_library_dir()}/tree-sitter-typescript/tsx",
    ],
)

build_library works for both typescript/typescript and typescript/tsx

But I am unable to find way to get the typescript/tsx parser.

from tree_sitter import Language, Parser

parser = Parser()
parser.set_language(
    Language(f"{get_tree_sitter_library_dir()}/build/my-languages.so", "typescript/tsx")
)

what is right api ?

ObserverOfTime commented 4 months ago
pip install tree-sitter tree-sitter-typescript
from tree_sitter import Language, Parser
from tree_sitter_typescript import language_typescript # or language_tsx

parser = Parser()
parser.set_language(Language(language_typescript(), "typescript"))

# or with py-tree-sitter 0.22 (not yet released):
# parser = Parser()
# parser.language = Language(language_typescript())
SaitejaUtpala commented 4 months ago

Thanks! It works now!