Coder plugin (3)

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 1162
Joined: Sun Oct 20, 2013 11:44 am

Post by Skif_off »

cordylus
Можно попробовать костылём "перехватить" (правила отрабатывают по порядку), приведя содержимое секции Quotes к такому виду:

Code: Select all

;5=1+4
5	3	${STR}	0	`"""`	`"""`	""	""	""	0	0
;33157=1+4+128+256+32768
33157	0	0	0	`"`	`""`	""	""	""	0	0
;5=1+4
5	3	${STR}	0	`"`	`"`	"\"	""	""	0	0
;5=1+4
5	3	${STR}	0	"'''"	"'''"	""	""	""	0	0
;33157=1+4+128+256+32768
33157	0	0	0	"'"	"''"	""	""	""	0	0
;5=1+4
5	3	${STR}	0	"'"	"'"	"\"	""	""	0	0
;1=1
1	3	${COMM}	0	"#"	""	""	""	""	0	0
;8197=1+4+8192
8197	0	${VAR}	0	"__"	"__"	""	""	""	0	0
Но с Python знаком, мягко говоря, слабо и сложновато оценить последствия.

Offline
Posts: 15
Joined: Wed Dec 14, 2016 9:33 am

Post by cordylus »

Skif_off
Да, честно говоря, нет желания ради исправления подсветки с этим всем возиться. Так, зарепортил баг, когда дойдут руки у автора - пусть сделает, как правильно. Может, и Ваше предложение пригодится.

Offline
Posts: 3
Joined: Thu Dec 05, 2013 1:06 pm
Location: Saint-Petersburg

Фолдинг не мог настроить

Post by Abat.mf »

Всем привет!
Пожалуйста тыкните носом, ни как не получается настроить фолдинг - что-бы он всегда сворачивал по определённым операторам. (Например в html удобно было бы чтоб всегда были свёрнуты комментарии и тег <p>)

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Coder Plugin(3): автодополнение д/спец.симвл «$», «%»

Post by Eskander88 »

Добрый день!

Помогите разобраться с синтаксисом файлов *.coder для Coder::Plugin .

Не получается добавить автодополнение (auto folding) для команд со знаком «$», «%», в секции «Blocks:», например:

Code: Select all

$$$COM
$_SERVER['DOCUMENT_ROOT']
%username%
%port%
При вводе символа «$» никаких реакций
Last edited by Eskander88 on Mon Feb 18, 2019 7:43 am, edited 1 time in total.

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

у меня стоит опция для "Автодополнения" \ "дополнять после" \ "2ух символов" ... После введения 2ух символов появляется список подсказок. Однако если их много и приходится вводить 3ий и последующий, то подсказка исчезает. А выбирать сразу в длинном списке проблематично. Иногда ведь приходится ввести выражение до 5 и более символов.

и другой вопрос по логике работы "Автодополнения" (Coder::AutoComplete)
И не получается понять логику добавления собственных фрагментов для дополнения. Также добавил в конец файла js.coder блоки кода для дополнения

Code: Select all

$~ajax $~ajax:json
$$.ajax({
  type: "$[POST]", // unnecessary
	url: "$[ajax/cart.php]",
	data: {$[variable], $[value]},
	dataType: 'json',
	success: function(data) {
		// 
		$[]
	}
});
$[]

$~use $~strict
'use strict';
$[]


$~document.writeln
document.writeln($[])$[]

$~.writeln $~writeln
.writeln($[])$[]


$~alert
alert($[]);$[]

$~log $~console.log
console.log($[]);$[] // TODO: TEMP

$~warn $~console.warn
console.warn($[]);$[] // TODO: TEMP


$~clear $~console.clear
console.clear(); // TODO: TEMP
$[]

$~group $~console.group
console.group('$[DEBUG]'); // TODO: TEMP
console.group($[]); // TODO: TEMP
console.groupEnd('$[DEBUG]'); // TODO: TEMP
$[]
но почему-то, кроме "console..." и нескольких коротких выражений остальные не работают и не появляются в списке дополнения... например: ввод «ajax» - ни со 2ого, ни с другого символа в подсказках не присутствует. Подсказка будет появлятся, если в самом коде js-файла уже будет присутствовать код:

Code: Select all

$.ajax({
  type: "POST", // unnecessary
	url: "ajax/cart.php",
	data: {variable, value},
	dataType: 'json',
	success: function(data) {
		// 
		
	}
});
то уже теперь, набирая в любом месте js-файла фрагмент или слово «ajax» будет появляться подсказка «ajax» и «ajax:json» и при нажатии [Enter] весь блок подставиться согласно тому как она записан в js.coder

Однако если добавить в соответствующий фрагмент js.coder строку:

Code: Select all

;--Common methods--  
1	0	0	0	ajax
то всё начинает работает и в пустом js-файле

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

Post by VladSh »

Eskander88
Возможно из-за $$.ajax.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

VladSh, Eskander88
Не воспроизводится (ver 4.9.9dev x86).

Eskander88
Соберите "портабл" комплект, и проверьте на сторонней чистой машине (или на виртуальной). Если и там воспроизведётся, то выложите где-нибудь архив. А там посмотрим.

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

opk44,

Что значит собрать портабельную версию? Я не умею собирать из исходников. Ссылки на портабельную версию не знаю. Сейчас стоит AP 4.9.8 x64

Может быть для тестирования подойдёт AkelPad.exe по ссылке http://akelpad.sourceforge.net/files/AkelPad-x64.zip ? или http://akelpad.sourceforge.net/files/AkelPad.zip ?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Eskander88 wrote:Что значит собрать портабельную версию?
В данном случае под "портабельностью" подразумевается хранение всех настроек в ini (а не в системном реестре).
Будете проверять на виртуалке или сторонней машине и все станет значительно понятнее.
А под "собрать" подразумевается убрать из комплекта лишнее и с проблемой не связанное. Так, например, нет никого резона включать в комплект словари Aspell и справочные файлы.
Eskander88 wrote:Может быть для тестирования подойдёт AkelPad.exe по ссылке
Нет, раз проблема в настройках именно вашей машины. Т.е., возвращаясь к тому, с чего я начал предыдущее сообщение, у меня "такое" не воспроизводится (например, окно AutoComplete никуда не исчезает ни после 3-го символа, ни после 6-го).

Offline
Posts: 1
Joined: Wed Feb 27, 2019 1:58 pm

Совмещение нескольких .coder-файлов

Post by leha-bot »

Добрый день!
Есть один простенький язык для описания конфигов, основанный на INI.
Написал к нему простой файл light_ini.coder, в котором добавил фильтр для *.ini и несколько правил автодополнения с плейсхолдерами. Однако, когда кидаю его в папку к остальным файлам, моя автоподстановка не срабатывает. Без файла ini.coder в отладочной версии AkelPad все срабатывает (специально прогонял в vs-отладчике).
Возможно ли вообще применение нескольких файлов с правилами к одному типу файлов? Судя по html.coder и php.coder это как-то возможно, но я так и не понял, как; а судя по исходникам плагина Coder (см. Coder\Source\Coder.c, строка 4194, функция StackGetSyntaxFileByWindow) – нельзя, т.к. выбирается для "окна" (вкладки).

Функциональная выжимка (без комментариев) из файла light_ini.coder:

Code: Select all

Files:
*.ini

Delimiters:
1	0	0	0	" "        0
1	0	0	0	"	"  0
1	0	0	0	`"`        0
1	0	0	0	"'"        0
1	0	0	0	","        0


Blocks:
$~MoveTo
MoveTo($[target], $[x], $[y])

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

leha-bot
1. Применение нескольких "независимых" файлов сразу - нет, так нельзя.
2. Описание зависимостей ("иерархии") в coder-файлах документировано в "\AkelFiles\Docs\Coder-Rus.txt" стр.392-447
392. *** Описание иерархии, применяющейся в *.coder файлах ***
...
447. - См. html.coder для примера.

Offline
Posts: 44
Joined: Wed May 01, 2019 10:10 am

Post by Олег »

Добрый день!
Может, такой вопрос уже был, не могу найти.
Как изменить некорректную подсветку синтаксиса только для .reg файлов? Пользуюсь сборкой Coder-плагина из AP Image Full 32.32. Спасибо заранее.

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

Post by Skif_off »

Олег
Пример покажите.

Offline
Posts: 13
Joined: Mon Jan 08, 2018 6:32 pm

Post by broadway »

Сообщение удалено.

Offline
Posts: 44
Joined: Wed May 01, 2019 10:10 am

Post by Олег »

Пример покажите.
1. В reg-файле первое слово в кавычках не подсвечивается, если перед ним не стоит пробел.

2. При открытии reg-файла включаются три синтаксические темы: ini, inno, resourse и соответственно задействовано три coder-файла. Какой из них править?
Last edited by Олег on Thu May 16, 2019 6:55 pm, edited 1 time in total.
Post Reply