Page 1 of 1

Подсветка синтаксиса

Posted: Mon Aug 21, 2006 10:29 am
by maxim2
Плагины с подсветкой синтаксиса, планируються такие? Если да то AkelPad вообще бы просто сказка был бы.

Posted: Mon Aug 21, 2006 6:21 pm
by Instructor
Эх, кто бы написал :)

Edit:
Чтобы названия тем отображались правильно, необходимо поставить русский язык в профиле.

Posted: Tue Aug 22, 2006 2:33 am
by maxim2
Instructor wrote:Эх, кто бы написал :)

Edit:
Чтобы названия тем отображались правильно, необходимо поставить русский язык в профиле.
Написал бы да C не знаю, про русский в профиле спасибо!

Posted: Mon Oct 02, 2006 10:43 am
by maxim2
Ну здесть есть еще программеры на С ?
Может всетаки кто-нибудь возьмется за плагины с подсветкой синтаксиса ?

Posted: Tue Oct 03, 2006 7:33 am
by Photon
Может на sourceforge запрос написать? :?

HighLight plugins

Posted: Wed Jan 03, 2007 4:05 pm
by Kpeamop
Кто-то вооще делает или будет делать плагины с подсветкой синтатксиса? надоело уже разбирать исходники в черно-белом цвете... Или если у кого есть пришлите пожалуста на cscreator@rambler.ru

Re: HighLight plugins

Posted: Thu Jan 11, 2007 11:56 am
by DV
Kpeamop wrote:Кто-то вооще делает или будет делать плагины с подсветкой синтатксиса?
Сделать-то можно, но сильно обломно это :) Поясняю:
1) для начала нужно хорошо продумать структуру плагина. Мне она видится чем-то вроде набора
const HIGHLIGHT_GROUPS[] = {
{ "function1", ID_FUNCTION1, ID_GROUP_FUNCTIONS },
...
{ "operator1", ID_OPERATOR1, ID_GROUP_OPERATORS },
...
{ "statement1", ID_STATEMENT1, ID_GROUP_STATEMENTS },
...
...
};
который определяет ключевые слова и правила их подсветки,
а также класса CSyntaxRichEdit, который бы эту подсветку осуществлял.
2) теперь проблема #1: функции CSyntaxRichEdit должны дублироваться для Unicode и не-Unicode
3) проблема #2, тесно связанная с проблемой #3: когда, в какие моменты следует обновлять раскраску файла?
4) проблема #3: раскрашивать ли весь файл или только видимый текст (в первом случае - долго; во втором случае непонятно, как определить, к примеру, не является ли видимый в данный момент текст частью комментария)
5) и, наконец, проблема #4: что делать с поддержкой UNDO/REDO, если подсветка текста - это фактически изменение текста?

Если для пунктов 3-5 есть простое и внятное решение, то над остальным можно начать работать :)

Re: HighLight plugins

Posted: Fri Jan 12, 2007 1:22 pm
by MaD_CLuSTeR
DV wrote:Сделать-то можно, но сильно обломно это
А что если использовать готовые решения?
например Colorer-take5
Или это не возможно ввиду каких-то программных ограничений?

Re: HighLight plugins

Posted: Mon Jan 15, 2007 2:26 pm
by DV
MaD_CLuSTeR wrote:например Colorer-take5
Насколько я понял, программа изначально должна разрабатываться с применением функций из библиотеки Colorer. А AkelPad, как-никак, уже готовый проект.
Есть альтернатива - вместо стандартного компонента RichEdit использовать компонент Scintilla (на том же sourceforge.net), который автоматически или с элементарным указанием, с каким типом файла мы работаем, подсвечивает синтаксис в файле. В этом случае придется все обращения к RichEdit переделать на обращения к Scintilla, но - опять же - внутри AkelPad. Это интересный вариант, но тогда, учитывая объём необходимых изменений, это будет уже AkelPad 4.x.x

Posted: Mon Jan 15, 2007 3:50 pm
by Instructor
DV
Как я уже где-то на форуме писал: Scintilla хороший контрол, но не поддерживает Unicode строки. Кстати, плагин с подсветкой синтаксиса, на стадии завершения.

Posted: Sun Jan 28, 2007 9:54 pm
by LocKtaR-o-DarK
Instructor wrote:DV
плагин с подсветкой синтаксиса, на стадии завершения.
ждут очень многие и с нетерпением
вопросик насчет подсветок, они то будут идти с плагином или самим писать? и если да, то их список хотелось бы видеть

Posted: Mon Jan 29, 2007 11:54 am
by Instructor