Skip to content

a584-droid/EnvPathShortcutTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Path Index (MVP)

pathi — утилита для поиска системных путей по алиасам, ключевым словам и частям пути.

Что реализовано

  • Индексация путей из переменных окружения
  • Индексация директорий из PATH
  • Пользовательские алиасы через aliases.json
  • В индекс попадают только существующие директории (не файлы и не отдельные объекты)
  • SQLite-хранилище индекса
  • Поиск по name, keywords, path
  • Преобразование абсолютного пути в псевдопуть ($VAR/...) по самому длинному префиксу
  • CLI-интерфейс

Установка (локально)

python -m venv .venv
source .venv/bin/activate
pip install -e .

Установка через pipx (глобальная команда pathi)

Пример:

pipx install ~/Sources/EnvPathShortcutTool-main

Обновить установленную версию после git pull:

pipx upgrade pathindex

Удалить:

pipx uninstall pathindex

Использование

pathi 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.sqlite
  • aliases.json
  • cache.json (зарезервирован)

Архитектура

pathindex/
 ├── collectors.py     # env/path сборщики
 ├── storage.py        # SQLite и aliases.json
 ├── search.py         # поиск и pseudo-path
 ├── actions.py        # действия (open/copy)
 └── cli.py            # CLI

Ограничения MVP

  • Без GUI
  • Без rofi/fzf интеграции
  • Без глобального сканирования файловой системы

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages