Coder plugin (1)

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 24
Joined: Sun Dec 10, 2006 11:47 pm

Post by Jabberwock »

VladSh wrote:JabberwockПосле каждого изменения надо делать обновление кэша - Call("Coder::Settings", 2).
Дело было в этом.
DV wrote:Jabberwock,
пробовали замочить (удалить с крайней жестокостью) файл AkelFiles\Plugs\Coder\cache ?
Нет, не знал, что это необходимо.
Тадам! Заработало.

Вопрос к Инструктору: можно ли как-то делать это автоматически силами самого плагина?
Я привык к акелпаду, но многие после такого облома не стали бы спрашивать на форуме, а ушли бы на нотепад++ с концами.

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

Post by DV »

Jabberwock wrote:Вопрос к Инструктору: можно ли как-то делать это автоматически силами самого плагина?
+1
Можно было бы в файле cache дополнительно хранить время последней модификации каждого из файлов. А при старте плагина Coder смотреть, какие файлы *.coder есть в наличии - и в случае несовпадения последней даты модификации какого-то из файлов или при появлении/исчезновении какого-то файла обновлять cache. (Обновлять cache = читать только изменеённые или появившиеся файлы.)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV wrote:Можно было бы в файле cache дополнительно хранить время последней модификации каждого из файлов. А при старте плагина Coder смотреть, какие файлы *.coder есть в наличии - и в случае несовпадения последней даты модификации какого-то из файлов или при появлении/исчезновении какого-то файла обновлять cache.
Дело в том, что когда мы редактируем coder-файл плагин Coder уже стартовал (при загрузке проги).
Если пересоздавать файл именно при старте плагина, то я против, т.к. будет увеличиваться время открытия проги.

Ещё вариант - плагин Coder отслеживает событие сохранения файла, и если это coder-файл, то автоматически делать Call("Coder::Settings", 2), но обновляя информацию в cache только для этого coder-файла; должно быть быстро. + сразу будем видеть изменения в подсветке.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

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

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Хм... разобрался, похоже, с глюком регексповых цитат. Все просто: они друг с другом на одной строке не уживаются.


Пример 1.

Единственное правило синтаксиса:

Code: Select all

1  `".*"` `\0=(0,#800000,0)`
Создаю новый файл, отрубаю перенос строк, прописываю:
"Какая-то длинная строка" + "еще строка, чтоб на экране не помещалась"
С первой строкой все ок, со второй постоянно слетает цвет (частично). Глючит и с переносом строк, но горизонтальной прокруткой оно более наглядно.


Пример 2.

Т.к. "особенности национальных регулярок" я еще не до конца понял, то чтоб уж точно не было никаких пересечений, опробовал еще такие правила:

Code: Select all

1  `\<a+\>`  `\0=(0,#800000,0)`
1  `\<b+\>`  `\0=(0,#008000,0)`
Результат тот же: Image

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

Post by Instructor »

F. Phoenix
Тестовая

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

То, вроде, исправилось, но в большинстве случаев перестали работать скобки:

Code: Select all

1  `".*"`   `\0=(0,#800000,0)`  ; работает
1  `(".*")` `\0=(0,#800000,0)`  ; не работает
1  `(".*")` `\1=(0,#800000,0)`  ; не работает
1  `(z+)`   `\0=(2,#800000,0)`  ; работает

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

Post by Instructor »

F. Phoenix wrote:...перестали работать скобки
Тестовая

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Есть *.html с включениями js.
При этом

Code: Select all

.replace(/<button[\s>][\s\S]*<\/button>/i, "")
ломает подсветку всех окружающих тэгов, тогда как тут явно нет нормальных тэгов, вроде как, так что искать ничего не надо.

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

Post by Instructor »

VladSh wrote:Прошу из cpp.coder убрать *.java, т.к. java.coder имеется.
Переименовываем "java.coder", например, в "_java.coder", чтобы имя располагалось выше по алфавиту, и обновляем кэш.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:Переименовываем "java.coder", например, в "_java.coder", чтобы имя располагалось выше по алфавиту, и обновляем кэш.
Я заметил, что иногда новые пользователи выкладывают свои подсветки, и они Вами добавляются на сайт, а также с учётом их делаются модификации... Это какая-то принципиальная нелюбовь именно к моим coder-файлам? :) Если java.coder в чём-то недоработан, можно рассмотреть этот вопрос. Составляя его, выдерживалась оптимальность, и так как я сам немного пишу на Java, то делал не просто так, - почти весь Java-Core (классы) имеется. Т.е. хочу сказать, что java.coder не так уж и плох; не вижу причин, чтобы не использовать его наравне с другими.

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Теперь все вроде наконец починилось :D Спасибо за апдейт!
Кстати, в хелпе момент с квантификаторами описан фигово, и я из-за него долго путался. Во-первых в большинстве случаев ленивое поведение наблюдается у абсолютно всех квантификаторов, а не только у перечисленных (в списке, например, не говорится о ?). А во-вторых, единственное исключение, когда они становятся жадными, как я понял, - это на конце шаблона, и то не уверен, что всегда.

VladSh, а где твоя ява-то? Че-то не нашел.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

F. Phoenix wrote:а где твоя ява-то? Че-то не нашел.
По ссылке если перейти:
VladSh wrote:Прошу из cpp.coder убрать *.java, т.к. java.coder имеется.

Offline
Posts: 176
Joined: Sat Dec 24, 2011 4:05 pm

Post by F. Phoenix »

Пардон, ослеп совсем Image
А можешь куда-нить залить, чтоб табуляция сохранилась?

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

F. Phoenix wrote:чтоб табуляция сохранилась?
Нажать «ответить»? :)
Locked