Page 100 of 101

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

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

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

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

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

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

Posted: Fri Jan 18, 2013 11:15 pm
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

Posted: Wed Jan 23, 2013 9:34 am
by Instructor
F. Phoenix
Тестовая

Posted: Wed Jan 23, 2013 3:46 pm
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)`  ; работает

Posted: Thu Jan 24, 2013 6:47 am
by Instructor
F. Phoenix wrote:...перестали работать скобки
Тестовая

Posted: Thu Jan 24, 2013 9:51 am
by Infocatcher
Есть *.html с включениями js.
При этом

Code: Select all

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

Posted: Thu Jan 24, 2013 4:56 pm
by Instructor
VladSh wrote:Прошу из cpp.coder убрать *.java, т.к. java.coder имеется.
Переименовываем "java.coder", например, в "_java.coder", чтобы имя располагалось выше по алфавиту, и обновляем кэш.

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

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

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

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

Posted: Fri Jan 25, 2013 9:58 am
by F. Phoenix
Пардон, ослеп совсем Image
А можешь куда-нить залить, чтоб табуляция сохранилась?

Posted: Fri Jan 25, 2013 10:03 am
by Infocatcher
F. Phoenix wrote:чтоб табуляция сохранилась?
Нажать «ответить»? :)