diff --git a/bindings/go/scip/testutil/format.go b/bindings/go/scip/testutil/format.go index a1fe4099..cee87617 100644 --- a/bindings/go/scip/testutil/format.go +++ b/bindings/go/scip/testutil/format.go @@ -132,7 +132,7 @@ func FormatSnapshot( b.WriteRune(' ') b.WriteString(formatSymbol(occ.Symbol)) - prefix := "\n" + commentSyntax + strings.Repeat(" ", int(pos.Start.Character)) + prefix := "\n" + commentSyntax + strings.Repeat(" ", int(pos.End.Character)+1) hasOverrideDocumentation := len(occ.OverrideDocumentation) > 0 if hasOverrideDocumentation { @@ -147,6 +147,18 @@ func FormatSnapshot( b.WriteString(info.Kind.String()) } + if info.DisplayName != "" { + b.WriteString(prefix) + b.WriteString("display_name ") + b.WriteString(info.DisplayName) + } + + if info.SignatureDocumentation != nil && info.SignatureDocumentation.Text != "" { + b.WriteString(prefix) + b.WriteString("signature_documentation") + writeMultiline(&b, prefix, info.SignatureDocumentation.Text) + } + for _, documentation := range info.Documentation { // At least get the first line of documentation if there is leading whitespace documentation = strings.TrimSpace(documentation) diff --git a/reprolang/testdata/snapshots/output/cyclic-reference/cycle1.repro b/reprolang/testdata/snapshots/output/cyclic-reference/cycle1.repro index 711c2ebe..f3b60c8e 100755 --- a/reprolang/testdata/snapshots/output/cyclic-reference/cycle1.repro +++ b/reprolang/testdata/snapshots/output/cyclic-reference/cycle1.repro @@ -1,8 +1,8 @@ # Test cyclic references between files. definition hello(). # ^^^^^^^^ definition cycle1.repro/hello(). -# documentation -# > signature of hello(). +# documentation +# > signature of hello(). reference hello(). # ^^^^^^^^ reference cycle1.repro/hello(). reference hello2(). diff --git a/reprolang/testdata/snapshots/output/cyclic-reference/cycle2.repro b/reprolang/testdata/snapshots/output/cyclic-reference/cycle2.repro index d9997592..a2dacdd4 100755 --- a/reprolang/testdata/snapshots/output/cyclic-reference/cycle2.repro +++ b/reprolang/testdata/snapshots/output/cyclic-reference/cycle2.repro @@ -1,8 +1,8 @@ # Test cyclic references between files. definition hello2(). # ^^^^^^^^^ definition cycle2.repro/hello2(). -# documentation -# > signature of hello2(). +# documentation +# > signature of hello2(). reference hello(). # ^^^^^^^^ reference cycle1.repro/hello(). reference hello2(). diff --git a/reprolang/testdata/snapshots/output/diagnostics/diagnostics.repro b/reprolang/testdata/snapshots/output/diagnostics/diagnostics.repro index 81ef168a..ca0d492d 100755 --- a/reprolang/testdata/snapshots/output/diagnostics/diagnostics.repro +++ b/reprolang/testdata/snapshots/output/diagnostics/diagnostics.repro @@ -1,11 +1,11 @@ definition deprecatedMethod. # ^^^^^^^^^^^^^^^^^ definition diagnostics.repro/deprecatedMethod. -# documentation -# > signature of deprecatedMethod. -# diagnostic Warning: -# > deprecated identifier +# documentation +# > signature of deprecatedMethod. +# diagnostic Warning: +# > deprecated identifier reference deprecatedMethod. # ^^^^^^^^^^^^^^^^^ reference diagnostics.repro/deprecatedMethod. -# diagnostic Warning: -# > deprecated identifier +# diagnostic Warning: +# > deprecated identifier diff --git a/reprolang/testdata/snapshots/output/duplicates/duplicate.repro b/reprolang/testdata/snapshots/output/duplicates/duplicate.repro index 608f145d..893dca3e 100755 --- a/reprolang/testdata/snapshots/output/duplicates/duplicate.repro +++ b/reprolang/testdata/snapshots/output/duplicates/duplicate.repro @@ -1,9 +1,9 @@ definition readFileSync. # ^^^^^^^^^^^^^ definition duplicate.repro/readFileSync. -# documentation -# > signature of readFileSync. +# documentation +# > signature of readFileSync. definition readFileSync. # ^^^^^^^^^^^^^ definition duplicate.repro/readFileSync. -# documentation -# > signature of readFileSync. +# documentation +# > signature of readFileSync. diff --git a/reprolang/testdata/snapshots/output/forward-def/forward_def.repro b/reprolang/testdata/snapshots/output/forward-def/forward_def.repro index 2e633659..4fcb6d27 100755 --- a/reprolang/testdata/snapshots/output/forward-def/forward_def.repro +++ b/reprolang/testdata/snapshots/output/forward-def/forward_def.repro @@ -2,8 +2,8 @@ # ^^^^ forward_definition forward_def.repro/abc# definition abc# # ^^^^ definition forward_def.repro/abc# -# documentation -# > signature of abc# +# documentation +# > signature of abc# reference abc# # ^^^^ reference forward_def.repro/abc# diff --git a/reprolang/testdata/snapshots/output/global-workspace/hello.repro b/reprolang/testdata/snapshots/output/global-workspace/hello.repro index f79a2591..6ef75679 100755 --- a/reprolang/testdata/snapshots/output/global-workspace/hello.repro +++ b/reprolang/testdata/snapshots/output/global-workspace/hello.repro @@ -1,4 +1,4 @@ definition hello(). # ^^^^^^^^ definition hello.repro/hello(). -# documentation -# > signature of hello(). +# documentation +# > signature of hello(). diff --git a/reprolang/testdata/snapshots/output/implementation-cross-repo/bird.repro b/reprolang/testdata/snapshots/output/implementation-cross-repo/bird.repro index aa6c10c7..bc3e1b0b 100755 --- a/reprolang/testdata/snapshots/output/implementation-cross-repo/bird.repro +++ b/reprolang/testdata/snapshots/output/implementation-cross-repo/bird.repro @@ -1,8 +1,8 @@ # Test how to implement a symbol from an external workspace. definition bird# implements implementation animal.repro/animal# # ^^^^^ definition bird.repro/bird# -# documentation -# > signature of bird# -# relationship implementation animal.repro/animal# implementation +# documentation +# > signature of bird# +# relationship implementation animal.repro/animal# implementation # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference implementation animal.repro/animal# diff --git a/reprolang/testdata/snapshots/output/implementation/animal.repro b/reprolang/testdata/snapshots/output/implementation/animal.repro index 218fa3a6..8f4b905e 100755 --- a/reprolang/testdata/snapshots/output/implementation/animal.repro +++ b/reprolang/testdata/snapshots/output/implementation/animal.repro @@ -1,18 +1,18 @@ # Test how to implement a symbol within the same workspace. definition animal# # ^^^^^^^ definition animal.repro/animal# -# documentation -# > signature of animal# +# documentation +# > signature of animal# definition dog# implements animal# # ^^^^ definition animal.repro/dog# -# documentation -# > signature of dog# -# relationship animal.repro/animal# implementation +# documentation +# > signature of dog# +# relationship animal.repro/animal# implementation # ^^^^^^^ reference animal.repro/animal# definition cat# implements animal# # ^^^^ definition animal.repro/cat# -# documentation -# > signature of cat# -# relationship animal.repro/animal# implementation +# documentation +# > signature of cat# +# relationship animal.repro/animal# implementation # ^^^^^^^ reference animal.repro/animal# diff --git a/reprolang/testdata/snapshots/output/local-document/local1.repro b/reprolang/testdata/snapshots/output/local-document/local1.repro index a33c8b90..ac822a81 100755 --- a/reprolang/testdata/snapshots/output/local-document/local1.repro +++ b/reprolang/testdata/snapshots/output/local-document/local1.repro @@ -1,10 +1,10 @@ # docstring: local is a local method definition local Example # ^^^^^^^^^^^^^ definition local Example -# documentation -# > signature of Example -# documentation -# > : local is a local method +# documentation +# > signature of Example +# documentation +# > : local is a local method reference local Example # ^^^^^^^^^^^^^ reference local Example diff --git a/reprolang/testdata/snapshots/output/local-document/local2.repro b/reprolang/testdata/snapshots/output/local-document/local2.repro index 902f7450..1063c52c 100755 --- a/reprolang/testdata/snapshots/output/local-document/local2.repro +++ b/reprolang/testdata/snapshots/output/local-document/local2.repro @@ -1,7 +1,7 @@ definition local Example # ^^^^^^^^^^^^^ definition local Example -# documentation -# > signature of Example +# documentation +# > signature of Example reference local Example # ^^^^^^^^^^^^^ reference local Example diff --git a/reprolang/testdata/snapshots/output/relationships/defined_by.repro b/reprolang/testdata/snapshots/output/relationships/defined_by.repro index adbcaa17..c01ad75b 100755 --- a/reprolang/testdata/snapshots/output/relationships/defined_by.repro +++ b/reprolang/testdata/snapshots/output/relationships/defined_by.repro @@ -1,12 +1,12 @@ definition M_f. # ^^^^ definition defined_by.repro/M_f. -# documentation -# > signature of M_f. +# documentation +# > signature of M_f. definition C1_f. # ^^^^^ definition defined_by.repro/C1_f. -# documentation -# > signature of C1_f. +# documentation +# > signature of C1_f. reference C2_f. # ^^^^^ reference defined_by.repro/C1_f. diff --git a/reprolang/testdata/snapshots/output/relationships/mixed.repro b/reprolang/testdata/snapshots/output/relationships/mixed.repro index b04cb77e..e9d32073 100755 --- a/reprolang/testdata/snapshots/output/relationships/mixed.repro +++ b/reprolang/testdata/snapshots/output/relationships/mixed.repro @@ -1,22 +1,22 @@ definition local sym1 # ^^^^^^^^^^ definition local sym1 -# documentation -# > signature of sym1 +# documentation +# > signature of sym1 definition local sym2 # ^^^^^^^^^^ definition local sym2 -# documentation -# > signature of sym2 +# documentation +# > signature of sym2 definition local sym3 # ^^^^^^^^^^ definition local sym3 -# documentation -# > signature of sym3 +# documentation +# > signature of sym3 definition local sym4 implements local sym1 references local sym2 type_defines local sym3 # ^^^^^^^^^^ definition local sym4 -# documentation -# > signature of sym4 -# relationship local sym1 implementation -# relationship local sym2 reference -# relationship local sym3 type_definition +# documentation +# > signature of sym4 +# relationship local sym1 implementation +# relationship local sym2 reference +# relationship local sym3 type_definition # ^^^^^^^^^^ reference local sym1 # ^^^^^^^^^^ reference local sym2 # ^^^^^^^^^^ reference local sym3 diff --git a/reprolang/testdata/snapshots/output/relationships/references.repro b/reprolang/testdata/snapshots/output/relationships/references.repro index 917c3728..6b11c3ff 100755 --- a/reprolang/testdata/snapshots/output/relationships/references.repro +++ b/reprolang/testdata/snapshots/output/relationships/references.repro @@ -1,11 +1,11 @@ definition local sym1 # ^^^^^^^^^^ definition local sym1 -# documentation -# > signature of sym1 +# documentation +# > signature of sym1 definition local sym2 references local sym1 # ^^^^^^^^^^ definition local sym2 -# documentation -# > signature of sym2 -# relationship local sym1 reference +# documentation +# > signature of sym2 +# relationship local sym1 reference # ^^^^^^^^^^ reference local sym1 diff --git a/reprolang/testdata/snapshots/output/relationships/type_defines.repro b/reprolang/testdata/snapshots/output/relationships/type_defines.repro index b01c64f2..271f00df 100755 --- a/reprolang/testdata/snapshots/output/relationships/type_defines.repro +++ b/reprolang/testdata/snapshots/output/relationships/type_defines.repro @@ -1,11 +1,11 @@ definition local sym1 # ^^^^^^^^^^ definition local sym1 -# documentation -# > signature of sym1 +# documentation +# > signature of sym1 definition local sym2 type_defines local sym1 # ^^^^^^^^^^ definition local sym2 -# documentation -# > signature of sym2 -# relationship local sym1 type_definition +# documentation +# > signature of sym2 +# relationship local sym1 type_definition # ^^^^^^^^^^ reference local sym1