Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.3.14.0 недокрашивает текст на НЕ длинных строках #33

Open
z0hm opened this issue Jun 22, 2020 · 17 comments
Assignees
Labels

Comments

@z0hm
Copy link

z0hm commented Jun 22, 2020

Пример:
"аааа aaaaaaaa aa00 000/00a00 00a аааа aaa" "аааааа аааа aaaaaaaa aa00 000/00a00 00a" "аааааа аааааааа aaaaaaaa aa00 000/00a00 00a ааа аааааааа ааааааааааа. аааааа аааааааааааа: ааааа." "аааааа аааа aaaaaaaa aa00 000/00a00 00a ааа аааааааа ааааааааааа. аааааа аааааааааааа: ааааа." "00.0" "0" "00" "aaaaa_aaaaaaaa_aa00_000_00_a00_00a_aaa_aa" "aaaaa_aaaaaaaa_aa00.aaa" "aaaaa-aaaaaaaa-aa00.aaa" "00" "a000" "" "ааааа" "" "aaaaaaaa" "000" "00" "00" "аааааааа" "аааа" "00,00" "000"
"аааа aaaaaaaa aa00 000/00a00 00a аааа aaa" "аааааа аааа aaaaaaaa aa00 000/00a00 00a" "аааааа аааааааа aaaaaaaa aa00 000/00a00 00a ааа аааааааа ааааааааааа. аааааа аааааааааааа: ааааа." "аааааа аааа aaaaaaaa aa00 000/00a00 00a ааа аааааааа ааааааааааа. аааааа аааааааааааа: ааааа." "00" "0" "0" "aaaaa_aaaaaaaa_aa00_000_00_a00_00a_aaa_aa" "aaaaa_aaaaaaaa_aa00.aaa" "aaaaa-aaaaaaaa-aa00.aaa" "0" "a000" "" "ааааа" "" "aaaaaaaa" "000" "00" "00" "аааааааа" "аааа" "00,00" "000"
"аааа aaaaaaaa aa00 000/00a00 000a аааа aaa" "аааааа аааа aaaaaaaa aa00 000/00a00 000a" "аааааа аааааааа aaaaaaaa aa00 000/00a00 000a ааа аааааааа ааааааааааа. аааааа аааааааааааа: ааааа." "аааааа аааа aaaaaaaa aa00 000/00a00 000a ааа аааааааа ааааааааааа. аааааа аааааааааааа: ааааа." "00.0" "0" "0" "aaaaa_aaaaaaaa_aa00_000_00_a00_000a_aaa_aa" "aaaaa_aaaaaaaa_aa00.aaa" "aaaaa-aaaaaaaa-aa00.aaa" "0" "a000" "" "ааааа" "" "aaaaaaaa" "000" "00" "00" "аааааааа" "аааа" "00,00" "000"

@z0hm
Copy link
Author

z0hm commented Jun 22, 2020

Выше 3 строки, 2-я недокрашивается. Текст в двойных кавычках отделяется 1 табуляцией.

@ctapmex ctapmex self-assigned this Jun 24, 2020
@ctapmex
Copy link
Member

ctapmex commented Jun 24, 2020

влияние изменений 1.3.13 . можно увеличить maxblocksize для данного типа файла.

@z0hm
Copy link
Author

z0hm commented Jun 25, 2020

Здесь проблема не в размере блока, а необработкой ситуаций попадания на границы блока.
Например имеем раскрашенный блок 300 символов, затем 301-й \s и затем нераскрашенный блок. - Вставляем на 301-ю позицию букву и остаток строки раскрасится.

@z0hm
Copy link
Author

z0hm commented Jun 25, 2020

Т.е. изменение размера блока проблему не решает - нужно изменять алгоритм.

@z0hm
Copy link
Author

z0hm commented Jun 25, 2020

Пример. Формируем строку в редакторе: 1, затем 298 пробелов, 300-я 1, пробел, 1, несколько пробелов, 1. - Поскольку 301-й пробел, то следующие за ним единцы голоубые, а не зелёные. Изменяем maxblocksize с 300 на 512 - изменений в расцветке нет, в том числе и после перезапуска фара с новым 512-ым размером блока.

Неожиданно - независимо от значения maxblocksize можно наблюдать пропадание раскраски остатка строки при \s на 301-й позиции. В чём легко убедиться вставляя-удаляя пробелы в позиции 290, например.

@ctapmex
Copy link
Member

ctapmex commented Jun 25, 2020

изменение maxblocksize помогает. применение новых настроек идет либо после перезапуска, либо после перезачитывания настроек. Надо бы поправить. То, что у вас не применилось после перезапуска - видимо не сохранилось значение.

это не ошибка алгоритма, скорее особенность костыля, который не дает на длинных строках привести к зависанию. для файлов с фиксированным синтаксисом, таким как языки программирования, он не влияет. т.к. там 300 символов в одном блоке - это не нормально. для текстовых , где основные проблемы с зависанием, оно помогает. но привносит такие проблемы. если такие файлы для ваших кейсов обычны, то надо подкрутить параметр.
идеальное решение пока не получится сделать

@z0hm
Copy link
Author

z0hm commented Jun 25, 2020

Нет. maxblocksize=512 после перезапуска, изменений нет - после 300 символа 1 и 301-ого пробела остаток 2 единицы голубые. фар 5626 х86, новый из дистриба, в новой папке, новый чистый профиль.

@ctapmex
Copy link
Member

ctapmex commented Jun 25, 2020

после перезапуска проверьте значение maxblocksize в настройках. точно ли оно установлено?

@z0hm
Copy link
Author

z0hm commented Jun 25, 2020

Мне сложно об этом судить, но если после перезапуска фар и открытия файла 1.txt с нашей строкой из 4-х 1, вызывая колорер из редактора по F11 - FarColorer я вижу активную схему plain text, а в конфигурации plain text maxblocksize=512, то да, таки установлено )

@ctapmex ctapmex added the bug label May 6, 2021
@ctapmex
Copy link
Member

ctapmex commented Feb 16, 2024

исправил артефакт поведения - maxblocksize финальная граница для раскраски.

@ctapmex ctapmex closed this as completed Feb 16, 2024
@ctapmex
Copy link
Member

ctapmex commented Feb 17, 2024

откатил изменения. на уровне парсинга сделать жестко границу сложно. Делать на уровне отображения - а надо ли ? мы уже распарсили , давай покажем ? или всё же делать "ровно" на всех уровнях?

@ctapmex ctapmex reopened this Feb 17, 2024
@z0hm
Copy link
Author

z0hm commented Feb 17, 2024

НЕ жёстко это в каких границах? - 20-100% от maxblocksize? Ведь конструкции могут быть разными. Сколько придётся указывать с оверхэдом, чтобы таки раскрашивало как нужно пользователю?

Ожидается ли 1.3.0.31 с фиксами?

@ctapmex
Copy link
Member

ctapmex commented Feb 17, 2024

процент зависит от конкретного типа файла. Где то блоки , подпадающие под одну регулярку , могут быть большими, где-то маленькими.
я бы предложить действовать так

  1. выставить maxblocksize по умолчанию очень большим
  2. для конкретных схем, типа js , где часто возникают проблемы с разбором, выставить его меньше

Ожидается ли 1.3.0.31 с фиксами?
а что именно там нужно?

@z0hm
Copy link
Author

z0hm commented Feb 17, 2024

Что именно там нужно? - Всё на что хватит сил :) Фиксы в первую очередь.

@ctapmex
Copy link
Member

ctapmex commented Feb 17, 2024

-) нужна конкретика, т.к. большая часть фиксов в 1.4 - это то, что сам наломал. Либо работа с новыми зависимостями, которых нет в 1.3

@z0hm
Copy link
Author

z0hm commented Feb 17, 2024

Разумеется только то, что реально полезно ветке 1.3. Конкретику выдать не готов - сталкиваюсь с разными нюансами, но время от времени не конспектируя их. Основное, что напрягает всех, это открыли файл в редакторе и он завис на раскраске - наверняка все хотят чтобы раскраска шла в фоне.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants