Files
codebase-memory-mcp/internal/lang/cpp.go
T
Martin Vogel fb30ca61d6 v0.2.0: Multi-DB router, enrichment pipeline, update-available notification, enhanced language support
Major changes:
- Store router: per-project SQLite databases with automatic migration
- Pipeline enrichment: community detection, inheritance, decorators, read/write tracking, test detection, type usage, exception flows, configuration relationships
- Update checker: lightweight GitHub release check on startup, injects update_available into first tool response
- Language support: enhanced extraction for C++, C#, Go, Java, JavaScript, Lua, PHP, Python, Rust, Scala, TSX, TypeScript
- Cypher executor: improved query execution with better aggregation and pattern matching
- HTTP link detection: cross-service HTTP call inference
- CLI mode: extended with --raw flag, human-friendly summaries for all tools
- Search: sort_by support, exclude_labels, glob matching improvements
- AST debug tool for parser development
2026-02-28 01:58:47 +01:00

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