Coder plugin (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh

Code: Select all

;393=1+8+128+256   подсветка имён функций
393	1	${OP}	0	""	"(" 	""	""	""   
;401=1+16+128+256  подсветка имён методов и свойств
401	1	${OP}	0	"."	""	""	""	""

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor
Сейчас подсвечивает так:
bForms = Not IsNull(ArrayGetIndex(ndDialog.GetItemValue("HideCode"), "bForms")) And bResult
Можно ли как-то без "хвостовой части"? Т.е. чтобы проверялось, если закрывающего тэга (в нашем случае "(") нет, то и не начинать подсвечивать?


Предложение: добавить в coder-файлы какую-нибудь диррективу, типа include или что-то типа того, раз не сделать, как в плаге SpellCheck, для того, чтобы вынести общую часть для с, java, js в отдельный файл, а также xml, fb2 и т.д.

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

Post by Instructor »

VladSh wrote:
bForms = Not IsNull(ArrayGetIndex(ndDialog.GetItemValue("HideCode"), "bForms")) And bResult
Можно ли как-то без "хвостовой части"? Т.е. чтобы проверялось, если закрывающего тэга (в нашем случае "(") нет, то и не начинать подсвечивать?
Какой хвостовой части? Изъясняемся предельно конкретно, с примерами, - у каждого свои образы в голове.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Ну хвост же "And bResult" подсвечивается, а не хотелось бы. Я так понимаю, что "он" берёт первый разделитель, и начинает подсвечивать, ища второй, и, не находя его, подсвечивает до конца строки.

Offline
Posts: 14
Joined: Tue Feb 21, 2012 9:55 am
Location: Voronezh

Post by Sergeyka »

FeyFre wrote:Sergeyka
Вы не туда смотрите. То куда Вы посмотрели отвечает исключительно за подсветку. Смотреть Вам нужно в секцию Blocks: Фактически оттуда берутся все подсказки. Вам нужно самостоятельно добавить туда требуемые Вам шаблоны. Типа так

Code: Select all

$~math.abs
math.abs($[])
$~math.sin
math.sin($[])
Спасибо. Немного не так работает, как хотелось, но работает=) Плюс есть возможность добавлять не просто функцию, но и небольшой шаблон вида
функция ("image.png, x,y")
FeyFre wrote:А то что ВЫ видели, оно вероятно с знаком + в конце, то собранные по всему документу лексемы(режим по-умолчанию включен в настройках плагина).
Плюса там не было. Но видимо все-таки относилось к подсветке.

Автору:
А нельзя ли добавить возможность подсказки, как в Scite или LuaEdit?
Вот записал видео: http://dump.ru/file/5616598
Только нужно не после ввода скобки показывать подсказку, а сразу после вставки автокомплита.

Например ввести новый маркер:
$~math.sin
math.sin($[])
$= "Тут подсказка"

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

Post by FeyFre »

Sergeyka
А нельзя ли добавить возможность подсказки, как в Scite или LuaEdit?
Вот записал видео: http://dump.ru/file/5616598
Только нужно не после ввода скобки показывать подсказку, а сразу после вставки автокомплита.

Например ввести новый маркер:
$~math.sin
math.sin($[])
$= "Тут подсказка"
Можно, но чуть по другому.

Code: Select all

$~math.pow
math.pow($[x], $[y])
После принятия подсказки вставится собственно текст в виде math.pow(x, y) но лексема x будет выделенна. Вы сразу же можете ввести нужное Вам выражение. Потом можете нажать TAB и выделится лексема y - и опять вводите выражение. И так столько, сколько в шаблоне лексем выделенных $[]

AkelPad не претендует быть идеальным редактором для кода или какой-нибудь другой специфической задачи редактирования, но возможностей заложено много.

Offline
Posts: 14
Joined: Tue Feb 21, 2012 9:55 am
Location: Voronezh

Post by Sergeyka »

Про эту возможность я писал выше =)
Плюс есть возможность добавлять не просто функцию, но и небольшой шаблон вида
функция ("image.png, x,y")
Но хотелось бы именно помощь/подсказку. Там же можно написать, что делает эта функция =)

update: Ух-ты..Про Tab не знал, спасибо, очень классно=) Можно в приципе там же и писать подсказку:

Что-то типа этого:

Code: Select all

$~RNFactory.createAnim
RNFactory.createAnim ( "images/$[].png", $[sizeX], $[Размер изображения Y], $[posX], $[posY], $[scaleX], $[scaleY] )

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

Post by Instructor »

Infocatcher wrote:В php.coder надо добавить...
Добавлено.
VladSh wrote:Ну хвост же "And bResult" подсвечивается, а не хотелось бы...
См. свой coder файл. "And bResult" никак не относится к двум правилам указанным мной выше.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:См. свой coder файл. "And bResult" никак не относится к двум правилам указанным мной выше.
"And" подсвечивается, т.к. он есть в Words, что правильно, а "bResult" начинает подсвечиваться как только раскоменчиваю

Code: Select all

393   1   ${OP}   0   ""   "("    ""   ""   ""
Других каких-либо правил, использующих скобки, у меня нет.

385 - тоже хороший флаг, но к сожалению работает корректно только когда в строке есть и открывающий и закрывающий "символы".


Ещё. Не нашёл переменной для символов CpecialChar. При включении сильно пользуемой мной темы "<Cobalt>" табуляции ещё видны кое как, а с пробелами в прямом смысле слова "мрак"))


Задолбало уже двигать эти табуляции с пробелами в coder-файлах... лучше бы "пробить" жёстко для этого типа файла какой-нибудь моноширинный шрифт. Наверное это один из немногих случаев, когда пробелы - хорошо.

В файле указал

Code: Select all

${HighLight_FontStyle} ${HighLight_FontSize} Courier
всё вроде хорошо..
указываю:

Code: Select all

${HighLight_FontStyle} ${HighLight_FontSize} Courier New Mod
и после обновления кэша вся цветовая тема слетает на дефолтную. Ещё заметил, что в Courier New Mod при этом нет курсивного начертания. Можно ли это всё как-то поправить?

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

Post by Instructor »

VladSh wrote:

Code: Select all

${HighLight_FontStyle} ${HighLight_FontSize} Courier New Mod
Кавычки нужны:

Code: Select all

${HighLight_FontStyle} ${HighLight_FontSize} "Courier New Mod"

Offline
Posts: 14
Joined: Tue Feb 21, 2012 9:55 am
Location: Voronezh

Post by Sergeyka »

Все-таки, хорошо было бы сделать всплывающее окно с описанием функции, как я писал на этой странице. В автокомплит же не засуну "returns number of seconds from time t1 to time t2"... Вот и мечусь между редакторами. В одном того нет, в другом третьего =((

Instructor , скажите пожалуйста, это будет сложно добавить?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:Кавычки нужны: "Courier New Mod"
Спасибо!


И всё-таки, что такое сделать с правилом

Code: Select all

393   1   ${OP}   0   ""   "("    ""   ""   ""
чтобы оно "bResult" не захватывало?

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

Post by Instructor »

VladSh
Instructor wrote:См. свой coder файл.
Уже стоило бы догадаться, что без coder файла вам не получается помочь.

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

Post by Instructor »

VladSh
В присланный файл необходимо добавить флаг 4:

Code: Select all

;397=1+4+8+128+256   подсветка имён функций
397	1	${OP}	0	""	"(" 	""	""	""

Offline
Posts: 14
Joined: Tue Feb 21, 2012 9:55 am
Location: Voronezh

Post by Sergeyka »

Instructor

Вы не заметили мой вопрос или он вам не понравился?)

Для удобства предложу варианты ответа :) :

1. Идея не нравится. Делать не буду.
2. Может быть..когда-нибудь...в ближайшие месяцы =)
3. Побежал внедрять фичу с подсказками :D
4. Введите свой вариант.
Locked