PureBasic


Help

Назначение

Вызов справки с поиском выделенного слова.


для вызова используем команду

Help.exe WORD [ext=Default [flag=0 [Path Title]]]


Help.exe %WORD (этот вариант позволит использовать буфер обмена, если слово из нелатинских букв и использование секции [Default])
Help.exe %WORD pb
Help.exe %WORD pb flag
Help.exe %WORD pb 0 "C:\Program Files\Purebasic\PureBasic.chm" "HTML Help"

flag [-1, 0, 1, 2]
-1 - выбирает вкладку 2 "Поиск"
0 - выбирает вкладку 1 "Указатель"
1 - отладчик только путей ini-файл и файла справки CHM
2 - полный отладчик, сообщать, что не найдены окна и элементы окна
flag + 10 добавляет режим поиска

Если указаны параметры "Path" и "Title", то не читает ini-файл
Если указано только "WORD", то в ini-файле будет прочитана секция [Default]
Если без параметров или "WORD" будет пустым, то предложит использовать текст из буфера обмена. Полезно для русских слов (или любых нелатинских), которые IDE не определяет как слова.

Для AkelPad

AkelPad.Exec('"%a\\AkelFiles\\Tools\\Help\\Help.exe" ' + sSelText + ' js');



Для Notepad++ в shortcuts.xml

<Command name="Help" Ctrl="no" Alt="no" Shift="no" Key="112">"$(NPP_DIRECTORY)\Tools\Help\Help.exe" "$(CURRENT_WORD)" $(EXT_PART)</Command>



То есть надо передать файлу выделенное слово и расширение файла. Все эти значения можно получить скриптом с текущего документа.

Если посмотреть структуру ini-файла (обязательно UTF-8), то понятно, что там имя секции это расширение указываемое в параметре запуска, а в секции путь и заголовок. Заголовок нужно, чтобы не открывать справку повторно, а развернуть если свёрнута. Автоматизация заключается во вставке слова на вкладке "Указатель", не зависимо от того какой элемент окна активный, утилитка сама переключится на вкладку указатель, вставит слово и кликнет кнопку "Вывести". Такой подход более полезный, так как ключевые слова указаны в указателе, но доступ через внутреннюю структуру файлов справки наоборот вызывает проблему, так как имена файлов далеко не соответствуют названию ключевых слов.

ini-файл

[Default] - секция по умолчанию
PathCHM="..\..\NppHelp.chm"
TitleCHM="Справка Notepad++"
Exact_match=1

[js] - секция для файла типа js
PathCHM="..\..\Help\JS.chm" ; путь к справке
TitleCHM="Справка по JavaScript (09.09.2019)" ; Заголовок окна справки
Exact_match=1 ; точное совпадение в заголовке окна, иначе совпадение от начала строки

[au3] - секция для файла типа au3
PathCHM="C:\Program Files\AutoIt3\AutoIt.chm" -
TitleCHM="Справка AutoIt"
Exact_match=1