Page 1 of 4

Duplicate Fighter (Анти-дубликатор)

Posted: Thu 29 Oct, 2015 23:02
by Shmuel
Захотелось создать альтернативу плагину SortStrings по части работы с дубликатами строк.
dupfighter-v13.7z
(12.35 KiB) Downloaded 126 times

Duplicate Fighter (Анти-дубликатор)

Posted: Fri 30 Oct, 2015 17:28
by Shmuel
Кто-нибудь может объяснить, зачем нужна "очистка" строки-дубликата, т.е. замена её пустой строкой? В чём смысл?
Я сделал такую операцию, поскольку она есть в плагине SortStrings, но что-то не могу понять, зачем это может понадобиться.
Удалить дубликат - понятно, а очистить - не очень.

Duplicate Fighter (Анти-дубликатор)

Posted: Fri 30 Oct, 2015 19:31
by Shmuel
Заменил в первом сообщении вложение на версию 2.
- Справка - как коммент в начале файла (пока только на английском).
- Вместо меню - диалог.
- Добавилась (опциональная) возможность использовать Lua-выражения.
- Почти не тестировалось, буду благодарен за багрепорты.

Duplicate Fighter (Анти-дубликатор)

Posted: Sat 31 Oct, 2015 00:01
by fml2
Я самим макро еще не пользовался, а только почитал справку, т.е. комментарий в начале файла. И у меня такие замечания:

1.

2. (главное) Мне кажется, было бы логичнее, если бы дупликатами считались строки, для которых булевский результат выражения true, а не false. Т.е. смысл выражения таков: "Это -- дупликат?"

Duplicate Fighter (Анти-дубликатор)

Posted: Sat 31 Oct, 2015 09:03
by Shmuel
fml2, спасибо за ваши замечания.

По поводу справки: ещё буду редактировать, сравню с вашим вариантом.

По поводу трактовки булевого результата: вначале сделал именно так, как вы предлагаете, то-есть true означал дубликат. Но потом поймал себя на ощущении, что мне важнее определить, что хочется оставить, чем то, что хочется удалить, после чего сделал как сейчас. Буду думать ещё.

Duplicate Fighter (Анти-дубликатор)

Posted: Sat 31 Oct, 2015 10:33
by fml2
Shmuel wrote:Но потом поймал себя на ощущении, что мне важнее определить, что хочется оставить, чем то, что хочется удалить
Я согласен, что возможны обе трактовки. Но тогда надо бы заголовок поля "Expression" сделать более информативным, т.е. чтобы прямо в диалоге было понятно, что означает выражение (true -- это "оставить" или "стереть"?).

Duplicate Fighter (Анти-дубликатор)

Posted: Sun 01 Nov, 2015 17:32
by Shmuel
Заменил в первом сообщении вложение на версию 3.
- Справка поправлена и расширена.
- При отсутствии выделения обрабатывается весь файл.
- Изменена и упрощена логика определения дубликатов (описано в справке).

Любые замечания и предложения приветствуются.

Duplicate Fighter (Анти-дубликатор)

Posted: Mon 02 Nov, 2015 17:33
by Arama
Shmuel,

Неприятный момент, удаляет как дубликаты пустые строки, что ломает форматирование, так задумано?

Duplicate Fighter (Анти-дубликатор)

Posted: Mon 02 Nov, 2015 17:52
by Shmuel
Пустые строки равны друг другу, поэтому воспринимаются как дубликаты и удаляются.
Можно, конечно, обойти это:

Code: Select all

╔═══════════════════════ Duplicate Fighter ═══════════════════════╗
║                                                                 ║
║ (•) 1 Remove duplicates                                         ║
║ ( ) 2 Clear duplicates                                          ║
║ ( ) 3 Remove non-uniques                                        ║
║ ( ) 4 Clear non-uniques                                         ║
║                                                                 ║
║ [x] Use Expression            [ ] Convert to boolean            ║
║ Expression:                                                     ║
║ L~="" and L                                                    ↓║
А может опцию добавить стоит?

Duplicate Fighter (Анти-дубликатор)

Posted: Mon 02 Nov, 2015 21:04
by Shmuel
Добавил опцию "Сохранять пустые строки". Обновил вложение в первом сообщении.

Duplicate Fighter (Анти-дубликатор)

Posted: Tue 03 Nov, 2015 09:27
by Arama
Спасибо!

Duplicate Fighter (Анти-дубликатор)

Posted: Tue 03 Nov, 2015 10:57
by Arama
А можно выводить статистику работы? Ну там столько строк удалено...

Duplicate Fighter (Анти-дубликатор)

Posted: Tue 03 Nov, 2015 12:44
by Shmuel
Добавлен опциональный вывод статистики. Изменён хоткей. Вложение в первом сообщении обновлено.

Duplicate Fighter (Анти-дубликатор)

Posted: Tue 03 Nov, 2015 13:14
by Shmuel
И ещё раз. Статистика расширена.

Duplicate Fighter (Анти-дубликатор)

Posted: Tue 03 Nov, 2015 15:41
by Arama
А хоткей зачем менять? Приходится руками обратно возвращать...