Page 15 of 19
Re: True Template
Posted: Sun 09 Mar, 2014 22:11
by 4ekucT
Latest post of the previous page:
Вот похоже в чем замес - когда я обрабатываю нажатие символа '{' в ProcessEditorInputW() и начинаю выполнять более сложную логику с раскрытием скобок и нажатием клавиши ввода через ECTL_PROCESSINPUT (с.м. код выше), то Far похоже начинает все выполнять как будто Shift еще зажат. Потому что если то же самое делать для символа '[' (для его ввода Shift не зажимается), то все работает отлично. Теперь бы понять, можно ли это обойти в плагине или без фикса в ядре Far не обойтись?
Re: True Template
Posted: Sun 09 Mar, 2014 23:32
by 4ekucT
Так и есть. Вот нацарапал примерчик, когда при перехвате ввода символа '{' мы пытаемся нажать в редакторе Enter, а получается ShiftEnter и вместо перехода на новую строку получаем вставку в текущую позицию имени редактируемого файла:
Code: Select all
intptr_t WINAPI ProcessEditorInputW(const struct ProcessEditorInputInfo *Info)
{
if
(
(Info->Rec.EventType != KEY_EVENT && Info->Rec.EventType != 0x8001) ||
Info->Rec.Event.KeyEvent.bKeyDown == 0
) return (PROCESS_EVENT);
if ((Info->Rec.EventType == KEY_EVENT) && (Info->Rec.Event.KeyEvent.uChar.UnicodeChar == L'{'))
{
INPUT_RECORD tr;
tr.EventType = KEY_EVENT;
tr.Event.KeyEvent.bKeyDown = true;
tr.Event.KeyEvent.wRepeatCount = 1;
tr.Event.KeyEvent.wVirtualKeyCode = VK_RETURN;
tr.Event.KeyEvent.wVirtualScanCode = 0;
tr.Event.KeyEvent.uChar.UnicodeChar = 0;
tr.Event.KeyEvent.dwControlKeyState = 0;
::Info.EditorControl (-1, ECTL_PROCESSINPUT, 0, &tr);
return IGNORE_EVENT;
}
return (PROCESS_EVENT);
}
Re: True Template
Posted: Wed 12 Mar, 2014 20:24
by 4ekucT
Желающие могут ознакомится и потестить альфу True Template под Far 3.0.x (x86/x64). Но учтите, без фикса
http://bugs.farmanager.com/view.php?id=2620 автораскрытие шаблонов в редакторе глючит!
Re: True Template
Posted: Mon 17 Mar, 2014 19:09
by 4ekucT
Какая там сейчас процедура заливки на Plugring?
Re: True Template
Posted: Mon 17 Mar, 2014 21:08
by Игорь Юдинцев
Минимальную поддерживаемую версию FAR надо бы поправить.
Re: True Template
Posted: Mon 17 Mar, 2014 21:32
by 4ekucT
Подправлю. Пока худо-бедно работает в Far 3.0.3835. Выравнивание С++ скобок '{' и '}' глючит и русский тескст в автораскрывающихся шаблонах тоже. Поэтому прикрутил опцию "Отключить авто шаблоны в редакторе". Пока не переедем на новый движок RegExp будут такие артефакты.
Re: True Template
Posted: Tue 18 Mar, 2014 00:39
by 4ekucT
Логика с секциями Ident и Brackets это полная жопа. Пока я вижу два шага к её исправлению:
1) Выкинуть старый и глючный CRegExp и заюзать встроенный в Far RegExpControl. Надеюсь его функциональности хватит.
2) Разобраться что делает магия Ident и Brackets и переписать все это наконец по-человечески.
Re: True Template
Posted: Tue 18 Mar, 2014 14:37
by Alexey Samlyukov
>Какая там сейчас процедура заливки на Plugring?
все описано.
прав добавил.
Re: True Template
Posted: Tue 18 Mar, 2014 20:19
by 4ekucT
Спасибо! Плагин обновил и на плагринге.
Re: True Template
Posted: Sat 23 Aug, 2014 21:49
by 4ekucT
Re: True Template
Posted: Tue 26 Aug, 2014 14:05
by Wave
У меня из-за сабжа при открытии файлов вылетает фар. Сначала грохается колорер, потом по нарастающей.
4040x86+3.0.1.0
Re: True Template
Posted: Tue 26 Aug, 2014 14:25
by Игорь Юдинцев
Wave wrote:У меня из-за сабжа при открытии файлов вылетает фар. Сначала грохается колорер, потом по нарастающей.
4040x86+3.0.1.0
А такой вариант?
Re: True Template
Posted: Tue 26 Aug, 2014 15:25
by tstr
Re: True Template
Posted: Tue 26 Aug, 2014 15:59
by Wave
Либо падает, либо виснет при открытии с панелями и табличкой
Code: Select all
╔══════════ FarColorer ═══════════╗
║ Перезагрузка библиотеки схем... ║
╚═════════════════════════════════╝
P.s. Хотя нет, дождался, упало.
Re: True Template
Posted: Tue 26 Aug, 2014 20:24
by 4ekucT
Wave wrote:У меня из-за сабжа при открытии файлов вылетает фар. Сначала грохается колорер, потом по нарастающей.
4040x86+3.0.1.0
Попробуй обновить плагин до 3.0.1.3
Re: True Template
Posted: Tue 26 Aug, 2014 20:40
by Wave
Немного запутался. Мне казалось, что архив был последний скачаный с плагринга. Сейчас смотрю, у меня два бэкапа, 3.0.1.2 и 3.0.1.3.
Только что с плагринга скачал уже точно 3.0.1.3, для чистоты эксперимента.
Открываю файл, получаю
Code: Select all
Исключение: Нарушение доступа (чтение из 0x00000096)
Адрес: 0x04A815D5
Функция: ProcessEditorInputW
Модуль: Shells\FAR\Plugins\Editor\FarColorer\bin\colorer.dll
за ним
Code: Select all
Исключение: Переполнение стека
Адрес: 0x04B6C394
Функция:
Модуль: D:\TOOLS\Shells\FAR\Far.exe
и всё. Хотя в прошлый раз ещё и гуевый месседжбокс появлялся.
P.s. Пробовал и выгружать колорер, не выгружая тру темплейт — летели другие редакторные плагины и утягивали за собой ФАР.