Coder plugin (3)

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Keyser wrote:txt.coder у меня в самом деле нет...
...и добавил расширения "*.txt" и "*.f90" для 1s.coder.
Раз уж речь зашла об удобстве... Рискну предположить, что ".f90" - это фортран. Тогда вас может заинтересовать один из "апокрифичных" файлов-подсветок для фортрана:
http://akelpad.sourceforge.net/files/pl ... tran.coder

Offline
Posts: 5
Joined: Sun Apr 24, 2016 7:16 pm

Post by Keyser »

opk44 wrote:Раз уж речь зашла об удобстве... Рискну предположить, что ".f90" - это фортран. Тогда вас может заинтересовать один из "апокрифичных" файлов-подсветок для фортрана:
http://akelpad.sourceforge.net/files/pl ... tran.coder
opk44
Да, действительно, меня интересует фортран. Установил fortran.coder. Первое, что заметил - "комментарии" принимают более удобный цвет. Спасибо!

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

Post by Skif_off »

Infocatcher
По _diff.coder: столкнулся с патчем, в котором не срабатывала подсветка

Code: Select all

;1541=1+4+512+1024
1541	2	#3333CC	0	"@@"	"@@"	""	""	""
флаг 1024 лишний? Нагуглить ответ не удалось.

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

Post by Infocatcher »

Skif_off
Вот тут пишут про

Code: Select all

@@ -l,s +l,s @@ optional section heading
Пока что сделал вот так:

Code: Select all

;4613=1+4+512+4096
4613	2	#3333CC	0	"@@"	"@@"	""	""	""


Delimiters:
;===============================================
;Flags  Font    Color   Color   Char(s)   Parent
;       style   text    bkgrnd            ID
;===============================================
1	0	0	0	" "
1	0	0	0	"	"
Заодно и штуки типа

Code: Select all

index 0871ca2..49dc278 100644
подсветил.

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

Post by Skif_off »

Infocatcher
Спасибо, утащу :) У себя просто флаг 1024 убрал, решил, что 4+512 достаточно для захвата.

Сейчас вот подумал, а если патч патча? Флаг 512 не исключает пробелов/табуляции в начале.

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

Post by Infocatcher »

Skif_off wrote:Сейчас вот подумал, а если патч патча? Флаг 512 не исключает пробелов/табуляции в начале.
inception.jpg :D
Честно говоря, не думаю, что это критично.

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Заметил
; ${VAR} variable assigned from Coder::Settings.
в AutoComplete, но не понял как это применять в Blocks: секции.

Что с помощью этого можно сделать в Blocks:?

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

; AutoComplete ;
;----------------------------------------------;

;Flags (sum of the members)
; 4 regular expression (only for "$="). Scan starts from caret line beginning and metacharacters \a or \z specified caret position.
Как это использовать?

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

Post by Skif_off »

Drugmix wrote:Что с помощью этого можно сделать в Blocks:?
Вы это уже применяете в ahk.coder: ${AutoComplete_Indent}.

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Skif_off wrote:Вы это уже применяете в ahk.coder: ${AutoComplete_Indent}.
А, точно, но там же есть ещё и переменные, отвечающие за цвет - я подумал, может быть их как-то можно использовать (разукрасить вывод в autocomplete-подсказке)?

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

Post by Infocatcher »

Drugmix wrote:
; AutoComplete ;
;----------------------------------------------;

;Flags (sum of the members)
; 4 regular expression (only for "$="). Scan starts from caret line beginning and metacharacters \a or \z specified caret position.
Как это использовать?
Вот тут предыстория и пример использования:
http://akelpad.sourceforge.net/forum/vi ... 9587#29587
http://akelpad.sourceforge.net/forum/vi ... 9600#29600

Offline
Posts: 582
Joined: Mon Apr 08, 2013 9:50 pm
Location: Win7SP1x64, APx64

Post by Drugmix »

Infocatcher wrote:Вот тут предыстория и пример использования:
http://akelpad.sourceforge.net/forum/vi ... 9587#29587
http://akelpad.sourceforge.net/forum/vi ... 9600#29600
Вроде разобрался, но там из истории не очень понятно почему флаг 4 работает только для $= и не работает для $~ (хоть и понятно, что там сложнее логика получается)…

У меня проблема: в ahk.coder не работают некоторые правила из Blocks: вроде

Code: Select all

$~.Read([Characters])
.Read($[Characters])
потому что планируемое употребление таких правил это написать "obj." и получить список (автодополнений) для всех методов (.Read(), .Write(), .Close()…), а оно не срабатывает, потому что перед аббревиатурой нет символа-разделителя.

Если сделать точку символом-разделителем, то можно отрезать у аббревиатур точку и они в принципе будут работать (если написать "obj.r", но у этого подхода есть и нежелательный побочный эффект: все остальные команды на букву r - тоже будут тоже появляться в списке автодополнения.

Использование regexp'а ограничено только для точных аббревиатур, а мне этот подход не нравится (от пользователя требуется запоминать правила).

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

AkelPadx86 4.9.7-4.9.8
Coder 19.5

Выполняю такую команду
"Обновить кэш" Call("Coder::Settings", 2, 2)
Не очень понимаю её смысл - или должен обновиться файл кэша немедленно, или это просто выставление настройки кодера, чтобы при каждом запуске перечитывал файл кэша.
В любом случае - результат плачевный, Акелпад сразу же крашится.
2, 1 - такой же результат, немедленный крах.
Я неправильно записываю команду или это баг?

Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

LonerD
Coder-Rus.txt wrote:Call("Coder::Settings", 2, *USECACHE)
...
*USECACHE
Необязательный параметр. Указатель на переменную...
Просто уберите вторую двойку: Call("Coder::Settings", 2)

Offline
Posts: 171
Joined: Thu Dec 01, 2011 11:15 pm
Location: Россия

Post by LonerD »

Kley wrote:Просто уберите вторую двойку: Call("Coder::Settings", 2)
Без второй двойки ошибок нет. Файл cache при этом не изменяется, добавленные coder-файлы в него не прописываются до закрытия Акелпада - так и должно быть?.
Kley wrote:Указатель на переменную...
Насколько я понимаю из описания - указатель носит имя *USECACHE, то есть вместо *USECACHE в команду вызова плагина можно подставить тип кэша - 0, 1 или 2. И при подстановке 2 (умный кэш), после вызова команды Акелпад должен перечитать все coder-файлы и обновить файл cache. В реальности при подстановке 1 или 2 Акелпад крашится.
Я что-то не так понимаю? Что тогда подставлять вместо *USECACHE?

Code: Select all

Call("Coder::Settings", 2, *USECACHE)
  Параметры:
    2
      Обновить кеш.
    *USECACHE
      Необязательный параметр. Указатель на переменную, которая получает тип кеша. Один из следующих:
      0  //UC_NONE   Без кеша.
      1  //UC_FAST   Быстрый кеш.
      2  //UC_SMART  Умный кеш.
Post Reply