Экспериментально: ProcessFarCommandLine

Здесь обсуждается всё, что касается макросов.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: lm:post2

Post by Shmuel »

Latest post of the previous page:

Закоммитил. Экспериментируйте.
Дальнейшее участие коллег из Far Group, лучше меня знающих код Фара, было бы весьма желательным.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: ProcessFarCommandLine

Post by John Doe »

Code: Select all

Экспериментально:
Перед обработкой комстроки Фар передаёт её плагину LuaMacro, который вызывает глобальную функцию
ProcessFarCommandLine(CmdLine), если таковая существует. Если функция не существует, либо возвращает
false/nil/ничего, Фар продолжает обработку комстроки. Если возвращает стринг, то Фар обрабатывает
его как новое значение комстроки. Если возвращает true, дальнейшая обработка комстроки Фаром не
производится.
Как бы сделать возможным независимое функционирование нескольких таких функций.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: ProcessFarCommandLine

Post by Shmuel »

John Doe wrote:Как бы сделать возможным независимое функционирование нескольких таких функций.
Можно по-разному. Один из способов - ввести новый тип события: group=CommandLine.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Экспериментально: ProcessFarCommandLine

Post by Shmuel »

Функция Фара, откуда идёт вызов LuaMacro, кроме CmdLine, получает ещё 7 булевых параметров:
  • AlwaysWaitFinish
  • SeparateWindow
  • DirectRun
  • WaitForIdle
  • RunAs
  • RestoreCmd
  • FromPanel
Возможно, некоторые из них, или все, имеет смысл тоже передавать плагину. На данный момент ещё не разобрался.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: Экспериментально: ProcessFarCommandLine

Post by Smitis »

Shmuel wrote:Функция Фара, откуда идёт вызов LuaMacro, кроме CmdLine, получает ещё 7 булевых параметров:
  • AlwaysWaitFinish
  • SeparateWindow
  • DirectRun
  • WaitForIdle
  • RunAs
  • RestoreCmd
  • FromPanel
Возможно, некоторые из них, или все, имеет смысл тоже передавать плагину. На данный момент ещё не разобрался.
Может просто передавать их одним параметром, как набор флагов, а там разберёмся?
Разум когда-нибудь победит.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: Экспериментально: ProcessFarCommandLine

Post by DrKnS »

Господа, на всякий случай, чтобы не было потом обид типа "ааа, мне мою кастомную сортировку сломали", хочу предупредить заранее: это внутренняя кухня, меняться там всё может (и будет) как угодно, когда угодно, и, разумеется, без предупреждений.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Экспериментально: ProcessFarCommandLine

Post by Shmuel »

DrKnS wrote:хочу предупредить заранее: это внутренняя кухня, меняться там всё может (и будет) как угодно, когда угодно, и, разумеется, без предупреждений.
После того, как изменения сабжа устаканятся, они перестанут быть внутренней кухней, не? По крайней мере их API. Ведь, по сути дела, добавляется API.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Экспериментально: ProcessFarCommandLine

Post by zg »

Shmuel wrote:После того, как изменения сабжа устаканятся, они перестанут быть внутренней кухней, не? По крайней мере их API. Ведь, по сути дела, добавляется API.
если апи будет для всех плагинов, да. если только для luamacro — нет.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Экспериментально: ProcessFarCommandLine

Post by Shmuel »

Тогда нет смысла это делать.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Экспериментально: ProcessFarCommandLine

Post by zg »

Shmuel wrote:Тогда нет смысла это делать.
почему?
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Экспериментально: ProcessFarCommandLine

Post by Shmuel »

Потому что (ИМХО):
1. Если пользователям предоставляется фича, она должна поддерживаться. Лично я не могу поручиться, что если кто-то её через месяц сломает, у меня будет время чинить.
2. LuaMacro стоИт особняком от других плагинов, это не просто "ещё один плагин". Его можно рассматривать, как часть Фара. И, естественно, не потому, что именно я им занимаюсь.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Экспериментально: ProcessFarCommandLine

Post by zg »

Shmuel wrote:1. Если пользователям предоставляется фича, она должна поддерживаться. Лично я не могу поручиться, что если кто-то её через месяц сломает, у меня будет время чинить.
хорошо, напиши мне, я починю.
Shmuel wrote:2. LuaMacro стоИт особняком от других плагинов, это не просто "ещё один плагин". Его можно рассматривать, как часть Фара. И, естественно, не потому, что именно я им занимаюсь.
вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Re: Экспериментально: ProcessFarCommandLine

Post by Shmuel »

zg wrote:хорошо, напиши мне, я починю.
Заявление хорошее, особенно если удалить из него среднюю часть.
zg wrote:вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.
А как же не выносить наружу, то-есть для макросов, API функции ProcessFarCommandLine ?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Экспериментально: ProcessFarCommandLine

Post by zg »

Shmuel wrote:
zg wrote:хорошо, напиши мне, я починю.
Заявление хорошее, особенно если удалить из него среднюю часть.
я не пользуюсь всем функционалом фара в жизни. в ProcessFarCommandLine тоже не вижу пока для себя какой-либо пользы. поэтому если оно сломается, сам я скорее всего не замечу, сорри.
Shmuel wrote:
zg wrote:вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.
А как же не выносить наружу, то-есть для макросов, API функции ProcessFarCommandLine ?
вот всё что касается ProcessFarCommandLine конечно выносится, и выносить надо аккуратно и сто раз подумав. я например не очень понимаю кому и зачем в ProcessFarCommandLine может понадобится одно из значений:
  • AlwaysWaitFinish
  • SeparateWindow
  • DirectRun
  • WaitForIdle
  • RunAs
  • RestoreCmd
  • FromPanel
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: Экспериментально: ProcessFarCommandLine

Post by Smitis »

А в чём причина отката и прекращение поддержки ProcessFarCommandLine?
Разум когда-нибудь победит.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Экспериментально: ProcessFarCommandLine

Post by John Doe »

Да, жаль. Я даже не успел попробовать.
Из обсуждения причина не ясна.
Ведь если что когда поломается - есть кому чинить. А для сообщений об ошибках есть мантис.
Post Reply

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