Технология файлов помощи в формате .chm считается устаревшей (привязана к Windows, проблемы с безопасностью, плохо масштабируется, неадаптивный интерфейс, закрытый код, выпущена в 1997 году и уже не поддерживается Microsoft).
Zeal - быстрый офлайн-браузер документации (на базе доксетов Dash). По сути современная замена chm без его недостатков.
Работает локально
Кроссплатформенный
Open source
Есть портативная версия
Более 200 готовых доксетов от Dash по языкам программирования, фреймворкам и библиотекам
Многовкладочность, можно открыть несколько страниц справки параллельно
Предлагаю макрос, который при нажатии CtrlF1 в редакторе подхватывает слово, на котором стоит курсор или выделенное сочетание слов, и открывает оболочку Zeal.
В зависимости от расширения файла настроен выбор подмножества справок, которые будут активированы при поиске. Например, для расширения .lua поиск будет произведен только в справке lua, а для расширения .php поиск будет ограничен справками php, wordpress, laravel, yii.
Макрос легко расширить под собственные нужды, добавив расширения файлов и подключив новые типы справок.
Предлагаю также сконвертированные в доксеты справки Far manager версии 3.0.5888 (энциклопедия, luafar_manual, macroapi_manual). Для их подключения к Zeal достаточно распаковать прилагаемый архив в папку программы zeal\docsets. Архив также содержит скрипты python для автоматической конвертации распакованных chm.
Альтернативно можно воспользоваться утилитой для конвертации johnd0e/chm2docset
Для поиска по всем трем доксетам следует указать префикс 'far:'
Для поиска по нескольким доксетам указывать префиксы через запятую 'lua,far:'
Без указания префикса ищет по всем подключенным доксетам.
phidel wrote: Fri 30 Jan, 2026 19:40
Технология файлов помощи в формате .chm считается устаревшей (привязана к Windows, проблемы с безопасностью, плохо масштабируется, неадаптивный интерфейс, закрытый код, выпущена в 1997 году и уже не поддерживается Microsoft).
У chm одно большое преимущество: в целевой системе поддержка из коробки.
Не нравится закрытый код - можно смотреть и в SumatraPDF.
phidel wrote: Fri 30 Jan, 2026 19:40
Zeal - быстрый офлайн-браузер документации (на базе доксетов Dash). По сути современная замена chm без его недостатков.
Не знаю в каком именно месте он быстрый, но точно не при запуске. Он же на электроне.
Но в Zeal полно готовых доксетов, и если уж задействовать его для просмотра разной документации, то почему бы и нет.
Хотя можно пойти обратным путём: использовать индекс docSet.dsidx для поиска данных, а результат открывать в любом браузере.
phidel wrote: Fri 30 Jan, 2026 21:52
Это неверно, он на C++
Вы правы, я был неточен, он на QT, и содержит в себе движок браузера (как собственно и Electron).
Именно поэтому и занимает он более 100 МБ, что и тянет за собой некоторую неповоротливость при запуске.
Если держать его открытым постоянно то значения не имеет.
phidel wrote: Fri 30 Jan, 2026 21:52
Мне не нравится, что нет штатного способа вызвать контекстную справку по конкретному слову по горячей клавише из редактора Far.
В каком смысле штатного?
Есть макрос для chm.
И макрос, который бы открывал страницу из вашего docSet в системном браузере, будет очень простым. Вообще не запуская Zeal.
И ещё проще если держать индекс в текстовом файле.
phidel wrote: Fri 30 Jan, 2026 21:52
На линуксе тоже?
Линукс в контексте данного форума не является целевой системой.
John Doe wrote: Fri 30 Jan, 2026 22:12
И макрос, который бы открывал страницу из вашего docSet в системном браузере, будет очень простым. Вообще не запуская Zeal.
И ещё проще если держать индекс в текстовом файле.
Я уточню: в цитируемом я имею ввиду не какой-то готовый макрос (такого пока нет), а что написать его будет несложно.
John Doe wrote: Fri 30 Jan, 2026 23:00
С её помощью легко автоматизировать создание доксетов при обновлении chm.
Не совсем понял зачем эта утилита? в первом сообщении я уже выложил как сами доксеты, так и скрипты по их автоматической генерации. Есть какие-то преимущества?
phidel wrote: Fri 30 Jan, 2026 23:04
Есть какие-то преимущества?
Из очевидного: легче в использовании: не требует python и наличия исходных файлов (или предварительно распаковки chm), и можно использовать с произвольными chm, поскольку имя указывается аргументом, а не захардкожено в исходниках.
P.S. сам-то я тоже предпочёл бы python, просто готовое попалось (на первый взгляд, на самом деле потребовалась доработка).
John Doe wrote: Fri 30 Jan, 2026 23:00
Вот кстати готовая утилита chm2docset.
С её помощью легко автоматизировать создание доксетов при обновлении chm.