Files
codebase-memory-mcp/internal/lang/cpp.go
T
Martin Vogel 02bc3b7352 Release v0.3.0: 25 languages, install/update CLI, skills, benchmark
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.
2026-03-01 18:01:52 +01:00

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"},
})
}