mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-03 08:03:38 +08:00
Language expansion (13 → 25): Add Ruby, C, Bash, Zig, Elixir, Haskell, OCaml, HTML, CSS, YAML, TOML, HCL with tree-sitter grammars and language specs. Restore Erlang and SQL with extraction fixes. CLI install/update/uninstall commands: Auto-detect Claude Code and Codex CLI, register MCP server, install task-specific skills, self-update with SHA-256 verification. Embedded skills (4): exploring, tracing, quality, reference — auto-trigger in Claude Code for graph-first code discovery. Pipeline improvements: Docstring extraction, enrichment pass for params/returns/complexity, graceful context cancellation, improved test detection. 35-language benchmark (BENCHMARK.md): 12 questions × 35 repos, 91.8% overall score, Linux kernel stress test (20K nodes, zero timeouts). Replaces old benchmark artifacts.
48 lines
1.5 KiB
Go
48 lines
1.5 KiB
Go
package lang
|
|
|
|
func init() {
|
|
Register(&LanguageSpec{
|
|
Language: CPP,
|
|
FileExtensions: []string{".cpp", ".h", ".hpp", ".cc", ".cxx", ".hxx", ".hh", ".ixx", ".cppm", ".ccm"},
|
|
FunctionNodeTypes: []string{
|
|
"function_definition",
|
|
"declaration",
|
|
"field_declaration",
|
|
"template_declaration",
|
|
"lambda_expression",
|
|
},
|
|
ClassNodeTypes: []string{
|
|
"class_specifier",
|
|
"struct_specifier",
|
|
"union_specifier",
|
|
"enum_specifier",
|
|
},
|
|
FieldNodeTypes: []string{"field_declaration"},
|
|
ModuleNodeTypes: []string{
|
|
"translation_unit",
|
|
"namespace_definition",
|
|
"linkage_specification",
|
|
"declaration",
|
|
},
|
|
CallNodeTypes: []string{
|
|
"call_expression",
|
|
"field_expression",
|
|
"subscript_expression",
|
|
"new_expression",
|
|
"delete_expression",
|
|
"binary_expression",
|
|
"unary_expression",
|
|
"update_expression",
|
|
},
|
|
ImportNodeTypes: []string{"preproc_include", "template_function", "declaration"},
|
|
ImportFromTypes: []string{"preproc_include", "template_function", "declaration"},
|
|
PackageIndicators: []string{"CMakeLists.txt", "Makefile", "*.vcxproj", "conanfile.txt"},
|
|
|
|
BranchingNodeTypes: []string{"if_statement", "for_statement", "for_range_loop", "while_statement", "switch_statement", "case_statement", "try_statement", "catch_clause"},
|
|
VariableNodeTypes: []string{"declaration"},
|
|
AssignmentNodeTypes: []string{"assignment_expression"},
|
|
ThrowNodeTypes: []string{"throw_statement"},
|
|
EnvAccessFunctions: []string{"getenv", "std::getenv"},
|
|
})
|
|
}
|