View Issue Details

IDProjectCategoryView StatusLast Update
0003696PluginsColorerpublic2019-01-24 10:11
Reportergrnt666Assigned To 
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionduplicate 
Platformx64OSWindowsOS Version7
Product Version3.0 
Target VersionFixed in Version3.0 
Summary0003696: В последних билдах FAR 3 раскрашиваются первые 6000 строк текстового файла, остальная часть файла не докрашивается в фоне.
DescriptionПолагаю данный пост нужно адресовать Алексею Добрунову (AKA ctapmex) - разработчику Far Colorer.

Давно замечал и очень хотел бы помочь исправить ошибку Far Colorer, которая появилась в Far 3 (начиная с некоторого билда).
Ошибка упоминается в следующих сообщениях:

0003260: Очень медленное раскрашивание больших файлов. в последних билдах раскрашиваются первые 6000 строк
https://bugs.farmanager.com/view.php?id=3260

Здесь не совсем точно описан баг. Если текстовый файл открывается в редакторе на позиции, большей 6000 строк, то файл не раскрашивается, т.е. его синтаксис не подсвечивается.
Если же пролистать файл назад до 6000-й позиции (например, клавишей PgUp), то файл подсветится. При этом если его листать вниз при помощи PgDn (ниже 6000-й строки),
подсветка сохранится. Но если же нажать CtrllEnd, то подсветка - слетит, и надо снова перемещаться вверх клавишей PgUp до 6000 позиции,чтобы подсветка появилась. (Текущая позиция редактирования сохраняется при закрытии файла.)

А если, например, текстовый файл открыть повторно - если при открытии текущая позиция редактирования >6000 строки, то подсветки снова нет, и чтобы она появилась надо листать файл назад - снова до 6000 позиции.

Если в FAR 2 надо было подождать, пока не "подсветится" весь файл, то FAR 3 можно ждать очень долго, и ничего не произойдет.
Steps To Reproduce1. Открыть любой текстовый файл >6000 строк в редакторе FAR 3 и пролистать в конец (Ctrl-PgDn), убедиться, что подсветки синтаксиса нет. Закрыть редактор.

2. Открыть файл в редакторе повторно на текущей позиции >6000 строки, убедиться, что подсветки синтаксиса - нет.
Additional InformationНа форуме писалось про события KEY_IDLE и KEY_NONE - плагин, видимо, не успевал отработать в ту паузу, которая ему предоставлялась.

Вы еще писали про Colorer в FAR 2 (видимо про один из старых билдов FAR и Colorer 1.0.3, если не ошибаюсь)

https://forum.farmanager.com/viewtopic.php?f=5&t=1573&p=70709&hilit=Colorer+6000#p70709
> ctapmex » Чт 21 окт, 2010 15:33

> Maximus5 писал(а):
> Баг. Файл 9922 строк. Открывается редактор (сохраненная позиция) на 6622 строке. Колорер НЕ красит. Ждать можно до посинения.

> в идеале бы этот файлик и какая свзяка по битности фара и винды.
> тут сработал "механизм" защиты от stack overflow , который эксперементальный.

В качестве воркэраунда использовал параметр backparse в файле
.\Far 3.0\Plugins\FarColorer\bin\hrcsettings.xml

backparse=6000

https://forum.farmanager.com/viewtopic.php?style=3&t=10056

Параметр backparse - это то число строк, которое плагин красит сразу. По умолчанию в hrcsettings.xml backparse=6000. Сделал его равным 25000.
(У меня большинство исходников не превышают 10000 строк, но подобное поведение плагина раздражает, если файл больше 6000 строк.)

Но это - не решение проблемы. Хотелось бы по-нормальному исправить баг, чтобы плагин работал как FAR 2 - докрашивал бы остальную часть файла в фоне.
Новый релиз FAR 3 (2019) вышел, но этот баг никто не исправил!

Думаю "копать" нужно в направлении исключения - stack overflow, из-за которого Colorer вылетает.
Как его поймать в отладке? Как отключить механизм обработки исключений? Пробовал увеличить стек при компоновке - не помогло.
Может быть в sqlite3 что-нибудь подправить или увеличить?

Если есть какие-нибудь идеи и соображения, готов помочь протестировать. Например, погонять тестовый билд фара на своих файлах. Пожалуйста, пишите! Плагин - хороший, хотелось бы, чтобы он функционировал в FAR 3!

С уважением,
Атоян Грант
gatoyan@gmail.com
TagsNo tags attached.

Relationships

duplicate of 0002972 closed Colorer начинает работать только после дополнительных нажатий 

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2019-01-23 19:14 grnt666 New Issue
2019-01-23 19:14 grnt666 Issue generated from: 0003260
2019-01-24 10:10 JohnDoe Relationship added duplicate of 0002972
2019-01-24 10:11 JohnDoe Status new => closed
2019-01-24 10:11 JohnDoe Resolution open => duplicate
2019-01-24 10:11 JohnDoe Fixed in Version => 3.0