@@ -28,8 +28,9 @@ const (
2828)
2929
3030var (
31- hclMatch = regexp .MustCompile ("(?si)([^`]+)?```(hcl)?(.*?)```" )
32- bigSymbol = regexp .MustCompile ("([\u007F -\uffff ])" )
31+ hclMatch = regexp .MustCompile ("(?si)([^`]+)?```(hcl)?(.*?)```" )
32+ usageMatch = regexp .MustCompile (`(?s)(?m)^([^ \n].*?)(?:\n{2}|$)(.*)` )
33+ bigSymbol = regexp .MustCompile ("([\u007F -\uffff ])" )
3334)
3435
3536func main () {
@@ -407,16 +408,32 @@ func formatHCL(s string) string {
407408 for _ , v := range m {
408409 p := strings .TrimSpace (v [1 ])
409410 if p != "" {
410- p = fmt . Sprintf ( " \n %s \n \n " , p )
411+ p = formatUsageDesc ( p )
411412 }
412413 b := hclwrite .Format ([]byte (strings .TrimSpace (v [3 ])))
413- rr = append (rr , fmt .Sprintf ("%s ```hcl\n %s\n ```" , p , string (b )))
414+ rr = append (rr , fmt .Sprintf ("\n %s \n \n ```hcl\n %s\n ```" , p , string (b )))
414415 }
415416 }
416417
417418 return strings .TrimSpace (strings .Join (rr , "\n " ))
418419}
419420
421+ func formatUsageDesc (s string ) string {
422+ var rr []string
423+ s = strings .TrimSpace (s )
424+ m := usageMatch .FindAllStringSubmatch (s , - 1 )
425+
426+ for _ , v := range m {
427+ title := strings .TrimSpace (v [1 ])
428+ descp := strings .TrimSpace (v [2 ])
429+
430+ rr = append (rr , fmt .Sprintf ("### %s\n \n %s" , title , descp ))
431+ }
432+
433+ ret := strings .TrimSpace (strings .Join (rr , "\n \n " ))
434+ return ret
435+ }
436+
420437// checkDescription check description format
421438func checkDescription (k , s string ) {
422439 if s == "" {
0 commit comments