Перейти к основному содержанию

Установка Живаа

Требования

  • Go 1.23.0+ (рекомендуется toolchain 1.24.5)
  • Терминал с поддержкой UTF-8 для корректного отображения псевдографики
  • Поддержка цветов в терминале (опционально)

Установка

Через go get

go get github.com/qzeleza/ziva

Через go mod

Добавьте в ваш go.mod:
require github.com/qzeleza/ziva latest
Затем выполните:
go mod tidy

Проверка установки

Создайте простой файл main.go для проверки:
package main

import (
    "fmt"
    "log"
    "github.com/qzeleza/ziva"
)

func main() {
    // Создаем простую задачу
    task := ziva.NewYesNoTask("Тест", "Ziva установлен корректно?")

    // Создаем очередь и добавляем задачу
    queue := ziva.NewQueue("Проверка установки Ziva")
    queue.AddTasks(task)

    // Запускаем
    if err := queue.Run(); err != nil {
        log.Fatal(err)
    }

    // Проверяем результат
    if task.IsYes() {
        fmt.Println("✅ Отлично! Ziva готов к работе.")
    } else {
        fmt.Println("❌ Нужно проверить установку.")
    }
}
Запустите:
go run main.go

Настройка окружения

Настройка локали (для русского языка)

Для корректного отображения русского текста настройте локаль: Ubuntu/Debian:
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
Entware/BusyBox:
opkg install locale-full glibc-binary-locales
export LANG=ru_RU.UTF-8

Настройка шрифта

Для встроенных систем может потребоваться настройка шрифта:
setterm -reset
setterm -store
setterm -font latarcyrheb-sun32  # для Cyrillic

Переменные окружения

Ziva поддерживает настройку через переменные окружения:
# Язык интерфейса
export ZIVA_LANG=ru
export ZIVA_DEFAULT_LANG=ru

# Для встроенных систем
export ZIVA_MEMORY_PRESSURE_THRESHOLD=50M
export ZIVA_MAX_COMPLETED_TASKS=10

# Цвета терминала
export COLORTERM=truecolor
export TERM=xterm-256color

Структура проекта

Рекомендуемая структура Go проекта с Ziva:
myapp/
├── go.mod
├── go.sum
├── main.go
├── cmd/
│   └── myapp/
│       └── main.go
├── internal/
│   ├── tasks/
│   ├── config/
│   └── ui/
└── pkg/
    └── validation/

Зависимости

Ziva использует следующие основные зависимости:
  • Bubble Tea - основа для TUI
  • Lip Gloss - стилизация и цвета
  • **Testify **- тестирование пакета
Все зависимости устанавливаются автоматически при go get.

Следующий шаг

Создайте ваше первое TUI приложение
I