in tools/generate.go [631:694]
func describeDebugProperty(p *Property) string {
if p == nil {
return ""
}
b := &bytes.Buffer{}
desc := p.Description
if p.MarkdownDescription != "" {
desc = p.MarkdownDescription
}
if p == nil || strings.Contains(desc, "Not applicable when using `dlv-dap` mode.") {
return ""
}
deprecation := p.DeprecationMessage
if p.MarkdownDeprecationMessage != "" {
deprecation = p.MarkdownDeprecationMessage
}
if deprecation != "" {
fmt.Fprintf(b, "(Deprecated) *%v*<br/>", deprecation)
}
fmt.Fprintf(b, "%v<br/>", desc)
if len(p.AnyOf) > 0 {
for i, a := range p.AnyOf {
fmt.Fprintf(b, "<p><b>Option %d:</b> %v<br/>", i+1, describeDebugProperty(&a))
}
}
if len(p.Enum) > 0 {
var enums []string
for _, i := range p.Enum {
enums = append(enums, fmt.Sprintf("`%#v`", i))
}
fmt.Fprintf(b, "<p>Allowed Values: %v<br/>", strings.Join(enums, ", "))
}
if p.Type == "object" && len(p.Properties) > 0 {
var keys []string
for k := range p.Properties {
keys = append(keys, k)
}
sort.Strings(keys)
fmt.Fprintf(b, "<ul>")
for _, k := range keys {
v := p.Properties[k]
fmt.Fprintf(b, "<li>`%q`: %v</li>", k, describeDebugProperty(v))
}
fmt.Fprintf(b, "</ul>")
}
if p.Type == "array" && p.Items != nil && p.Items.Type == "object" {
fmt.Fprintf(b, "<p>%v<br/>", describeDebugProperty(p.Items))
}
// Default
if d := defaultDescriptionSnippet(p); d != "" {
fmt.Fprintf(b, "(Default: `%v`)<br/>", d)
}
return b.String()
}