Coder plugin (3)
- Author
- Message
-
Offline
- Posts: 1162
- Joined: Sun Oct 20, 2013 11:44 am
Наверное, так и должно быть: если правильно понял, AkelPad при старте загружает все coder-файлы, при этом если существующий (и загруженный) coder-файл был изменён, то команда Call("Coder::Settings", 2) применит измененённый coder-файл к открытым или вновь открываемым файлам. А новое содержимое cache сбросится на диск при закрытии AkelPad.LonerD wrote:Без второй двойки ошибок нет. Файл cache при этом не изменяется, добавленные coder-файлы в него не прописываются до закрытия Акелпада - так и должно быть?
Т.е. получается, что без перезапуска не обойтись - добавленный файл может быть загружен только при следующем старте.
Если правильно понял.
-
Offline
- Posts: 1162
- Joined: Sun Oct 20, 2013 11:44 am
Что-то я затупил с фолдингом: в Ruby условные операторы, циклы, да всё - удручающе однообразны
Везде end. Есть идеи, как сделать корректно?
Успела даже возникнуть мысль попробовать свежую фичу плага - Backreference \101 matches \1 in fold start, \102 matches \2 and so on. - и считать отступы... Пока не пробовал. И пока не уточнял: отступы только для читабельности кода или имеют значение, как, например, обязательные в Python или допустимые в JScript.
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Успела даже возникнуть мысль попробовать свежую фичу плага - Backreference \101 matches \1 in fold start, \102 matches \2 and so on. - и считать отступы... Пока не пробовал. И пока не уточнял: отступы только для читабельности кода или имеют значение, как, например, обязательные в Python или допустимые в JScript.
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
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.
Test file test.js:
Code: Select all
WScript.Echo("Hello Word");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.
-
Offline
- Posts: 513
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
-
Offline
- Site Admin
- Posts: 6411
- Joined: Thu Jul 06, 2006 7:20 am
KDJ
Not reproduced, but found problem with uninitialized memory - test version. If it still not work, can you share/send your AkelPad folder?
Not reproduced, but found problem with uninitialized memory - test version. If it still not work, can you share/send your AkelPad folder?
-
Offline
- Site Admin
- Posts: 6411
- Joined: Thu Jul 06, 2006 7:20 am
Исправлено: освобождение неинициализированной памяти при использовании настройки "Сохранять регистр введённых символов" (Coder::AutoComplete).
Fixed: releasing uninitialized memory when using option "Save typed symbols case" (Coder::AutoComplete).
Coder plugin v19.6
Fixed: releasing uninitialized memory when using option "Save typed symbols case" (Coder::AutoComplete).
Coder plugin v19.6
-
Offline
- Posts: 1162
- Joined: Sun Oct 20, 2013 11:44 am
По Ruby: считать пробелы было не самой умной идеей
Присваиваем переменной результат условного выражения:
А мне только начал местами нравиться язык
)
Идеи всё ещё приветствуются
Хотя, похоже, придётся считать символы и юзать обратные ссылки... Или пересмотреть идею исчерпывающего фолдинга.
Code: Select all
result = if some_cond
calc_something
else
calc_something_else
endИдеи всё ещё приветствуются
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
Skif_off
Если по фолдингу
Из xml.coder
Но сильная вложенность, наверное будет тормозить заметно
Если по фолдингу
Code: Select all
;3412609=1+128+512+4096+262144+1048576+2097152Но сильная вложенность, наверное будет тормозить заметно
-
Offline
- Posts: 1162
- Joined: Sun Oct 20, 2013 11:44 am
Lenchik
Спасибо, можно пример с началом и концом блока? Если правильно понял, правило с этими ключами используется для подсветки атрибутов (см. в Quotes правила с Parent ID = 2).
По ключам на первый взгляд:
512 - игнорируются вложенные блоки;
4096 - не срабатывало, посмотрю ещё раз;
262144 - хорошо, когда можно прыгнуть к началу блока.
И, пожалуй, не хватает 256.
Наверное, всё-таки придётся считать пробелы до ключевого слова, а присваивания в духе предыдущего сообщения - нафиг.
Спасибо, можно пример с началом и концом блока? Если правильно понял, правило с этими ключами используется для подсветки атрибутов (см. в Quotes правила с Parent ID = 2).
По ключам на первый взгляд:
512 - игнорируются вложенные блоки;
4096 - не срабатывало, посмотрю ещё раз;
262144 - хорошо, когда можно прыгнуть к началу блока.
И, пожалуй, не хватает 256.
Наверное, всё-таки придётся считать пробелы до ключевого слова, а присваивания в духе предыдущего сообщения - нафиг.
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
-
Offline
- Posts: 1162
- Joined: Sun Oct 20, 2013 11:44 am
Lenchik
Вполне возможно, что я просто затупил
Пример здесь, у меня пока не получилось - захватывает не то. Или, может быть, нужно просто добавить сразу все варианты,чтобы не оставалось "незанятых" end? Доберусь до компа, проверю.
>>> Folds: 4 правила с Rule ID=1 - получаем фолдинг для всех элементов;
>>> Folds: 1 правило с Parent ID=1 и Rule ID=2 - получаем правило, ограничивающее область для атрибутов;
>>> Quotes: 4 правила с Parent ID=2 - и вот теперь, собственно, подсветка атрибутов.
Получается универсально и на типичных XML вы не ощущаете (иначе, думаю, давно пошли бы репорты), но чем больше документ - тем заметнее становится. Скорость с fb2 удалось поднять, отказавшись от универсальных правил в Folds (только конкретные элементы, они же заранее известны из описания формата) и такого каскада для подсветки атрибутов.
Убрал очепятку.
Вполне возможно, что я просто затупил
Дело в размере, посмотрите, как применяются правила фолдинга и подсветки атрибутов в XML:Lenchik wrote:Он же в некоторых случаях заметно подтормаживает как раз изза того, что фолдинг отрабатывает (про fb2 такие истории тут были, насколько помню).
>>> Folds: 4 правила с Rule ID=1 - получаем фолдинг для всех элементов;
>>> Folds: 1 правило с Parent ID=1 и Rule ID=2 - получаем правило, ограничивающее область для атрибутов;
>>> Quotes: 4 правила с Parent ID=2 - и вот теперь, собственно, подсветка атрибутов.
Получается универсально и на типичных XML вы не ощущаете (иначе, думаю, давно пошли бы репорты), но чем больше документ - тем заметнее становится. Скорость с fb2 удалось поднять, отказавшись от универсальных правил в Folds (только конкретные элементы, они же заранее известны из описания формата) и такого каскада для подсветки атрибутов.
Убрал очепятку.
Last edited by Skif_off on Sun Jun 05, 2016 11:41 am, edited 1 time in total.