Page 2 of 4

Re: lm:post2

Posted: Sat 03 May, 2014 16:15
by Shmuel

Latest post of the previous page:

Закоммитил. Экспериментируйте.
Дальнейшее участие коллег из Far Group, лучше меня знающих код Фара, было бы весьма желательным.

Re: ProcessFarCommandLine

Posted: Sat 03 May, 2014 16:37
by John Doe

Code: Select all

Экспериментально:
Перед обработкой комстроки Фар передаёт её плагину LuaMacro, который вызывает глобальную функцию
ProcessFarCommandLine(CmdLine), если таковая существует. Если функция не существует, либо возвращает
false/nil/ничего, Фар продолжает обработку комстроки. Если возвращает стринг, то Фар обрабатывает
его как новое значение комстроки. Если возвращает true, дальнейшая обработка комстроки Фаром не
производится.
Как бы сделать возможным независимое функционирование нескольких таких функций.

Re: ProcessFarCommandLine

Posted: Sat 03 May, 2014 16:53
by Shmuel
John Doe wrote:Как бы сделать возможным независимое функционирование нескольких таких функций.
Можно по-разному. Один из способов - ввести новый тип события: group=CommandLine.

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

Posted: Sat 03 May, 2014 18:34
by Shmuel
Функция Фара, откуда идёт вызов LuaMacro, кроме CmdLine, получает ещё 7 булевых параметров:
  • AlwaysWaitFinish
  • SeparateWindow
  • DirectRun
  • WaitForIdle
  • RunAs
  • RestoreCmd
  • FromPanel
Возможно, некоторые из них, или все, имеет смысл тоже передавать плагину. На данный момент ещё не разобрался.

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

Posted: Sat 03 May, 2014 19:28
by Smitis
Shmuel wrote:Функция Фара, откуда идёт вызов LuaMacro, кроме CmdLine, получает ещё 7 булевых параметров:
  • AlwaysWaitFinish
  • SeparateWindow
  • DirectRun
  • WaitForIdle
  • RunAs
  • RestoreCmd
  • FromPanel
Возможно, некоторые из них, или все, имеет смысл тоже передавать плагину. На данный момент ещё не разобрался.
Может просто передавать их одним параметром, как набор флагов, а там разберёмся?

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

Posted: Sat 03 May, 2014 19:52
by DrKnS
Господа, на всякий случай, чтобы не было потом обид типа "ааа, мне мою кастомную сортировку сломали", хочу предупредить заранее: это внутренняя кухня, меняться там всё может (и будет) как угодно, когда угодно, и, разумеется, без предупреждений.

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

Posted: Sat 03 May, 2014 19:57
by Shmuel
DrKnS wrote:хочу предупредить заранее: это внутренняя кухня, меняться там всё может (и будет) как угодно, когда угодно, и, разумеется, без предупреждений.
После того, как изменения сабжа устаканятся, они перестанут быть внутренней кухней, не? По крайней мере их API. Ведь, по сути дела, добавляется API.

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

Posted: Sat 03 May, 2014 20:04
by zg
Shmuel wrote:После того, как изменения сабжа устаканятся, они перестанут быть внутренней кухней, не? По крайней мере их API. Ведь, по сути дела, добавляется API.
если апи будет для всех плагинов, да. если только для luamacro — нет.

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

Posted: Sat 03 May, 2014 20:06
by Shmuel
Тогда нет смысла это делать.

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

Posted: Sat 03 May, 2014 20:22
by zg
Shmuel wrote:Тогда нет смысла это делать.
почему?

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

Posted: Sat 03 May, 2014 20:27
by Shmuel
Потому что (ИМХО):
1. Если пользователям предоставляется фича, она должна поддерживаться. Лично я не могу поручиться, что если кто-то её через месяц сломает, у меня будет время чинить.
2. LuaMacro стоИт особняком от других плагинов, это не просто "ещё один плагин". Его можно рассматривать, как часть Фара. И, естественно, не потому, что именно я им занимаюсь.

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

Posted: Sat 03 May, 2014 21:20
by zg
Shmuel wrote:1. Если пользователям предоставляется фича, она должна поддерживаться. Лично я не могу поручиться, что если кто-то её через месяц сломает, у меня будет время чинить.
хорошо, напиши мне, я починю.
Shmuel wrote:2. LuaMacro стоИт особняком от других плагинов, это не просто "ещё один плагин". Его можно рассматривать, как часть Фара. И, естественно, не потому, что именно я им занимаюсь.
вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.

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

Posted: Sat 03 May, 2014 21:32
by Shmuel
zg wrote:хорошо, напиши мне, я починю.
Заявление хорошее, особенно если удалить из него среднюю часть.
zg wrote:вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.
А как же не выносить наружу, то-есть для макросов, API функции ProcessFarCommandLine ?

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

Posted: Sat 03 May, 2014 23:29
by zg
Shmuel wrote:
zg wrote:хорошо, напиши мне, я починю.
Заявление хорошее, особенно если удалить из него среднюю часть.
я не пользуюсь всем функционалом фара в жизни. в ProcessFarCommandLine тоже не вижу пока для себя какой-либо пользы. поэтому если оно сломается, сам я скорее всего не замечу, сорри.
Shmuel wrote:
zg wrote:вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.
А как же не выносить наружу, то-есть для макросов, API функции ProcessFarCommandLine ?
вот всё что касается ProcessFarCommandLine конечно выносится, и выносить надо аккуратно и сто раз подумав. я например не очень понимаю кому и зачем в ProcessFarCommandLine может понадобится одно из значений:
  • AlwaysWaitFinish
  • SeparateWindow
  • DirectRun
  • WaitForIdle
  • RunAs
  • RestoreCmd
  • FromPanel

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

Posted: Sun 04 May, 2014 14:38
by Smitis
А в чём причина отката и прекращение поддержки ProcessFarCommandLine?

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

Posted: Mon 05 May, 2014 09:27
by John Doe
Да, жаль. Я даже не успел попробовать.
Из обсуждения причина не ясна.
Ведь если что когда поломается - есть кому чинить. А для сообщений об ошибках есть мантис.