Skip to content

Commit 37d18b9

Browse files
tob-scott-aclaude
andauthored
Bump tree-sitter-language-pack to >=1.8,<2.0 (#47)
The 1.8 series ships a bespoke Parser whose parse() takes str instead of bytes. Switch all language-pack-backed parsers to construct a canonical tree_sitter.Parser via get_language(), matching the pattern already used by the bundled circom and masm grammars. Drop the now-obsolete carve-out for 1.6.3 and the older 0.13-1.6 range. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2ace4cd commit 37d18b9

23 files changed

Lines changed: 77 additions & 75 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ authors = [
1414
]
1515
dependencies = [
1616
"tree-sitter>=0.25,<1.0",
17-
"tree-sitter-language-pack>=0.13,<1.7,!=1.6.3",
17+
"tree-sitter-language-pack>=1.8,<2.0",
1818
"rustworkx>=0.17,<1.0",
1919
]
2020

src/trailmark/parsers/c/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -59,7 +59,7 @@ def language(self) -> str:
5959
return "c"
6060

6161
def __init__(self) -> None:
62-
self._parser = get_parser("c")
62+
self._parser = Parser(get_language("c"))
6363

6464
def parse_file(self, file_path: str) -> CodeGraph:
6565
"""Parse a single C file into a CodeGraph."""

src/trailmark/parsers/cairo/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -48,7 +48,7 @@ def language(self) -> str:
4848
return "cairo"
4949

5050
def __init__(self) -> None:
51-
self._parser = get_parser("cairo")
51+
self._parser = Parser(get_language("cairo"))
5252

5353
def parse_file(self, file_path: str) -> CodeGraph:
5454
"""Parse a single Cairo file into a CodeGraph."""

src/trailmark/parsers/cpp/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -61,7 +61,7 @@ def language(self) -> str:
6161
return "cpp"
6262

6363
def __init__(self) -> None:
64-
self._parser = get_parser("cpp")
64+
self._parser = Parser(get_language("cpp"))
6565

6666
def parse_file(self, file_path: str) -> CodeGraph:
6767
"""Parse a single C++ file into a CodeGraph."""

src/trailmark/parsers/csharp/parser.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -63,9 +63,7 @@ def language(self) -> str:
6363
return "csharp"
6464

6565
def __init__(self) -> None:
66-
# tree-sitter-language-pack 1.6.0's stub omits "csharp" from the
67-
# SupportedLanguage Literal, but the runtime accepts it fine.
68-
self._parser = get_parser("csharp") # ty: ignore[invalid-argument-type]
66+
self._parser = Parser(get_language("csharp"))
6967

7068
def parse_file(self, file_path: str) -> CodeGraph:
7169
"""Parse a single C# file into a CodeGraph."""

src/trailmark/parsers/dart/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525

2626
from pathlib import Path
2727

28-
from tree_sitter import Node
29-
from tree_sitter_language_pack import get_parser
28+
from tree_sitter import Node, Parser
29+
from tree_sitter_language_pack import get_language
3030

3131
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
3232
from trailmark.models.graph import CodeGraph
@@ -86,7 +86,7 @@ def language(self) -> str:
8686
return "dart"
8787

8888
def __init__(self) -> None:
89-
self._parser = get_parser("dart")
89+
self._parser = Parser(get_language("dart"))
9090

9191
def parse_file(self, file_path: str) -> CodeGraph:
9292
"""Parse a single .dart file into a CodeGraph."""

src/trailmark/parsers/erlang/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -42,7 +42,7 @@ def language(self) -> str:
4242
return "erlang"
4343

4444
def __init__(self) -> None:
45-
self._parser = get_parser("erlang")
45+
self._parser = Parser(get_language("erlang"))
4646

4747
def parse_file(self, file_path: str) -> CodeGraph:
4848
"""Parse a single Erlang file into a CodeGraph."""

src/trailmark/parsers/go/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -65,7 +65,7 @@ def language(self) -> str:
6565
return "go"
6666

6767
def __init__(self) -> None:
68-
self._parser = get_parser("go")
68+
self._parser = Parser(get_language("go"))
6969

7070
def parse_file(self, file_path: str) -> CodeGraph:
7171
"""Parse a single Go file into a CodeGraph."""

src/trailmark/parsers/haskell/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -42,7 +42,7 @@ def language(self) -> str:
4242
return "haskell"
4343

4444
def __init__(self) -> None:
45-
self._parser = get_parser("haskell")
45+
self._parser = Parser(get_language("haskell"))
4646

4747
def parse_file(self, file_path: str) -> CodeGraph:
4848
"""Parse a single Haskell file into a CodeGraph."""

src/trailmark/parsers/java/parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
from pathlib import Path
66

7-
from tree_sitter import Node
8-
from tree_sitter_language_pack import get_parser
7+
from tree_sitter import Node, Parser
8+
from tree_sitter_language_pack import get_language
99

1010
from trailmark.models.edges import CodeEdge, EdgeConfidence, EdgeKind
1111
from trailmark.models.graph import CodeGraph
@@ -63,7 +63,7 @@ def language(self) -> str:
6363
return "java"
6464

6565
def __init__(self) -> None:
66-
self._parser = get_parser("java")
66+
self._parser = Parser(get_language("java"))
6767

6868
def parse_file(self, file_path: str) -> CodeGraph:
6969
"""Parse a single Java file into a CodeGraph."""

0 commit comments

Comments
 (0)