Page 13 of 40
Posted: Sun May 15, 2016 5:27 pm
by Kley
LonerD
*USECACHE думаю для использования в коде скрипта.
Посмотрите пример к Call("Coder::Settings", 12, "ALIAS", *BOOL).
Posted: Sun May 15, 2016 6:53 pm
by Skif_off
LonerD wrote:Без второй двойки ошибок нет. Файл cache при этом не изменяется, добавленные coder-файлы в него не прописываются до закрытия Акелпада - так и должно быть?
Наверное, так и должно быть: если правильно понял, AkelPad при старте загружает все coder-файлы, при этом если существующий (и загруженный) coder-файл был изменён, то команда
Call("Coder::Settings", 2) применит измененённый coder-файл к открытым или вновь открываемым файлам. А новое содержимое cache сбросится на диск при закрытии AkelPad.
Т.е. получается, что без перезапуска не обойтись - добавленный файл может быть загружен только при следующем старте.
Если правильно понял.
Posted: Thu Jun 02, 2016 11:42 pm
by Skif_off
Что-то я затупил с фолдингом: в Ruby условные операторы, циклы, да всё - удручающе однообразны
Code: Select all
class SongList
def [](key)
if key.kind_of?(Integer)
return @songs[key]
else
for i in 0...@songs.length
return @songs[i] if key == @songs[i].name
end
end
return nil
end
end
Везде
end. Есть идеи, как сделать корректно?
Успела даже возникнуть мысль попробовать свежую фичу плага -
Backreference \101 matches \1 in fold start, \102 matches \2 and so on. - и считать отступы... Пока не пробовал. И пока не уточнял: отступы только для читабельности кода или имеют значение, как, например, обязательные в Python или допустимые в JScript.
Posted: Fri Jun 03, 2016 11:19 am
by Drugmix
А есть ли какой-то шанс, что regex правила подсветки в .coder начнут работать предсказуемо? Правда, даже если и начнут - без каскадного применения правил это всё равно довольно бесполезно

Posted: Fri Jun 03, 2016 6:02 pm
by Skif_off
Drugmix
А что сейчас работает непредсказуемо?
Rule ID/Parent ID ни в коей мере не помогают "каскадному применению правил"?
Posted: Fri Jun 03, 2016 9:13 pm
by KDJ
AutoComplete is not working properly if you set option: Coder::Settings -> AutoComplete 2 -> Save typed symbols case.
Test file test.js:
1. Set caret at end of line and press Enter to add new line.
2. In last line, type "WS".
3. From AutoComplete list select "WScript+" and press Enter.
AutoComplete works.
4. Repeat steps 1, 2, 3.
AutoComplete doesn't work.
5. Repeat steps 1, 2, 3 several times.
AutoComplete doesn't work and AkelPad crashes.
Posted: Sat Jun 04, 2016 6:49 am
by YuS
Drugmix wrote:А есть ли какой-то шанс, что regex правила подсветки в .coder начнут работать предсказуемо?
Вопрос из серии:
"Вы давно перестали пить водку по утрам?"
Слишком эмоционально. Попробуйте сформулировать, что хотелось получить и что именно из предполагаемого не получается...
Posted: Sat Jun 04, 2016 8:24 am
by Instructor
KDJ
Not reproduced, but found problem with uninitialized memory -
test version. If it still not work, can you share/send your AkelPad folder?
Posted: Sat Jun 04, 2016 11:24 am
by KDJ
Instructor
Yes, it helped. Now works correctly. Thanks.
Posted: Sat Jun 04, 2016 12:38 pm
by Instructor
Исправлено: освобождение неинициализированной памяти при использовании настройки "Сохранять регистр введённых символов" (Coder::AutoComplete).
Fixed: releasing uninitialized memory when using option "Save typed symbols case" (Coder::AutoComplete).
Coder plugin v19.6
Posted: Sat Jun 04, 2016 8:46 pm
by Skif_off
По Ruby:
считать пробелы было не самой умной идеей

Присваиваем переменной результат условного выражения:
Code: Select all
result = if some_cond
calc_something
else
calc_something_else
end
А мне только начал местами нравиться язык
)
Идеи всё ещё приветствуются

Хотя, похоже, придётся считать символы и юзать обратные ссылки... Или пересмотреть идею исчерпывающего фолдинга.
Posted: Sat Jun 04, 2016 8:58 pm
by Lenchik
Skif_off
Если по фолдингу
Code: Select all
;3412609=1+128+512+4096+262144+1048576+2097152
Из xml.coder
Но сильная вложенность, наверное будет тормозить заметно
Posted: Sat Jun 04, 2016 10:13 pm
by Skif_off
Lenchik
Спасибо, можно пример с началом и концом блока? Если правильно понял, правило с этими ключами используется для подсветки атрибутов (см. в Quotes правила с Parent ID = 2).
По ключам на первый взгляд:
512 - игнорируются вложенные блоки;
4096 - не срабатывало, посмотрю ещё раз;
262144 - хорошо, когда можно прыгнуть к началу блока.
И, пожалуй, не хватает 256.
Наверное, всё-таки придётся считать пробелы до ключевого слова, а присваивания в духе предыдущего сообщения - нафиг.
Posted: Sun Jun 05, 2016 7:20 am
by Lenchik
А вообще в чём проблема ситуации, когда есть вложенность и у разных правил фолдинга одинаковые слова окончания? Кодер не умеет такие ситуации понимать? Он же в некоторых случаях заметно подтормаживает как раз изза того, что фолдинг отрабатывает (про fb2 такие истории тут были, насколько помню).
Posted: Sun Jun 05, 2016 9:26 am
by Skif_off
Lenchik
Вполне возможно, что я просто затупил

Пример
здесь, у меня пока не получилось - захватывает не то. Или, может быть, нужно просто добавить сразу все варианты,чтобы не оставалось "незанятых"
end? Доберусь до компа, проверю.
Lenchik wrote:Он же в некоторых случаях заметно подтормаживает как раз изза того, что фолдинг отрабатывает (про fb2 такие истории тут были, насколько помню).
Дело в размере, посмотрите, как применяются правила фолдинга и подсветки атрибутов в XML:
>>> Folds: 4 правила с Rule ID=1 - получаем фолдинг для всех элементов;
>>> Folds: 1 правило с Parent ID=1 и Rule ID=2 - получаем правило, ограничивающее область для атрибутов;
>>> Quotes: 4 правила с Parent ID=2 - и вот теперь, собственно, подсветка атрибутов.
Получается универсально и на типичных XML вы не ощущаете (иначе, думаю, давно пошли бы репорты), но чем больше документ - тем заметнее становится. Скорость с fb2 удалось поднять, отказавшись от универсальных правил в Folds (только конкретные элементы, они же заранее известны из описания формата) и такого каскада для подсветки атрибутов.
Убрал очепятку.