Вопрос - почему некоторые из опций удосужились стать избранными (те, кто в CFG перекочевали в FSSF_*, отличные от FSSF_PRIVATE), подавляющее же большинство стало просто недоступными? Почему нельзя все опции опубликовать?zg 13.03.2012 01:09:42 +0200 - build 2541
1. как было обещано, удалены ... ACTL_GETSYSTEMSETTINGS, ACTL_GETPANELSETTINGS, ACTL_GETINTERFACESETTINGS, ... ACTL_GETDESCSETTINGS, .... и ACTL_GETDIALOGSETTINGS.
Массовые захоронения возможностей в Plugin API
Массовые захоронения возможностей в Plugin API
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Массовые захоронения возможностей в Plugin API
ответ на этот вопрос очевиден.Nikolay wrote:Почему нельзя все опции опубликовать?
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: Массовые захоронения возможностей в Plugin API
Вообще то - нет.zg wrote:ответ на этот вопрос очевиден.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Массовые захоронения возможностей в Plugin API
правда?Max Rusov wrote:Вообще то - нет.
это ж так просто. в фаре порядка 300 настроек. если их всех опубликовать, то придётся их же всех поддерживать как минимум до 4-ой версии, если вдруг такая будет. хотя есть много мусора типа "EscTwiceToInterrupt". и вот завтра я решу её выкинуть, а как бы и нельзя.
или например "AnsiCodePageForNewFile". вот решит завтра DrKnS заменить эту опцию на выбор кодировки по умолчанию. и что делать? по апи-то она доступна была, кто знает, какой плагин отвалится?
Re: Массовые захоронения возможностей в Plugin API
1. Ну, изначально я имел в виду не все абсолютно настройки, а те несколько десятков, доступных ранее через удаляемые сейчас ACTL_GET* (потому и такое название темы, а не - "хочу все 300 настроек!").zg wrote:в фаре порядка 300 настроек.
2. Что до оставшихся сотен настроек - почему бы и к ним не дать доступ? Слом тонких настроек - это не глобальный слом API, поголовно все плагины не отвалятся, а те, что отвалятся - ну не просто же так они отвалятся, раз они использовали настройку, значит она им нужна.
Т.е., как вариант, можно сделать два набора настроек - документированный официальный и поддерживаемый набор (кандидаты - те настройки, что были доступны ранее) и неофициальный, на страх и риск плагинописателей (типа, узаконенный, но хак).
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Массовые захоронения возможностей в Plugin API
Мне тоже нравится идея доступ дать, но объявить, что все недокументированные настройки - на свой страх и риск.
Настройки всякие хотя бы для тестирования могут быть полезны. Конкретного юз-кейса пока нет. Но потому и нет, может, что и доступа нет.
Настройки всякие хотя бы для тестирования могут быть полезны. Конкретного юз-кейса пока нет. Но потому и нет, может, что и доступа нет.
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Массовые захоронения возможностей в Plugin API
Nikolay wrote:1. Ну, изначально я имел в виду не все абсолютно настройки, а те несколько десятков, доступных ранее через удаляемые сейчас ACTL_GET* (потому и такое название темы, а не - "хочу все 300 настроек!").
именно так и воспринимается.Почему нельзя все опции опубликовать?
зачем?2. Что до оставшихся сотен настроек - почему бы и к ним не дать доступ?
не согласен с таким подходом.Слом тонких настроек - это не глобальный слом API, поголовно все плагины не отвалятся, а те, что отвалятся - ну не просто же так они отвалятся, раз они использовали настройку, значит она им нужна.
1. баг репорты в случае чего писать будут нам. вон джон доу кричит что надо даже баги плагинов для первого фара поддерживать во врапере для которых исходники есть. так что на свой страх и риск реально означает, что опубликованные настройки трогать нельзя.Т.е., как вариант, можно сделать два набора настроек - документированный официальный и поддерживаемый набор (кандидаты - те настройки, что были доступны ранее) и неофициальный, на страх и риск плагинописателей (типа, узаконенный, но хак).
2. среди старого фигня была тоже всякая. FSS_CREATEFOLDERSINUPPERCASE, FDS_*. да и многое из FDIS_* не представляю зачем плагинам нужно.
то что ты даже явные баги юзаешь как фичи я помню.NightRoman wrote:Мне тоже нравится идея доступ дать, но объявить, что все недокументированные настройки - на свой страх и риск.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Массовые захоронения возможностей в Plugin API
Я не помню, но допускаю, что могу. Если это решает то, что надо, то почему бы и нет. А что оно временное... пока оно отвалится, либо осел умрет, либо падишах...то что ты даже явные баги юзаешь как фичи я помню.
Re: Массовые захоронения возможностей в Plugin API
Пользуйтесь вызовом макрокоманды Far.Cfg.Get(Key, Name)Nikolay wrote:Почему нельзя все опции опубликовать?
Там (пока) без приватностей.
Хочу добавить в макросы набор команд (если не будет возражений):
Code: Select all
Far.Cfg.Count
Far.Cfg.Name(N[, Type]) (Type: 0 - keyname, 1 - valuename)
Far.Cfg.Value(N)
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
To ban or not to ban, that is the question. ©
Re: Массовые захоронения возможностей в Plugin API
DAtaMan, блин, аккуратней с такими высказываниями, а то фартимовцы у нас люди суровые - рубят с горяча иногда - "Ампутировать правую ногу - тюк, я сказал ногу! - тюк, я сказал правую!!!"
SimSU ··· ·· -- ··· ··-
Re: Массовые захоронения возможностей в Plugin API
Ну, извиняюсь, значит, некорректно сформулировал. Сильно желал не все, а только ранее опубликованные настройки.zg wrote:Nikolay wrote:1. Ну, изначально я имел в виду не все абсолютно настройки, а те несколько десятков, доступных ранее через удаляемые сейчас ACTL_GET* (потому и такое название темы, а не - "хочу все 300 настроек!").именно так и воспринимается.Почему нельзя все опции опубликовать?
Затем, что это невредно как минимум.зачем?2. Что до оставшихся сотен настроек - почему бы и к ним не дать доступ?
Ну, вот пример. У меня в AltHistory еще для FAR1, 2 был написан функционал для поиска исполняемых файлов, так, как это делает FAR (использовалось содержимое System\Executor). В FAR3 курю бамбук - забил на реальное состояние UseAppPath и ExcludeCmds, использую значения по умолчанию (не думаю, что кто-нибудь заметил этот косяк). И в мыслях нет просить железно документировать эти настройки (кому они еще нужны), но от неофициального доступа не отказался бы - лучше неофициальный, чем никакой.
Багрепорты по плагинам очевидно, что надо писать разработчикам плагинов.1. баг репорты в случае чего писать будут нам.Т.е., как вариант, можно сделать два набора настроек - документированный официальный и поддерживаемый набор (кандидаты - те настройки, что были доступны ранее) и неофициальный, на страх и риск плагинописателей (типа, узаконенный, но хак).
FSS_CREATEFOLDERSINUPPERCASE, конечно же, великий атавизм.среди старого фигня была тоже всякая. FSS_CREATEFOLDERSINUPPERCASE
Ну, я в AltHistory FDIS_PERSISTENTBLOCKSINEDITCONTROLS юзаю (точнее, юзал до сегодняшнего дня )многое из FDIS_* не представляю зачем плагинам нужно.
Усложнение логики. Чтобы макрос выполнился, нужно отдать управление FAR'у (или я отстал от жизни?).DAtaMan wrote:Пользуйтесь вызовом макрокоманды Far.Cfg.Get(Key, Name)
Там (пока) без приватностей.
Re: Массовые захоронения возможностей в Plugin API
Да, ненамного.Nikolay wrote:Усложнение логики.DAtaMan wrote:Пользуйтесь вызовом макрокоманды Far.Cfg.Get(Key, Name)
Там (пока) без приватностей.
Ну и что?Nikolay wrote:Чтобы макрос выполнился, нужно отдать управление FAR'у.
На всякий случай - я про вызов макроса из плагина.
2B OR NOT 2B = FF (Иногда code - это просто код. Почти Дйерф Омолш Днумзигис)
To ban or not to ban, that is the question. ©
To ban or not to ban, that is the question. ©
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Массовые захоронения возможностей в Plugin API
зачем?Nikolay wrote:Ну, я в AltHistory FDIS_PERSISTENTBLOCKSINEDITCONTROLS юзаю (точнее, юзал до сегодняшнего дня )
Re: Массовые захоронения возможностей в Plugin API
Нужно вставить текст в DI_EDIT. C учетом позиции курсора, выделения текста и, разумеется, типа блока.zg wrote:зачем?Nikolay wrote:Ну, я в AltHistory FDIS_PERSISTENTBLOCKSINEDITCONTROLS юзаю (точнее, юзал до сегодняшнего дня )
Re: Массовые захоронения возможностей в Plugin API
Сразу не заметил сообщение.
1. Выполняется код плагина, в конце вызов макрокоманды.
2. Выполняется макрокоманда, засовывает результаты в callplugin
3. Плагин анализирует, чего от него хотят, находит нужную ветку, "продолжает" выполнять прерванный ранее код (в кавычках, потому что фактически код-то и не связан последовательным исполнением - это эмулируется с сохранением локального состояния и пр. нужностей, автоматически доступных из последовательного выполнения плагина без прерываний на вызов макросов).
4. Нужно еще что-то от макросов - идем на п.1.
Вообщем, код увеличивается и усложняется на ровном месте. Всё из-за странности, суть которой - плагины (по сути более низкоуровневая вещь) не имеет доступа к функциональности, доступной из высокоуровневых макросов.
То, что вместо нормального последовательного выполнения некоего кода плагина будет городиться чехарда из:DAtaMan wrote:Да, ненамного.Nikolay wrote:Усложнение логики.DAtaMan wrote:Пользуйтесь вызовом макрокоманды Far.Cfg.Get(Key, Name)
Там (пока) без приватностей.Ну и что?Nikolay wrote:Чтобы макрос выполнился, нужно отдать управление FAR'у.
1. Выполняется код плагина, в конце вызов макрокоманды.
2. Выполняется макрокоманда, засовывает результаты в callplugin
3. Плагин анализирует, чего от него хотят, находит нужную ветку, "продолжает" выполнять прерванный ранее код (в кавычках, потому что фактически код-то и не связан последовательным исполнением - это эмулируется с сохранением локального состояния и пр. нужностей, автоматически доступных из последовательного выполнения плагина без прерываний на вызов макросов).
4. Нужно еще что-то от макросов - идем на п.1.
Вообщем, код увеличивается и усложняется на ровном месте. Всё из-за странности, суть которой - плагины (по сути более низкоуровневая вещь) не имеет доступа к функциональности, доступной из высокоуровневых макросов.