Page 40 of 99

Posted: Wed Mar 05, 2014 9:04 am
by DV
Skif_off wrote:512+262144?
То же самое, да и описание флага 512 не предполагает иного... (Пробовал также и в комбинации 1+512+2048+262144).
Собственно, чего я добиваюсь - это обработки любого текста в кавычках (в том числе многострочного) в обычных текстовых файлах. А для них-то панель CodeFold совсем ни к чему. Но в то же время при редактировании исходников программ очень удобно автоматическое появление панели CodeFold (то есть я не хочу её включать и отключать вручную).
Неужели я наткнулся на ограничение в реализации?

Posted: Wed Mar 05, 2014 6:43 pm
by DV
DV wrote:Неужели я наткнулся на ограничение в реализации?
Причём у меня такое чувство, что это довольно легко исправить: если все элементы, описанные в Folds:, содержат флаг 262144 don't show fold in list, то панель CodeFold не надо показывать.

Posted: Thu Mar 06, 2014 10:37 am
by Instructor
Изменено: если секция "Folds:" состоит только из правил с флагом 262144, то, при автоматическом отображении списка, он не показывается (Coder::CodeFold).
Добавлено: поддержка регулярных выражений в отметках текста (Coder::HighLight). Будет работать в AkelPad'е 4.8.8 и выше.

Changed: if section "Folds:" consists only of rules with flag 262144, then list will be not displayed with "Show list" set to "Auto"(Coder::CodeFold).
Added: support for regular expressions in text marks (Coder::HighLight). Will work in AkelPad 4.8.8 and higher.


Coder plugin v12.9

Posted: Thu Mar 06, 2014 10:55 am
by DV
Groovy! :)

Posted: Thu Mar 06, 2014 12:03 pm
by Skif_off
Добавлено: поддержка регулярных выражений в отметках текста (Coder::HighLight).
Поясните, пожалуйста.

Posted: Thu Mar 06, 2014 7:36 pm
by DV
Skif_off,
так ведь вот:
Coder-Rus.txt wrote:Call("Coder::HighLight", 2, "#RRGGBB", "#RRGGBB", FLAGS, FONTSTYLE, ID, "TEXT", TEXTLENGTH)

FLAGS (сумма следующих):
1 учитывать регистр (по умолчанию).
2 регулярные выражения в параметре "TEXT".
Эх, теперь бы ещё в QSearch вставить поддержку этого параметра :)

Posted: Fri Mar 07, 2014 11:22 am
by Lenchik
Теперь бы скрипт, который вызывает окошко, в котором этот Call и его параметры можно было задать, и написать соответственно "TEXT", по которому тут же подсветятся соответствующие части текста.

Или это через QSearch будет как-то?

Posted: Fri Mar 07, 2014 11:57 am
by Serge Yolkin
DV wrote:Эх, теперь бы ещё в QSearch вставить поддержку этого параметра :)
не подскажете, кого бы попросить о такой Grand Feature? :)

Posted: Mon Mar 10, 2014 1:59 pm
by Skif_off
Вопрос тем кто делате сови coder-файлы или пилит под себя имеющиеся: сколько правил безболезненно умещаются в Quotes:? В lua.coder 109, почти все с флагами 1+4+32768, а раза в 2 больше?

Posted: Tue Mar 11, 2014 8:16 pm
by Skif_off
Подскажите, пожалуйста, если есть решение :)
Кусок кода

Code: Select all

    (begin
      (if (= randme TRUE) (set! rotation (rand 360)))
т.е. функция - это то, что между открывающей скобкой и пробелом или концом строки, но просто правило со скобкой и пробелом в Quotes не пройдет, например

Code: Select all

(let* ( (x '(1 3 5))) x)
назначаем переменной "х" список значений 1, 3, 5. Или вложенные списки:

Code: Select all

(let*
   (
        (x
           '("GIMP" (1 2 3) ("is" ("great" () ) ) )
        )
    )
    x
)
Функция только одна - let*. Да и вообще не хочется все подряд подсвечивать. Сделал так

Code: Select all

;32901=1+4+128+32768
32901	2	${OP}	0	"("	"let*"	""	""	""
но есть пробема: добавил, например, define, но забыл/не захотел/облажался и пропустил define-macro и получил
(define-macro
Как избежать?

В принципе, можно умять список слов регулярными выражениями для вроде таких
vector
vector->list
vector-fill!
vector-length
vector-ref
vector-set!
vector?
как сделал для

Code: Select all

char-ci(\<|\>|=){0,2}\?
char(\<|\>|=){0,2}\?
; и car & cdr (бомба просто - минус ~30 ключевых слов, [size=10]но, наверное, нужно все-таки ограничить длину[/size])
c(a|d)+r
но опять таки - не хочется подсвечивать все подряд.

Posted: Tue Mar 11, 2014 8:17 pm
by DV
Вопрос по кавычкам... Есть такие правила:

Code: Select all

Quotes:
;5=1+4
5	3	${STR}	0	`"`	`"`	""	""	""

Folds:
;1+512+262144
262657	3	${STR}	0	`"`	`"`	""
Почему при этих правилах в следующем тексте абсолютно всё подсвечивается курсивом? --
"abc
jkl", - hhjkhk, - " cwc"
По идее, часть - hhjkhk, - должна остаться некурсивной, так как она находится между двумя фрагментами в кавычках.

Posted: Wed Mar 12, 2014 7:52 am
by Instructor
Skif_off
Добавить "(define-macro"? :)

DV
В правиле в секции "Quotes:" нет нужды.

Posted: Wed Mar 12, 2014 8:32 am
by Skif_off
Instructor
Охватить все нереально, хочется идеально сделать, но как всегда возможны только компромиссы :) Как с кавычками.
Вроде с флагами ;36997=1+4+128+4096+32768 получается.

Code: Select all

(define-variable imail-default-dont-reply-to-names
  "A regular express ... riable in the site customization file."
  "info-"
  string?)
Notepad++, SynWrite и gedit подсвечивают string?, надо думать. Документация вся только на английском, блин.

Posted: Wed Mar 12, 2014 10:47 pm
by FeyFre
Не помню, просил или нет. Врядли.
Часто делаю самокомпилирующиеся полиглоты, коротенькие, но подсветка и прочие красивости не помешают. Потому в cpp.coder хочется видеть следующие шаблоны файлов из коробки: *.cpp.cmd *.cpp.bat *.c.cmd *.c.bat Я их каждое обновление себе добавляю....

Posted: Thu Mar 13, 2014 7:43 pm
by DV
Instructor wrote:если секция "Folds:" состоит только из правил с флагом 262144, то, при автоматическом отображении списка, он не показывается (Coder::CodeFold)
Можно ли по аналогии использовать ещё какой-то флаг, чтобы вертикальная панель Fold (на которой показываются (-) или [-]) тоже не показывалась? (Это я всё насчёт многострочных кавычек в обычном текстовом файле - не хотелось бы в нём видеть панель Fold, как-то это слишком по-программистски выглядит.)