| View previous topic :: View next topic |
| Author |
Message |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Mon Apr 09, 2012 10:28 pm Post subject: |
|
|
| Quote: | | 1. Сменить значок сообщения на информационный | Низя. Информационные сообщения не подразумевают за собой вмешательства в действия сообщающего. Просто уведомляет "что-то произошло". Знак восклицания - это уже случай "Эй, хозяин, у меня проблема, подскажи что делать!", вот тут именно он уместен больше всего. |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Tue Apr 10, 2012 3:10 am Post subject: |
|
|
| Quote: | | а может так сделать: после нажатия на кнопку обновить |
Это конечно лучший вариант. Но могут оставаться не сохранённые или безымянные документы. Хотя можно сделать проверку, если таковых нет, после нажатие на кнопку "Обновить" можно закрывать программу без дополнительных запросов, а если есть - дать сообщение: "У Вас есть не сохранённые документы, сохраните и ..." |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1433
|
Posted: Tue Apr 10, 2012 5:11 am Post subject: |
|
|
| Instructor wrote: | | Видимо шаблоны старые, были сохранены когда еще не было галочки "регулярные выражения". | Видимо надо было старый формат, когда были только регулярные выражения, трактовать соответствующе.
| Instructor wrote: | | Выделение памяти лишает смысла реализацию регулярных выражений в программе, т.к. основное преимущество перед SearchReplace.js при поиске - это потребление памяти. | Я, может, никогда не пробовал делать парсер регулярных выражений, но все же что мешает использовать уже имеющуюся в памяти строку?
Или, если уж совсем никак, наращивать предобработанную строку по мере необходимости.
| Instructor wrote: | | AkelHistory-Rus.txt wrote: | | Добавлено: возможность при замене с использованием регулярных выражений использовать специальные символы: $\r, $\n, $\t, $\u0000, $\x00 и т.д. | Тестовая | Ммм... я все же за стандартные esc-последовательности.
Иначе нужна справка и/или кнопка с выпадающим списком для вставки.
Да и вообще не очень удобно держать в голове, куда в каком виде записывать.
И особенно не стоит так делать в рамках одного диалога. Да и даже только с учетом SearchReplace.js тоже не стоило бы.
В тестовой работает только при использовании «заменить все», по найти -> заменить не работает.
А вот и пример незапоминания скобок – с ними тоже не работает при единичной замене. |
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 850
|
Posted: Tue Apr 10, 2012 5:54 am Post subject: |
|
|
| Quote: | | Добавлено: возможность при замене с использованием регулярных выражений использовать специальные символы: $\r, $\n, $\t, $\u0000, $\x00 и т.д. |
Круто, отличная фича! В стандартных регулярках чтобы сделать замену на перевод строки голову сломаешь, а тут всё удобно.
Только в самом деле надо покумекать насчет подсказок. Возможно, что-то вроде этого:
 |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1433
|
Posted: Tue Apr 10, 2012 6:47 am Post subject: |
|
|
Так, едем дальше.
[а-яё]+ не умеет игнорировать регистр
[a-z]+ – тоже, но A все же находит.
И, аналогично, [^a-z]+ находит заглавную латиницу. Но A тоже не находит.
[^?]+ находит вовсе не то, что ожидается.
(Дело в том, что все реализации, которые я видел, не требуют экранирования специальных символов внутри [групп].)
Что: ^("|')|\1$
Чем: ""
Удаляет только первую кавычку.
Пример в контексте текстового редактора сферичен, просто вспомнилась похожая проблема с PHP. 
Last edited by Infocatcher on Tue Apr 10, 2012 7:01 am; edited 1 time in total |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1433
|
Posted: Tue Apr 10, 2012 6:55 am Post subject: |
|
|
Кстати, если поиск сразу ничего не нашел, то хочется вместо | Quote: | AkelPad
---------------------------
Search finished.
---------------------------
ОК | видеть что-то соответствующее. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue Apr 10, 2012 7:16 am Post subject: |
|
|
| Я что-то не распарсил эту регулярку. Что она должна найти? `"` либо `'` либо первую захваченную группу, которой нет. Оно вообще должно было бы матернутся на синтаксис. И это всё должно быть на всю строку. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2510 Location: Киев, Русь
|
Posted: Tue Apr 10, 2012 8:15 am Post subject: |
|
|
Клацать "Обновление..." как-то боязно, т.к. не понятно, что произойдёт, может оно опять переедет мои файлы?
Раз добавили "Обновлятор" в меню, то вместо огромной командной строки, по моему, лучше задавать настройки в интерфейсе и сохранять их (возможно общий числовой флаг в ini) + отображать состояние при следующем открытии. Настройки:
Radiobutton:
- обновлять;
- загружать обновления.
Checkbox'ы для "обновлять":
- программу и плагины;
- скрипты;
- что там ещё?... |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1433
|
Posted: Tue Apr 10, 2012 8:31 am Post subject: |
|
|
| FeyFre wrote: | | Я что-то не распарсил эту регулярку. Что она должна найти? `"` либо `'` либо первую захваченную группу, которой нет. Оно вообще должно было бы матернутся на синтаксис. И это всё должно быть на всю строку. | По логике – должно убирать обрамляющие кавычки.
Хотя странно, мне казалось, что где-то такое все же работало – сейчас проверил, в js тоже не хочет.
Но тогда есть другой неработающий пример:
Что: ^("|')([\s\S]*)\1$
Чем: $2 |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue Apr 10, 2012 10:49 am Post subject: |
|
|
| Code: | | Что: ^("|')([\s\S]*)\1$ | Вот это называется "убить обрамляющие кавычки", а то было неверно. Ибо вторая альтернатива ссылалась на группу, которая есть только в первой альтернативе, что взаимоисключающее.
| Code: | | Что: ^("|')([\s\S]*)\1$ | Тут может не работать по другой причине - жадность. [\s\S]* съедает всё, в том числе последнюю кавычку. Я пытался разобраться, есть ли какой-то способ отключить её - что-то не нашел. |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1433
|
Posted: Tue Apr 10, 2012 11:48 am Post subject: |
|
|
FeyFre
С ^("|')([\s\S]*?)\1$ тоже не работает.
При этом на js работают оба варианта. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1893 Location: Vinnitsa, Ukraine
|
Posted: Tue Apr 10, 2012 1:03 pm Post subject: |
|
|
| Code: | | ^("|')([\s\S]*?)\1$ | Это уж слишком глубоко пошли.
Найти регулярку: ^" (найти кавычку в начале строки)
Текст | Code: |
"
""
""
"
""""
""
"
"""
"""
"""
| Находит всё. Пробовать что-то по сложнее можно после того как это исправят. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4650
|
Posted: Tue Apr 10, 2012 2:00 pm Post subject: Re: Релиз AkelPad 4.7.4 |
|
|
| private_joker wrote: | | http://akelpad.sourceforge.net/files/plugs/ContextMenu/ | Обновлено. |
|
| Back to top |
|
 |
private_joker
Joined: 28 May 2010 Posts: 62
|
Posted: Tue Apr 10, 2012 4:27 pm Post subject: |
|
|
Instructor
Спасибо.  |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4650
|
Posted: Tue Apr 10, 2012 6:33 pm Post subject: |
|
|
| Infocatcher wrote: | | [а-яё]+ не умеет игнорировать регистр |
| Quote: | | [^?]+ находит вовсе не то, что ожидается. |
Тестовая
| Infocatcher wrote: | Но тогда есть другой неработающий пример:
Что: ^("|')([\s\S]*)\1$
Чем: $2 | Почему конструкция "[\s\S]*" должна остановится на кавычке? |
|
| Back to top |
|
 |
|