True Template

Здесь можно обсудить ваш любимый плагин.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Sun 09 Mar, 2014 22:11

Latest post of the previous page:

Вот похоже в чем замес - когда я обрабатываю нажатие символа '{' в ProcessEditorInputW() и начинаю выполнять более сложную логику с раскрытием скобок и нажатием клавиши ввода через ECTL_PROCESSINPUT (с.м. код выше), то Far похоже начинает все выполнять как будто Shift еще зажат. Потому что если то же самое делать для символа '[' (для его ввода Shift не зажимается), то все работает отлично. Теперь бы понять, можно ли это обойти в плагине или без фикса в ядре Far не обойтись?

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Sun 09 Mar, 2014 23:32

Так и есть. Вот нацарапал примерчик, когда при перехвате ввода символа '{' мы пытаемся нажать в редакторе 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);
}

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Wed 12 Mar, 2014 20:24

Желающие могут ознакомится и потестить альфу True Template под Far 3.0.x (x86/x64). Но учтите, без фикса http://bugs.farmanager.com/view.php?id=2620 автораскрытие шаблонов в редакторе глючит!
Attachments
TrueTemplate.3.0.1.0.zip
(454.17 KiB) Downloaded 77 times

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Mon 17 Mar, 2014 19:09

Какая там сейчас процедура заливки на Plugring?

Игорь Юдинцев
Posts: 725
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 1 time

Re: True Template

Post by Игорь Юдинцев » Mon 17 Mar, 2014 21:08

Минимальную поддерживаемую версию FAR надо бы поправить.

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Mon 17 Mar, 2014 21:32

Подправлю. Пока худо-бедно работает в Far 3.0.3835. Выравнивание С++ скобок '{' и '}' глючит и русский тескст в автораскрывающихся шаблонах тоже. Поэтому прикрутил опцию "Отключить авто шаблоны в редакторе". Пока не переедем на новый движок RegExp будут такие артефакты.

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Tue 18 Mar, 2014 00:39

Логика с секциями Ident и Brackets это полная жопа. Пока я вижу два шага к её исправлению:

1) Выкинуть старый и глючный CRegExp и заюзать встроенный в Far RegExpControl. Надеюсь его функциональности хватит.
2) Разобраться что делает магия Ident и Brackets и переписать все это наконец по-человечески.

User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 2 times
Contact:

Re: True Template

Post by Alexey Samlyukov » Tue 18 Mar, 2014 14:37

>Какая там сейчас процедура заливки на Plugring?
все описано.
прав добавил.

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Tue 18 Mar, 2014 20:19

Спасибо! Плагин обновил и на плагринге.

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Sat 23 Aug, 2014 21:49

Выложил на гитхаб - https://github.com/chronoxor/TrueTemplate

User avatar
Wave
Posts: 1762
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 15 times

Re: True Template

Post by Wave » Tue 26 Aug, 2014 14:05

У меня из-за сабжа при открытии файлов вылетает фар. Сначала грохается колорер, потом по нарастающей.
4040x86+3.0.1.0
Пользуюсь ФАРом больше 20 лет © собирательный.

Игорь Юдинцев
Posts: 725
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 1 time

Re: True Template

Post by Игорь Юдинцев » Tue 26 Aug, 2014 14:25

Wave wrote:У меня из-за сабжа при открытии файлов вылетает фар. Сначала грохается колорер, потом по нарастающей.
4040x86+3.0.1.0
А такой вариант?
Attachments
true-tpl.dll.x86.zip
(96.31 KiB) Downloaded 57 times

tstr
Posts: 522
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 7 times
Been thanked: 6 times

Re: True Template

Post by tstr » Tue 26 Aug, 2014 15:25

А такой вариант?
Падает

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

User avatar
Wave
Posts: 1762
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 15 times

Re: True Template

Post by Wave » Tue 26 Aug, 2014 15:59

Либо падает, либо виснет при открытии с панелями и табличкой

Code: Select all

╔══════════ FarColorer ═══════════╗ 
║ Перезагрузка библиотеки схем... ║ 
╚═════════════════════════════════╝ 
P.s. Хотя нет, дождался, упало.
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Re: True Template

Post by 4ekucT » Tue 26 Aug, 2014 20:24

Wave wrote:У меня из-за сабжа при открытии файлов вылетает фар. Сначала грохается колорер, потом по нарастающей.
4040x86+3.0.1.0
Попробуй обновить плагин до 3.0.1.3

User avatar
Wave
Posts: 1762
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 15 times

Re: True Template

Post by Wave » Tue 26 Aug, 2014 20:40

Немного запутался. Мне казалось, что архив был последний скачаный с плагринга. Сейчас смотрю, у меня два бэкапа, 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. Пробовал и выгружать колорер, не выгружая тру темплейт — летели другие редакторные плагины и утягивали за собой ФАР.
Пользуюсь ФАРом больше 20 лет © собирательный.

Игорь Юдинцев
Posts: 725
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 1 time

Re: True Template

Post by Игорь Юдинцев » Tue 26 Aug, 2014 22:35

Wave,
как воспроизвести? 8.1, Far x86 4067, не падает.
UPD: удалил устаревшую DLL

Post Reply

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