Макрос, реализующий функции плагина Active-Help

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

Был хороший плагин active-Help, который перестал работать на 64-разрядной версии. Я всех его возможностей не помню, использовал только запуск отмеченного текста как команды ShellExecute и вызов помощи по языку программирования (*.hlp, *.chm). Постарался сделать его заменитель на макро (Lua)


Active-Help.013.7z
Версия 013 с модулями
(21.18 KiB) Downloaded 66 times
Last edited by buniak_a_h on Sun 27 Jan, 2019 13:10, edited 24 times in total.

User avatar
John Doe
Бюрократ
Posts: 12601
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

Макрос, реализующий функции плагина Active-Help

Post by John Doe »

Latest post of the previous page:

Возможно ли задать для какой-нибудь маски (например *.lua) два файла, один из которых *.hlp, а другой *.chm?

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

John Doe wrote:
Mon 11 Sep, 2017 16:46
Возможно ли задать для какой-нибудь маски (например *.lua) два файла, один из которых *.hlp, а другой *.chm?
Да, безусловно.
У меня для Delphi указаны и hlp (для самого языка Пасцаль), и chm для библиотеки jedi.

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

John Doe wrote:
Mon 11 Sep, 2017 16:30
Лично я бы настройку ассоциаций вообще изначально сделал бы конфигом в редакторе, а потом уже посмотрел достаточно этого или нет
Добавлено
Например так:
Ну, я примерно так и делал. Хранение настройки сделал в текстовый файл, соответственно загрузку сделал. До того, как узнал про mf.mload/mf.msave

User avatar
John Doe
Бюрократ
Posts: 12601
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 35 times
Been thanked: 260 times

Макрос, реализующий функции плагина Active-Help

Post by John Doe »

buniak_a_h wrote:
Mon 11 Sep, 2017 17:07
Да, безусловно.
У меня для Delphi указаны и hlp (для самого языка Пасцаль), и chm для библиотеки jedi.
Ага, меня просто интерфейс сбил с толку.
А Команда для вызова помощи (+параметры) это опциональные поля?
buniak_a_h wrote:
Mon 11 Sep, 2017 17:11
Ну, я примерно так и делал. Хранение настройки сделал в текстовый файл, соответственно загрузку сделал. До того, как узнал про mf.mload/mf.msave
А при чём тут msave.
Я говорил о том, что можно было бы сэкономить немало часов времени разработки/отладки, если для начала ограничиться текстовым конфигом.
Потом, когда структура данных устаканится, можно и в диалоги вывести конечно.

То, как оно сейчас, учитывая особенности интерфейса, и необходимость как-то неочевидно перемещаться между управляющими элементами, мне не очень удобно.

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

John Doe wrote:
Mon 11 Sep, 2017 17:34
А Команда для вызова помощи (+параметры) это опциональные поля?
Не просто опциональные - теперь оказалось вообще лишние. Ну, на будущее оставил.
Просто когда начинал, то не знал, как вызвать помощь по конкретной теме (ключу). Потом нашёл командную строку для hlp-файлов. Логично предположил (как мне казалось), что аналогичная строка существует и для chm ; просто я её ещё не нашёл. Поэтому оставил эти поля, чтоб тот, кто знает как, смог бы настроить командную строку. Однако с chm оказалось несколько сложнее. Поэтому для chm они вообще лишние; да и для hlp - тоже, т.к. для hlp я командную строку забил в макрос. Руки не дошли почикать (да и пока не знаю, может ещё какие системы помощи есть. Например, VC++ формирует какой-то запрос серверу...)
John Doe wrote:
Mon 11 Sep, 2017 17:34
buniak_a_h wrote:
Mon 11 Sep, 2017 17:11
Ну, я примерно так и делал. Хранение настройки сделал в текстовый файл, соответственно загрузку сделал. До того, как узнал про mf.mload/mf.msave
А при чём тут msave.
При том, что до того, как я узнал про settings и mf.load/mf.save, а читал и сохранял настройки в текстовый файл. Именно такого вида, как Вы нарисовали.
John Doe wrote:
Mon 11 Sep, 2017 17:34
Я говорил о том, что можно было бы сэкономить немало часов времени разработки/отладки, если для начала ограничиться текстовым конфигом.
Потом, когда структура данных устаканится, можно и в диалоги вывести конечно.
Я, собственно, и затеял поначалу всю эту канитель, чтобы посмотреть, какие возможности организации диалогов есть в FAR-е. И настройки было только две: клавиша для ShellExecute и клавиша для вызова справки.
John Doe wrote:
Mon 11 Sep, 2017 17:34
То, как оно сейчас, учитывая особенности интерфейса, и необходимость как-то неочевидно перемещаться между управляющими элементами, мне не очень удобно.
Ну, не последняя версия... По уму надо делать симуляцию грида с двумя столбцами. Хотя, если не делать алиасы, то весь вторичный диалог ("Редактирование помощи") сводится к двум полям: маске файла и многострочному списку файлов. Остальное просто пока без надобности.
Или Ваше замечание относится к первому диалогу? Так там, вроде, ничего лишнего.
Можно, конечно, разбить его не два диалога: настройка горячих клавиш и редактирование ассоциаций. Наверно, это будет правильно...
Спасибо за идею.

User avatar
bigvax
Posts: 20
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Has thanked: 1 time
Been thanked: 1 time
Contact:

Макрос, реализующий функции плагина Active-Help

Post by bigvax »

Александр, скажите, а где скрипт хранит свои настройки?
И как их можно сохранить/скопировать - это на предмет перетаскивания полностью настроенного «под себя» Фара с машины на машину...
Всегда виртуально Ваш, BigVax

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

bigvax wrote:
Sun 24 Sep, 2017 12:41
Александр, скажите, а где скрипт хранит свои настройки?
И как их можно сохранить/скопировать - это на предмет перетаскивания полностью настроенного «под себя» Фара с машины на машину...
Хранит в базе ФАРа (уж не знаю, что это такое, но работает быстро).
Для перетаскивания там есть кнопки "Экспорт" и "Импорт". Спрашивает путь к файлу... :-)
Если несколько файлов помощи, рекомендую стразу после импорта проиндексировать.
Ну и там много нового появилось (в частности, получать помощь не из редактора, а из командной строки. Бывает надобно...)

2useven10
Posts: 4001
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

Макрос, реализующий функции плагина Active-Help

Post by 2useven10 »

bigvax, скорее всего: %FARPROFILE%\PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db
или/и %FARLOCALPROFILE%\PluginsData\4EBBEFC8-2084-4B7F-94C0-692CE136894D.db
4EBBEFC8-2084-4B7F-94C0-692CE136894D - это guid плагина luamacro.

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

2useven10 wrote:
Sun 24 Sep, 2017 21:31
bigvax, скорее всего: ...
Думаю, для миграции настроек на другой комп это не имеет большого значения (хотя интересно). Просто потому что "выдирать" нужные настройки оттуда не имеет смысла; легче выгрузить в файл и загрузить на другом компе.К тому же там при необходимости можно подправить пути (иногда это удобнее, чем настройку вызывать. Например, если файлы мигрировали на другой логический диск или в другой каталог с сохранением структуры). Но для "общей эрудиции" полезно, спасибо.

User avatar
bigvax
Posts: 20
Joined: Fri 02 Jun, 2006 17:18
Location: где-то во времени
Has thanked: 1 time
Been thanked: 1 time
Contact:

Макрос, реализующий функции плагина Active-Help

Post by bigvax »

buniak_a_h, спасибо!
Уже увидел кнопки Импорт/Экспорт в новой версии макроса - очень вовремя оказалось ;)
Всегда виртуально Ваш, BigVax

2useven10
Posts: 4001
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

Макрос, реализующий функции плагина Active-Help

Post by 2useven10 »

John Doe wrote:
Thu 07 Sep, 2017 13:01
В таком случае будем ждать решения тикета http://bugs.farmanager.com/view.php?id=3483
Не прошло и полгода.

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

Я видел, спасибо. Но пока не знаю, где посмотреть. В "ночной сборке" ФАРа - b262 ...

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

2useven10, Сорри. уже вышла b263 ... Наука не стоит ...

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

2useven10 wrote:
Thu 14 Dec, 2017 07:16
Не прошло и полгода.
Получил новый плагин (b263). Есть большой (!!!) минус: не реализованы wildcard-ы в <item>. Ну, тогда надо делать ещё одну команду: list (список всех файлов архива).
Просто стандартная ситуация: надо распаковать все текстовые файлы. Или все исходники. Ну, Вы понимаете...
Для моих целей эта версия пока бесполезна... :cry:

2useven10
Posts: 4001
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 179 times

Макрос, реализующий функции плагина Active-Help

Post by 2useven10 »

Интересно кто это писал ?
Не реализовано естественное желание распаковать не полностью весь архив, а только один (несколько по списку) файл.
Где здесь слово wildcard ?

buniak_a_h
Posts: 1399
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Макрос, реализующий функции плагина Active-Help

Post by buniak_a_h »

2useven10 wrote:
Thu 14 Dec, 2017 10:11
Где здесь слово wildcard ?
Ну, извините. Как-то посчитал, что термин "несколько по списку файлов" включает такие конструкции, как *.pas;*.txt;*.doc. Я же не прошу указания имени файла с использованием регэкспов (Что, кстати, наверняка многим было бы полезно). Просто я предполагаю, что если такого не предусмотрено в 7z.exe, то делать сложнее. Но такие комбинации, как я описал, срабатывают при вызове 7z.exe из командной строки; посему казалось естественным реализовать именно тот функционал, что предусмотрен командной строкой 7z.exe
Last edited by buniak_a_h on Thu 14 Dec, 2017 10:20, edited 1 time in total.

Post Reply

Return to “Обсуждение макросов”