Развитие экспорта/импорта
Развитие экспорта/импорта
Экспорт/импорт настроек Far позволяют работать с человеко-понятным вариантом настроек: просмотривать, сравнивать несколько вариантов, редактировать. Но есть исключение: Lua-плагины хранят свои настройки в виде Lua-кода, закодированного в hex-строку. Из коробки — это настройки для MacroBrowser. hex-строка непригодна для _непосредственной_ работы с ней. это примерно, как если бы бинарные базы преобразовывались не в xml, а в hex-дамп: формально текст, но что с этим делать? — ничего. паллиатив есть: написать скрипт, который декодирует заданную hex-строку — собственно, я так и сделал, когда мне было нужно посмотреть, в чем отличие двух вариантов настроек плагина.
но было бы удобно и полезно, чтобы штатные экспорт/импорт расширили свои возможности по доведению настроек до человеко-понятного вида и обратно.
а еще очень длинные hex-строки не перевариваются colorer'ом, и он начинает раскрашивать несуществующие ошибки.
но было бы удобно и полезно, чтобы штатные экспорт/импорт расширили свои возможности по доведению настроек до человеко-понятного вида и обратно.
а еще очень длинные hex-строки не перевариваются colorer'ом, и он начинает раскрашивать несуществующие ошибки.
Фар делают добрые люди
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Развитие экспорта/импорта
А причем здесь фар и импорт/экспорт?
Luamacro пожелал хранить данные в db виде opaque блобов - фар так и делает, понятия не имея, что там внутри.
Если хранить как строки - будет читаемо.
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Развитие экспорта/импорта
В LuaMacro это касается функций mf.msave и mf.mload. Там надо просто заменить FST_DATA на FST_STRING.
Но, скорее всего, после данного изменения, сохранённые прежде данные не загрузятся.
Но, скорее всего, после данного изменения, сохранённые прежде данные не загрузятся.
Развитие экспорта/импорта
еще больший паллиатив, со своими заморочками. вместо того, чтобы одной командой сохранить все, там надо выковыривать изюм. но ладно, экспортировал, и что я вижу: вместо одной длинной hex-строки используется одна длинная текстовая строка с \n вместо перевода строки. лучше уж я своим скриптом, если будет очень надо. а еще, если какой-либо плагин не загружен, то и к его настройкам доступа нет.
или вот. сохранил я текущие настройки, и желаю сравнить их со своим Default.farconfig, например, чтобы выявить новых кандидатов в дефолт. и как поможет DBEdit доступиться к настройкам в Default.farconfig?
Фар делают добрые люди
Развитие экспорта/импорта
исключительно добрая воля фара, поэтому виш, а не претензия. потому как цель экспорта/импорта предоставить доступ к человеко-понятному варианту настроек, и если она достигается не в полной мере, то есть есть куда улучшаться.
Фар делают добрые люди
- HaRT
- Moderator
- Posts: 10863
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Развитие экспорта/импорта
Есть ли техническая возможность при считывании узнать, с каким из двух типов сохранено значение? Если есть, то можно было бы писать только строкой, а читать и строку, и блоб (для перехода с прежних версий).
Фар есть инструмент, а не нянька. © 2009 DrKnS
Развитие экспорта/импорта
как я понимаю, в остальных плагинах останется прежнее поведение.
по-хорошему, решать бы в одном месте: в экспорте/импорте фара.
Фар делают добрые люди
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Развитие экспорта/импорта
Здесь, видимо, противопоставляются LuaFAR-плагины и "классические"?
Это некорректный подход, поскольку в LuaFAR есть всё необходимое для сохранения данных в "классическом" виде.
Поэтому речь здесь может идти только о конкретных LuaFAR-плагинах, авторы которых избрали "неклассический" (но более удобный) способ сохранения.
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Развитие экспорта/импорта
Пример LuaFAR-плагина, сохраняющего данные в "классическом" виде - FastFind Enhanced.
ccaid, как мне кажется, не полностью видит картину, возлагая ответственность за читаемость на экспорт Фара.
Фар сохраняет данные в том виде, в котором ему указывают плагины.
ccaid, как мне кажется, не полностью видит картину, возлагая ответственность за читаемость на экспорт Фара.
Фар сохраняет данные в том виде, в котором ему указывают плагины.
Развитие экспорта/импорта
то есть я имел ввиду остальные Lua-плагины, которые хранят строки кода в виде hex-строки.
нет, я отдаю себе отчет, что это не недоработка фара. просто есть две альтернативы: исправить во всех Lua-плагинах (скриптах) — сначала убедив всех авторов (но старые версии станут несовместимыми). или доделать в одном месте — экспорте/импорте фара, функция которого как раз конвертация настроек в пригодный для человека вид. да, фар не знает, что хранят плагины в своих настройках, но если задаться целью, вопрос может быть решен — как определить, какие настройки нуждаются в дополнительном декодировании/кодировании.
Фар делают добрые люди
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Развитие экспорта/импорта
а что вообще за ересь здесь происходит? настройку можно сохранить в бинарном виде и там будет не обязательно строка, можно в виде строки. это разные вещи. и на уровне фара интерпретировать бинарные данные как строку — это какой-то бред.