Skip to content

Commit c668eb9

Browse files
tae2089claude
andcommitted
refactor: remove C#, Swift, Scala, Bash language parsers
Removed 4 tree-sitter parsers to reduce binary size: - C# (csharp): 33.6MB C source - largest contributor - Swift: 16.3MB C source - Scala: 23.7MB C source - Bash: 10.2MB C source Binary size: 44MB -> 31MB (stripped, -ldflags="-s -w") Remaining 12 languages: Go, Python, TypeScript, Java, Ruby, JavaScript, C, C++, Rust, Kotlin, PHP, Lua Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2dac22f commit c668eb9

6 files changed

Lines changed: 3 additions & 549 deletions

File tree

cmd/ccg/main.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,9 @@ func buildWalkers(logger *slog.Logger) map[string]*treesitter.Walker {
9898
{treesitter.CSpec, []string{".c", ".h"}},
9999
{treesitter.CppSpec, []string{".cpp", ".cc", ".cxx", ".hpp", ".hh", ".hxx"}},
100100
{treesitter.RustSpec, []string{".rs"}},
101-
{treesitter.CSharpSpec, []string{".cs"}},
102101
{treesitter.KotlinSpec, []string{".kt", ".kts"}},
103102
{treesitter.PHPSpec, []string{".php"}},
104-
{treesitter.SwiftSpec, []string{".swift"}},
105-
{treesitter.ScalaSpec, []string{".scala", ".sc"}},
106103
{treesitter.LuaSpec, []string{".lua"}},
107-
{treesitter.BashSpec, []string{".sh", ".bash", ".zsh"}},
108104
}
109105

110106
walkers := make(map[string]*treesitter.Walker)

internal/cli/.ccg/lint-history.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"timestamp": "2026-04-14T18:23:47.276948+09:00",
2+
"timestamp": "2026-04-14T18:36:18.243005+09:00",
33
"entries": {
44
"incomplete:pkg/util.go::Format": 1,
55
"missing:pkg/util.go": 1

internal/mcp/.ccg/doc-index.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"version": 1,
3-
"built_at": "2026-04-14T09:23:48.013743Z",
3+
"built_at": "2026-04-14T09:36:18.807002Z",
44
"root": {
55
"id": "root",
66
"label": "Root",

internal/parse/treesitter/langspec.go

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -111,17 +111,6 @@ var RubySpec = &LangSpec{
111111
TestPrefix: "test_",
112112
}
113113

114-
var CSharpSpec = &LangSpec{
115-
Name: "csharp",
116-
FunctionTypes: []string{"method_declaration", "constructor_declaration"},
117-
ClassTypes: []string{"class_declaration", "struct_declaration", "record_declaration"},
118-
InterfaceTypes: []string{"interface_declaration"},
119-
ImportTypes: []string{"using_directive"},
120-
CallTypes: []string{"invocation_expression"},
121-
TestPrefix: "Test",
122-
TestAttributes: []string{"Test", "Fact", "Theory"},
123-
}
124-
125114
var KotlinSpec = &LangSpec{
126115
Name: "kotlin",
127116
FunctionTypes: []string{"function_declaration"},
@@ -142,27 +131,6 @@ var PHPSpec = &LangSpec{
142131
TestPrefix: "test",
143132
}
144133

145-
var SwiftSpec = &LangSpec{
146-
Name: "swift",
147-
FunctionTypes: []string{"function_declaration"},
148-
ClassTypes: []string{"class_declaration", "struct_declaration", "enum_declaration"},
149-
InterfaceTypes: []string{"protocol_declaration"},
150-
ImportTypes: []string{"import_declaration"},
151-
CallTypes: []string{"call_expression"},
152-
TestPrefix: "test",
153-
ExtensionTypes: []string{"extension_declaration"},
154-
}
155-
156-
var ScalaSpec = &LangSpec{
157-
Name: "scala",
158-
FunctionTypes: []string{"function_definition"},
159-
ClassTypes: []string{"class_definition", "object_definition"},
160-
InterfaceTypes: []string{"trait_definition"},
161-
ImportTypes: []string{"import_declaration"},
162-
CallTypes: []string{"call_expression"},
163-
TestPrefix: "test",
164-
}
165-
166134
var LuaSpec = &LangSpec{
167135
Name: "lua",
168136
FunctionTypes: []string{"function_statement"},
@@ -172,11 +140,3 @@ var LuaSpec = &LangSpec{
172140
TestPrefix: "test_",
173141
}
174142

175-
var BashSpec = &LangSpec{
176-
Name: "bash",
177-
FunctionTypes: []string{"function_definition"},
178-
ClassTypes: []string{},
179-
ImportTypes: []string{"command"},
180-
CallTypes: []string{"command"},
181-
TestPrefix: "test_",
182-
}

internal/parse/treesitter/walker.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@ import (
99
"strings"
1010

1111
sitter "github.com/smacker/go-tree-sitter"
12-
"github.com/smacker/go-tree-sitter/bash"
1312
"github.com/smacker/go-tree-sitter/c"
1413
"github.com/smacker/go-tree-sitter/cpp"
15-
"github.com/smacker/go-tree-sitter/csharp"
1614
"github.com/smacker/go-tree-sitter/golang"
1715
"github.com/smacker/go-tree-sitter/java"
1816
"github.com/smacker/go-tree-sitter/javascript"
@@ -22,8 +20,6 @@ import (
2220
"github.com/smacker/go-tree-sitter/python"
2321
"github.com/smacker/go-tree-sitter/ruby"
2422
"github.com/smacker/go-tree-sitter/rust"
25-
"github.com/smacker/go-tree-sitter/scala"
26-
"github.com/smacker/go-tree-sitter/swift"
2723
"github.com/smacker/go-tree-sitter/typescript/typescript"
2824

2925
"github.com/imtaebin/code-context-graph/internal/model"
@@ -602,20 +598,12 @@ func (w *Walker) getLanguage() (*sitter.Language, error) {
602598
return cpp.GetLanguage(), nil
603599
case "rust":
604600
return rust.GetLanguage(), nil
605-
case "csharp":
606-
return csharp.GetLanguage(), nil
607601
case "kotlin":
608602
return kotlin.GetLanguage(), nil
609603
case "php":
610604
return php.GetLanguage(), nil
611-
case "swift":
612-
return swift.GetLanguage(), nil
613-
case "scala":
614-
return scala.GetLanguage(), nil
615605
case "lua":
616606
return lua.GetLanguage(), nil
617-
case "bash":
618-
return bash.GetLanguage(), nil
619607
default:
620608
return nil, fmt.Errorf("unsupported language: %s", w.spec.Name)
621609
}

0 commit comments

Comments
 (0)