Files
codebase-memory-mcp/internal/lang/csharp.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

35 lines
1.2 KiB
Go

package lang
func init() {
Register(&LanguageSpec{
Language: CSharp,
FileExtensions: []string{".cs"},
FunctionNodeTypes: []string{
"destructor_declaration",
"local_function_statement",
"function_pointer_type",
"constructor_declaration",
"anonymous_method_expression",
"lambda_expression",
"method_declaration",
},
ClassNodeTypes: []string{
"class_declaration",
"struct_declaration",
"enum_declaration",
"interface_declaration",
},
ModuleNodeTypes: []string{"compilation_unit"},
CallNodeTypes: []string{"invocation_expression"},
ImportNodeTypes: []string{"using_directive"},
ImportFromTypes: []string{"using_directive"},
BranchingNodeTypes: []string{"if_statement", "for_statement", "foreach_statement", "while_statement", "switch_statement", "case_switch_label", "try_statement", "catch_clause"},
VariableNodeTypes: []string{"field_declaration", "local_declaration_statement"},
AssignmentNodeTypes: []string{"assignment_expression"},
ThrowNodeTypes: []string{"throw_statement", "throw_expression"},
DecoratorNodeTypes: []string{"attribute"},
EnvAccessFunctions: []string{"Environment.GetEnvironmentVariable"},
})
}