Переезд макросов из macros.db в файлы

Здесь обсуждается всё, что касается макросов.
User avatar
zollo
Posts: 32
Joined: Wed 04 Nov, 2009 10:06
Has thanked: 5 times
Been thanked: 2 times

Re: Переезд макросов из macros.db в файлы

Post by zollo »

Latest post of the previous page:

NightRoman:
Попробовал перезалитый скрипт (пробовал и с полным путем). Выдает ошибку:
C:\Program Files\Far\db2file.lua:2: C:\Program Files\Far\874f0b13-df5b-4dc7-80e2-e4d5044044ee: No such file or directory

При этом создает папку C:\Program Files\Far\Files\Far\874f0b13-df5b-4dc7-80e2-e4d5044044ee, куда скопированы базы настроек. Папка с файлами остается после ошибки.
Подтверждаю, думаю проблема с пробелами в названиях папок.
Скопировал папку в корень и переименовал в Far, все заработало и allmacros.lua в папке scripts появился.
Обновился до 3002, и макросы всё равно не работают.
User avatar
NightRoman
Posts: 5945
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 14 times
Been thanked: 15 times
Contact:

Re: Переезд макросов из macros.db в файлы

Post by NightRoman »

zollo
3002 - кривая сборка, надо либо самим собирать, либо подождать следующей ночной (одной из следующих :))
dr_rus
Posts: 16
Joined: Thu 05 Nov, 2009 01:35

Re: Переезд макросов из macros.db в файлы

Post by dr_rus »

Парни, это всё прекрасно. Но что делать теперь, на имеющейся найтли тем, кто ничего не сконвертировал заранее? Как получить назад хотя бы свои Del и Esc?
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

Re: Переезд макросов из macros.db в файлы

Post by Shmuel »

dr_rus wrote:Парни, это всё прекрасно. Но что делать теперь, на имеющейся найтли тем, кто ничего не сконвертировал заранее? Как получить назад хотя бы свои Del и Esc?
Имеющийся найтли (то-есть 3002) - поломанный. Откатитесь на 3000, и всё должно заработать.
2useven10
Posts: 4071
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Re: Переезд макросов из macros.db в файлы

Post by 2useven10 »

Shmuel
загрузка макросов не работает, если в файле есть BOM
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

Re: Переезд макросов из macros.db в файлы

Post by Shmuel »

2useven10 wrote:загрузка макросов не работает, если в файле есть BOM
Используется стандартный загрузчик Lua, он не любит BOM. Если отрезать BOM, придётся скармливать загрузчику файл как стринг, и это плохо скажется на сообщениях об ошибках. Поэтому рекомендуется держать файлы макросов и модулей без BOM'а.
2useven10
Posts: 4071
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Re: Переезд макросов из macros.db в файлы

Post by 2useven10 »

@file.lua, насколько я понимаю, теперь не работает тоже ?
не могу сказать, что стало удобнее.
пока получился недомакролиб.
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

Re: Переезд макросов из macros.db в файлы

Post by Shmuel »

2useven10 wrote:@file.lua, насколько я понимаю, теперь не работает тоже ?
Что значит "тоже" ?
2useven10
Posts: 4071
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Re: Переезд макросов из macros.db в файлы

Post by 2useven10 »

В данном случае BOM.
'far /import ...' с ним справляется без проблем.

PS: ответ на мой вопрос надо полагать 'ДА' ?
2useven10
Posts: 4071
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Re: Переезд макросов из macros.db в файлы

Post by 2useven10 »

Сочетание макросов в файле со встроенными диалогами для их создания-модификации - отдельная песня.
Лучше встроенные диалоги вообще запретить.
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

Re: Переезд макросов из macros.db в файлы

Post by Shmuel »

2useven10 wrote:В данном случае BOM.
'far /import ...' с ним справляется без проблем.
Ну и что? У меня есть плагины, которые тоже с этим справляются. А в данном случае - справляться не будем, так как минусы перевесят плюсы.
2useven10 wrote:PS: ответ на мой вопрос надо полагать 'ДА' ?
Если вопрос будет сформулирован не на уровне "не работает", а с тест-кейсом, попробую ответить.
User avatar
DrKnS
Posts: 5673
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 310 times

Re: Переезд макросов из macros.db в файлы

Post by DrKnS »

Ну и что? У меня есть плагины, которые тоже с этим справляются. А в данном случае - справляться не будем, так как минусы перевесят плюсы.
Ну и то, что это криво. Неужели обойти нельзя?
Первая ссылка, выданная гуглом по запросу "lua loader bom":
http://lua.2524044.n2.nabble.com/luaL-l ... 81296.html
Я в этом понимаю, как свинья в апельсинах, но разве во втором посте не решение?
2useven10
Posts: 4071
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Re: Переезд макросов из macros.db в файлы

Post by 2useven10 »

Shmuel
С учётом варианта предложенного EGez в соседней теме ответ - работает.

Code: Select all

eval('@' .. win.GetEnv('FARPROFILE') .. '\\Macros\\lua_explorer.lua')
это ровно то, что мне было нужно.
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

Re: Переезд макросов из macros.db в файлы

Post by Shmuel »

2useven10
А тест-кейс, чтобы показать, как не работает?
2useven10
Posts: 4071
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 189 times

Re: Переезд макросов из macros.db в файлы

Post by 2useven10 »

Shmuel
вот результат работы db2luadb2file.lua:
при загрузке -- unexpected symbol near '@'
Shmuel
Posts: 6166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 329 times

Re: Переезд макросов из macros.db в файлы

Post by Shmuel »

2useven10 wrote:вот результат работы db2lua
Ну так это db2file и виноват, он просто это не обрабатывает. Кстати, исходники db2file открыты, там всего 70 строк, и никто не запрещает вам улучшить его. Или написать что-то аналогичное на Perl.
Locked

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