github.com/u-root/u-root@v7.0.1-0.20200915234505-ad7babab0a8e+incompatible/cmds/core/elvish/util/camel_to_dashed.go (about) 1 package util 2 3 import ( 4 "bytes" 5 "unicode" 6 ) 7 8 // CamelToDashed converts a CamelCaseIdentifier to a dash-separated-identifier, 9 // or a camelCaseIdentifier to a -dash-separated-identifier. 10 func CamelToDashed(camel string) string { 11 var buf bytes.Buffer 12 for i, r := range camel { 13 if (i == 0 && unicode.IsLower(r)) || (i > 0 && unicode.IsUpper(r)) { 14 buf.WriteRune('-') 15 } 16 buf.WriteRune(unicode.ToLower(r)) 17 } 18 return buf.String() 19 }