╔════════════════════════════ Error [used: 7100 KB] ═════════════════════════════╗
║ ►[J1]:...Plugins\lf4ed\scripts\Rh_Scripts\Editor\TextTemplate.lua:350: ║
║ attempt to index field '_KitCfg_' (a boolean value) ║
║ stack traceback: ║
║ ►[J2]:...Plugins\lf4ed\scripts\Rh_Scripts\Editor\WordComplete.lua:601: ║
║ in function 'Prepare' ║
║ ►[J3]:...Plugins\lf4ed\scripts\Rh_Scripts\Editor\WordComplete.lua:1457: ║
║ in function <...Plugins\lf4ed\scripts\Rh_Scripts\Editor\WordComplete.lua:1447> ║
║ [C]: in function 'xpcall' ║
║ [?]:[string "<boot"]:182: in function 'RunMenuItem' ║
║ [?]:[string "<boot"]:316: in function <[string "<boot"]:309> ║
╟────────────────────────────────────────────────────────────────────────────────╢
║ { OK } [ 1 ] [ 2 ] [ 3 ] ║
╚════════════════════════════════════════════════════════════════════════════════╝
Aidar wrote:- Shift+Space не работает, если нет подходящего текстового шаблона. Даже в этом случае у меня он не вставляет пробел.
Может быть дело в том, что в настройках резидентный модуль не активирован? [ ] Templates + Completion
Но стоит его включить, как вижу ошибку из прошлого пункта.
Нужна какая-то дополнительная настройка, не описанная в документации?
Вижу множество файлов *.cfg.example.
Некоторые кстати с престранными конструкциями, например:
╔════════ LuaEUM : Пользовательское меню ════════╗
╟──────────────── Надписи в меню ────────────────╢
║ [x] Имя привязки в заголовке главного меню ║
║ [ ] Составная надпись в заголовке меню ║
║ [x] Основные горячие клавиши внизу меню ║
╟────────────── Текст пунктов меню ──────────────╢
║ [x] Выравнивание текста при длинных надписях ║
║ [x] Комбинации клавиш в тексте пунктов меню ║
║ [ ] Полные названия комбо-клавиш в тексте ║
║ [ ] Выравнивание комбо-клавиш по правому краю ║
╟─────────── Дополнительные настройки ───────────╢
║ [x] Отображение окон с сообщением об ошибке ║
║ [ ] Возврат в меню после выполнения действия ║
╟────────────────────────────────────────────────╢
║ { Ок } [ Закрыть ] < Основы > < Файлы > ║
╚════════════════════════════════════════════════╝
╔════════════════════════════ Error [used: 7100 KB] ═════════════════════════════╗
║ ►[J1]:...Plugins\lf4ed\scripts\Rh_Scripts\Editor\TextTemplate.lua:350: ║
║ attempt to index field '_KitCfg_' (a boolean value) ║
║ stack traceback: ║
║ ►[J2]:...Plugins\lf4ed\scripts\Rh_Scripts\Editor\WordComplete.lua:601: ║
║ in function 'Prepare' ║
║ ►[J3]:...Plugins\lf4ed\scripts\Rh_Scripts\Editor\WordComplete.lua:1457: ║
║ in function <...Plugins\lf4ed\scripts\Rh_Scripts\Editor\WordComplete.lua:1447> ║
║ [C]: in function 'xpcall' ║
║ [?]:[string "<boot"]:182: in function 'RunMenuItem' ║
║ [?]:[string "<boot"]:316: in function <[string "<boot"]:309> ║
╟────────────────────────────────────────────────────────────────────────────────╢
║ { OK } [ 1 ] [ 2 ] [ 3 ] ║
╚════════════════════════════════════════════════════════════════════════════════╝
Скорее всего не настроен TextTemplate. Попробуйте зайти в каталог Rh_Scripts\Editor\TextTemplate\. Здесь kit_config.lua - основной файл настроек. Rh_Scripts поставляется с примерами kit_config.lua и некоторых типов файлов.
P.S. Точно, возникает такая ошибка, когда нет kit_config.lua и соответствующих файлов с наборами шаблонов.
Aidar wrote:- Shift+Space не работает, если нет подходящего текстового шаблона. Даже в этом случае у меня он не вставляет пробел.
Может быть дело в том, что в настройках резидентный модуль не активирован? [ ] Templates + Completion
Но стоит его включить, как вижу ошибку из прошлого пункта.
Резидентный модуль нужен для автосрабатывания на шаблоны и для автозавершения слов.
Без резидентного модуля будет работать только ручное срабаывание и завершение слов.
John Doe wrote:Нужна какая-то дополнительная настройка, не описанная в документации?
Вижу множество файлов *.cfg.example с престранными конструкциями, например:
do local t = {}; Data["AutoComplete"]["Menu"]["CompleteKeys"][3] = t
t["BreakKey"] = "ShiftTab"
t["Action"] = "Insert"
end
1. Насчёт конструкции не удивляйтесь - это стандартная (по крайней мере в LF4Ed) сериализация данных при сохранении конфигурации, истории и т.п.
2. TextTemplate и WordComplete настраиваются через отдельные пункты меню настройки самого плагина. Но пока я не реализовал возможность удобной настройки клавиш, поэтому пока вынес эту часть в AutoComplete.cfg.example и WordComplete.cfg.example.
Скопируйте их (убрав .example), в каталог %FarProfile%\data\scripts\Rh_Scripts\Editor\.
И только затем настройте AutoComplete и WordComplete через пункты меню.
local Data = {
text = true,
plain = true,
dat_lua = "source",
source = true,
sql = true,
} --- Data
Здесь text = true означает, что в этом же каталоге должен быть файл text.lua с шаблонами для текстовых файлов, а dat_lua = "source" означает, что для типов файлов dat_lua шаблоны берутся из файла source.lua.
Last edited by Aidar on Sun 17 Aug, 2014 18:45, edited 1 time in total.
Спасибо. Неясными остались такие вопросы:
- как комбинировать несколько наборов шаблонов для одного типа файла (подозреваю что предусмотрен какой-то механизм наследования)
- как вызывать замену шаблона вручную. Автоматически (по мере набора) работает, а по ShiftEnter ShiftSpace ничего не происходит
Спасибо. Неясными остались такие вопросы:
- как комбинировать несколько наборов шаблонов для одного типа файла (подозреваю что предусмотрен какой-то механизм наследования)
1. Можно посмотреть иерархию типов в LuaFAR context в файле cfg\types_config.lua. Я, например, сделал один шаблон для типов source, что означает его использование для файлов lua, c, pascal и т.д.
2. Т.к. файл с шаблонами представляет собой lua-скрипт, можно использовать стандартные средства lua. Достаточно организовать общий файл. вызываемый по require, и организовать заполнение таблицы Data.
John Doe wrote:- как вызывать замену шаблона вручную. Автоматически (по мере набора) работает, а по ShiftEnter ничего не происходит
1. Посмотрите настройки: для TextTemplate и AutoTemplate они различаются.
2. Может быть, на Shift+Space есть какой-либо макрос.
3. Возможно, мы понимаем разное под реакцией на Shift+Space.
- При наборе может случиться так, что быстро набрали шаблон - и AutoTemplate не успевает сработать, тогда можно в конце шаблона нажать Shift+Space и шаблон сработает.
- При наборе шаблона можно сделать опечатку (в его середине), тогда можно исправить набранное, вернуться к концу шаблона, нажать Shift+Space и шаблон сработает.
Т.е. Shift+Space не выводит список шаблонов (как можно подумать).
╔═════════════════════════ АвтоШаблоны: Параметры ═════════════════════════╗
║ ║
║ Символы слова . 2 Минимальное число символов ║
║ [ ] "Магические" модификаторы [x] Применять вне слов ║
║ [ ] Точка как магический символ [x] Применять внутри слов ║
║ ║
╟──────────────────────────────────────────────────────────────────────────╢
║ [x] Включить скрипт! { Ок } [ Отмена ] ║
╚══════════════════════════════════════════════════════════════════════════╝
John Doe wrote:
Aidar wrote:2. Может быть, на Shift+Space есть какой-либо макрос.
Макроса точно нет, при нажатии этой комбинации вставляется пробел.
А нет ли других пакетов и скриптов для LF4Ed ?
John Doe wrote:
Aidar wrote:3. Возможно, мы понимаем разное под реакцией на Shift+Space.
...
Т.е. Shift+Space не выводит список шаблонов (как можно подумать).
Так и должно работать. Но так как по Shift+Space вставляется пробел, значит, что-то перехватывает это нажатие. Попробуйте в диалоге конфигурации пакета назначить другую комбинацию.
John Doe wrote:Кстати пожелание: возможно ли отменить автотрансформацию? По CtrlZ было бы идеально.