Page 15 of 17

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
Выложил на гитхаб - https://github.com/chronoxor/TrueTemplate

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
А такой вариант?
Падает

Тут о этом писал:
http://forum.farmanager.com/viewtopic.p ... 32#p121499

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. Пробовал и выгружать колорер, не выгружая тру темплейт — летели другие редакторные плагины и утягивали за собой ФАР.

Re: True Template

Posted: Tue 26 Aug, 2014 22:35
by Игорь Юдинцев
Wave,
как воспроизвести? 8.1, Far x86 4067, не падает.
UPD: удалил устаревшую DLL