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

Здесь обсуждается всё, что касается макросов.
User avatar
Taciturn
Posts: 603
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 89 times
Been thanked: 31 times
Contact:

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

Post by Taciturn »

Очень хотелось бы редактировать командную строку в редакторе, например по F4 при погашенных панелях. Сильно подозреваю, что какое-то готовое решение для этого уже есть, но я его просто неправильно ищу, потому и не получается ничего найти.
 ! Message from: HaRT
Результирующий развесистый скрипт
Last edited by HaRT on Sat 29 Oct, 2022 16:24, edited 1 time in total.
Reason: Добавлена ссылка на результирующий скрипт
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Если кто соберётся делать скрипт, прошу реализовать перенос в обе стороны также текущей позиции каретки и выделения. Ну и не забыть разумным образом обработать многострочность редактора.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Реализация базовой функциональности нашлась, но мои хотелки остаются в силе.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4266
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Thu 29 Sep, 2022 20:46 Если кто соберётся делать скрипт, прошу реализовать перенос в обе стороны также текущей позиции каретки и выделения. Ну и не забыть разумным образом обработать многострочность редактора.
Посмотрите, что получилось?
Немного изменил постановку задачи. При любом изменении в редакторе оно (изменение) отображается в командной строке. Если редактор сделать модальным, то смысла в этом нет и скрипт станет проще. Ну, мне показалось, что так может оказаться удобно.
В самом редакторе функциональные клавиши (F1-F12) недоступны кроме: |F1|F10|F11|F7|CtrlF7|ShiftF7|AltF7|AltF8| или если на неё (F-клавишу) повешен макрос.
F1 выводит краткую справку к себе и даёт возможность посмотреть хелп к редактору.
Сам макрос повешен на CtrlAltF4; при завершении редактирования по F10 содержимое, позиция и отметка переносятся в комстроку; по Esc задаётся вопрос.

Ну, в общем, зырьте…
EditCmdLine.lua
Есть исправленный вариант
Last edited by buniak_a_h on Sun 02 Oct, 2022 14:35, edited 2 times in total.
User avatar
Konstantin
Posts: 234
Joined: Wed 14 Jun, 2006 19:29
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 5 times

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

Post by Konstantin »

buniak_a_h, Макрос конфликтует с плагином AutoWrap, версия 3.0.0.27 Far 3.0.6029.0 x64 Win10.
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
User avatar
buniak_a_h
Posts: 4266
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Konstantin wrote: Sat 01 Oct, 2022 12:18 buniak_a_h, Макрос конфликтует с плагином AutoWrap, версия 3.0.0.27 Far 3.0.6029.0 x64 Win10.
Лаконично как-то… :-(
  1. Вы бы хоть ссылочку на плагин дали… На плагринге есть =https://plugring.farmanager.com/plugin ... d autowrap - это оно?
  2. А что значит конфликтует? Как это выглядит? Если дело просто в хоткее - замените. Пока настройку делать не планировал.
User avatar
Konstantin
Posts: 234
Joined: Wed 14 Jun, 2006 19:29
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 5 times

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

Post by Konstantin »

buniak_a_h,
  1. Это плагин из стандартной поставки фара.
  2. Внешне конфликт выглядит так:

    Code: Select all

    ╔═══════════════════════════════════ Ой ═══════════════════════════════════╗
    ║ AutoWrap 3.0.27.0 (Auto wrap for Far Manager, Eugene Roshal & Far Group) ║
    ╟──────────────────────────────────────────────────────────────────────────╢
    ║ Что-то пошло не так.                                                     ║
    ║ Пожалуйста, отправьте отчет об ошибке разработчикам:                     ║
    ║ H:\Far\Profile\CrashLogs\Far.2022_10_01_12_27_12_246_2344                ║
    ╟──────────────────────────────────────────────────────────────────────────╢
    ║         { Завершить Far } [ Выгрузить плагин ] [ Игнорировать ]          ║
    ╚══════════════════════════════════════════════════════════════════════════╝
  3. Из указанного крашлога (весь его набор слишком большой) прилагаю содержание bug_report`а.
    bug_report.txt.7z
    (9.28 KiB) Downloaded 61 times
Last edited by Konstantin on Sat 01 Oct, 2022 13:52, edited 1 time in total.
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
User avatar
buniak_a_h
Posts: 4266
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Konstantin, спасибо, повторилось.
У меня этот плагин был выключен. Вылетает стабильно при выходе из редактора. Странно, как скрипт, не использующий вставок (на СИ, например), может валить ФАР… Придётся искать обход.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

Не получается поаторить падение. Плагин активирован. Far3.0.6029 x64, Windows 10.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

Повторил. И причина понятна, описана здесь.
User avatar
buniak_a_h
Posts: 4266
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Shmuel wrote: Sat 01 Oct, 2022 15:12 Повторил. И причина понятна, описана здесь.
Я это предупреждение видел, но как-то не знаю, где я использую EditorControl(ECTL_PROCESSINPUT) в ивенте. И почему без этого плагина не зацикливается, а с плагином - зацикливается. А главное - как этот цикл разорвать.
Впрочем, кажется, есть мысль…
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

Я был неправ, это предупреждение о другом случае.
А в данном случае, одна проблема в плагине AutoWrap (вызывает FSF.ProcessName с именем==nullptr),
вторая проблема в Фаре (не защищается от случая имя==nullptr).
Last edited by Shmuel on Sat 01 Oct, 2022 15:46, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4266
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Shmuel, интересно. Но непонятно :-)
Шеф, что делать?©
Ладно, попробую методом бисекций отсечь конфликтный кусок скрипта… Ненавижу метод тыка!
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

buniak_a_h, вам ничего не надо делать. FarGroup с лёгкостью вылечит эти проблемы.
Ваш скрипт просто удачно их высветил.
User avatar
buniak_a_h
Posts: 4266
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

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

Post by buniak_a_h »

Shmuel wrote: Sat 01 Oct, 2022 15:52 вам ничего не надо делать. FarGroup с лёгкостью вылечит эти проблемы.
Может, стоит написать куда-нить в https://bugs.farmanager.com ? Или они отслеживают форум и увидят эту переписку?
На самом деле, т.к. мой скрипт удачно высветил, то можно, наверно, сделать так, чтоб он не высвечивал: ведь он - не первый скрипт, пытающийся редактировать временный не созданный файл с последующим удалением, и всё было нормально. Может, имеет смысл реально создавать этот файл?
Просто тема-то интересная и часто мне тоже не хватало возможностей редактора в комстроке (проверить скобки, например)
Post Reply

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