Подсветка изменённых/ добавленных строк

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

Подсветка изменённых/ добавленных строк

Post by Dmitry68 »

Есть предложение по модернизации COLORER-a. Предлагал его еще Игорю Русских, но у него "не дошли руки". Идея заключается в реализации подсветки/выделения/пометки новых/отредактированных строк в редакторе. Аналогично тому как это было сделано в известном редакторе MultiEdit. Для версии 1.7хх вроде был отдельный плагин реализующий этот функционал, но хотелось-бы получить его и в колорере.
User avatar
HaRT
Moderator
Posts: 10854
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by HaRT »

Dmitry68 wrote:хотелось-бы получить его и в колорере.
Идея здравая, но почему в Колорере? Он ведь в основном для синтаксической раскраски, а остальное — мелкие плюшки. На мой взгляд, такой фиче самое место в плагине Visualizer.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by Max Rusov »

Если ей где то и есть место - то только в ядре FAR. Вряд ли какой плагин сможет корректно отследить диапазоны измененных строк.
Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by Dmitry68 »

HaRT wrote: Идея здравая, но почему в Колорере? Он ведь в основном для синтаксической раскраски, а остальное — мелкие плюшки. На мой взгляд, такой фиче самое место в плагине Visualizer.
А мне кажется, что все связанное с раскраской/выделением логично было бы объеденить в одном плагине, чтобы избежать возможных накладок, когда два (и более) плагина занимаются одним по сути делом - изменением цвета текста/фона.
User avatar
HaRT
Moderator
Posts: 10854
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by HaRT »

Dmitry68 wrote:мне кажется, что все связанное с раскраской/выделением логично было бы объеденить в одном плагине, чтобы избежать возможных накладок, когда два (и более) плагина занимаются одним по сути делом - изменением цвета текста/фона.
Это совершенно не масштабируемый взгляд на вопрос, объединяющий функциональность по чисто формальному признаку. По факту уже есть полно плагинов, которые красят текст и фон, и как раз в последнее время наметились цивилизованные пути их сосуществования.
Каждый плагин должен заниматься своим делом. Впрочем, к счастью, решающее слово за авторами соответствующих плагинов. Хотя никто не мешает и вовсе отдельный написать.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by Dmitry68 »

Max Rusov wrote:Если ей где то и есть место - то только в ядре FAR. Вряд ли какой плагин сможет корректно отследить диапазоны измененных строк.
Согласен. Перенести функционал в ядро ФАР-а - идеальное решение, но это уже вопрос к разработчикам. А для того, чтобы корректно отслеживать номера измененных строк (в варианте плагина), могу предложить вариант решения задачи "в лоб". Можно было-бы при первой коррекции файла создавать его копию и уже с ней и сравнивать есть изменение в строке или нет.
Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by Dmitry68 »

HaRT wrote:По факту уже есть полно плагинов, которые красят текст и фон, и как раз в последнее время наметились цивилизованные пути их сосуществования.
И я о том же. Главное "цивилизованное сосуществование". И определения четких приоритетов за каким плагином в раскраске текста "последнее слово". Иначе может быть путаница: для колорера - это одна "категория раскраски", а для "плагина подсветки новых строк" совсем другая - в результате раскраска может получится абсолютно некорректная.

И, кстати, не напомните мне плагины (если их полно) для расцветки редактора ФАРа (желательно 3-ей версии), которые корректно работают на пару с колорером. На моей памяти, вроде, был всего один (кроме колорера) для расцветки СИ-шного синтаксиса.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by Max Rusov »

Dmitry68 wrote:Можно было-бы при первой коррекции файла создавать его копию и уже с ней и сравнивать есть изменение в строке или нет.
Глупость.
Dmitry68 wrote:И, кстати, не напомните мне плагины (если их полно) для расцветки редактора ФАРа (желательно 3-ей версии), которые корректно работают на пару с колорером
EdtFind, RightWords
Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

Re: Colorer — гибкая раскраска синтаксиса в редакторе и др.

Post by Dmitry68 »

Max Rusov wrote:
Dmitry68 wrote:Можно было-бы при первой коррекции файла создавать его копию и уже с ней и сравнивать есть изменение в строке или нет.
Глупость.
Я не программист и внутреннюю кухню ФАРа не представляю. Предложил первое, что пришло в голову (я так и написал, что предложил решение "в лоб"). А как реализовывать в жизнь - дело разработчика.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Подсветка изменённых/ добавленных строк

Post by Max Rusov »

Ну, обычная логика то должна присутствовать. Как Вы собираетесь сравнивать копии при удалении или вставке строк?
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Подсветка изменённых/ добавленных строк

Post by Max Rusov »

С одним можно согласиться. Если (гипотетически) подобный плагин можно было бы написать, то он конфликтовал бы с Colorer'ом, так как текущее API не позволяет в рамках одного фрагмента совмещать раскраску от двух плагинов. Т.е. во всех измененных строках отключилась бы раскраска синтаксиса colorer'а, что, конечно, неудачно...
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Подсветка изменённых/ добавленных строк

Post by NightRoman »

Вычурно можно. Если рисовать строго *после колорера*, то можно считать его цвета из редактора, и использовать их же цвет шрифта, но цвет фона поменять на свой. Приоритет иметь выше колорера, конечно.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Подсветка изменённых/ добавленных строк

Post by Max Rusov »

NightRoman wrote:Если рисовать строго *после колорера*, то можно считать его цвета из редактора...
А это можно сейчас? Там же надо будет его GUID подставлять...
Вообще сразу возникает идея добавить ECF_ONLYBACKGROUND/ECF_ONLYFOREGROUND...
Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

Re: Подсветка изменённых/ добавленных строк

Post by Dmitry68 »

Max Rusov wrote:Ну, обычная логика то должна присутствовать. Как Вы собираетесь сравнивать копии при удалении или вставке строк?
В данном варианте это можно было-бы реализовать с помощью БД (сорри, если очередная глупость). К примеру параллельно с созданием копии файла вести базу (насколько я понял в 3-ем ФАР-е все заточено на SQLite) как раз для удаленных/добавленных строк. И уже с учетом копии файла и данной базы (таблицы) и выделять нужные строки. Конечно, все надо хорошенько обмозговать, но, ИМХО, можно попробовать извернуться.
Max Rusov wrote: EdtFind, RightWords
RightWords не использую (из-за отсутствия необходимости в 4-ом .NET), а EdtFind посмотрел и это (насколько я понял) несколько не "совместная работа" с колорером, т.к. он не держит расцветку при перемещении курсора. Т.е., насколько я понял, то о чем вы написали:
Max Rusov wrote: Если (гипотетически) подобный плагин можно было бы написать, то он конфликтовал бы с Colorer'ом, так как текущее API не позволяет в рамках одного фрагмента совмещать раскраску от двух плагинов.
Т.ч. как я и написал - дело в приоритетах задания расцветки разными плагинами.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Подсветка изменённых/ добавленных строк

Post by NightRoman »

А это можно сейчас? Там же надо будет его GUID подставлять...
Думаю, что можно уже щас. Если порядок (не приоритет!) отрисовки по-прежнему по алфавиту, то достаточно назвать свой плагин "после" Colorer.

С гуидами. Если можно хитрить с чужими гуидами, то нет проблем, хитрим.

Если нелься, или есть неважно какие проблемы, то тоже можно обойти. То, что нарисовал колорер, так и останется. Только будет закрыто более приоритетными цветами *нашего* плагина, который использует *свой* гуид.
Post Reply

Return to “Предложения и идеи”