Coder plugin (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Подскажите как быть - в Autoit все переменные начинаются с $
необходимо в au3.coder в секцию Blocks: вставить
StringInStr($nn)

так не получается

Code: Select all

$~StringInStr($nn)
StringInStr($[$nn])
вставляет документ StringInStr(n), а надо StringInStr($nn)

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

Post by FeyFre »

Code: Select all

StringInStr($$nn)
;======================================================================
;Abbreviations and blocks
;
; $~abbr normal abbreviation.
; $=abbr exact abbreviation. May contain delimiters.
; $[] set caret to this position. Can be multiple (hot spots).
; $[text] select text. Can be multiple (hot spots).
; $$ symbol $.
; $\] escape symbol ]. Can be used in $[text] block: $[One [1$\] ].
; ${VAR} variable assigned from Coder::Settings.
; $; comment line.
;======================================================================

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

FeyFre
Спасибо!

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

Post by Instructor »

Изменено: верхние строки в файле cache имеют больший приоритет, чем нижние.
Добавлено: теперь горячая клавиша "найти корень", если нет выделения, срабатывает для слова под кареткой (Coder::CodeFold).
Добавлено: глубина поиска для "найти корень" (Coder::CodeFold).

Changed: the top lines in the cache file have a higher priority than the lower ones.
Added: now hotkey "find root level" if there is no selection works for the word under the caret (Coder::CodeFold).
Added: depth search for "find root level" (Coder::CodeFold).


Coder plugin v10.4

Offline
Posts: 20
Joined: Wed Mar 07, 2012 10:27 am

IDE plugin

Post by booleg »

А нет ли такого plugin, которы превращал бы akelpad во что то типа Geany. Приходится много писать программ на FreePascal и Аkelpad как редактор нравится больше чем, встроенный или Geany, но отсутствие возможности прямо из редактора компилировать и запускать программы здорово напрягает. Может кто то сможет прикрутить такую возможность. В Geany это тоже вроде как какой то библиотекой реализовано.

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

Re: IDE plugin

Post by DV »

booleg,
плагин Scripts + RunMe.js?
Кажется, у меня де жя вю: viewtopic.php?t=1438

Offline
Posts: 20
Joined: Wed Mar 07, 2012 10:27 am

Post by booleg »

Кажется, у меня де жя вю
Нет не де жа вю, просто если сравнивать с тем как это реализовано в Geany, это как то некрасиво.

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

Post by FeyFre »

booleg, а если сравнить как реализовано в WinDbg то это как-то "детский сад". Geany вероятно делался изначально как IDE, а у нас тут блокнот и уделяется время именно развитию основных функций текстового редактора. И тем не менее расширяемость обеспечанна, и большинтсов запрос можно сделать собственными силамы. Тем более что Вы вроде бы как программируете.

Offline
Posts: 20
Joined: Wed Mar 07, 2012 10:27 am

Post by booleg »

А для автоматизации этого дела можно воспользоваться скриптом RunMe.js:
viewtopic.php?p=13010#p13010
Открыв скрипт, нужно будет добавить в определение oCommands что-то вроде
Код:
"pas" :
"cmd /c Path_To_Pascal_Compiler.exe \"%f\" || pause" ,

Затем назначаем горячую клавишу для вызова RunMe.js - и вуаля.
В своё время попробовал просто без вставки в скрипт
cmd /c fpc.exe test.pas && pause
посмотрел и со вставкой в скрипт возиться не стал.
Сейчас решил попробовать вставить в скрипт
"pas" :
"cmd /c fpc.exe \"%f\" || pause"
не работает. Добавление полного пути к fpc.exe не помогает.
Выдает следующее сообщение:
"Empty extension found while there are more items below.\nEmpty extension matches any remaining file extension, so such item\nshould be the last (otherwise all the further items will be ignored)."
Подскажите что поправить нужно.[/img]

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

Post by DV »

Так вроде же прямо сказано: "Поскольку пустое расширение соответсвует любому оставшемуся расширению файла, этот элемент должен быть последним в списке".
Т.е. нужно поместить

Code: Select all

"pas" : 
  "\"path_to_fpc.exe\" \"%f\"" , 
перед

Code: Select all

"" : 
  ":run_anyfile(\"%f\")"
, а не после.

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

Post by DV »

А что в .coder файлах означает секция "Skips:" ?
А секция "Delimiters:" - это только переопределение символов-разделителей из настройки программы или нечто большее?

Offline
Posts: 20
Joined: Wed Mar 07, 2012 10:27 am

Post by booleg »

DV
Спасибо, всё получилось!

Offline
Posts: 20
Joined: Wed Mar 07, 2012 10:27 am

Post by booleg »

Может кому то ещё понадобиться. Строка для компиляции в стандартно установленном FreePascal будет выглядеть так:

Code: Select all

"pas PAS Pas" : 
    "cmd /c fpc.exe \"%f\" || pause" ,
Добавил кнопочку на панель инструментов, и всё стало очень даже удобно. Чего не хватает, так это подсветки сообщений об ошибках, но за это я так понимаю Log плагин отвечает, а там возможности красить строчки в разные цвета в зависимости от их содержания пока нет.
Будем ждать ... :)

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

Post by DV »

booleg,
обновлю скрипт для fpc и заодно добавлю регистронезависимое сравнение расширений файлов :)

to all:
А что в .coder файлах означает секция "Skips:" ?
А секция "Delimiters:" - это только переопределение символов-разделителей из настройки программы или нечто большее?

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

Post by FeyFre »

DV
Delimiters - да, это разделители которые используются парсером текста для отделения слов(ну и дополнительно их можно расскарасить). Те слова которые появляются в секции Word: те подсвечиваются. Т.е. разделители, которые в настройках редактора помоему тут не пляшут вообще.
Skips: - на сколько я понял определяет области текста, в которых искать другие лексемы не нужно. Например в комментариях, в кавычках.
Locked