Saltar al contenido principal

Crear fragmentos de código

Creación

Normalmente, un archivo de plantilla de fragmento .snippet debe devolver directamente una tabla, por ejemplo:

return {
name = '测试片段'; -- Nombre del fragmento
description = '用于测试各选择器的功能'; -- Descripción del fragmento
arguments = { -- Lista de selectores del fragmento
{ -- Selector 1
type = 'app', -- Tipo de selector
title = '选择应用', -- Título del selector
subtitle = '请选择一个应用', -- Subtítulo del selector
default = 'com.xxtouch.XXTExplorer', -- Valor predeterminado del selector
},
{ -- Selector 2
type = 'loc',
title = '选择地理位置',
subtitle = '请随便选择一个地理位置',
default = xui.get("com.darwindev.XXTExplorer", "location1"),
-- En los archivos .snippet se pueden usar todas las API compatibles con .xui
},
{ -- Selector 3

},
-- ...
};
generator = function (...) -- Generador con argumentos variables
-- Procesar los argumentos y devolver el resultado generado
local result
return result
end;
}

Nivel raíz

ClaveTipoDescripción
namecadenaNombre del fragmento
descriptioncadenaDescripción del fragmento
argumentsmatrizLista de selectores del fragmento
generatorfunciónGenerador del fragmento
outputcadenaNombre del archivo de salida independiente del fragmento

name y description son respectivamente el nombre y la descripción mostrados de la plantilla de fragmento; se muestran en el gestor de archivos y en la entrada del fragmento.

arguments es una matriz que contiene uno o varios diccionarios de parámetros de selector. La aplicación crea una cola de selectores según el orden especificado en esa matriz y permite al usuario realizar las selecciones sucesivamente. Cuando termina la cola, la aplicación pasa los valores devueltos por los selectores como argumentos variables al generator, los usa para invocarlo y devuelve finalmente el valor que este genera.

La plantilla .snippet se puede usar de forma independiente. Para permitirlo, establece el campo output; el texto generado por generator se guardará en el archivo identificado por output dentro del mismo directorio.

Diccionario de parámetros de selector

ClaveTipoDescripción
typecadenaTipo de selector
titlecadenaTítulo del selector, mostrado en la parte inferior de la página del selector
subtitlecadenaSubtítulo del selector, mostrado en la parte inferior de la página del selector
defaulttipo básicoValor predeterminado del selector

Consulta las secciones posteriores para obtener información detallada sobre el diccionario de parámetros de selector de cada tipo de selector.

Uso en XUI

Si la plantilla .snippet se usa en el componente TitleValue de XUI, puedes abrir la cola de selectores desde XUI y guardar el resultado en la configuración del componente XUI. Además, el .snippet puede llamar a todas las API compatibles con XUI, como xui.get/xui.set/xpp.bundle_path.

Uso en el editor de código

Coloca la plantilla .snippet en el directorio snippets del directorio principal para que el editor de código de la aplicación pueda usarla. Pulsa brevemente el botón de estrella situado en la esquina superior derecha de la barra de herramientas del teclado para generar rápidamente un fragmento e insertarlo en el código que estás editando.

Uso como archivo independiente

Establece el campo output de la plantilla .snippet y coloca el fragmento en el directorio lua/scripts del directorio principal. Así podrás pulsarlo directamente desde la aplicación para iniciar la cola de selectores; el texto generado por generator se guardará en el archivo identificado por output dentro del mismo directorio.