Подсветка изменённых/ добавленных строк
Подсветка изменённых/ добавленных строк
Есть предложение по модернизации COLORER-a. Предлагал его еще Игорю Русских, но у него "не дошли руки". Идея заключается в реализации подсветки/выделения/пометки новых/отредактированных строк в редакторе. Аналогично тому как это было сделано в известном редакторе MultiEdit. Для версии 1.7хх вроде был отдельный плагин реализующий этот функционал, но хотелось-бы получить его и в колорере.
- HaRT
- Moderator
- Posts: 10860
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Идея здравая, но почему в Колорере? Он ведь в основном для синтаксической раскраски, а остальное — мелкие плюшки. На мой взгляд, такой фиче самое место в плагине Visualizer.Dmitry68 wrote:хотелось-бы получить его и в колорере.
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Если ей где то и есть место - то только в ядре FAR. Вряд ли какой плагин сможет корректно отследить диапазоны измененных строк.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
А мне кажется, что все связанное с раскраской/выделением логично было бы объеденить в одном плагине, чтобы избежать возможных накладок, когда два (и более) плагина занимаются одним по сути делом - изменением цвета текста/фона.HaRT wrote: Идея здравая, но почему в Колорере? Он ведь в основном для синтаксической раскраски, а остальное — мелкие плюшки. На мой взгляд, такой фиче самое место в плагине Visualizer.
- HaRT
- Moderator
- Posts: 10860
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Это совершенно не масштабируемый взгляд на вопрос, объединяющий функциональность по чисто формальному признаку. По факту уже есть полно плагинов, которые красят текст и фон, и как раз в последнее время наметились цивилизованные пути их сосуществования.Dmitry68 wrote:мне кажется, что все связанное с раскраской/выделением логично было бы объеденить в одном плагине, чтобы избежать возможных накладок, когда два (и более) плагина занимаются одним по сути делом - изменением цвета текста/фона.
Каждый плагин должен заниматься своим делом. Впрочем, к счастью, решающее слово за авторами соответствующих плагинов. Хотя никто не мешает и вовсе отдельный написать.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Согласен. Перенести функционал в ядро ФАР-а - идеальное решение, но это уже вопрос к разработчикам. А для того, чтобы корректно отслеживать номера измененных строк (в варианте плагина), могу предложить вариант решения задачи "в лоб". Можно было-бы при первой коррекции файла создавать его копию и уже с ней и сравнивать есть изменение в строке или нет.Max Rusov wrote:Если ей где то и есть место - то только в ядре FAR. Вряд ли какой плагин сможет корректно отследить диапазоны измененных строк.
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
И я о том же. Главное "цивилизованное сосуществование". И определения четких приоритетов за каким плагином в раскраске текста "последнее слово". Иначе может быть путаница: для колорера - это одна "категория раскраски", а для "плагина подсветки новых строк" совсем другая - в результате раскраска может получится абсолютно некорректная.HaRT wrote:По факту уже есть полно плагинов, которые красят текст и фон, и как раз в последнее время наметились цивилизованные пути их сосуществования.
И, кстати, не напомните мне плагины (если их полно) для расцветки редактора ФАРа (желательно 3-ей версии), которые корректно работают на пару с колорером. На моей памяти, вроде, был всего один (кроме колорера) для расцветки СИ-шного синтаксиса.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Глупость.Dmitry68 wrote:Можно было-бы при первой коррекции файла создавать его копию и уже с ней и сравнивать есть изменение в строке или нет.
EdtFind, RightWordsDmitry68 wrote:И, кстати, не напомните мне плагины (если их полно) для расцветки редактора ФАРа (желательно 3-ей версии), которые корректно работают на пару с колорером
Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.
Я не программист и внутреннюю кухню ФАРа не представляю. Предложил первое, что пришло в голову (я так и написал, что предложил решение "в лоб"). А как реализовывать в жизнь - дело разработчика.Max Rusov wrote:Глупость.Dmitry68 wrote:Можно было-бы при первой коррекции файла создавать его копию и уже с ней и сравнивать есть изменение в строке или нет.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: Подсветка изменённых/ добавленных строк
Ну, обычная логика то должна присутствовать. Как Вы собираетесь сравнивать копии при удалении или вставке строк?
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: Подсветка изменённых/ добавленных строк
С одним можно согласиться. Если (гипотетически) подобный плагин можно было бы написать, то он конфликтовал бы с Colorer'ом, так как текущее API не позволяет в рамках одного фрагмента совмещать раскраску от двух плагинов. Т.е. во всех измененных строках отключилась бы раскраска синтаксиса colorer'а, что, конечно, неудачно...
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Подсветка изменённых/ добавленных строк
Вычурно можно. Если рисовать строго *после колорера*, то можно считать его цвета из редактора, и использовать их же цвет шрифта, но цвет фона поменять на свой. Приоритет иметь выше колорера, конечно.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: Подсветка изменённых/ добавленных строк
А это можно сейчас? Там же надо будет его GUID подставлять...NightRoman wrote:Если рисовать строго *после колорера*, то можно считать его цвета из редактора...
Вообще сразу возникает идея добавить ECF_ONLYBACKGROUND/ECF_ONLYFOREGROUND...
Re: Подсветка изменённых/ добавленных строк
В данном варианте это можно было-бы реализовать с помощью БД (сорри, если очередная глупость). К примеру параллельно с созданием копии файла вести базу (насколько я понял в 3-ем ФАР-е все заточено на SQLite) как раз для удаленных/добавленных строк. И уже с учетом копии файла и данной базы (таблицы) и выделять нужные строки. Конечно, все надо хорошенько обмозговать, но, ИМХО, можно попробовать извернуться.Max Rusov wrote:Ну, обычная логика то должна присутствовать. Как Вы собираетесь сравнивать копии при удалении или вставке строк?
RightWords не использую (из-за отсутствия необходимости в 4-ом .NET), а EdtFind посмотрел и это (насколько я понял) несколько не "совместная работа" с колорером, т.к. он не держит расцветку при перемещении курсора. Т.е., насколько я понял, то о чем вы написали:Max Rusov wrote: EdtFind, RightWords
Т.ч. как я и написал - дело в приоритетах задания расцветки разными плагинами.Max Rusov wrote: Если (гипотетически) подобный плагин можно было бы написать, то он конфликтовал бы с Colorer'ом, так как текущее API не позволяет в рамках одного фрагмента совмещать раскраску от двух плагинов.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Подсветка изменённых/ добавленных строк
Думаю, что можно уже щас. Если порядок (не приоритет!) отрисовки по-прежнему по алфавиту, то достаточно назвать свой плагин "после" Colorer.А это можно сейчас? Там же надо будет его GUID подставлять...
С гуидами. Если можно хитрить с чужими гуидами, то нет проблем, хитрим.
Если нелься, или есть неважно какие проблемы, то тоже можно обойти. То, что нарисовал колорер, так и останется. Только будет закрыто более приоритетными цветами *нашего* плагина, который использует *свой* гуид.