SpeedReaderRust

RSVP (Rapid Serial Visual Presentation) оверлей для скорочтения. Открывает файл и показывает слова одно за другим в центре экрана. Ключевая особенность — подсветка центральной буквы (ORP — Optimal Recognition Point), которая позволяет глазу быстрее схватывать слово.

Возможности

  • Пауза и прыжок в редактор на точную позицию (пробел)
  • Настройка скорости (WPM) и команды редактора
  • Перетаскивание оверлея мышью
  • Работает с любым редактором: Zed, VS Code, Vim, Helix
  • Открытый исходный код (MIT)

Установка

cargo install speed-reader

Или из репозитория: cargo install --path gui

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

1. Глобальный таск

Сделай так, чтобы speed-reader был доступен из любого проекта. Для этого добавь таск в глобальный конфиг Zed:

~/.config/zed/tasks.json:

[
  {
    "label": "SpeedReader: Read current file",
    "command": "speed-reader",
    "args": ["$ZED_FILE"],
    "tags": ["speed-reader"],
    "hide": "on_success"
  }
]

Файл — это массив тасков. Если там уже есть другие таски — просто добавь этот объект в массив.

"tags": ["speed-reader"] не обязателен, но помогает фильтровать в палитре команд. "hide": "on_success" убирает терминал после закрытия оверлея — не захламляет интерфейс.

2. Запуск

Cmd+Shift+P → начни печатать SpeedReader → выбери таск.

3. Хоткей (рекомендуется)

Чтобы читать любой файл одной кнопкой — назначь хоткей в ~/.config/zed/keybindings.json:

{
  "context": "Editor",
  "bindings": {
    "cmd-shift-r": ["task::Spawn", { "task_name": "SpeedReader: Read current file" }]
  }
}

После этого Cmd+Shift+R из любого открытого буфера запускает RSVP-чтение.

4. Конфигурация редактора (не только Zed)

По умолчанию speed-reader открывает редактор по адресу файл:строка:колонка. Можно настроить команду редактора в ~/.config/speed-reader/config.json:

{
  "editor_cmd": "code",
  "wpm": 300
}

Поддерживаются Zed, VS Code, Vim, Helix и любой редактор с CLI-синтаксисом editor file:line:col.