HighLight plugin

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Mr.Merak
Знак равенства лучше всё-таки синим.

Offline
Posts: 92
Joined: Wed Aug 27, 2008 11:16 am

Post by Mr.Merak »

VladSh wrote: Знак равенства лучше всё-таки синим.
Так в Notepad++

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Added: external call parameter - set manual highlighting. Example:

Code: Select all

Call("HighLight::Main", 1, "html")
HighLight plugin v3.2

Offline
Posts: 165
Joined: Fri Aug 15, 2008 8:58 am

AutoIt3 HighLight for Akelsoft

Post by Diamen »

Here is my file to use AutoIt3 with AkelPad.

Offline
Posts: 98
Joined: Thu Jul 03, 2008 7:23 pm

Post by Tony »

Начал делать модуль с синтаксисом пхп и сталкнуся с проблемами.
Как выделить цветом слово находящееся в ' ' или " "?
Как выделить цветом целую строку с комментариями?
Как сделать слова определённого цвета начинающиеся на $?

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Tony
viewtopic.php?p=682#p682

Дополнительные файлы подсветки (в том числе и для PHP) можно найти здесь:
http://akelpad.sourceforge.net/files/plugs/HighLight/

Offline
Posts: 98
Joined: Thu Jul 03, 2008 7:23 pm

Post by Tony »

Посмотрел. Данная подцветка очень неудобная(всё одного цвета). Поэтому продолжаю делать свою. У меня так же будет больше функций, комманд и т.п. :) Так же параллельно с этим делаю модуль для AutoComplete.

Я считаю, что без того, что я писал выше, реализовать удобную подцветку невозможно. Может всётаки сделаете небольшое обновление для этого плагина? Пусть будет немного медленнее(хотя например пхп файлы обычно очень большими небывают, поэтому на производительности особо нескажется).

И сразу сдесь тогда спрошу, будет ли в будующем в плагине AutoCompleteреализована следующая возможность, когда например в скобках что то начинаешь писать, сверху появляется hint окно с подсказкой(подсказка пишется том же файле где и комманды)?

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

Instructor, при всем уважении я тоже не понимаю ваш подход к подсветке синтаксиса. Во-первых, вы возможно переоцениваете падение производительности при подсветке комментариев. Пример: создаем файл, заполненный 100000 произвольных символов с "*/" в конце. Проводим поиск по регулярному выражению ".+?\*/" с начала файла. Выделение происходит моментально. В случае подсветки механизм анализа текста должен идти примерно по тому же пути, что и в данном выражении. Понятно, что будут затрачены некоторые ресурсы на собственно подсветку, но надо понимать, что и коментарии в 100000 символов встречаются не так часто. Во-вторых, наверняка найдутся люди, которые согласны мириться с изредка возникающими небольшими лагами ради полноценной подсветки. И наконец, если уж время на обработку комментариев действительно окажется очень велико, может быть стоит пересмотреть механизм подсветки, ведь в других редакторах с подсветкой синтаксиса никакого падения производительности не наблюдается.
Last edited by Xephon on Tue Dec 23, 2008 11:10 am, edited 1 time in total.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Xephon wrote:ведь в других редакторах с подсветкой синтаксиса никакого падения производительности не наблюдается.
Не согласен. Notepad++ (использующий Scintilla, написанный на чистом C++ без всякой "левизны") открывает файл C++ размером 300 кБ с восстановлением позиции курсора ближе к концу файла порядка 10 секунд. Та же самая операция без подсветки синтаксиса происходит мгновенно. Именно из-за того, что при включенной подсветке синтаксиса сначала время тратится на собственно подсветку, а только потом устанавливается позиция курсора.
С другой стороны, Colorer (например, как плагин к редактору FAR), судя по всему, выполняет раскраску текста в отдельном потоке. Благодаря этому файл открывается мгновенно на любой позиции, но иногда приходится ждать порядка 20 (!) секунд, пока видимый в данный момент текст станет раскрашенным - то есть когда синтаксический разбор дойдёт до этого места в файле.

P.S.
Хотя с ограничением на размер разделителей слов только в один символ я не согласен. Что мешает подсвечивать пары символов /* и */ в строке вида abc/*def*/ghi? Например, я хотел бы видеть отдельные символы / и * в черном цвете (по умолчанию), а пары символов /* и */ - в зеленом. Это усложнит работу синтаксического разбора аж на один символ (в общем случае на длину заданного разделителя слов, которая вряд ли превысит три симола), что не превышает сложности подсветки отдельных ключевых слов. Я даже предлагал, как можно изменить разбор синтаксиса в исходниках плагина для поддержки разделителей из нескольких символов.

Offline
Posts: 98
Joined: Thu Jul 03, 2008 7:23 pm

Post by Tony »

Instructor
Стоить всётаки ждать обновлённый плагин подцветки или нет?
Просто я уже и незнаю, есть ли смысл доделывать пхп подцветку и autocomplete или нет.
Просто если подцветка останется такойже как сейчас, то работать с пхп(да и другими языками) будет неудобно, а соответственно AkelPad'ом для этих целей придёться не пользоваться.

В редакторе NotePad2 вроде давольно быстро работает подцветка.
Программу и её исходники можно скачать
http://www.flos-freeware.ch/notepad2.html

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

DV, можете свой файл выложить? Пытался воспроизвести эксперимент на файлах Edit.cpp (~ 600 кБ) и AkelEdit.cpp (~ 350 кБ) - задержки больше одной секунды в Notepad++ не наблюдаю.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

У меня на том же Edit.cpp выдает 5 секунд. Рабочий комп: PentiumD 3GHz, 1GB RAM. На нетбуке с процессором Intel Atom 1.60GHz, 1GB RAM выдает те же 5 секунд.
Я допускаю, что на более новом компе с двух- или четырёх-ядрёным процессором, да ещё и с 2 или 4GB RAM, это происходит быстрее, но пока что я не ровнялся бы на такие компьютеры.

Offline
Posts: 98
Joined: Thu Jul 03, 2008 7:23 pm

Post by Tony »

Выше Вы писали порядка 10 секунд, но это неважно.
Ради 600 кб, подождать ~5 секунд вполне можно. Главное, что бы работать было удобно.

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

У меня c2d 3.2GHz, 2GB RAM. Если даже не равняться на такие компьютеры (хотя не понятно почему, это уже мейнстрим), задержка в 5 секунд не кажется критичной. Я бы согласился потерпеть ради полноценной подсветки. Кроме того, мы сравниваем результаты Notepad++, в Akelpad-е задержки могли бы оказаться меньше. А если сделать подсветку блоков переменной длины отключаемой, то владельцы слабых машин тоже бы в накладе не остались.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Xephon wrote:А если сделать подсветку блоков переменной длины отключаемой, то владельцы слабых машин тоже бы в накладе не остались.
Вы меня убедили. Делайте :)
Locked