Skip to content
Snippets Groups Projects
Commit 0b4defe5 authored by Francé Wilke's avatar Francé Wilke
Browse files

Testing Johan DK's release stuff

parent 2bbdaace
No related branches found
No related tags found
No related merge requests found
package string_utils
import (
"regexp"
"strings"
)
const snakeCasePattern = `[a-z]([a-z0-9_]*[a-z0-9])*`
var snakeCaseRegex = regexp.MustCompile("^" + snakeCasePattern + "$")
func IsSnakeCase(name string) bool {
return snakeCaseRegex.MatchString(name)
}
func SnakeToKebabString(s string) string {
s = strings.TrimSpace(s)
re := regexp.MustCompile("(_)")
s = re.ReplaceAllString(s, "-")
return s
}
...@@ -14,6 +14,23 @@ import ( ...@@ -14,6 +14,23 @@ import (
"golang.org/x/text/unicode/norm" "golang.org/x/text/unicode/norm"
) )
const snakeCasePattern = `[a-z]([a-z0-9_]*[a-z0-9])*`
var snakeCaseRegex = regexp.MustCompile("^" + snakeCasePattern + "$")
func IsSnakeCase(name string) bool {
return snakeCaseRegex.MatchString(name)
}
func SnakeToKebabString(s string) string {
s = strings.TrimSpace(s)
re := regexp.MustCompile("(_)")
s = re.ReplaceAllString(s, "-")
return s
}
// ReplaceNonSpacingMarks removes diacritics e.g. êžů becomes ezu // ReplaceNonSpacingMarks removes diacritics e.g. êžů becomes ezu
func ReplaceNonSpacingMarks(str string) string { func ReplaceNonSpacingMarks(str string) string {
t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC) // Mn: non-spacing marks t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC) // Mn: non-spacing marks
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment