Skip to content

Commit 231eb01

Browse files
cesrjimenezefritz
andauthored
add new formatter (#160)
* add new formatter * Rewaggle. * Remove ReducedDescriptorOnlyFormatter. --------- Co-authored-by: Eric Fritz <eric@eric-fritz.com>
1 parent 1bf111e commit 231eb01

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

bindings/go/scip/symbol_formatter.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ type SymbolFormatter struct {
1414
IncludePackageName func(name string) bool
1515
IncludePackageVersion func(version string) bool
1616
IncludeDescriptor func(descriptor string) bool
17+
IncludeRawDescriptor func(descriptor *Descriptor) bool
18+
IncludeDisambiguator func(disambiguator string) bool
1719
}
1820

1921
// VerboseSymbolFormatter formats all parts of the symbol.
@@ -24,6 +26,8 @@ var VerboseSymbolFormatter = SymbolFormatter{
2426
IncludePackageName: func(_ string) bool { return true },
2527
IncludePackageVersion: func(_ string) bool { return true },
2628
IncludeDescriptor: func(_ string) bool { return true },
29+
IncludeRawDescriptor: func(_ *Descriptor) bool { return true },
30+
IncludeDisambiguator: func(_ string) bool { return true },
2731
}
2832

2933
// Same as VerboseSymbolFormatter but silently ignores errors.
@@ -34,6 +38,8 @@ var LenientVerboseSymbolFormatter = SymbolFormatter{
3438
IncludePackageName: func(_ string) bool { return true },
3539
IncludePackageVersion: func(_ string) bool { return true },
3640
IncludeDescriptor: func(_ string) bool { return true },
41+
IncludeRawDescriptor: func(_ *Descriptor) bool { return true },
42+
IncludeDisambiguator: func(_ string) bool { return true },
3743
}
3844

3945
// DescriptorOnlyFormatter formats only the descriptor part of the symbol.
@@ -44,6 +50,8 @@ var DescriptorOnlyFormatter = SymbolFormatter{
4450
IncludePackageName: func(_ string) bool { return false },
4551
IncludePackageVersion: func(_ string) bool { return false },
4652
IncludeDescriptor: func(_ string) bool { return true },
53+
IncludeRawDescriptor: func(_ *Descriptor) bool { return true },
54+
IncludeDisambiguator: func(_ string) bool { return true },
4755
}
4856

4957
func (f *SymbolFormatter) Format(symbol string) (string, error) {
@@ -70,6 +78,9 @@ func (f *SymbolFormatter) FormatSymbol(symbol *Symbol) string {
7078
}
7179
descriptor := strings.Builder{}
7280
for _, desc := range symbol.Descriptors {
81+
if !f.IncludeRawDescriptor(desc) {
82+
continue
83+
}
7384
switch desc.Suffix {
7485
case Descriptor_Namespace:
7586
descriptor.WriteString(desc.Name)
@@ -83,7 +94,9 @@ func (f *SymbolFormatter) FormatSymbol(symbol *Symbol) string {
8394
case Descriptor_Method:
8495
descriptor.WriteString(desc.Name)
8596
descriptor.WriteRune('(')
86-
descriptor.WriteString(desc.Disambiguator)
97+
if f.IncludeDisambiguator(desc.Disambiguator) {
98+
descriptor.WriteString(desc.Disambiguator)
99+
}
87100
descriptor.WriteString(").")
88101
case Descriptor_TypeParameter:
89102
descriptor.WriteRune('[')

0 commit comments

Comments
 (0)