Lua Explorer „Advanced“

Здесь выкладываются готовые к использованию макросы и скрипты.
buniak_a_h
Posts: 2286
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 139 times
Been thanked: 245 times
Contact:

Lua Explorer „Advanced“

Post by buniak_a_h »

Latest post of the previous page:

citRiks, у меня есть показ этих таблиц в виде панели. Там работает Alt+F7. Вариант рабочий, но т.к. после опубликования не было ни одного отзыва, доделывать я не стал. Меня устраивает: то, что надо мне - работает.
Last edited by buniak_a_h on Wed 15 Apr, 2020 23:28, edited 1 time in total.
citRiks
Posts: 1100
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 342 times
Been thanked: 57 times

Lua Explorer „Advanced“

Post by citRiks »

John Doe wrote: Tue 05 Nov, 2019 13:16 .. такие изменения:
..
* Не пытаемся работать с upvalues C-функций.
* Из скрипта убрана работа с локальными переменными функций.
эмм.. а почему?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1100
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 342 times
Been thanked: 57 times

Lua Explorer „Advanced“

Post by citRiks »

Спасибо, часто пользуюсь, как я ранее уже где-то говорил, вещь незаменимая.

Попробую попросить такую желаемую фунцкионалность,
чтобы скрипт помнил где он был в таблице,
и на той же таблица открылся бы в том же месте

т.е., например, мы запустили так: lua:le(_G)
Зашли в package.loaded.far.Flags, т.е. так:
image.png
image.png (2.65 KiB) Viewed 353 times
И теперь вышли.
Потом открыли еще раз lua:le(_G),
и хотим чтобы открылось на там же месте в package.loaded.far.Flags

Да, еще для этого надо бы предусмотреть выход из LE не через серию Escapes до верхнего уровня,
а какой-нибудь немедленный выход, чтобы запомнилось последнее, а не верхний уровень

Сможете добавить такое?

Как вариант, можете мне дать направление в каком месте надо чего подправить
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
John Doe
Бюрократ
Posts: 13000
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 40 times
Been thanked: 310 times

Lua Explorer „Advanced“

Post by John Doe »

citRiks wrote: Fri 08 Jan, 2021 15:15 чтобы скрипт помнил где он был в таблице,
Для этого можно организовать кеш, используя сам объект таблицы как ключ, а значением должно выступать название элемента.
Запоминать логично при закрытии меню.
citRiks wrote: Fri 08 Jan, 2021 15:15 какой-нибудь немедленный выход
Чтобы выйти сразу из всех вложенных меню можно предусмотреть специальный флаг.
citRiks wrote: Fri 08 Jan, 2021 15:15 Сможете добавить такое?
Пожелания в общем логичные, но не могу обещать что в ближайшее время буду заниматься скриптом.
Полагаю вы сможете добавить и самостоятельно. Можно даже отдельными макросами, не трогая основной скрипт.
https://t.me/FarManager — Telegram чат
citRiks
Posts: 1100
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 342 times
Been thanked: 57 times

Lua Explorer „Advanced“

Post by citRiks »

John Doe,
https://github.com/dr-dba/far-lua-explorer
не трогая основной никак не получается, и сделал с кучей стилистических изменений
(переименования переменных, переносы строк)
НО, старался и сделал так, чтобы принцип работы остался без изменений

Функциональность добавлена:
* Полный выход по Escape, возвращение назад по BackSpace
* При полном выходе сохраняется путь к текущей таблице (обьекту)
* При открытии того же "корневого" обьекта, встает туда где был при закрытии
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
John Doe
Бюрократ
Posts: 13000
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 40 times
Been thanked: 310 times

Lua Explorer „Advanced“

Post by John Doe »

citRiks wrote: Fri 15 Jan, 2021 19:53 не трогая основной никак не получается
Напрасно, ведь в основном скрипте предоставлены средства для того, чтобы добавлять свои BreakKeys, и таким образом получать доступ ко всем внутренностям.
citRiks wrote: Fri 15 Jan, 2021 19:53 и сделал с кучей стилистических изменений
(переименования переменных, переносы строк)
И таким образом отсекли возможность потенциально слияния.
citRiks wrote: Fri 15 Jan, 2021 19:53 * Полный выход по Escape, возвращение назад по BackSpace
* При полном выходе сохраняется путь к текущей таблице (обьекту)
* При открытии того же "корневого" обьекта, встает туда где был при закрытии
Функциональность интересная.
https://t.me/FarManager — Telegram чат
citRiks
Posts: 1100
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 342 times
Been thanked: 57 times

Lua Explorer „Advanced“

Post by citRiks »

John Doe wrote: Sat 16 Jan, 2021 11:27 Напрасно, ведь в основном скрипте предоставлены средства для того,
чтобы добавлять свои BreakKeys, и таким образом получать доступ ко всем внутренностям.
при путешествиях по таблицам (функция "process") надо бы как-то передавать в этот "process" корневой (начальный) обьект,
и это просто и понятно, минимум изменений.
А если через BreakKeys .. то я не знаю как передавать,
ну разве только вставить свой хук на Enter?
что мне показалось чем-то неуклюжим и более сложным.
далее, как скорее всего необходимое дополнение,
понадобились бы добавочные глобальные (на уровне скрипта) переменные для передачи статуса.
("Статус" - это кто у нас корневой обьект, к которому относится текущий обьект)
Глобальных же переменных, я считаю что чем меньше тем лучше, даже на уровне только самого скрипта,
и кажется что это соответствует рекомендациям кодинга.

Да и в целом, я думал что свой BreakKey нужен для другого.
у меня например была идея воспользоваться своим (используя вами продложенный механозм вставки) BreakKey для дампа текущего обьекта
Last edited by citRiks on Sat 16 Jan, 2021 12:32, edited 1 time in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1100
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 342 times
Been thanked: 57 times

Lua Explorer „Advanced“

Post by citRiks »

John Doe wrote: Sat 16 Jan, 2021 11:27 И таким образом отсекли возможность потенциально слияния.
да, это грустно, я думал про это.
но решил что у вас прорывов не предвидится,
а все что есть у вас и так есть у меня теперь,
а если же у вас будет чего нового, то без проблем добавлю к себе
как еще вариант, если же вы решите добавить к себе нечто революционное,
то я перенесу свой функционал к вам, уже без форматирований и переименований.
как еще вариант, мне удастся обяснить вам смысл добавленного, и вы допишете себе.
в сухом остатке там лишь немного добавлено, без лишнего, осмыслению поддается
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
John Doe
Бюрократ
Posts: 13000
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 40 times
Been thanked: 310 times

Lua Explorer „Advanced“

Post by John Doe »

citRiks wrote: Sat 16 Jan, 2021 12:30 понадобились бы добавочные глобальные (на уровне скрипта) переменные для передачи статуса.
("Статус" - это кто у нас корневой обьект, к которому относится текущий обьект)
Глобальных же переменных, я считаю что чем меньше тем лучше, даже на уровне только самого скрипта,
и кажется что это соответствует рекомендациям кодинга.
Разумеется статус понадобится как-то хранить. Глобальных переменных действительно следует избегать, там где не надо.
Но и локальными аналогично: следует стараться уменьшить область видимости до минимально необходимой.
Но если уж какое-то состояние действительнр глобально - то уж сами решите как его следует хранить.
citRiks wrote: Sat 16 Jan, 2021 12:30 Да и в целом, я думал что свой BreakKey нужен для другого.
Для другого тоже не мешает.
https://t.me/FarManager — Telegram чат
citRiks
Posts: 1100
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 342 times
Been thanked: 57 times

Lua Explorer „Advanced“

Post by citRiks »

John Doe wrote: Sat 16 Jan, 2021 11:27 Функциональность интересная.
тестирование/пожелания по функционалу приветствуются
если уж я вник в это дело, и пока из головы не выветрилось,
то будет скорее всего легко добавить
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
Post Reply

Return to “Полезные макросы и скрипты”