2.9 KiB
2.9 KiB
Feature Roadmap — vcom
Выбранные фичи (по приоритету)
1. Поиск/фильтрация файлов (/)
- Filter mode: при нажатии
/открывается текстовый инпут внизу экрана (поверх footer, как модальное окно) - Фильтрация
[]Entryв активной панели на лету поstrings.Contains/fuzzy-match - Подсветка совпадений в строках (изменить
renderEntryRow— передать query, подсветить matched part) Esc— выход из filter mode, восстановление полного спискаEnter— зафиксировать фильтр (оставить отфильтрованный список), выход из filter mode- При смене директории фильтр сбрасывается
2. Bulk rename (массовое переименование)
- Выделить файлы (
Shift+↑/↓), нажатьCtrl+R(новая клавиша) - Модальное окно с текстовым полем для паттерна:
prefix_%N.ext - Превью результата (старое имя → новое имя)
- Выполнить rename для всех выделенных
3. Корзина (trash support)
Delete/F8— перемещать в~/.local/share/Trash/по freedesktop specShift+Delete—永久ное удаление (как сейчас)browser.confirm_deleteприменяется к永久ному удалению- Новая опция конфига:
behavior.use_trash = true(default: true)
4. Directory history (назад/вперед)
[]stringстек истории на каждую панельAlt+←/Alt+→— навигация назад/вперед- При переходе в новую директорию (Enter, Backspace, клик) — push в history
- При навигации по истории — не создавать новые записи
5. Расширенный превью форматов
- PDF — извлечение текста через
pdftotext(если доступен) - Аудио — метаданные через
ffprobe(битрейт, длительность, кодек) - Видео — метаданные + превью через
ffmpegthumbnailer/ffprobe - Fallback если утилита не установлена
Процесс
- Каждая фича реализуется в отдельной ветке
feature/N-имя - После реализации — commit + push
- После апрува — merge в main
- Порядок: 1 → 4 → 3 → 2 → 5 (от простого к сложному)