Coder plugin (3)

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

А может быть нужен скрипт, который загружается при старте и проверяет всё время создаваемые вкладки на имя файла и если имя соответствует критериям, то запускает команду, а уже команда запускает нужный кодер?

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

Post by Infocatcher »

Skif_off
Так ведь первый вызов только для расширения работает:
(из Coder-Rus.txt)

Code: Select all

Call("Coder::Settings", 1, "EXTENSION")
  Параметры:
    1
      Установить синтаксическую тему вручную, используя расширение.

Call("Coder::Settings", 6, "ALIAS")
  Параметры:
    6
      Установить синтаксическую тему вручную, используя псевдоним.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Infocatcher
Прогнал, потому что в ini.coder временно закомментировал *.cfg и *.conf - сначала "работали" оба варианта :))

Lenchik
CmdLineBegin - это круто, но не хочу использовать, т.к. это замедлит начало работы с файлом: AkelPad всё равно включит подходящую тему, а потом при необходимости ещё раз переключит уже скриптом, но предварительно придётся ещё проверять, запущен ли плагин... Не хочу задержки, сам буду использовать только в крайнем случае. Да и объяснять, как использовать CmdLineBegin, не придётся :)
В таком виде тут работает волне корректно, главное, чтобы coder-файл шёл первым, а он будет первым наверняка, т.к. только Infocatcher использует нижнее подчёркивание перед именем.

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

Post by Instructor »

kuchkan wrote:С последними css.coder перестала нормально работать автоматическая подсветка выделенного, если в выделенном есть пробел или двоеточие (возможно, другие символы). В версии от 18.09.2014 всё нормально.
Не воспроизводится. Оповестите, если это будет продолжаться после релиза 4.9.7.

Offline
Posts: 9
Joined: Sat Dec 28, 2013 2:43 am

Post by kuchkan »

Instructor
Заметно, что цвет текста меняется, а фон исчезает:
Image Image

с запятыми тоже проблема:
Image

На Win8 всё тоже самое.
Чистый AkelPad 4.9.6 32-bit, не на системном разделе, настройки в ini.

В json.coder тупо удалил 114 строку:

Code: Select all

1	0	${ATTR}	0	:
и пока всё нормально... С css такое не прокатило))

Offline
Posts: 27
Joined: Sat Mar 20, 2010 11:27 am

Post by clever_man »

Добрый день!
Хочу сделать чтобы подсвечивалось таким образом:

(Just a comments)
SETMS(1,2,3,4)

Пробовал так:

Code: Select all

Quotes
5 0 ${COMM} 0 `(` `)` "" "" "" -1     0
5 0 #3333CC 0 `(` `)` "" "" ""  100   0
QuotesRE
0 `(SETMS.*$)` `\1=(0,#800000,0)` 0 100
Получается вот так:

(Just a comments)
SETMS(1,2,3,4)

Вполне возможно неправильно понимаю возможности ParentID
Last edited by clever_man on Tue Dec 08, 2015 9:29 am, edited 1 time in total.

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

Post by DV »

clever_man wrote:

Code: Select all

0 `(SETMS.*$)` `\1=(0,#800000,0) \2=(0,#3333CC,0)` 0 100
Чисто по регулярке: что такое \2, если группа (в скобках) всего одна?
Возможно, вы имели в виду `(SETMS)(.*)$`?

Offline
Posts: 27
Joined: Sat Mar 20, 2010 11:27 am

Post by clever_man »

DV, туплю, этого нет, да и группы там второй нет. Бесполезная часть)

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

Post by Instructor »

clever_man
В AkelPad 4.9.7 указанные правила будут подсвечивать, так как вы и желаете.

Offline
Posts: 269
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Instructor
В продолжение этого случая. Как Вы и сказали, указал стиль (оформил) для первого правила и связка заработала:
16389 1 0 0 "[ex]" "[ex]" "\" "" "" 0 0
16389 3 #777777 #DDFFFF "[ex]" "[/ex]" "\" "" "" 0 0
Но затем я назначил Rule ID второму правилу,
16389 1 0 0 "[ex]" "[ex]" "\" "" "" 0 0
16389 3 #777777 #DDFFFF "[ex]" "[/ex]" "\" "" "" 0 33
и связка перестала работать, т.е. стала отображать подсветку как на картинке по ссылке выше. В описании правил ничего не говорится о подобном влиянии Rule ID на обработку правил. Или я опять всё неправильно понял?

Offline
Posts: 27
Joined: Sat Mar 20, 2010 11:27 am

Post by clever_man »

Instructor wrote:clever_man
В AkelPad 4.9.7 указанные правила будут подсвечивать, так как вы и желаете.
Огромное спасибо, буду ждать.
Еще одна непонятка.
Создал правило:

Code: Select all

QuotesRE
0 `([A-CX-ZJ-K])(-?\d{0,4}\.?)` `\1=(0,#CC0000,0) \2=(0,#3333CC,0)` 0 0
При тесте все находит как надо, однако в редакторе все что со знаком "-" игнорируется:

ImageImage

Кстати, а вот такой (более расширенный) нормально отрабатывается:

Code: Select all

([A-CX-ZJ-K])(-?\d{0,4}\.\d{0,4}|-?\.\d{0,4})
Еще пример, когда при тесте отрабатывает, а в редакторе нет:

Code: Select all

QuotesRE
0 `([A-CX-ZI-K]|CR=)(-?\d{1,4}\.?\d{0,4}|-?\.\d{1,4})` `\1=(0,#CC0000,0) \2=(0,#3333CC,0)` 0	 0
ImageImage

Offline
Posts: 53
Joined: Wed Dec 09, 2015 6:33 pm

PHP: подсветка многострочных строк

Post by beotiger »

Как ни тупо выглядит тема, но проблема есть у меня:

в PHP возможно разбивать строку (всё, что включено в кавычки " или ') на сколько угодно строк.

В Coder'e такая вещь не подсвечивается, то есть подсвечивается только однострочные строки (в кавычках), а если строка разбита хотя бы на две строки, то подсветка исчезает.
Вопрос: как пофиксить? Часовой шерстинг по php.coder и html.coder не помог решить проблему.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

Таки должен заметить, что просто в восторге от новых фич плагина (точнее, то, что понял), собирался переделывать scheme.coder (Scheme - это много-много скобочек) с нуля, не устраивает, начал и рад, что не щенок - сидел бы в луже...

beotiger
Есть вариант перенести правило с кавычками в Folds, отлично работает, но будут сюрпризы с вложенными кавычками, если попадуться (в Scheme такая же беда, пока отложил поиск решения).

Code: Select all

;262657=1+512+262144
262657	3	${STR}	0	`"`	`"`	""	0	0
(define print-style
  "
        <style type=\"text/css\" media=\"screen, projection\">
         <!--
          title {
            text-align: center;
            width: 50%;
            color:red;
            background-color: white;
            border: thick double blue;
            font: bold 36pt \"Helvetica\", sans-serif;
            }
          green {
            color: black;
            background-color: lightgreen}
          -->
        </style>
       ")

Offline
Posts: 53
Joined: Wed Dec 09, 2015 6:33 pm

Post by beotiger »

Есть вариант перенести правило с кавычками в Folds, отлично работает, но будут сюрпризы с вложенными кавычками, если попадуться (в Scheme такая же беда, пока отложил поиск решения).

Code: Select all

;262657=1+512+262144
262657	3	${STR}	0	`"`	`"`	""	0	0
Благодарю, да, изменения есть, почти как мне надо.
Я закомментил две строчки в php.coder в секции Quotes:

Code: Select all

;5=1+4+1024
;5 3	${STR}	0	'"'	'"'	"\"	""	"" 0	0
;5=1+4
;5	3	${STR}	0	"'"	"'"	"\"	""	""	0	0
;5=1+4
и добавил две волшебные строчки в секции Folds:

Code: Select all

262657 3	${STR}	0	'"'	'"'	""	0	0
262657 3	${STR}	0	"'"	"'"	""	0	0
Да, текст в экранированных кавычках выводится без подсветки, но это ладно, зато его можно визуально отслеживать.

А вот как ещё определение переменных в двойных кавычках добавить:

Code: Select all

echo "Hello $name";
Тут $name - переменная PHP и по идее должна быть выделена цветом (NPP выделяет нормально, правда у него глюк с фигурными скобками, то есть переменная в

Code: Select all

echo "Hello {$name}";
для него потеряна).

Есть ли какой способ также легко разрулить это при помощи php.coder,
и где найти нормальную справку по правилам Coder?
В файле плагина Coder-Rus.txt в папке Docs я не нашёл достаточного объяснения принципа работы Coder'а и парсинга .coder файлов.

Offline
Posts: 1161
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

beotiger
Ход конём, спасибо, что навели на мысль:

Code: Select all

;3408385=1+512+262144+1048576+2097152
3408385	3	${STR}	0	`(?<!\\)"`	`(?<!\\)"`	""	0	0
Post Reply