Latest post of the previous page:
Закоммитил. Экспериментируйте.Дальнейшее участие коллег из Far Group, лучше меня знающих код Фара, было бы весьма желательным.
Как бы сделать возможным независимое функционирование нескольких таких функций.Code: Select all
Экспериментально: Перед обработкой комстроки Фар передаёт её плагину LuaMacro, который вызывает глобальную функцию ProcessFarCommandLine(CmdLine), если таковая существует. Если функция не существует, либо возвращает false/nil/ничего, Фар продолжает обработку комстроки. Если возвращает стринг, то Фар обрабатывает его как новое значение комстроки. Если возвращает true, дальнейшая обработка комстроки Фаром не производится.
Можно по-разному. Один из способов - ввести новый тип события: group=CommandLine.John Doe wrote:Как бы сделать возможным независимое функционирование нескольких таких функций.
Может просто передавать их одним параметром, как набор флагов, а там разберёмся?Shmuel wrote:Функция Фара, откуда идёт вызов LuaMacro, кроме CmdLine, получает ещё 7 булевых параметров:Возможно, некоторые из них, или все, имеет смысл тоже передавать плагину. На данный момент ещё не разобрался.
- AlwaysWaitFinish
- SeparateWindow
- DirectRun
- WaitForIdle
- RunAs
- RestoreCmd
- FromPanel
После того, как изменения сабжа устаканятся, они перестанут быть внутренней кухней, не? По крайней мере их API. Ведь, по сути дела, добавляется API.DrKnS wrote:хочу предупредить заранее: это внутренняя кухня, меняться там всё может (и будет) как угодно, когда угодно, и, разумеется, без предупреждений.
если апи будет для всех плагинов, да. если только для luamacro — нет.Shmuel wrote:После того, как изменения сабжа устаканятся, они перестанут быть внутренней кухней, не? По крайней мере их API. Ведь, по сути дела, добавляется API.
хорошо, напиши мне, я починю.Shmuel wrote:1. Если пользователям предоставляется фича, она должна поддерживаться. Лично я не могу поручиться, что если кто-то её через месяц сломает, у меня будет время чинить.
вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.Shmuel wrote:2. LuaMacro стоИт особняком от других плагинов, это не просто "ещё один плагин". Его можно рассматривать, как часть Фара. И, естественно, не потому, что именно я им занимаюсь.
Заявление хорошее, особенно если удалить из него среднюю часть.zg wrote:хорошо, напиши мне, я починю.
А как же не выносить наружу, то-есть для макросов, API функции ProcessFarCommandLine ?zg wrote:вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.
я не пользуюсь всем функционалом фара в жизни. в ProcessFarCommandLine тоже не вижу пока для себя какой-либо пользы. поэтому если оно сломается, сам я скорее всего не замечу, сорри.Shmuel wrote:Заявление хорошее, особенно если удалить из него среднюю часть.zg wrote:хорошо, напиши мне, я починю.
вот всё что касается ProcessFarCommandLine конечно выносится, и выносить надо аккуратно и сто раз подумав. я например не очень понимаю кому и зачем в ProcessFarCommandLine может понадобится одно из значений:Shmuel wrote:А как же не выносить наружу, то-есть для макросов, API функции ProcessFarCommandLine ?zg wrote:вот именно поэтому нет смысла что-то там замораживать и как бы выносить наружу.