diff --git a/pkg/utils/colors.go b/pkg/utils/colors.go deleted file mode 100644 index 89496d3..0000000 --- a/pkg/utils/colors.go +++ /dev/null @@ -1,149 +0,0 @@ -// /futriis/pkg/utils/colors.go -// Пакет utils предоставляет утилиты для цветного вывода, логирования и форматирования строк в клиенте субд futriis -// Для реализации цветного вывода, используются escpe-последовательности с поддержкой цветов ANSI -// Данная цветовая схема совместима с цветовой схемой OpenIndiana - -package utils - -import ( - "fmt" - -) - -// Цветовые коды ANSI (совместимые с OpenIndiana) -const ( - ColorReset = "\033[0m" - ColorRed = "\033[31m" - ColorGreen = "\033[32m" - ColorYellow = "\033[33m" - ColorBlue = "\033[34m" - ColorMagenta = "\033[35m" - ColorCyan = "\033[36m" - ColorWhite = "\033[37m" - ColorBold = "\033[1m" - ColorUnderline = "\033[4m" - - // Яркие цвета (работают во всех терминалах) - ColorBrightBlack = "\033[90m" - ColorBrightRed = "\033[91m" - ColorBrightGreen = "\033[92m" - ColorBrightYellow = "\033[93m" - ColorBrightBlue = "\033[94m" // Ярко-синий - ColorBrightMagenta = "\033[95m" - ColorBrightCyan = "\033[96m" // Яркий циан (голубой) - используется для prompt - ColorBrightWhite = "\033[97m" - - ColorReverse = "\033[7m" // Инвертированные цвета (для подсветки поиска) - - // Специальные цвета для prompt - ColorPrompt = ColorBrightCyan // Яркий циан (голубой) для приглашения - ColorPromptCode = ColorBrightYellow // Ярко-жёлтый для кода - - // Скрытие/показ курсора - ColorHideCursor = "\033[?25l" - ColorShowCursor = "\033[?25h" -) - -// PrintBanner выводит приветственный баннер с учетом восстановления из AOF -func PrintBanner(clusterName string, aofRecovered bool) { - // Добавляем пустую строку перед рамкой - fmt.Println() - - // Пунктирная рамка - border := "--------------------------------------------------------------------------------" - - fmt.Println(ColorPrompt + border + ColorReset) - - // Выравниваем текст по левому краю - fmt.Println(ColorPrompt + "futriix 3i²(by 03.01.2026)" + ColorReset) - fmt.Println(ColorPrompt + "Distributed Wide-Column database with Lua Integration and lua plugins" + ColorReset) - fmt.Println(ColorPrompt + "Cluster status: enable" + ColorReset) - fmt.Println(ColorPrompt + "Cluster name: " + clusterName + ColorReset) - fmt.Println(ColorPrompt + "[OK] Configuration load from config.toml" + ColorReset) - - // Добавляем сообщение о восстановлении из AOF, если оно было - if aofRecovered { - fmt.Println(ColorPrompt + "[OK] Data recovered from AOF" + ColorReset) - } - - fmt.Println(ColorPrompt + border + ColorReset) - fmt.Println() -} - -// PrintBannerWithConfig выводит баннер с информацией из конфига -func PrintBannerWithConfig(clusterName string, aofRecovered bool) { - PrintBanner(clusterName, aofRecovered) -} - -// PrintInfo выводит информационное сообщение цветом приглашения -func PrintInfo(format string, args ...interface{}) { - msg := fmt.Sprintf(format, args...) - fmt.Printf(ColorPrompt+"[INFO]"+ColorReset+" %s\n", msg) -} - -// PrintSuccess выводит сообщение об успехе -func PrintSuccess(format string, args ...interface{}) { - msg := fmt.Sprintf(format, args...) - fmt.Printf(ColorGreen+"[OK]"+ColorReset+" %s\n", msg) -} - -// PrintWarning выводит предупреждение -func PrintWarning(format string, args ...interface{}) { - msg := fmt.Sprintf(format, args...) - fmt.Printf(ColorYellow+"[WARN]"+ColorReset+" %s\n", msg) -} - -// PrintError выводит сообщение об ошибке -func PrintError(format string, args ...interface{}) { - msg := fmt.Sprintf(format, args...) - fmt.Printf(ColorRed+"[ERROR]"+ColorReset+" %s\n", msg) -} - -// PrintPromptMessage выводит сообщение цветом приглашения -func PrintPromptMessage(format string, args ...interface{}) { - msg := fmt.Sprintf(format, args...) - fmt.Printf(ColorPrompt + msg + ColorReset + "\n") -} - -// ConsoleLogger представляет простой консольный логгер -type ConsoleLogger struct { - enabled bool -} - -var consoleLogger *ConsoleLogger - -// InitLogger инициализирует консольный логгер -func InitLogger(logPath string) { - consoleLogger = &ConsoleLogger{ - enabled: true, - } - // Игнорируем logPath для консольного логгера - // Файловый логгер инициализируется отдельно через InitFileLogger -} - -// GetLogger возвращает консольный логгер -func GetLogger() *ConsoleLogger { - return consoleLogger -} - -// Log записывает сообщение в консольный логгер -func (l *ConsoleLogger) Log(level, message string) { - if l == nil { - return - } - if !l.enabled { - return - } - // Убираем вывод в консоль, только логируем в файл через файловый логгер - // Консольный логгер больше не выводит сообщения в терминал -} - -// Close закрывает консольный логгер -func (l *ConsoleLogger) Close() { - // В простой реализации ничего не делаем -} - -// GetPrompt возвращает строку приглашения -func GetPrompt() string { - return ColorPrompt + "futriis:~> " + ColorReset -}