Files
reg/cmd/util.go
Victor Chapaev 37cb16b152
All checks were successful
Build / Build (push) Successful in 33s
Updated
2026-11-06 06:52:07 +03:00

48 lines
1.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package cmd
import (
"fmt"
"io"
"os"
"strings"
)
// warnIfRegistryLike выводит предупреждение в stderr, если аргумент
// похож на URL реестра (содержит точку и не содержит '/').
// Частая ошибка: `reg capabilities mydocker.ru` — здесь mydocker.ru
// воспринимается как имя репозитория, а не как реестр.
func warnIfRegistryLike(arg string) {
if strings.Contains(arg, "/") {
return
}
if !strings.Contains(arg, ".") {
return
}
fmt.Fprintln(os.Stderr, MsgRegistryLikeWarning.F(arg))
}
// readLinesFromFile читает строки из файла (или stdin, если path == "-").
// Пропускает пустые строки и строки, начинающиеся с '#'.
// Убирает ведущие и хвостовые пробелы у каждой строки.
func readLinesFromFile(path string) ([]string, error) {
var data []byte
var err error
if path == "-" {
data, err = io.ReadAll(os.Stdin)
} else {
data, err = os.ReadFile(path)
}
if err != nil {
return nil, err
}
var lines []string
for _, line := range strings.Split(string(data), "\n") {
line = strings.TrimSpace(line)
if line == "" || strings.HasPrefix(line, "#") {
continue
}
lines = append(lines, line)
}
return lines, nil
}