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

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

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

Post by Dmitry68 » Sun 19 Feb, 2012 16:56

Есть предложение по модернизации COLORER-a. Предлагал его еще Игорю Русских, но у него "не дошли руки". Идея заключается в реализации подсветки/выделения/пометки новых/отредактированных строк в редакторе. Аналогично тому как это было сделано в известном редакторе MultiEdit. Для версии 1.7хх вроде был отдельный плагин реализующий этот функционал, но хотелось-бы получить его и в колорере.

User avatar
HaRT
Moderator
Posts: 9166
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 177 times

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

Post by HaRT » Mon 20 Feb, 2012 10:02

Dmitry68 wrote:хотелось-бы получить его и в колорере.
Идея здравая, но почему в Колорере? Он ведь в основном для синтаксической раскраски, а остальное — мелкие плюшки. На мой взгляд, такой фиче самое место в плагине Visualizer.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 20 Feb, 2012 10:10

Если ей где то и есть место - то только в ядре FAR. Вряд ли какой плагин сможет корректно отследить диапазоны измененных строк.

Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

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

Post by Dmitry68 » Mon 20 Feb, 2012 10:19

HaRT wrote: Идея здравая, но почему в Колорере? Он ведь в основном для синтаксической раскраски, а остальное — мелкие плюшки. На мой взгляд, такой фиче самое место в плагине Visualizer.
А мне кажется, что все связанное с раскраской/выделением логично было бы объеденить в одном плагине, чтобы избежать возможных накладок, когда два (и более) плагина занимаются одним по сути делом - изменением цвета текста/фона.

User avatar
HaRT
Moderator
Posts: 9166
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 177 times

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

Post by HaRT » Mon 20 Feb, 2012 10:24

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

Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

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

Post by Dmitry68 » Mon 20 Feb, 2012 10:56

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

Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

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

Post by Dmitry68 » Mon 20 Feb, 2012 11:06

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

И, кстати, не напомните мне плагины (если их полно) для расцветки редактора ФАРа (желательно 3-ей версии), которые корректно работают на пару с колорером. На моей памяти, вроде, был всего один (кроме колорера) для расцветки СИ-шного синтаксиса.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 20 Feb, 2012 11:18

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

Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

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

Post by Dmitry68 » Mon 20 Feb, 2012 12:18

Max Rusov wrote:
Dmitry68 wrote:Можно было-бы при первой коррекции файла создавать его копию и уже с ней и сравнивать есть изменение в строке или нет.
Глупость.
Я не программист и внутреннюю кухню ФАРа не представляю. Предложил первое, что пришло в голову (я так и написал, что предложил решение "в лоб"). А как реализовывать в жизнь - дело разработчика.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 20 Feb, 2012 12:26

Ну, обычная логика то должна присутствовать. Как Вы собираетесь сравнивать копии при удалении или вставке строк?

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 20 Feb, 2012 12:30

С одним можно согласиться. Если (гипотетически) подобный плагин можно было бы написать, то он конфликтовал бы с Colorer'ом, так как текущее API не позволяет в рамках одного фрагмента совмещать раскраску от двух плагинов. Т.е. во всех измененных строках отключилась бы раскраска синтаксиса colorer'а, что, конечно, неудачно...

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Mon 20 Feb, 2012 12:35

Вычурно можно. Если рисовать строго *после колорера*, то можно считать его цвета из редактора, и использовать их же цвет шрифта, но цвет фона поменять на свой. Приоритет иметь выше колорера, конечно.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 20 Feb, 2012 12:42

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

Dmitry68
Posts: 24
Joined: Fri 30 Jul, 2010 07:59

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

Post by Dmitry68 » Mon 20 Feb, 2012 12:44

Max Rusov wrote:Ну, обычная логика то должна присутствовать. Как Вы собираетесь сравнивать копии при удалении или вставке строк?
В данном варианте это можно было-бы реализовать с помощью БД (сорри, если очередная глупость). К примеру параллельно с созданием копии файла вести базу (насколько я понял в 3-ем ФАР-е все заточено на SQLite) как раз для удаленных/добавленных строк. И уже с учетом копии файла и данной базы (таблицы) и выделять нужные строки. Конечно, все надо хорошенько обмозговать, но, ИМХО, можно попробовать извернуться.
Max Rusov wrote: EdtFind, RightWords
RightWords не использую (из-за отсутствия необходимости в 4-ом .NET), а EdtFind посмотрел и это (насколько я понял) несколько не "совместная работа" с колорером, т.к. он не держит расцветку при перемещении курсора. Т.е., насколько я понял, то о чем вы написали:
Max Rusov wrote: Если (гипотетически) подобный плагин можно было бы написать, то он конфликтовал бы с Colorer'ом, так как текущее API не позволяет в рамках одного фрагмента совмещать раскраску от двух плагинов.
Т.ч. как я и написал - дело в приоритетах задания расцветки разными плагинами.

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 14 times
Contact:

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

Post by NightRoman » Mon 20 Feb, 2012 12:47

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

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

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

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

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

Post by Max Rusov » Mon 20 Feb, 2012 12:50

Dmitry68 wrote:EdtFind ... не держит расцветку при перемещении курсора
Держит. Опция "Persistent Matches".

Post Reply

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