Open z0hm opened 4 years ago
Выше 3 строки, 2-я недокрашивается. Текст в двойных кавычках отделяется 1 табуляцией.
влияние изменений 1.3.13 . можно увеличить maxblocksize для данного типа файла.
Здесь проблема не в размере блока, а необработкой ситуаций попадания на границы блока. Например имеем раскрашенный блок 300 символов, затем 301-й \s и затем нераскрашенный блок. - Вставляем на 301-ю позицию букву и остаток строки раскрасится.
Т.е. изменение размера блока проблему не решает - нужно изменять алгоритм.
Пример. Формируем строку в редакторе: 1, затем 298 пробелов, 300-я 1, пробел, 1, несколько пробелов, 1. - Поскольку 301-й пробел, то следующие за ним единцы голоубые, а не зелёные. Изменяем maxblocksize с 300 на 512 - изменений в расцветке нет, в том числе и после перезапуска фара с новым 512-ым размером блока.
Неожиданно - независимо от значения maxblocksize можно наблюдать пропадание раскраски остатка строки при \s на 301-й позиции. В чём легко убедиться вставляя-удаляя пробелы в позиции 290, например.
изменение maxblocksize помогает. применение новых настроек идет либо после перезапуска, либо после перезачитывания настроек. Надо бы поправить. То, что у вас не применилось после перезапуска - видимо не сохранилось значение.
это не ошибка алгоритма, скорее особенность костыля, который не дает на длинных строках привести к зависанию. для файлов с фиксированным синтаксисом, таким как языки программирования, он не влияет. т.к. там 300 символов в одном блоке - это не нормально. для текстовых , где основные проблемы с зависанием, оно помогает. но привносит такие проблемы. если такие файлы для ваших кейсов обычны, то надо подкрутить параметр. идеальное решение пока не получится сделать
Нет. maxblocksize=512 после перезапуска, изменений нет - после 300 символа 1 и 301-ого пробела остаток 2 единицы голубые. фар 5626 х86, новый из дистриба, в новой папке, новый чистый профиль.
после перезапуска проверьте значение maxblocksize в настройках. точно ли оно установлено?
Мне сложно об этом судить, но если после перезапуска фар и открытия файла 1.txt с нашей строкой из 4-х 1, вызывая колорер из редактора по F11 - FarColorer я вижу активную схему plain text, а в конфигурации plain text maxblocksize=512, то да, таки установлено )
исправил артефакт поведения - maxblocksize финальная граница для раскраски.
откатил изменения. на уровне парсинга сделать жестко границу сложно. Делать на уровне отображения - а надо ли ? мы уже распарсили , давай покажем ? или всё же делать "ровно" на всех уровнях?
НЕ жёстко это в каких границах? - 20-100% от maxblocksize? Ведь конструкции могут быть разными. Сколько придётся указывать с оверхэдом, чтобы таки раскрашивало как нужно пользователю?
Ожидается ли 1.3.0.31 с фиксами?
процент зависит от конкретного типа файла. Где то блоки , подпадающие под одну регулярку , могут быть большими, где-то маленькими. я бы предложить действовать так
Ожидается ли 1.3.0.31 с фиксами? а что именно там нужно?
Что именно там нужно? - Всё на что хватит сил :) Фиксы в первую очередь.
-) нужна конкретика, т.к. большая часть фиксов в 1.4 - это то, что сам наломал. Либо работа с новыми зависимостями, которых нет в 1.3
Разумеется только то, что реально полезно ветке 1.3. Конкретику выдать не готов - сталкиваюсь с разными нюансами, но время от времени не конспектируя их. Основное, что напрягает всех, это открыли файл в редакторе и он завис на раскраске - наверняка все хотят чтобы раскраска шла в фоне.
Пример: "аааа 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"