Skip to content

Commit 66b4d2c

Browse files
labyuclaude
andcommitted
feat: v0.14.1 — add all tree-sitter language parser dependencies
Add 14 missing tree-sitter language packages (go, rust, java, c, cpp, c-sharp, ruby, scala, lua, php, elixir, kotlin, objc, swift) as core dependencies so all 17 supported languages get AST extraction out of the box. Update doctor command to check all 17 language parsers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5ae1379 commit 66b4d2c

3 files changed

Lines changed: 2856 additions & 8 deletions

File tree

hedwig_cg/cli/main.py

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -846,17 +846,40 @@ def warn(section: str, msg: str):
846846
fail("dependencies", f"{pip_name} — not installed (pip install {pip_name})")
847847

848848
# 3. Tree-sitter parsers
849-
ts_langs = [
850-
("tree_sitter", "tree-sitter"),
851-
("tree_sitter_python", "tree-sitter-python"),
852-
("tree_sitter_javascript", "tree-sitter-javascript"),
849+
try:
850+
importlib.import_module("tree_sitter")
851+
ok("tree_sitter", "tree-sitter (core runtime)")
852+
except ImportError:
853+
fail("tree_sitter", "tree-sitter — not installed")
854+
855+
ts_lang_packages = [
856+
("python", "tree_sitter_python"),
857+
("javascript", "tree_sitter_javascript"),
858+
("typescript", "tree_sitter_typescript"),
859+
("go", "tree_sitter_go"),
860+
("rust", "tree_sitter_rust"),
861+
("java", "tree_sitter_java"),
862+
("c", "tree_sitter_c"),
863+
("cpp", "tree_sitter_cpp"),
864+
("c_sharp", "tree_sitter_c_sharp"),
865+
("ruby", "tree_sitter_ruby"),
866+
("scala", "tree_sitter_scala"),
867+
("lua", "tree_sitter_lua"),
868+
("php", "tree_sitter_php"),
869+
("elixir", "tree_sitter_elixir"),
870+
("kotlin", "tree_sitter_kotlin"),
871+
("objc", "tree_sitter_objc"),
872+
("swift", "tree_sitter_swift"),
853873
]
854-
for mod_name, pip_name in ts_langs:
874+
for lang, mod_name in ts_lang_packages:
875+
pip_name = mod_name.replace("_", "-")
855876
try:
856877
importlib.import_module(mod_name)
857-
ok("tree_sitter", pip_name)
878+
ok("tree_sitter", f"{pip_name} ({lang})")
858879
except ImportError:
859-
warn("tree_sitter", f"{pip_name} — not installed (optional, enables AST extraction)")
880+
warn("tree_sitter",
881+
f"{pip_name} ({lang}) — not installed "
882+
"(falls back to regex extraction)")
860883

861884
# 4. MCP server dependency
862885
try:

pyproject.toml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "hedwig-cg"
7-
version = "0.14.0"
7+
version = "0.14.1"
88
description = "Local-first code graph builder with hybrid vector + graph search"
99
license = "MIT"
1010
requires-python = ">=3.10"
@@ -37,6 +37,20 @@ dependencies = [
3737
"tree-sitter-python>=0.23",
3838
"tree-sitter-javascript>=0.23",
3939
"tree-sitter-typescript>=0.23",
40+
"tree-sitter-go>=0.23",
41+
"tree-sitter-rust>=0.23",
42+
"tree-sitter-java>=0.23",
43+
"tree-sitter-c>=0.23",
44+
"tree-sitter-cpp>=0.23",
45+
"tree-sitter-c-sharp>=0.23",
46+
"tree-sitter-ruby>=0.23",
47+
"tree-sitter-scala>=0.23",
48+
"tree-sitter-lua>=0.5",
49+
"tree-sitter-php>=0.23",
50+
"tree-sitter-elixir>=0.3",
51+
"tree-sitter-kotlin>=1.0",
52+
"tree-sitter-objc>=3.0",
53+
"tree-sitter-swift>=0.0.1",
4054
"sentence-transformers>=3.0",
4155
"faiss-cpu>=1.7.4",
4256
"leidenalg>=0.10",

0 commit comments

Comments
 (0)