Об этом проекте
Livediff — это легковесная TUI-утилита на Rust, дополняющая `git diff` и показывающая живые различия, пока файлы редактируются другими инструментами. Она использует нативные события файловой системы ОС через `notify` с адаптивным подавлением всплесков (debouncing), обеспечивая мониторинг в реальном времени с низкой нагрузкой в режиме простоя.
Ключевые возможности:
- **Мониторинг в реальном времени** с адаптивным debouncing
- **Два режима просмотра**: унифицированный и параллельный (Split), переключаемые клавишами `v` или `Tab`
- **Интерактивная фильтрация файлов** через поиск по подстроке (`/`)
- **Экспорт патча одной клавишей** для сохранения снимков `.patch` (`s`)
- **Колонки номеров строк**, показывающие номера строк оригинала и результата
- **Переключатель игнорирования пробелов** (`w`) и мягкого переноса строк (`W`)
- **Посимвольное сравнение** с подсветкой синтаксиса с использованием крейта `similar`
- **Умный движок игнорирования**, учитывающий `.gitignore`, `.livediffignore` и пользовательские glob-шаблоны
- **Встроенный редактор кода** (`e`) для быстрого редактирования файлов на месте
- **Несколько цветовых тем**: Cyberpunk, Catppuccin, Tokyo Night, Nord, Gruvbox
- **Генерация автодополнений оболочки** для bash, elvish, fish, powershell и zsh
Варианты установки включают Homebrew (`brew install socket7/tap/livediff`), Cargo (`cargo install livediff`) и готовые бинарные файлы для Linux, macOS и Windows. Браузерная демонстрация без установки доступна по адресу socket7.github.io/Livediff.
Опции CLI позволяют указать путь для мониторинга, шаблоны игнорирования, начальный режим просмотра, тему, окно debounce и многое другое. Инструмент предназначен для рабочих процессов, связанных с генераторами кода, форматтерами, миграциями, рефакторингом и правкой конфигураций, обеспечивая мгновенную визуальную обратную связь без замены Git.
Livediff распространяется под двойной лицензией MIT или Apache-2.0 и поддерживается Антонином Нивошем (@SoCkEt7).
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.