Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)

Модерирует : gyra, Maz

Maz (15-01-2020 17:38): FAR Manager (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Предыдущие топики:  1 2 3 4
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2
Отличия FAR 2 от FAR 1.7
 
Примечания
 
* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

 
Принципиальные различия между hard link, symlink и junction
Как устранить взаимное влияние запущенных копий FAR в памяти
Как запустить Lua/MoonScript из FAR
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать
Патч для ansi-плагинов для хранения настроек плагинов в папке профиля, а не в реестре
Как распаковать UUE/XXE файлы патчей и использовать их?
 
ВНИМАНИЕ!
 
Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком
 
Общие правила обращения за помощью
  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

Невыполнение этих правил ведёт к тому, что никто не станет помогать решать вашу задачу.

Всего записей: 36780 | Зарегистр. 26-02-2002 | Отправлено: 18:55 23-11-2017 | Исправлено: Victor_VG, 10:00 09-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Похоже есть баг - если выполняем из диалога, то переход выполняется правильно, курсор устанавливается после найденного при поиске вперед и перед найденным при поиске назад. Если же зовём lfsearch, то курсор устанавливается всегда после.

Сделал простейшую проверку - добавил к своему демо-скрипту bSearchBack=true
Курсор устанавливается правильно - на 1-й символ найденного текста.
А ваш скрипт стабильно выдаёт ошибку:
[?]:[string "local F=far.Flags..."]:37: attempt to concatenate field 'Tag' (a nil value)

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 21:08 21-09-2019 | Исправлено: shmuz, 21:09 21-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Курсор ставится так <div или <div или </div - так мы указываем какой тег обрабатывается. И в диалоге всё работает правильно, а этот же код в lfsearch косячит. Обратные слэши с строке я удвоил, конечно. far.Message показывает, что Tag захватывается правильно.

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 21:28 21-09-2019 | Исправлено: Alexyz21, 21:30 21-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Я привёл в предыдущем сообщении простейший пример, показывающий, что курсор становится правильно. И этот пример не требует изучать 50-строчные скрипты. Когда вы предоставите внятный код (не заставляющий изучать весь ваш скрипт), тогда посмотрю, есть баг или нет.

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 21:43 21-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Баг или нет, но неожиданным оказалось то, чтобы поспасть внутрь таблицы Data, нужно использовать глобальные переменные, локальные в него "не долетают". В таблицы "обычных" кастомных диалогов локальные переменные "долетают".
 
Может есть смысл сделать модуль serialize доступным "из коробки"? - Себе я скопирую в любом случае.
 
Editor.HtmlTagsGotoBeginEnd.lua - Переход между началом и концом текущего тега, курсор должен находится на имени тега.

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 22:28 21-09-2019 | Исправлено: Alexyz21, 08:00 22-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
При попытке активации в сегодняшней ночной сборке (дополненной плагином lfs 3.43.6) единственным макросом данная версия Editor.HtmlTagsGotoBeginEnd.lua выдаёт ошибки.  
 
Если курсор находится на имени тега:  
Сначала:

Цитата:
Error loading 'pcre'
 
[string "<lfs_common"]:185: error loading module 'rex_pcre' from file 'C:\1tst86\Plugins\lfs\rex_pcre.
dl':
    Не найден указанный модуль.

и затем, после сброса первого сообщения:

Цитата:
Error [used: 517 KB]
 
[?]:[string "<lfs_editmain"]:306: bad argument #1 to 'assert' (value expected)
stack traceback:
_C_: in function 'assert'
[?]:[string "<lfs_editmain"]:306: in function 'EditorAction'
[?]:[string "<boot"]:262: in function 'EditorAction'
[?]:[string "local patt=regex.new("<\\/?\\w+","ix")..."]:32: in main chunk

 
Если при активации макроса курсор в начале html-файла:  

Цитата:
Error [used: 517 KB]
 
[?]:[string "local patt=regex.new("<\\/?\\w+","ix")..."]:22: attempt to index field 'LFSTag' (a nil  
value)
stack traceback:
[?]:[string "local patt=regex.new("<\\/?\\w+","ix")..."]:22: in main chunk

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 08:01 22-09-2019 | Исправлено: citPiks, 08:10 22-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
citPiks
написано же rex_pcre.dl не найден, движки вроде бы отдельно нужно класть. сейчас гляну. И выше новая версия с обходом сюрприза, выложена.

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 08:14 22-09-2019 | Исправлено: Alexyz21, 08:23 22-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
LFSearch должен быть установлен

Судя по тексту ошибки, он установлен. Надо ещё установить lfsearch-addon (на той же странице плагринга, где и сам плагин).
 
Добавлено:
Интересно, что вчера у него ошибка не выдавалась. Другой компьютер, возможно.
 
Добавлено:

Цитата:
Может есть смысл сделать модуль serialize доступным "из коробки"?  

Можно добавить ф-цию mf.serialize() в LuaMacro. А из других плагинов можно будет её вызывать с помощью far.MacroExecute().

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 08:21 22-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
выгрыз из api.lua basicSerialize int64Serialize AddToIndex tableSerialize serialize, положил в модули \modules\serialize.lua. Пробую  lua:local serialize=require("serialize") far.Message(serialize.serialize([[abcd\n\ne]]),[[]]) - ругается local serialize boolean value.

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 08:42 22-09-2019 | Исправлено: Alexyz21, 08:50 22-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Я сегодня постараюсь сделать ф-цию, как написал выше. Поэтому с вашей ошибкой можно не разбираться.
 
Добавлено:
Ошибка у вас видимо в том, что модуль не возвращает ничего.

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 08:47 22-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ошибка у вас видимо в том, что модуль не возвращает ничего.

Понял, спасибо.
 
Смотрю в модуль LuaExplorer le.lua

Код:
-- if LuaJIT is used, maybe we can show some more function info
if jit then
    table.insert(brkeys,     {BreakKey = 'Shift+F3',    action = function(obj, key, kpath)
        if key ~= nil and type(obj[key]) == 'function' then
            process(jit.util.funcinfo(obj[key]), 'jit.util.funcinfo: ' .. kpath)
        end
    end;    name = 'jitinfo'})
end
 

Затем в _G таблицу - jit не имеет таблицы util, соответственно вместо допинфы имеем ошибку при попытке отображения.

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 08:51 22-09-2019 | Исправлено: Alexyz21, 09:01 22-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
написано же rex_pcre.dl не найден

Однако в папке плагина он присутствует.

Цитата:
новая версия с обходом сюрприза, выложена

Ошибки вылезали те же до установки аддона.  
 
shmuz

Цитата:
Надо ещё установить lfsearch-addon (на той же странице плагринга, где и сам плагин)

После установки аддона ошибки при активации макроса, когда курсор находится на имени тега, прекратились. Спасибо.  

Цитата:
Другой компьютер, возможно

Да, но по железу идентичный предыдущему. И система аналогичная, но настроена и насыщена софтом под несколько другие задачи.

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 09:22 22-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Editor.TagsGotoBeginEnd.lua Расширена область захвата на весь заголовок тега "<tag ", добавлены XML, XSL с симметричными тегами.
 
Добавлено:
Oniguruma с нежадными регэкспами практически в 2 раза быстрее PCRE в xml файле в 92МБ. Что любопытно, жадные оказались на 5% быстрее.
 
При попытке заюзать PCRE2:

Цитата:
error loading module 'rex_pcre2' from file 'C:\Program Files\FAR\Plugins\LuaSearch\
                    rex_pcre2.dl':
                 Не найден указанный модуль.

указанный файл на месте.

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 12:25 22-09-2019 | Исправлено: Alexyz21, 14:48 22-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
При попытке заюзать PCRE2:
  error loading module 'rex_pcre2' from file 'C:\Program Files\FAR\Plugins\LuaSearch\
                      rex_pcre2.dl':
                   Не найден указанный модуль.
указанный файл на месте.

lfsearch-addon у вас видимо старый.

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 14:30 22-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так я и сам не новый

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 14:33 22-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
При первой активации макроса в начале html-файла или на другой позиции, не содержащей тег, появляется сообщение:

Цитата:
Error [used: 517 KB]
 
[?]:[string "local patt=regex.new("<\\/?(?:\\w+?|xsl:\\w+?..."]:32: attempt to index field 'LFSTag' (a  
nil value)
stack traceback:
[?]:[string "local patt=regex.new("<\\/?(?:\\w+?|xsl:\\w+?..."]:32: in main chunk

После же хотя бы одного перехода между началом и концом какого либо тега, сообщение больше не выводится. Но после перезагрузки макросов повторяется та же история. Сами же целевые переходы между тегами осуществляются хорошо в файлах html- и xml-форматов.

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 14:34 22-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Они 13 раз больше предыдущих - статичесая линковка?
- А, это же не dl

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 14:35 22-09-2019 | Исправлено: Alexyz21, 14:39 22-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Они 13 раз больше предыдущих - статичесая линковка?

Вы это о чём и кому? Если мне, то цифры в студию.

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 14:40 22-09-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz

Цитата:
- А, это же не dl

ошибся
 
citPiks
обновил выше
 
новый oniguruma процентов на 40 медленнее, чем старый, PCRE стал процентов на 5 быстрее назад и на 25 вперёд, PCRE2 примерно в те же ворота -+5%. Но всё равно oniguruma быстрее, % на 55-60%

Всего записей: 2268 | Зарегистр. 16-06-2007 | Отправлено: 14:50 22-09-2019 | Исправлено: Alexyz21, 15:02 22-09-2019
citPiks



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Уточнение: переход туда-сюда-и-обратно межу тегами осуществляется от позиции "курсор перед тегом" |< (т.е. перед открывающей угловой скобкой) до позиции "курсор перед концом тега" |> (т.е. перед закрывающей угловой скобкой). Вероятно в последнем случае было бы лучше, чтобы курсор вставал не перед, а за скобкой.
 
И из практических соображений было бы полезно, чтобы макрос мог бы выделять сегмент перехода от открывающей до закрывающей скобки, включая их обеих.

Всего записей: 360 | Зарегистр. 26-06-2016 | Отправлено: 15:01 22-09-2019 | Исправлено: citPiks, 15:16 22-09-2019
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
новый oniguruma процентов на 40 медленнее, чем старый, PCRE стал процентов на 5 быстрее назад и на 25 вперёд, PCRE2 примерно в те же ворота -+5%. Но всё равно oniguruma быстрее, % на 55-60%

Почему вы исключаете из соревнования регексы Фара?

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 15:06 22-09-2019
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)
Maz (15-01-2020 17:38): FAR Manager (часть 6)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru