Содержимое командной строки в редактор и обратно

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4268
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Содержимое командной строки в редактор и обратно

Post by buniak_a_h »

Latest post of the previous page:

Alexander84, объяснили. Я забыл, что кроме компа бывают всякие гаджеты типа планшетов-смартфонов.
Вам для работы хватит того, что уже есть, или действительно стоит оформить хелп и опубликовать в обсуждениях?
Last edited by buniak_a_h on Fri 25 Nov, 2022 11:27, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4268
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Содержимое командной строки в редактор и обратно

Post by buniak_a_h »

Ой, сорри, оно и так уже в обсуждениях
User avatar
Alexander84
Posts: 150
Joined: Fri 01 May, 2009 06:38
Has thanked: 17 times
Been thanked: 2 times

Содержимое командной строки в редактор и обратно

Post by Alexander84 »

buniak_a_h wrote: Fri 25 Nov, 2022 11:27 Вам для работы хватит того, что уже есть, или действительно стоит оформить хелп и опубликовать в обсуждениях?
Хорошо бы добавить минимум по использованию, ведь мало положить скрипт в папку Far3\Profile\Macros\scripts\
Дальше человек перезапускает Фар и думает, что сейчас нажмёт некую горячую клавишу и будет счастье… А какую?
Да, если смотреть код, найдём Ctrl+Alt+F4, но если отталкиваться от темы, ожидаешь F4 при погашенных панелях.
Last edited by Alexander84 on Fri 23 Dec, 2022 12:42, edited 3 times in total.
User avatar
buniak_a_h
Posts: 4268
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Содержимое командной строки в редактор и обратно

Post by buniak_a_h »

Alexander84 wrote: Fri 23 Dec, 2022 12:34 если отталкиваться от темы, ожидаешь F4 при погашенных панелях
Это мудро, добавлю.
Alexander84 wrote: Fri 23 Dec, 2022 12:34 Хорошо бы добавить минимум по использованию
Вы имеете в виду:
  1. комменты в самом тексте скрипта
  2. hlf-файл помощи
  3. функцию подсказки в самом скрипте?
Для вариантов (b) и (c) нужно либо запустить как-нибудь макрос, либо иметь установленный скрипт ScriptsBrowser.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Содержимое командной строки в редактор и обратно

Post by HaRT »

buniak_a_h wrote: Fri 23 Dec, 2022 14:16добавлю
В ожидании обновления решил я всё-таки попробовать версию от 24 октября (насколько можно судить по дате редактирования сообщения, ведь в самом скрипте я никакую идентификацию версии не увидел), тем более, что как раз длинная команда подвернулась.
В целом удобно, спасибо. Однако замечены и серьёзные недоработки:
1. Если строка в редакторе начинается с чёрточки (-), то перед ней в командную строку почему-то не вставляется разделительный пробел. А ведь это типовая ситуация, когда новая строка начинается с новой опции (а опции преимущественно и начинаются с одной или двух чёрточек). При этом выделение в командной строке (уже после тех чёрточек) съезжает вправо так, как будто все те пробелы вставлены. (То же, если строка в редакторе начинается с пробела.)
2. Похоже, скрипт вообще не дружит со вставкой из буфера: открываем пустую командную строку, вставляем простой текст (по CtrlV, ShiftIns или ShiftNum0), выходим — командная строка по-прежнему пуста. То же, если вставлять в несколько строк сразу или по очереди. А вот если последнюю строку поредактировать (хоть пробел дописать), то вся команда переносится успешно.
3. Ещё скрипт явно не дружит с отменой: открываем пустую командную строку, нажимаем 1 CtrlZ F10 — в редакторе оставалось (пустой текст), а в командной строке получаем 1. Вероятно, с возвратом (CtrlShiftZ) тоже можно придумать сценарий воспроизведения. Но даже если нет, всё равно есть смысл обрабатывать отмену/возврат единообразно.
4. При синхронизации позиции отчётливо учитываются не все способы перемещения каретки. Я взял для примера редактор, где 50 строк: от «1» до «50». Там явно не синхронизируются CtrlHome, CtrlEnd, CtrlPgUp, CtrlPgDn (более экзотические проверять не стал). И это я ещё не говорю про позиционирование мышью или, скажем, поиском (в т.ч. плагиновым).
5. Аналогично обрабатываются далеко не все команды изменения выделения. Думаю, тут нужно ориентироваться на Справку, но также учитывать, что многие изменения выделения делаются скриптами, и желательно их отслеживать тоже.

Пожелания:
А. Если не слишком сложно, желательно придавать временному файлу расширение .cmd, чтобы автоматически включалась правильная раскраска.
Б. Было бы неплохо поместить текст справки скрипта в его начало, чтобы он сразу попадался на глаза, когда смотришь код. И туда же клавиши вызова, чтобы не выискивать макросы по коду.

И шальная идея: если редактор сделать не на полную высоту, то, наверно, можно будет в реальном времени видеть, как «развивается» командная строка. Это было бы в своём роде зрелищно. :)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4268
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Содержимое командной строки в редактор и обратно

Post by buniak_a_h »

HaRT, спасибо! А то я думал, что т.к. есть короткий способ, то мой развесистый (ваш эпитет) уже и не нужен.
По поводу даты: скрипт не оформлен по правилам Scripts Browser-а; буду делать.
Остальные Ваши замечания учту.
Кроме того, у себя ещё сделал (не опубликовано) перманентный режим. Т.е. при пустой строке ввод символа (по маске \w) автоматически переводит набор в редактор. Наверно, для всяких гаджетов типа смартфона/планшета может оказаться особенно удобно :-)
User avatar
buniak_a_h
Posts: 4268
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Содержимое командной строки в редактор и обратно

Post by buniak_a_h »

HaRT wrote: Sat 24 Dec, 2022 05:29 И шальная идея: если редактор сделать не на полную высоту, то, наверно, можно будет в реальном времени видеть, как «развивается» командная строка. Это было бы в своём роде зрелищно. :)
Красоту портит строка KeyBar: она внизу окна редактора, а не окна ФАРа. При этом KeyBar от панелей тоже виден. Ну НЕКРАСИВО!!!
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Содержимое командной строки в редактор и обратно

Post by HaRT »

buniak_a_h wrote: Sat 24 Dec, 2022 07:03 Красоту портит строка KeyBar: она внизу окна редактора, а не окна ФАРа. При этом KeyBar от панелей тоже виден.
Ну, линейку клавиш и в панелях, и в редакторе пользователь может прятать и показывать по своему усмотрению.
Кстати, если и показывать редактор не на всё окно, то предлагаю делать его высотой с панели — чтобы была видна та же часть предшествующего вывода, что и при наборе командной строки. Заодно это был бы своеобразный способ регулировать высоту этого редактора (до открытия).
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Содержимое командной строки в редактор и обратно

Post by HaRT »

buniak_a_h wrote: Sat 24 Dec, 2022 06:18 я думал, что т.к. есть короткий способ, то мой развесистый (ваш эпитет) уже и не нужен
Он полезен главным образом потому, что немодален. С той прототипной реализацией во время редактирования по директориям не походишь, пути не пособираешь (ну или надо это делать в другом экземпляре Фара через буфер обмена). К тому же там строки при переносе в командную строку соединяются символом LF, т.ч. сразу выполнять бесполезно и надо дорабатывать.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Содержимое командной строки в редактор и обратно

Post by HaRT »

buniak_a_h wrote: Sat 24 Dec, 2022 06:18 перманентный режим. Т.е. при пустой строке ввод символа (по маске \w) автоматически переводит набор в редактор.
Мне сложно представить, когда это может понадобиться, ведь важное достоинство командной строки Фара — возможность видеть панели, ходить по ним, наглядно вставлять пути и имена файлов. А при использовании редактора, пусть и немодального, такое хождение усложняется, а наглядность снижается.
buniak_a_h wrote: Sat 24 Dec, 2022 06:18 для всяких гаджетов типа смартфона/планшета может оказаться особенно удобно
Сильно сомневаюсь, что кто-то станет использовать Фар на устройстве без физической клавиатуры. А часто ли таковую подключают к смартфонам или планшетам? Крайне редко, да и то преимущественно к т.н. планшетам-трансформерам. И вообще доля гаджетов под управлением Windows исчезающе мала.
buniak_a_h wrote: Sat 24 Dec, 2022 06:18 Остальные Ваши замечания учту
Спасибо.
Я хотел бы лишний раз подчеркнуть две вещи:
1. Первейший приоритет видится в том, чтобы текст между командной строкой и редактором переносился в обе стороны максимально предсказуемо, — это к вопросу о разделителях, вставке/вырезании, отмене/возврате, замене и т.п.
2. Изменение текста, выделения, позиции происходит далеко не только нажатиями «искоробочных» кнопкосочетаний, но и в результате работы плагинов (и скриптов в частности), поэтому крайне желательно ориентироваться не на «кнопочки», а непосредственно на состояние текста, выделения, позиции. Да, я понимаю, что это может оказаться нетривиально. Если есть сложности, давайте думать вместе.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Alexander84
Posts: 150
Joined: Fri 01 May, 2009 06:38
Has thanked: 17 times
Been thanked: 2 times

Содержимое командной строки в редактор и обратно

Post by Alexander84 »

buniak_a_h wrote: Fri 23 Dec, 2022 14:16
Alexander84 wrote: Fri 23 Dec, 2022 12:34 Хорошо бы добавить минимум по использованию
Вы имеете в виду:
  1. комменты в самом тексте скрипта
  2. hlf-файл помощи
  3. функцию подсказки в самом скрипте?
Полагаю, будет достаточно шапки скрипта и (возможно, укороченной) шапки темы.
--[[ Информация для пользователя (комментарий) --]] Инструкции для машины (код)

Какие комментарии перед кодом я нашёл полезными за время использования lua-скриптов для Фара?
  • Название скрипта и версия
  • Сетевой адрес, где можно получить больше информации (ссылка на страницу форума, почта автора)
  • Что делает скрипт (какие даёт возможности, какие проблемы помогает решить)
  • Как установить (путь для установки) и как использовать скрипт (сочетание клавиш для вызова)
  • Параметры в коде, которые можно настроить по желанию, если таковые имеются
  • История изменений скрипта
Last edited by Alexander84 on Sat 24 Dec, 2022 19:40, edited 5 times in total.
User avatar
buniak_a_h
Posts: 4268
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Содержимое командной строки в редактор и обратно

Post by buniak_a_h »

HaRT wrote: Sat 24 Dec, 2022 14:40 Сильно сомневаюсь, что кто-то станет использовать Фар на устройстве без физической клавиатуры
Это не я сам придумал. Это мне кто-то ответил в обоснование полезности. Впрочем, можно и не пользоваться перманентным режимом.
Дмитрий Журко
Posts: 118
Joined: Tue 19 Jan, 2021 21:49
Has thanked: 26 times
Been thanked: 1 time

Содержимое командной строки в редактор и обратно

Post by Дмитрий Журко »

Спасибо, занятная идея. Хотя для меня пока бесполезная, слишком громоздко и в стороне от моих замыслов.
Посетила идея, которую тороплюсь вставить в обсуждение: вообще, editor.GetInfo() работает ВЕЗДЕ, когда редактируется командная строка (CL далее) тоже. Это странный факт, который можно использовать.
Может обдумать такое: открывается невидимый экран с редактором (F4 далее), в который транслируются нажатия в CL, а итог правки там сразу отображается в CL. Вывернуть скрываемое от пользователя.
Полностью подавить или отображать как пробел в CL концы строк в F4. Историю поместить в F4 строками.
Last edited by Дмитрий Журко on Wed 24 Jan, 2024 17:49, edited 3 times in total.
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Содержимое командной строки в редактор и обратно

Post by John Doe »

Дмитрий Журко wrote: Wed 24 Jan, 2024 17:42 editor.GetInfo() работает ВЕЗДЕ
Он и должен работать везде. При том если открыто несколько редакторов, то к каждому можно отдельно обратиться, по его id.
Другое дело что без аргументов - это обращение к "текущему редактору", а определения что является текущим редактором документация не даёт.
https://t.me/FarManager — Telegram чат
Дмитрий Журко
Posts: 118
Joined: Tue 19 Jan, 2021 21:49
Has thanked: 26 times
Been thanked: 1 time

Содержимое командной строки в редактор и обратно

Post by Дмитрий Журко »

John Doe wrote: Wed 24 Jan, 2024 20:38 Он и должен работать везде.
Теперь знаю, но наблюдение неожиданное, потому обращаю на него внимание. Я о другом, о том, как сблизить алгоритмы разных edit control. Сейчас разница командной строки, поля в диалоге и F4 выбешивает. Они похожи, но разные. Добавление возможностей к F4 лишь увеличивает разницу.
Last edited by Дмитрий Журко on Thu 25 Jan, 2024 11:43, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Содержимое командной строки в редактор и обратно

Post by John Doe »

Не очень понятно что конкретно доставляет вам дискомфорт.
https://t.me/FarManager — Telegram чат
Post Reply

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