Как читать far:config из макроса/плагина?

Здесь обсуждается всё, что касается макросов.
Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Как читать far:config из макроса/плагина?

Post by Acerbic »

Latest post of the previous page:

итак, посоветуйте хак что ли, читать/писать закрытые настройки far:config из плагина. Конкретно хочу "Cmdline.PromptFormat"
Yegor
Posts: 1329
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Re: Как читать far:config из макроса/плагина?

Post by Yegor »

Читать напрямую из generalconfig.db
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Как читать far:config из макроса/плагина?

Post by Shmuel »

Acerbic wrote:итак, посоветуйте хак что ли, читать/писать закрытые настройки far:config из плагина. Конкретно хочу "Cmdline.PromptFormat"

Code: Select all

lm:post far.Message(Far.Cfg_Get("Cmdline","PromptFormat"))
1. Писать таким образом нельзя, только читать.
2. Закрытые настройки не являются частью API плагинов и их формат может измениться в один прекрасный день без предупреждения.
Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Как читать far:config из макроса/плагина?

Post by Acerbic »

Shmuel wrote:

Code: Select all

lm:post far.Message(Far.Cfg_Get("Cmdline","PromptFormat"))
1. Писать таким образом нельзя, только читать.
Да про это я в курсе. Хотелось бы писать тоже.
Shmuel wrote: 2. Закрытые настройки не являются частью API плагинов и их формат может измениться в один прекрасный день без предупреждения.
И пусть не являются, пусть могут быть без предупреждения изменены. Я предпочту иметь плагин который работает до какого-то неизвестного момента в будущем, а потом потребует исправлений, чем вообще не иметь этого плагина. Разве не логично? Всё равно стоит открыть.

Я предпочёл бы конечно иметь "легальную" возможность писать-читать, но за неимением таковой спрашиваю, может у людей есть хак какой. Типа сканера памяти или хуки там хитрые - что-то за пределами моих возможностей, но вдруг кто-то уже столкнулся и решил вопрос?
User avatar
zg
zero-gravity
Posts: 6036
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Как читать far:config из макроса/плагина?

Post by zg »

Acerbic wrote:Хотелось бы писать тоже.
зачем?
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Как читать far:config из макроса/плагина?

Post by Shmuel »

Acerbic wrote:Я предпочёл бы конечно иметь "легальную" возможность писать-читать, но за неимением таковой спрашиваю, может у людей есть хак какой. Типа сканера памяти или хуки там хитрые - что-то за пределами моих возможностей, но вдруг кто-то уже столкнулся и решил вопрос?
Ну, например, можно действовать в этом направлении.
Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Как читать far:config из макроса/плагина?

Post by Acerbic »

zg wrote:
Acerbic wrote:Хотелось бы писать тоже.
зачем?
Была идея реализовать через Cmdline.PromptFormat
Динамическое усечение приглашения для ввода по мере набора команды в комстроке.
т.е. если пустая строка ввода выглядит как

Code: Select all

D:\...am Files\Far3_x86\Plugins\FastFind Enhanced>                                                   ↑
то при наборе команды при приближении к границе, скажем за 5 символов от края,

Code: Select all

D:\...am Files\Far3_x86\Plugins\FastFind Enhanced>hackpentagon.exe -silent -overridenukes 1 -targ    ↑
приглашение начинает усекаться, вплоть до одного символа ">"

Code: Select all

>hackpentagon.exe -silent -overridenukes 1 -target "peopleihate.lst" -broadcast "dienowbastards.avi" ↑
и уже если после этого не хватает места, тогда прокрутка (лучше бы, конечно, поднять панели на 1 строчку вверх, и писать команду с переносом, на 2х строках, но это вообще уже запредельная мечта).
Shmuel wrote:Ну, например, можно действовать в этом направлении.
топик идёт по кругу. Этот вариант я счёл безблагодатным в самом первом посте - БД не отражает текущее состояние FAR.
User avatar
zg
zero-gravity
Posts: 6036
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Как читать far:config из макроса/плагина?

Post by zg »

Acerbic wrote:Была идея реализовать через Cmdline.PromptFormat
Динамическое усечение приглашения для ввода по мере набора команды в комстроке.
это не будет работать. приглашение не перечитывается после ввода каждого символа.
Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Как читать far:config из макроса/плагина?

Post by Acerbic »

zg wrote:это не будет работать. приглашение не перечитывается после ввода каждого символа.
Сколько негатива. :ROFL:

Вот я запустил сканер памяти, навострил его на фаровский процесс и нашёл в нём строку, содержащую этот PromptFormat и подредактировал - на следующем же вводе в комстроку подхватилось и новое приглашение стало видно. Вообще же, как я заметил, приглашение обновляется если и не на каждый ввод, то на каждый 3й как минимум. Уж наверняка - когда его перерисовка требуется явно, скажем, при смене пути, или после того, как был отрисован диалог. Вот кстати и решение: буду рисовать бессодержательный пустой диалог без подложки и сразу закрывать его, когда потребуется обновить ком строку. Или вдруг окажется, что вызов RedrawPanel обновляет и комстроку. Короче, решаемо.
User avatar
zg
zero-gravity
Posts: 6036
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Как читать far:config из макроса/плагина?

Post by zg »

Acerbic wrote:Вообще же, как я заметил, приглашение обновляется если и не на каждый ввод, то на каждый 3й как минимум.
если происходит только ввод, т.е. не срабатывает автодополнение, в промежутках не показывается диалоги и т.д., не гасятся показываются панели, то приглашение не обновляется вообще, даже при скролинге командной строки.
Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Как читать far:config из макроса/плагина?

Post by Acerbic »

суть в том, что это обходимые препятствия.
User avatar
zg
zero-gravity
Posts: 6036
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Как читать far:config из макроса/плагина?

Post by zg »

тут всё отвечено. тему закрываю.
Locked

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