Перейти к основному содержимому

Создание фрагмента кода

Создание

Обычно шаблон «фрагмента кода» в файле .snippet должен напрямую возвращать таблицу, например:

return {
name = '测试片段'; -- Название фрагмента кода
description = '用于测试各选择器的功能'; -- Описание фрагмента кода
arguments = { -- Список выборщиков фрагмента кода
{ -- Выборщик 1
type = 'app', -- Тип выборщика
title = '选择应用', -- Заголовок выборщика
subtitle = '请选择一个应用', -- Подзаголовок выборщика
default = 'com.xxtouch.XXTExplorer', -- Значение выборщика по умолчанию
},
{ -- Выборщик 2
type = 'loc',
title = '选择地理位置',
subtitle = '请随便选择一个地理位置',
default = xui.get("com.darwindev.XXTExplorer", "location1"),
-- В файле .snippet можно использовать все API, поддерживаемые .xui
},
{ -- Выборщик 3

},
-- ...
};
generator = function (...) -- Генератор с переменным числом аргументов
-- Обработать параметры и вернуть сгенерированный результат
local result
return result
end;
}

Корневой уровень

КлючТипОписание
nameстрокаНазвание фрагмента кода
descriptionстрокаОписание фрагмента кода
argumentsмассивСписок выборщиков фрагмента кода
generatorфункцияГенератор фрагмента кода
outputстрокаИмя отдельного выходного файла фрагмента кода

name и description — отображаемые имя и описание шаблона фрагмента кода; они показываются в файловом менеджере и в пункте входа в фрагменты кода.

arguments — массив, содержащий один или несколько словарей параметров выборщиков. App создаёт очередь выборщиков в порядке, заданном этим массивом, и последовательно предлагает пользователю выполнить выбор. После завершения очереди App передаёт возвращаемое значение каждого выборщика в качестве переменного аргумента генератору generator и вызывает его, а затем возвращает вызывающей стороне результат generator.

Шаблон фрагмента кода .snippet можно использовать самостоятельно. Чтобы разрешить такое использование, задайте поле output; сгенерированный generator текст результата будет сохранён в том же каталоге в файле, имя которого указано в output.

Словарь параметров выборщика

КлючТипОписание
typeстрокаТип выборщика
titleстрокаЗаголовок выборщика, отображаемый в нижней части страницы выборщика
subtitleстрокаПодзаголовок выборщика, отображаемый в нижней части страницы выборщика
defaultбазовый типЗначение выборщика по умолчанию

Подробное описание словаря параметров выборщика для каждого типа приведено далее.

Использование в XUI

Если шаблон фрагмента кода .snippet используется в компоненте XUI TitleValue, из XUI можно вызвать очередь выборщиков и сохранить результат в параметрах конфигурации компонента XUI. Кроме того, этот .snippet может вызывать все API, поддерживаемые XUI, например xui.get/xui.set/xpp.bundle_path.

Использование в редакторе кода

Поместите шаблон фрагмента кода .snippet в каталог snippets главного каталога — после этого его сможет вызвать редактор кода App. Однократное нажатие на кнопку со звездой в правом верхнем углу панели инструментов клавиатуры быстро создаёт фрагмент кода и вставляет его в редактируемый код.

Использование как отдельного файла

Задайте для шаблона фрагмента кода .snippet поле output и поместите фрагмент в каталог lua/scripts главного каталога. После этого в App можно непосредственно нажать на файл, запустить очередь выборщиков, а текст результата, созданный generator, будет сохранён в том же каталоге в файле, имя которого указано в output.