[ESC] Editor's settings changer — Изменение настроек редактора

Здесь можно обсудить ваш любимый плагин.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by Maximus5 »

Latest post of the previous page:

Код "блокировки" файла не смотрел, поэтому точно сказать не могу.
Esc ведь как-то "разлочивает" файл, чтобы фар мог его сохранить? В какой момент это происходит? Если по ProcessEditorEvent, то может оно не вызывается при сохранении через elevated-far?
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by zg »

Maximus5 wrote:Код "блокировки" файла не смотрел, поэтому точно сказать не могу.
Esc ведь как-то "разлочивает" файл, чтобы фар мог его сохранить? В какой момент это происходит? Если по ProcessEditorEvent, то может оно не вызывается при сохранении через elevated-far?
хе-хе. всё хуже. файл разлачивается в EE_SAVE, но потом залочивается в EE_REDRAW. как навскидку решить проблему без добавления EE_SAVED, в голову что-то не приходит :)
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by Kildor »

Вопрос.
Как-нибудь можно получить имя схемы используемой для текущего файла? Особенно из других плагинов?

Просто подумалось. У нас есть достаточно большое число плагинов, делающих +/- одно и тоже (свои настройки, свои макросы, своё автодополнения, в зависимости от файла). Хотелось бы не дублировать эти настройки, а выстроить более-менее связную систему. Варианта, откуда плагин может взять текущий тип файла — реально два, это тип файла [ESC], либо регион колорера. ESC вроде бы уже поддерживает подключения других плагинов, поэтому наверное проще было бы прикрутить такой функционал к нему.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by zg »

Kildor wrote:Как-нибудь можно получить имя схемы используемой для текущего файла? Особенно из других плагинов?
вроде как не сложно добавить в GetEditorSettings возврат имени и маски.
AnrDaemon
Posts: 93
Joined: Mon 14 Jun, 2010 20:25

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by AnrDaemon »

И опять будет дублирование функционала... Имя вовсе не обязательно определяет тип файла.
anpri
Posts: 11
Joined: Mon 18 Apr, 2005 21:58

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by anpri »

Проблема с плагином: Создаю файл 1.txt. Набираю первую строку. При выходе за конец строки (79) нажимаю пробел, и вместо сворачивания строки фар молча закрывается. У кого-то еще повторяется?
WS2008
Far 3.0.2340 x86
ESC 2.7.0 (build 0)
anpri
Posts: 11
Joined: Mon 18 Apr, 2005 21:58

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by anpri »

У всех все штатно работает? или плагином никто не пользуется? :)
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by t-rex »

fixed. непонятно вообще как оно раньше работало.
anpri
Posts: 11
Joined: Mon 18 Apr, 2005 21:58

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by anpri »

Спасибо. Теперь не падает.
t-rex wrote:непонятно вообще как оно раньше работало
Да, сейчас обнаружил, что в Far2 тоже падает (W2008).
Причем на ноуте (XP, Far2) постоянно и не один год использовал - не упало ни разу.
Hedin
Posts: 210
Joined: Thu 17 Mar, 2005 10:29
Has thanked: 4 times

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by Hedin »

Выложите, пожалуйста, бинарники для FAR3 x86 если есть у кого.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by Denis »

А можно как-нибудь в плагине узнать, что кодировка была явна задана юзером (плагином), а не выбрана Far'ом по умолчанию? Нужно, что бы после первой установки кодировки (через плагин), другие плагины не пытались её изменить.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by zg »

в чём бага-то?
Denis wrote:А можно как-нибудь в плагине узнать, что кодировка была явна задана юзером (плагином), а не выбрана Far'ом по умолчанию?
нет.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by Denis »

Один плагин (SQLiteDB) создаёт временный редактор (файл) с явным указанием кодировки (1200), а второй (ESC) её тут же меняет (на 1251). В результате первый после закрытия редактора пытается читать файл, ожидая 1200 - и обламывается, получая 1251.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by Denis »

А чей недочёт - если в конфиге у ESC прописана тип кодировки (table) 2, то и в редакторе у Far'a вместо настоящей кодировки пишется 2?
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Re: ESC: Editor's settings changer/ Изменение настроек редак

Post by Denis »

Думаю, что таки недочёт в ESC. Вот патч:

Code: Select all

diff --git i/ESC/src/esc.cpp w/ESC/src/esc.cpp
index 7d0bdff..baf4fbb 100644
--- i/ESC/src/esc.cpp
+++ w/ESC/src/esc.cpp
@@ -591,6 +591,14 @@ static int ProcessEditorEventInternal(int Event, void *Param, int EditorID)
             if(!done && nodedata.Table>0)
             {
               espar.iParam=nodedata.Table;
+
+              if (espar.iParam == 1)
+                espar.iParam=GetOEMCP();
+              else if (espar.iParam == 2)
+                espar.iParam=GetACP();
+              else
+                espar.iParam+=3;
+
               EditorControl(-1, ECTL_SETPARAM, 0, &espar);
             }
 
Post Reply

Return to “Обсуждение плагинов”