[MoonScript] Подсветка кириллицы и пробельных символов
[MoonScript] Подсветка кириллицы и пробельных символов
Исходный код: https://forum.ru-board.com/topic.cgi?fo ... it=1&m=1#1
Назначение - подсветить кириллицу и изменить цвет , отображаемых FAR. Для комфортного редактирования текста, пробельные символы раскрашиваются не голубым, а светло-синим на синем - так они не сливаются с текстом. Кириллица раскрашивается максимально заметно - жёлтым по красному.
:!: Улучшения (ваши) в коде скрипта принимаются и даже приветствуются.
Код скрипта раскрашивает только текст, отображённый в окне редактора, поэтому скрипт не "зависает" на длинных строках. Вызывается скрипт в окне редактора по нажатию функциональной клавиши F3. Для более детальной информации смотрите код скрипта.
Скрипт-прототип
Last edited by John Doe on Sun 10 Nov, 2019 12:06, edited 1 time in total.
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Latest post of the previous page:
фар отдаёт ссылку на внутренние данные, колорер работает с ними, луафар — копирует себе. в принципе было бы логично расширить.а зачем вообще нужно красить файлы со строками в 11mb? я конечно втречал в жизни xml-ы размером в пару мегабайт в одну строку, но от раскраски там было мало толку.
Re: [MoonScript] Подсветка кириллицы и пробельных символов
zg
ну вот у меня xml по 11МБ. Открываешь в редакторе, а тут засада - колорер-то включён! Надо не забывать перед открытием таких файлов его отключать, иначе приходится пристреливать фар со всеми вытекающими. Можно попытаться отключающий скрипт наколбасить, но мутно это как-то.
Есть ли у редактора событие - изменение содержания видимой области (окна), при котором подвижка курсора внутри этой области это событие не вызывает?
Сабж перекрашивает символы даже при сдвиге курсора без сдвига экрана.
ну вот у меня xml по 11МБ. Открываешь в редакторе, а тут засада - колорер-то включён! Надо не забывать перед открытием таких файлов его отключать, иначе приходится пристреливать фар со всеми вытекающими. Можно попытаться отключающий скрипт наколбасить, но мутно это как-то.
Есть ли у редактора событие - изменение содержания видимой области (окна), при котором подвижка курсора внутри этой области это событие не вызывает?
Сабж перекрашивает символы даже при сдвиге курсора без сдвига экрана.
- zg
- zero-gravity
- Posts: 6036
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: [MoonScript] Подсветка кириллицы и пробельных символов
для подсветки парных скобок.AleXH wrote:Сабж перекрашивает символы даже при сдвиге курсора без сдвига экрана.
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Подсветка парных скобок также не вызывает сдвига экрана, а поскольку она работает всегда поверху, то зачем тогда перекрашивать весь экран - чтобы знать цвет скобок до того? - Имхо слишком высокая цена.zg wrote:для подсветки парных скобок
Может лучше сделать так?:
При сдвиге курсора внутри видимого окна:
Проверяем статус, если true, то восстанавливаем раскраску одного или 2-х символов (скобок), сбрасываем статус в false. Сдвигаем курсор. Проверяем наличие скобки под курсором. Если скобка есть, то запоминаем её данные: координаты, цвет (фона также), устанавливаем статус в true. Перекрасили. Ищем парную, опять же только в пределах видимого окна, если нашли, то запомнили её данные. Перекрасили.
Или есть подводные камни?
Колорер подлагивает только когда сдвигается экран, внутри экрана курсор двигается без лагов.
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Изменил часть кода - Открываем скрипт -
Но если курсор поместить возле правой границы экрана и сдвинуть его вправо, параллельно сдвинув вправо экран, то слева видим, как первые символы окрашиваются в пробельный цвет. - Почему? Согласно доки EditorInfo.LeftPos содержит порядковый номер символа в строке редактора, отображаемого на экране самым первым слева
Строку длиной в 128КБ скрипт с обработкой красит 4 сек, предыдущий вариант красил 30 сек.
Но если курсор поместить возле правой границы экрана и сдвинуть его вправо, параллельно сдвинув вправо экран, то слева видим, как первые символы окрашиваются в пробельный цвет. - Почему? Согласно доки EditorInfo.LeftPos содержит порядковый номер символа в строке редактора, отображаемого на экране самым первым слева
Строку длиной в 128КБ скрипт с обработкой красит 4 сек, предыдущий вариант красил 30 сек.
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Всё, победил все косяки, теперь работает шустро и так как надо. На первой странице обновил код.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Почему не успользуете
И неплохо бы дать ссылку на скрипт, послуживший основой для вашего.
[codebox=lua file=untitled.lua]
?И неплохо бы дать ссылку на скрипт, послуживший основой для вашего.
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Он не мой, он zg и ваш, John Doe, без вашей команды его бы не было, я же так, мимо проходил.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
[MoonScript] Подсветка кириллицы и пробельных символов
Код скрипта сейчас заключен в теге
Поменяйте на
[code][/code]
.Поменяйте на
[codebox=lua file=untitled.lua][/codebox]
и увидите разницу.- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Зачем же в спойлер?
1. Создаётся впечатление будто подсвечиваются только те символы кириллицы, которые сходны с латинскими по начертанию.
2. Создаётся впечатление, будто скрипт интеллектуально отображает именно какие-то "левые" символы.
На самом деле отображаются ВСЕ пробельные символы, причём делает это вовсе не скрипт, а сам фар, и о включении соответствующей опции в тексте нет ни слова.
Что такое "пробельные символы" тоже надо описать. Скриншота недостаточно (и не вижу на нём табуляций)
Из описания не вполне ясно чем занимается скрипт.Назначение - узреть кириллицу, "косящую" под латиницу и "левые" пробельные символы.
1. Создаётся впечатление будто подсвечиваются только те символы кириллицы, которые сходны с латинскими по начертанию.
2. Создаётся впечатление, будто скрипт интеллектуально отображает именно какие-то "левые" символы.
На самом деле отображаются ВСЕ пробельные символы, причём делает это вовсе не скрипт, а сам фар, и о включении соответствующей опции в тексте нет ни слова.
Что такое "пробельные символы" тоже надо описать. Скриншота недостаточно (и не вижу на нём табуляций)
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: [MoonScript] Подсветка кириллицы и пробельных символов
Не всё исправлено:
P.S.
Ещё надо указать в описании как пользоваться скриптом.
P.P.S.
Гуид поменяйте.
И обращаю ваше внимание, что включать соответствующую опцию можно програмно.John Doe wrote:На самом деле отображаются ВСЕ пробельные символы, причём делает это вовсе не скрипт, а сам фар, и о включении соответствующей опции в тексте нет ни слова.
P.S.
Ещё надо указать в описании как пользоваться скриптом.
P.P.S.
Гуид поменяйте.