Показывать также искомую строку в заголовке результатов поиска по файлам

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать также искомую строку в заголовке результатов поиска по файлам

Post by buniak_a_h » Fri 26 Oct, 2018 00:33

fml2 wrote:
Tue 26 Jun, 2018 22:44
Если произвести поиск по файлам (Alt+F7), то в заголовке окна с результатами поиска высвечивается маска имени файлов, в которых был произведен поиск. Мне кажется, было бы неплохо показывать еще и строку поиска (или хотя бы ее начало, если она слишком длинная), если она была задана.
fml2, сделал небольшой скрипт, вставляющий строку поиска в заголовок рамки окна с результатами поиска. Некоторые ограничения скрипта:
1. Не обрабатываю языковые настройки (ищу заголовок по маске ^Find file: )
2. Не учитываю размеры окна (что будет, если искомая строка длиннее ширины окна - я не экспериментировал).


Этот вариант скрипта работает только при включённой истории диалогов. (Far.GetConfig('Dialog.EditHistory')). В принципе, есть вариант скрипта и для выключенной истории, но он кардинально сложнее. Если найдётся кто, выключивший историю диалогов и желающий иметь этот сервис - пишите. На смом деле пример "обхода" этого ограничения можно увидеть здесь
AltF7.SearchStr.lua.7z
(755 Bytes) Downloaded 6 times
Last edited by HaRT on Wed 04 Dec, 2019 23:46, edited 4 times in total.
Reason: Укорочен заголовок Темы

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h » Fri 26 Oct, 2018 16:29

Latest post of the previous page:

DrKnS wrote:
Fri 26 Oct, 2018 16:15
F3 на любом найденном + F7, не?
Не.
1. А если не найдено? И не поймёшь, ошибся в строке или реально нету...
2. А если поиск по *.bmp,*.png,... (ну, Вы поняли). F3 откроет картинку - оно мне надо?
3. А поиск внутри архива?
4. Не всегда хочется открывать найденное. А иногда и очень долго.

Короче, я уже юзаю. И это действительно удобно.

2useven10
Posts: 3983
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 173 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by 2useven10 » Fri 26 Oct, 2018 20:23

buniak_a_h wrote:
Fri 26 Oct, 2018 16:29
2. А если поиск по *.bmp,*.png,... (ну, Вы поняли). F3 откроет картинку - оно мне надо?
Ctrl+Shift+F3

fml2
Posts: 518
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 7 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by fml2 » Fri 26 Oct, 2018 22:09

Спасибо всем, кто реализовал эту функцию! Поставил, вроде все работает как надо. С длинной строкой поиска тоже работает неплохо: она просто обрезается справа и вместо неуместившихся символов показываются три точки.

Вопрос чисто из теоретического интереса: работает ли макрос, если сохранение истории ввода в диалогах выключено?

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h » Fri 26 Oct, 2018 22:56

fml2 wrote:
Fri 26 Oct, 2018 22:09
Вопрос чисто из теоретического интереса: работает ли макрос, если сохранение истории ввода в диалогах выключено?
Видимо, последний вариант не работает. Тогда возьмите более длинный (с запоминанием введённого из поля ввода).Вот отсюда

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h » Sat 27 Oct, 2018 04:48

Видимо, более эффективный и "безопасный" вариант скрипта: добавлено far.FreeSettings; в вызове settings:Enum беру только последний элемент
Last edited by buniak_a_h on Wed 04 Dec, 2019 23:37, edited 1 time in total.

User avatar
John Doe
Бюрократ
Posts: 12534
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 237 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe » Sat 27 Oct, 2018 16:01

zg wrote:
Fri 26 Oct, 2018 12:54
John Doe wrote:
Fri 26 Oct, 2018 09:09
Его можно получить из db, но имхо не стоит.
я может быть чего-то не понимаю:

Code: Select all

settings=far.CreateSettings "far"
history=settings\OpenSubkey far.Flags.FSSF_ROOT,"SearchText"
items=settings\Enum history
far.Show items[#items].Name
Я с осторожностью отношусь к этой части апи, поскольку напарывался на странное поведение, например тут https://bugs.farmanager.com/view.php?id=2940

User avatar
zg
zero-gravity
Posts: 5652
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 115 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by zg » Sat 27 Oct, 2018 16:34

вообще не связанные вещи.

User avatar
John Doe
Бюрократ
Posts: 12534
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 237 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe » Mon 29 Oct, 2018 08:43

buniak_a_h wrote:
Sat 27 Oct, 2018 04:48
добавлено far.FreeSettings;
1. Неправильно. Надо settings:Free()
2. В копипасте лишнее: far.Flags.FSSF_ROOT
3. Не учитывается случай, когда история пуста, и индексирование items[1] приведёт к ошибке
Last edited by John Doe on Mon 29 Oct, 2018 08:55, edited 1 time in total.

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h » Mon 29 Oct, 2018 19:34

John Doe wrote:
Mon 29 Oct, 2018 08:43
1. Неправильно. Надо settings:Free()
Согласен. Нашёл этот метод уже после того, как запостил
John Doe wrote:
Mon 29 Oct, 2018 08:43
2. В копипасте лишнее: far.Flags.FSSF_ROOT
Это я не понял. Исходное брал из Поста zg
John Doe wrote:
Mon 29 Oct, 2018 08:43
3. Не учитывается случай, когда история пуста, и индексирование items[1] приведёт к ошибке
1. Я где-то писал: если история выключена - надо пользоваться другим скриптом (с двумя Event-ами)
2. Если история включена, то хотя бы одно значение в истории будет.
3. В исходном (маленьком) скрипте было items[#items]; кто я, чтоб перепроверять гуру?
Но если строго, то (а) надо, конечно, проверять и (б) проверять настройку Far-а и динамически назначать либо один обработчик события (по истории), либо другой (с запоминанием искомой строки и использованием запомненной). Если б этот скрипт поставлялся "в широкие массы" - я бы так и сделал. Но маленький, работающий в конкретных условиях скриптик доводить до "товарного вида" не буду. Я вообще не рассчитывал потратить на него больше часа.
Если будете такого типа скрипт публиковать в "Полезные макросы и скрипты", то сможете всё это реализовать. А тут инициатор доволен, я этим больше не занимаюсь.

User avatar
John Doe
Бюрократ
Posts: 12534
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 237 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe » Tue 30 Oct, 2018 08:30

buniak_a_h wrote:
Mon 29 Oct, 2018 19:34
Это я не понял. Исходное брал из Поста zg
F.FSSF_ROOT
buniak_a_h wrote:
Mon 29 Oct, 2018 19:34
кто я, чтоб перепроверять гуру?
Маленький скрипт был таким намеренно, для демонстрации сути.
И у себя вы уже навесили к нему ряд проверок. Одну пропустили.
buniak_a_h wrote:
Mon 29 Oct, 2018 19:34
Но маленький, работающий в конкретных условиях скриптик доводить до "товарного вида" не буду
Я указал в каком месте в определённых (да, редких) обстоятельствах скрипт может упасть.
Внести малюсенькое исправление было бы быстрее, чем развёрнуто объяснять, почему это не нужно)

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h » Fri 02 Nov, 2018 01:06

John Doe wrote:
Tue 30 Oct, 2018 08:30
Я указал в каком месте в определённых (да, редких) обстоятельствах скрипт может упасть.
Внести малюсенькое исправление было бы быстрее, чем развёрнуто объяснять, почему это не нужно)
Извините, некогда было...
Attachments
AltF7.SearchStr.lua.7z
(755 Bytes) Downloaded 40 times

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h » Wed 04 Dec, 2019 11:47

Господа администраторы!
Тема рождалась как пожелание к Far-у, но реализована макросом. довольно много скачиваний. Может быть имеет смысл перенести её в "обсуждение" (или даже в "полезные"), оставив только последний вариант скрипта, а в "хотелках" оставить только ссылку на ветку с решением? Или мне самому завести тему на "обсуждении"?
Я поясню. Т.к. тема не моя, то я не могу редактировать первое сообщение, содержащее сам скрипт. Поэтому чтобы найти последний вариант пришлось перечитать всю переписку (я и забыл, что тут так много…)
P/S. Для "полезных" скрипт, мпо-моему, не оформлен должным образом. Хотя что там оформлять…
Last edited by buniak_a_h on Wed 04 Dec, 2019 11:49, edited 1 time in total.

User avatar
John Doe
Бюрократ
Posts: 12534
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 237 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by John Doe » Wed 04 Dec, 2019 11:57

@buniak_a_h
Просьба поудалять ненужные вложения, и актуализировать шапку (и название темы)

User avatar
Xerox
Posts: 258
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 251 times
Been thanked: 2 times

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by Xerox » Wed 04 Dec, 2019 12:17

buniak_a_h, Крута!! (закатывая глаза в восторге)
Скрипт работает натурально, эффективно, ничего другого не трогает, т.е. ведет себя идеально
buniak_a_h wrote:
Fri 26 Oct, 2018 08:45
В процессе написания активно использую мой же макрос автодополнения, чтоб не запоминать имена всех флагов. А для него приходится писать сначала полное имя таблицы, в которой флаг хранится.
А где взять этот чудесный макрос?
Быстрый поиск по форуму дал непонятные или иррелевантные результаты
Last edited by Xerox on Wed 04 Dec, 2019 12:28, edited 3 times in total.

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Показывать (также) строку поиска в заголовке результатов поиска по файлам

Post by buniak_a_h » Wed 04 Dec, 2019 14:49

Xerox wrote:
Wed 04 Dec, 2019 12:17
А где взять этот чудесный макрос?
Тут. Только он такой старый, я бы теперь многое переделал бы … Чур не смеяться.

buniak_a_h
Posts: 1241
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 89 times
Been thanked: 79 times
Contact:

Скрипт, позволяющий показывать также искомую строку в заголовке результатов поиска по файлам

Post by buniak_a_h » Wed 04 Dec, 2019 23:44

John Doe wrote:
Wed 04 Dec, 2019 11:57
@buniak_a_h
Просьба поудалять ненужные вложения, и актуализировать шапку (и название темы)
Вроде, сделал… Кроме последнего, содержащего точно тот же файл, что в первом сообщении - просто чтоб счётчик скачиваний не терять (если есть такая возможность - просто перетащить бы его в первое сообщение).

Post Reply

Return to “Обсуждение макросов”