Page 2 of 4
Posted: Mon Apr 09, 2012 10:28 pm
by FeyFre
1. Сменить значок сообщения на информационный
Низя. Информационные сообщения не подразумевают за собой вмешательства в действия сообщающего. Просто уведомляет "что-то произошло". Знак восклицания - это уже случай "Эй, хозяин, у меня проблема, подскажи что делать!", вот тут именно он уместен больше всего.
Posted: Tue Apr 10, 2012 3:10 am
by Andrey_A_A
а может так сделать: после нажатия на кнопку обновить
Это конечно лучший вариант. Но могут оставаться не сохранённые или безымянные документы. Хотя можно сделать проверку, если таковых нет, после нажатие на кнопку "Обновить" можно закрывать программу без дополнительных запросов, а если есть - дать сообщение: "У Вас есть не сохранённые документы, сохраните и ..."
Posted: Tue Apr 10, 2012 5:11 am
by Infocatcher
Instructor wrote:Видимо шаблоны старые, были сохранены когда еще не было галочки "регулярные выражения".
Видимо надо было старый формат, когда были только регулярные выражения, трактовать соответствующе.
Instructor wrote:Выделение памяти лишает смысла реализацию регулярных выражений в программе, т.к. основное преимущество перед SearchReplace.js при поиске - это потребление памяти.
Я, может, никогда не пробовал делать парсер регулярных выражений, но все же что мешает использовать уже имеющуюся в памяти строку?
Или, если уж совсем никак, наращивать предобработанную строку по мере необходимости.
Instructor wrote:AkelHistory-Rus.txt wrote:Добавлено: возможность при замене с использованием регулярных выражений использовать специальные символы: $\r, $\n, $\t, $\u0000, $\x00 и т.д.
Тестовая
Ммм... я все же за стандартные esc-последовательности.
Иначе нужна справка и/или кнопка с выпадающим списком для вставки.
Да и вообще не очень удобно держать в голове, куда в каком виде записывать.
И особенно не стоит так делать в рамках одного диалога. Да и даже только с учетом SearchReplace.js тоже не стоило бы.
В тестовой работает только при использовании «заменить все», по найти -> заменить не работает.
А вот и пример незапоминания скобок – с ними тоже не работает при единичной замене.
Posted: Tue Apr 10, 2012 5:54 am
by Fr0sT
Добавлено: возможность при замене с использованием регулярных выражений использовать специальные символы: $\r, $\n, $\t, $\u0000, $\x00 и т.д.
Круто, отличная фича! В стандартных регулярках чтобы сделать замену на перевод строки голову сломаешь, а тут всё удобно.
Только в самом деле надо покумекать насчет подсказок. Возможно, что-то вроде этого:

Posted: Tue Apr 10, 2012 6:47 am
by Infocatcher
Так, едем дальше.
[а-яё]+ не умеет игнорировать регистр
[a-z]+ – тоже, но A все же находит.
И, аналогично, [^a-z]+ находит заглавную латиницу. Но A тоже не находит.
[^?]+ находит вовсе не то, что ожидается.
(Дело в том, что все реализации, которые я видел, не требуют экранирования специальных символов внутри [групп].)
Что: ^("|')|\1$
Чем: ""
Удаляет только первую кавычку.
Пример в контексте текстового редактора сферичен, просто вспомнилась похожая проблема с PHP.

Posted: Tue Apr 10, 2012 6:55 am
by Infocatcher
Кстати, если поиск сразу ничего не нашел, то хочется вместо
AkelPad
---------------------------
Search finished.
---------------------------
ОК
видеть что-то соответствующее.
Posted: Tue Apr 10, 2012 7:16 am
by FeyFre
Я что-то не распарсил эту регулярку. Что она должна найти? `"` либо `'` либо первую захваченную группу, которой нет. Оно вообще должно было бы матернутся на синтаксис. И это всё должно быть на всю строку.
Posted: Tue Apr 10, 2012 8:15 am
by VladSh
Клацать "Обновление..." как-то боязно, т.к. не понятно, что произойдёт, может оно опять переедет мои файлы?
Раз добавили "Обновлятор" в меню, то вместо огромной командной строки, по моему, лучше задавать настройки в интерфейсе и сохранять их (возможно общий числовой флаг в ini) + отображать состояние при следующем открытии. Настройки:
Radiobutton:
- обновлять;
- загружать обновления.
Checkbox'ы для "обновлять":
- программу и плагины;
- скрипты;
- что там ещё?...
Posted: Tue Apr 10, 2012 8:31 am
by Infocatcher
FeyFre wrote:Я что-то не распарсил эту регулярку. Что она должна найти? `"` либо `'` либо первую захваченную группу, которой нет. Оно вообще должно было бы матернутся на синтаксис. И это всё должно быть на всю строку.
По логике – должно убирать обрамляющие кавычки.
Хотя странно, мне казалось, что где-то такое все же работало – сейчас проверил, в js тоже не хочет.
Но тогда есть другой неработающий пример:
Что: ^("|')([\s\S]*)\1$
Чем: $2
Posted: Tue Apr 10, 2012 10:49 am
by FeyFre
Вот это называется "убить обрамляющие кавычки", а то было неверно. Ибо вторая альтернатива ссылалась на группу, которая есть только в первой альтернативе, что взаимоисключающее.
Тут может не работать по другой причине - жадность. [\s\S]* съедает всё, в том числе последнюю кавычку. Я пытался разобраться, есть ли какой-то способ отключить её - что-то не нашел.
Posted: Tue Apr 10, 2012 11:48 am
by Infocatcher
FeyFre
С ^("|')([\s\S]*?)\1$ тоже не работает.
При этом на js работают оба варианта.
Posted: Tue Apr 10, 2012 1:03 pm
by FeyFre
Это уж слишком глубоко пошли.
Найти регулярку: ^" (найти кавычку в начале строки)
Текст
Находит всё. Пробовать что-то по сложнее можно после того как это исправят.
Re: Релиз AkelPad 4.7.4
Posted: Tue Apr 10, 2012 2:00 pm
by Instructor
Posted: Tue Apr 10, 2012 4:27 pm
by private_joker
Instructor
Спасибо.

Posted: Tue Apr 10, 2012 6:33 pm
by Instructor
Infocatcher wrote:[а-яё]+ не умеет игнорировать регистр
[^?]+ находит вовсе не то, что ожидается.
Тестовая
Infocatcher wrote:Но тогда есть другой неработающий пример:
Что: ^("|')([\s\S]*)\1$
Чем: $2
Почему конструкция "[\s\S]*" должна остановится на кавычке?