Page 30 of 40

Posted: Sun Jul 21, 2019 10:50 am
by YuS
AZJIO
1. Если конец блока описываем регвыром "\z", то для корректной работы фолдинга, необходимо это указывать в сумме флагов, например, так:

Code: Select all

;3145733=1+4+1048576+2097152
2. Ну, вот, теперь понятно, что в захвате сверток правилом из секции Folds:, присутствует баг.
Описание:
Если начало блока описать регвыр-ом "\A", конец блока неважно как, но можно описать также регвыр-ом "\Z".

Code: Select all

3145733    0    0    0    "\A"    "\Z"    ""    0    0    "alias:.ooo"
- алиас здесь для подсветки содержимого блока из другого файла.
При наличии в начале блока пустой строки:
Image
- если установить курсор в начало блока и нажать <Enter>, начало блока смещается вместе с курсором:
Image
Если же в начале блока присутствует хотя бы один, любой символ, а не пустая строка, тогда смещения начала блока не происходит и подсветка из другого файла применяется автоматически.

Вот, как-то так.
Прошу автора обратить внимание на эту ситуацию и если это не баг, то описать это как фичу в файле помощи.

Posted: Thu Jul 25, 2019 6:44 pm
by AZJIO
akelmenu.coder - подстроил под себя подсветку кода меню (чёрная тема, регвыры). В txt.coder добавил

Code: Select all

Folds: 
;1048580=4+1048576
1048580    0    0    0    "\A(?=.*SEPARATOR)"    "\z"    ""    0    0    "alias:.akelmenu"
В меню

Code: Select all

"Меню AkelPad" Call("Coder::Settings", 1, "akelmenu")

Posted: Fri Jul 26, 2019 12:10 pm
by YuS
AZJIO wrote:

Code: Select all

Folds: 
;1048580=4+1048576
1048580    0    0    0    "\A(?=.*SEPARATOR)"    "\z"    ""    0    0    "alias:.akelmenu"
Правильно понимаю, что советы вроде этого:
YuS wrote:AZJIO
1. Если конец блока описываем регвыром "\z", то для корректной работы фолдинга, необходимо это указывать в сумме флагов, например, так:

Code: Select all

;3145733=1+4+1048576+2097152
совсем не нужны? :)
ок, понял.

Posted: Fri Jul 26, 2019 4:43 pm
by AZJIO
YuS wrote:Правильно понимаю, что советы вроде этого:
YuS wrote:AZJIO
1. Если конец блока описываем регвыром "\z", то для корректной работы фолдинга, необходимо это указывать в сумме флагов, например, так:

Code: Select all

;3145733=1+4+1048576+2097152
совсем не нужны? :)
ок, понял.
Предыдущий совет с флагом 1048580 тоже был твой, передумал? Если бы была причина для чего менять оно было бы стимулом. Но я попробовал, сменил на 3145733, вызвал рефреш кодеров, AkelPad повис с процессом 50% (то есть 100% на 1-м ядре), ладно, убил процес, запустил AkelPad, повис сразу, даже файлы сессии не открыл, ладно меняю \z на \Z вроде заработало, но технически всё осталось также.

Разница между \z и \Z что один захватывает не включая последний \n, другой включая, но это мелочи, \n всё равно не подсветится, так что можно до него. Но то что при правке это может вызвать зависон с полной нагрузкой ядра, а потом попробуй угадай откуда он появился, всего лишь скопировал что-то поменял через 3 часа перезапустил AkelPad и гадай что ты делал эти 3 часа.

Надо что-то в плаге исключить эту проблему, это не нормально.

Posted: Sat Jul 27, 2019 7:44 am
by YuS
AZJIO wrote:Предыдущий совет с флагом 1048580 тоже был твой, передумал?
Дело даже не в том, кто какие советы раздает, я тоже могу ошибаться, увы, а в том, что существует документация от автора, вот её и надо придерживаться.
; 1048576 регулярное выражение в начале блока (секция "Folds:") или начале пропуска (секция "Skips:").
; 2097152 регулярное выражение в конце блока (секция "Folds:") или конце пропуска (секция "Skips:").
Просто иногда освежаю память, особенно в случаях, когда что-то пошло не так...
AZJIO wrote: Если бы была причина для чего менять оно было бы стимулом. Но я попробовал, сменил на 3145733, вызвал рефреш кодеров, AkelPad повис с процессом 50% (то есть 100% на 1-м ядре), ладно, убил процес, запустил AkelPad, повис сразу, даже файлы сессии не открыл, ладно меняю \z на \Z вроде заработало, но технически всё осталось также.
Какие нужны стимулы, чтобы следовать документации? Странно.
Ну, вот такой вот пример, может послужить стимулом:
попробуй своими файлами синтаксиса, которые ты чуть раньше выкладывал для тестов, исследовать, например, файл test.txt с таким содержимым:

Code: Select all

21.07.19 111 текст 
21.07.19 222 текст 
21.07.19 333 текст 
21.07.19 444 текст

текстовый блок с примером для наглядности \z или \Z

21.07.19 111 текст 
21.07.19 222 текст 
21.07.19 333 текст 
21.07.19 444 текст
увидишь наглядно, зачем и для чего пишется документация :)

А технически - это про что именно речь?
Если про \z и \Z, то разницы не будет никакой, если именно таких символов у тебя в тексте нет.
В любом случае, если используется регулярное выражение, то необходимо указывать соответствующие флаги. Если что-то не работает или работает не так, как ожидалось - всегда есть возможность задавать вопросы или писать багрепы, если есть уверенность, что это именно баг.
AZJIO wrote: Разница между \z и \Z что один захватывает не включая последний \n, другой включая, но это мелочи, \n всё равно не подсветится, так что можно до него. Но то что при правке это может вызвать зависон с полной нагрузкой ядра, а потом попробуй угадай откуда он появился, всего лишь скопировал что-то поменял через 3 часа перезапустил AkelPad и гадай что ты делал эти 3 часа.

Надо что-то в плаге исключить эту проблему, это не нормально.
Чтобы исправить баг, его необходимо повторить...
А если он ни у кого не проявлялся, что тогда делать? Т.е. требуется подробное описание того, как воспроизвести проблему, вплоть до предоставления каталога с самим акелпадом...
Иначе, баг, если он редкий, будет жить годами в программе.

Posted: Sun Jul 28, 2019 3:57 am
by AZJIO
YuS wrote:попробуй своими файлами синтаксиса, которые ты чуть раньше выкладывал для тестов, исследовать, например, файл test.txt с таким содержимым:

Code: Select all

21.07.19 111 текст 
21.07.19 222 текст 
21.07.19 333 текст 
21.07.19 444 текст

текстовый блок с примером для наглядности \z или \Z

21.07.19 111 текст 
21.07.19 222 текст 
21.07.19 333 текст 
21.07.19 444 текст
увидишь наглядно, зачем и для чего пишется документация :)
Не увидел, всё подсветилось.
YuS wrote:А технически - это про что именно речь?
про то что оба ищут до конца строки.
YuS wrote:Чтобы исправить баг, его необходимо повторить....
Почему всегда надежда что у меня какой то особый AkelPad или я с ним вытворил что-то, что у меня изменение меню связывается с кодером и подсветкой и дают особый результат, типа сложная комбинация чего то там, нет, тупо флаг 3145733 и \z и ничего больше. Вот не лень, выкладываю чистый AkelPad с чистым txt.coder и 1.txt-файл в корне для теста. Запусти его и кинь в него 1.txt, у меня сразу зависон.

Posted: Sun Jul 28, 2019 8:11 am
by YuS
AZJIO wrote: Не увидел, всё подсветилось.
Вот с такой суммой флагов
;1048580=4+1048576
?
Не верю! Как минимум, должно быть так:
Image
Ну, с соответствующей темой, естественно...
AZJIO wrote:
YuS wrote:А технически - это про что именно речь?
про то что оба ищут до конца строки.
Это, по документации одно и то же, но:
\z - Тоже, что и \Z, но соответствует позиции конца диапазона поиска.
У нас есть диапазон поиска? Вот, не вижу ни одного. А если нет необходимого условия, тогда зачем использовать метасимвол, который может привести к проблеме? Не понимаю.
AZJIO wrote:
YuS wrote:Чтобы исправить баг, его необходимо повторить....
Почему всегда надежда что у меня какой то особый AkelPad или я с ним вытворил что-то, что у меня изменение меню связывается с кодером и подсветкой и дают особый результат, типа сложная комбинация чего то там, нет, тупо флаг 3145733 и \z и ничего больше. Вот не лень, выкладываю чистый AkelPad с чистым txt.coder и 1.txt-файл в корне для теста. Запусти его и кинь в него 1.txt, у меня сразу зависон.
Ну почему-почему... потому, что не любишь читать документацию, вот почему :) шутка.
Ну, а если серьезно, то скачал твой комплект, запустил, открыл приложенный файл и ... ничего, т.е. открывается обычно, никаких тормозов, зависонов и прочей гадости нет. Что делать, как воспроизвести?

Posted: Sun Jul 28, 2019 9:18 am
by opk44
YuS wrote:...то скачал твой комплект, запустил, открыл приложенный файл и ... ничего, т.е. открывается обычно, никаких тормозов, зависонов и прочей гадости нет. Что делать, как воспроизвести?
1. Перед первым запуском удалить раздел реестра HKEY_CURRENT_USER\Software\Akelsoft
2. После запуска поставить птички у Coder::HighLight, Coder::AutoComplete, Coder::CodeFold
У меня после подключения Coder::CodeFold на файле "1.txt" виснет и начинает активно жрать память (прибил после 1 Гб).
3. В тестовом комплекте используется Coder.dll версии 19.7.. Замена плагина на актуальную версию 20.0. решает проблему утечки памяти и "тормозов".

Posted: Sun Jul 28, 2019 4:01 pm
by YuS
opk44 wrote:
YuS wrote:...то скачал твой комплект, запустил, открыл приложенный файл и ... ничего, т.е. открывается обычно, никаких тормозов, зависонов и прочей гадости нет. Что делать, как воспроизвести?
1. Перед первым запуском удалить раздел реестра HKEY_CURRENT_USER\Software\Akelsoft
2. После запуска поставить птички у Coder::HighLight, Coder::AutoComplete, Coder::CodeFold
У меня после подключения Coder::CodeFold на файле "1.txt" виснет и начинает активно жрать память (прибил после 1 Гб).
3. В тестовом комплекте используется Coder.dll версии 19.7.. Замена плагина на актуальную версию 20.0. решает проблему утечки памяти и "тормозов".
Вот, это уже ближе к делу...
1. Удалять нечего, ибо все настройки всегда перевожу в файл .ini
2. Это обязательно для воспроизведения бага. Повторяемость 100% на различных компьютерах.
3. У меня обновление не исправляет ситуацию. Более того, замена \z на \Z, тоже не исправляет ситуацию, в смысле не помогает в тестовом комплекте, но помогает если AP x64.

Posted: Fri Aug 02, 2019 1:00 am
by AZJIO
Попробовал индивидуальные подсветки

Code: Select all

"Подсветить выборочно" Icon("%a\AkelFiles\Plugs\Coder.dll", 13)
{
    -"Числа" Call("Coder::HighLight", 2, "#F3CF70", 0, 2, 0, -1, "\d+")
    -"Числа-16" Call("Coder::HighLight", 2, "#F3CF70", 0, 2, 0, -1, "(?<=[x#])[\dA-Fa-f]+")
    -"Английские" Call("Coder::HighLight", 2, "#BFCAA9", 0, 2, 0, -1, "[A-Za-z]+")
    -"Русские" Call("Coder::HighLight", 2, "#D3A3A3", 0, 2, 0, -1, "[А-Яа-яЁё]+")
    -"Дату" Call("Coder::HighLight", 2, "#AFE7B3", 0, 2, 0, -1, "\d{1,4}[:.\\]\d{2}[:.\\]\d{1,4}")
    -"Комментарии" Call("Coder::HighLight", 2, "#71AE71", 0, 2, 0, -1, "^[\t ]*?(?:[;#]|---|\===|\*\*\*).*?(?=\n)")
    -"Операторы" Call("Coder::HighLight", 2, "#FF8080", 0, 2, 0, -1, "[\(\)\{\}\[\]+\-*]")
    -"Задать рег.выр." Call("Scripts::Main", 1, "SetHighLight.js")
    -"TextMarker" Call("Scripts::Main", 1, "TextMarker.js")
}
SetHighLight.js

Code: Select all

var sValue;
if (sValue=AkelPad.InputBox(AkelPad.GetMainWnd(), WScript.ScriptName, "Задайте регулярное выражение","")) // если жмём "ОК"
  AkelPad.Call("Coder::HighLight", 2, "#FF8080", 0, 2, 0, -1, sValue);
TextMarker.ini

Code: Select all

aMark=[["Английские","#BFCAA9","0",0,"[A-Za-z]+",1,0,1,""],["Дата","#AFE7B3","0",0,"\\d{1,4}[:.\\\\]\\d{2}[:.\\\\]\\d{1,4}",1,0,1,""],["Комментарии","#71AE71","0",0,"^[\\t ]*?(?:[;#]|---|\\===|\\*\\*\\*).*?(?=\\n)",1,0,1,""],["Операторы","#FF8080","0",0,"[\\(\\)\\{\\}\\[\\]+\\-*]",1,0,1,""],["Русские","#D3A3A3","0",0,"[А-Яа-яЁё]+",1,0,1,""],["Числа","#F3CF70","0",0,"\\d+",1,0,1,""],["Числа-16","#F3CF70","0",0,"(?<=[x#])[\\dA-Fa-f]+",1,0,1,""]];

Posted: Mon Sep 09, 2019 11:01 am
by AZJIO
Можно как-то сделать, чтобы при "Просмотр HTML-кода" открывшийся файл подсветился как HTML? Файл создаётся в кэше с именем типа name[1]. В Notepad++ использовался дополнительный exe-файл, который прописан был в реестре как редактор для команды "Просмотр HTML-кода", но при этом он перенаправлял файл в Notepad++ и включал подсветку.
Если бы он хотя бы открывался как txt, то можно было бы сделать alias на html-кодер, но он то без темы.

let в синтаксической подсветке JScript

Posted: Mon Nov 18, 2019 2:15 pm
by sPSjnbjhUM
Синтаксическая подcветка JavaScript до сих пор не знает, что let ключевое слово. Думаю, что тоже самое и с новыми синтаксическими конструкциями вроде создания классов.

Wrong cASE with autocompleting words

Posted: Mon Nov 18, 2019 3:53 pm
by фдуч
Всем привет и доброго дня.
У меня авто-завершение работает с ошибочной сменой регистра. Например:

(1) Написал в тексте 28px.
После этого набираю "28",
показывается подстановка "28px",
жму ввод - и появляется 28PX.

(2) В js пишу inner
показывается подстановка "innerHTML",
при вводе оказывается innerhtml.

Версии всего последние.
У меня ещё стоит AHK со скриптом смены регистра по клавише Shift-Break, но не думаю, что это имеет отношение.

Заранее спасибо за помощь, и вообще за ваш труд.
Акела рулит! :)

Wrong cASE with autocompleting words

Posted: Mon Nov 18, 2019 4:59 pm
by sPSjnbjhUM
А это точно была синтаксическая тема JScript, а не HTML?

P.S. AkelPad велик и могуч :D .

Posted: Mon Nov 18, 2019 5:22 pm
by opk44
фдуч
1. Постарайтесь осознанно подойти к трём последним настройкам [Coder-плагин]-->[Autocomplete2]. На иллюстрации мои настройки, вам могут потребоваться другие:
Image
2. Либо для вставки из списка можно использовать [Shift+Enter].
3. Воспользуйтесь поиском по форуму с ключевыми словами "Наследовать регистр".