Regular Expression Search and Replace (RESearch)
Re: Regular Expression Search and Replace (RESearch)
Latest post of the previous page:
Было бы здорово.Cavaler wrote:Hedin wrote:UPD: А, понял. Ну в принципе можно.
Re: Regular Expression Search and Replace (RESearch)
В принципе надо подумать.HaRT wrote:Ну а идеально мне давно грезится
Хотя есть некоторые проблемы реализации - например, при выборе и [X] match count и [X] matched lines придутся сначала все искать, хранить все строки в буфере, а потом уже выводить. А лень )
И не очень понятно, может тогда стоит ли еще для режима [X] only matched fragment сделать под-опцию [X] several fragments per line
-
- Posts: 6840
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Regular Expression Search and Replace (RESearch)
Нету здесь косяка в Фаре. Plugin.Call / callplugin никогда не создавал панель, в т.ч. в Far2.Cavaler wrote:Да, причем вопросы по нему - к разработчикам Far3.AleXH wrote:ага, есть косяк.
Возможно, будет создавать, посмотрим.
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Regular Expression Search and Replace (RESearch)
Ну, в первом приближении можно запретить те сочетания, которые ещё не реализованы, и записать их в фиче-реквесты.Cavaler wrote:при выборе и [X] match count и [X] matched lines придутся сначала все искать, хранить все строки в буфере, а потом уже выводить
Идея неплохая, однако я предпочёл бы поэтапное добавление хорошо работающих плюшек целому скопу работающих так себе.Cavaler wrote:И не очень понятно, может тогда стоит ли еще для режима [X] only matched fragment сделать под-опцию [X] several fragments per line
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Regular Expression Search and Replace (RESearch)
Ну косяк в данном случае - недоработка, а не баг.Shmuel wrote:Нету здесь косяка в Фаре. Plugin.Call / callplugin никогда не создавал панель, в т.ч. в Far2.Cavaler wrote:Да, причем вопросы по нему - к разработчикам Far3.AleXH wrote:ага, есть косяк.
Возможно, будет создавать, посмотрим.
Re: Regular Expression Search and Replace (RESearch)
Да, можно и так.HaRT wrote:Ну, в первом приближении можно запретить те сочетания, которые ещё не реализованы, и записать их в фиче-реквесты.Cavaler wrote:при выборе и [X] match count и [X] matched lines придутся сначала все искать, хранить все строки в буфере, а потом уже выводить
Ну вообще это как фичу уже только что просили. Я тут скорее думаю, делать ли это поведение опциональным. И я с большей вероятностью буду желать фичу без изменения UI, чем наоборот.HaRT wrote:Идея неплохая, однако я предпочёл бы поэтапное добавление хорошо работающих плюшек целому скопу работающих так себе.Cavaler wrote:И не очень понятно, может тогда стоит ли еще для режима [X] only matched fragment сделать под-опцию [X] several fragments per line
Re: Regular Expression Search and Replace (RESearch)
Лично мне, как просившему эту функцию, кажется что режим когда надо только первое вхождение отдавать - нужен значительно реже (если вообще нужен), так что опции лучше делать наоборот.Cavaler wrote:И не очень понятно, может тогда стоит ли еще для режима [X] only matched fragment сделать под-опцию [X] several fragments per line
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Regular Expression Search and Replace (RESearch)
Тут видятся варианты:Cavaler wrote:Я тут скорее думаю, делать ли это поведение опциональным.
1. Выводить только первое вхождение из входной строки.
2. Выводить все вхождения из входной строки, каждое на отдельной строке.
3. Выводить все вхождения из входной строки в одну общую выходную строку (с предопределённым или конфигурируемым разделителем).
Лично меня устроит (2) без опции.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Regular Expression Search and Replace (RESearch)
А вот тогда скажи мне, как автор. Для режима (*) Output file names and match count - выводить количество чего, строк или совпадений? Или еще опцию?Hedin wrote:Лично мне, как просившему эту функцию, кажется что режим когда надо только первое вхождение отдавать - нужен значительно реже (если вообще нужен), так что опции лучше делать наоборот.Cavaler wrote:И не очень понятно, может тогда стоит ли еще для режима [X] only matched fragment сделать под-опцию [X] several fragments per line
Re: Regular Expression Search and Replace (RESearch)
Мне кажется, что считать надо то что выдаётся в файл: если стоит флаг "Output only matched line fragment" - то совпадения, иначе строки.Cavaler wrote:Для режима (*) Output file names and match count - выводить количество чего, строк или совпадений? Или еще опцию?
Remove empty lines in multiple files
А как удалить пустые (опустевшие) строки при массовой замене по файлам (в панели)?
Там в диалоге почему-то нету галочки "Remove empty lines". В режиме же "Several-line regular expression" не удается удалить строки CRLF, т.к. \n заменяет LF, а CR остается (паттерн \r\n в этом режиме не действителен). Как включить режим "Multi-line search from panels" (в соответствии с Hints.txt) — тоже не понятно. RESearch Version 7.83
Там в диалоге почему-то нету галочки "Remove empty lines". В режиме же "Several-line regular expression" не удается удалить строки CRLF, т.к. \n заменяет LF, а CR остается (паттерн \r\n в этом режиме не действителен). Как включить режим "Multi-line search from panels" (в соответствии с Hints.txt) — тоже не понятно. RESearch Version 7.83
Re: Remove empty lines in multiple files
Нет возможности напрямую.ruv wrote:А как удалить пустые (опустевшие) строки при массовой замене по файлам (в панели)?
работает нормлаьно замена \n на пустую строку, например. Если нет - приведи конкретный пример.ruv wrote:В режиме же "Several-line regular expression" не удается удалить строки CRLF, т.к. \n заменяет LF, а CR остается (паттерн \r\n в этом режиме не действителен).
(*) Multi-line regular expressionruv wrote:Как включить режим "Multi-line search from panels" (в соответствии с Hints.txt) — тоже не понятно. RESearch Version 7.83
Re: Remove empty lines in multiple files
А не планируется добавить? Ведь, при замене в редакторе есть такая возможность.Cavaler wrote:Нет возможности напрямую.ruv wrote:А как удалить пустые (опустевшие) строки при массовой замене по файлам (в панели)?
HEX-dump привести?Cavaler wrote:работает нормлаьно замена \n на пустую строку, например. Если нет - приведи конкретный пример.ruv wrote:В режиме же "Several-line regular expression" не удается удалить строки CRLF, т.к. \n заменяет LF, а CR остается (паттерн \r\n в этом режиме не действителен).
Замена "\n" на "", на входе файл:
Code: Select all
41 0D 0A 42 0D 0A │ A..B..
Code: Select all
41 0D 42 0D | A.B.
Code: Select all
41 42 0A | AB.
В диалоге не вижу этой опции:Cavaler wrote:(*) Multi-line regular expressionruv wrote:Как включить режим "Multi-line search from panels" (в соответствии с Hints.txt) — тоже не понятно. RESearch Version 7.83
Code: Select all
╔════════════════════ Regular Expression Replace ════════════════════╗
║ File mask(s): [ ] As regular expression ║
║ test.txt ↓║
║ Search for: ║
║ \n ↓[ \ ]║
║ Replace with: ║
║ ↓[ / ]║
╟────────────────────────────────────────────────────────────────────╢
║ ( ) Plain text [ Presets ] ║
║ ( ) Regular expression [ ] [ Advanced ]║
║ (•) Several-line regular expression [ RE Builder ]║
║ [ ] Case-sensitive ║
║ [ ] Use all character tables ║
║ [ ] Evaluate as script: JScript ↓ [ Editor ] ║
║ ║
║ Search: From the current folder ↓ ║
║ ║
║ [ ] List modified files [x] Backup original file ║
║ [ ] Confirm each file [x] Overwrite prev. backup ║
║ [x] Confirm each replacement [ ] Result in new file ║
║ ║
║ { Ok } [ Cancel ] ║
║ ║
╚════════════════════════════════════════════════════════════════════╝
Re: Remove empty lines in multiple files
Не планирую.ruv wrote:А не планируется добавить? Ведь, при замене в редакторе есть такая возможность.Cavaler wrote:Нет возможности напрямую.ruv wrote:А как удалить пустые (опустевшие) строки при массовой замене по файлам (в панели)?
Странно, я же блин вроде чинил уже...ruv wrote:В режиме же "Several-line regular expression" не удается удалить строки CRLF, т.к. \n заменяет LF, а CR остается (паттерн \r\n в этом режиме не действителен).
Правильно, потому что это опция для Search.ruv wrote:В диалоге не вижу этой опцииCavaler wrote:(*) Multi-line regular expressionruv wrote:Как включить режим "Multi-line search from panels" (в соответствии с Hints.txt) — тоже не понятно. RESearch Version 7.83
Re: Remove empty lines in multiple files
Прикладываю тестовый фикс. Что-то мне в пятницу под конец рабочей недели уже не разобраться, что может поломаться из-за этого.Cavaler wrote:Странно, я же блин вроде чинил уже...ruv wrote:В режиме же "Several-line regular expression" не удается удалить строки CRLF, т.к. \n заменяет LF, а CR остается (паттерн \r\n в этом режиме не действителен).
Затрагивает только Several-line search/replace в панелях.
- Attachments
-
- RESearchU3_test.rar
- (449.85 KiB) Downloaded 68 times
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Regular Expression Search and Replace (RESearch)
Cavaler
Спасибо за новый UI и за исправление ошибок!
Только пришлось немного мнемоники (ну и по мелочам):
Спасибо за новый UI и за исправление ошибок!
Только пришлось немного мнемоники (ну и по мелочам):
Фар есть инструмент, а не нянька. © 2009 DrKnS