pathi — утилита для поиска системных путей по алиасам, ключевым словам и частям пути.
- Индексация путей из переменных окружения
- Индексация директорий из
PATH - Пользовательские алиасы через
aliases.json - В индекс попадают только существующие директории (не файлы и не отдельные объекты)
- SQLite-хранилище индекса
- Поиск по
name,keywords,path - Преобразование абсолютного пути в псевдопуть (
$VAR/...) по самому длинному префиксу - CLI-интерфейс
python -m venv .venv
source .venv/bin/activate
pip install -e .Пример:
pipx install ~/Sources/EnvPathShortcutTool-mainОбновить установленную версию после git pull:
pipx upgrade pathindexУдалить:
pipx uninstall pathindexpathi index
pathi search conf
pathi pseudo /home/user/.config/nvim
pathi alias add projects /home/user/projects
pathi open nvim
pathi env sync --source alias --normalize --file ~/.config/pathi/environment --rebuildЧтобы превращать записи индекса в переменные среды (например, для быстрого доступа к $STEAM),
используйте:
pathi env sync --source alias --normalize --print-onlyДля записи в файл окружения:
pathi env sync --source alias --normalize --file /etc/environmentДля
/etc/environmentобычно требуются права root (запуск черезsudo). В файл добавляется/обновляется только блок, помеченный какpathi managed.
По умолчанию:
- Linux:
~/.local/share/pathindex - macOS:
~/Library/Application Support/pathindex - Windows:
%APPDATA%/pathindex
Файлы:
index.sqlitealiases.jsoncache.json(зарезервирован)
pathindex/
├── collectors.py # env/path сборщики
├── storage.py # SQLite и aliases.json
├── search.py # поиск и pseudo-path
├── actions.py # действия (open/copy)
└── cli.py # CLI
- Без GUI
- Без rofi/fzf интеграции
- Без глобального сканирования файловой системы