Files
envy/cmd/utils/tools.go

45 lines
801 B
Go

package utils
import (
"errors"
"fmt"
"os"
"path"
"strings"
"github.com/charmbracelet/lipgloss"
)
var ErrStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("#F00"))
func ErrPrint(data ...string) {
fmt.Println(ErrStyle.Render(strings.Join(data, " ")))
}
var EnvyPath string
func Init() {
conf, err := os.UserConfigDir()
if err != nil {
panic("Couldn't find config directory:" + err.Error())
}
EnvyPath = path.Join(conf, "envy")
}
func NoSpace(input string) error {
for _, r := range input {
if !(isAlphaNum(r) || r == '-' || r == '_') {
return errors.New("input can only contain letters, numbers, '-' and '_'")
}
}
return nil
}
// helper function
func isAlphaNum(r rune) bool {
return (r >= 'a' && r <= 'z') ||
(r >= 'A' && r <= 'Z') ||
(r >= '0' && r <= '9')
}