Pular para o conteúdo principal

Criação de snippets

Criação

Normalmente, um arquivo de “modelo de snippet” .snippet deve retornar diretamente uma tabela, como no exemplo:

return {
name = '测试片段'; -- nome do snippet
description = '用于测试各选择器的功能'; -- descrição do snippet
arguments = { -- lista de seletores de snippets
{ -- seletor 1
type = 'app', -- tipo de seletor
title = '选择应用', -- título do seletor
subtitle = '请选择一个应用', -- subtítulo do seletor
default = 'com.xxtouch.XXTExplorer', -- valor padrão do seletor
},
{ -- seletor 2
type = 'loc',
title = '选择地理位置',
subtitle = '请随便选择一个地理位置',
default = xui.get("com.darwindev.XXTExplorer", "location1"),
-- O snippet .snippet pode usar todas as APIs compatíveis com .xui
},
{ -- seletor 3

},
-- ...
};
generator = function (...) -- gerador de argumentos variáveis
-- processar os argumentos e retornar o resultado gerado
local result
return result
end;
}

Nível raiz

ChaveTipoDescrição
nameStringNome do snippet
descriptionStringDescrição do snippet
argumentsArrayLista de seletores de snippets
generatorFunçãoGerador do snippet
outputStringNome do arquivo de saída independente do snippet

name e description são, respectivamente, o nome e a descrição exibidos do modelo de snippet; eles aparecem no gerenciador de arquivos e na entrada de snippets.

arguments é um array contendo um ou mais dicionários de parâmetros de seletores. O App cria uma fila de seleção conforme a ordem dos seletores definida nesse array e permite que o usuário faça as escolhas nessa ordem. Quando a fila é concluída, o App passa os valores retornados pelos seletores, como argumentos variáveis, ao gerador generator e o chama; por fim, retorna ao chamador o valor retornado por generator.

O modelo de snippet .snippet pode ser usado de forma independente. Para permitir esse uso, defina o campo output; o texto gerado por generator será salvo no arquivo indicado por output, no mesmo diretório.

Dicionário de parâmetros do seletor

ChaveTipoDescrição
typeStringTipo de seletor
titleStringTítulo do seletor, exibido na parte inferior da página do seletor
subtitleStringSubtítulo do seletor, exibido na parte inferior da página do seletor
defaultTipo básicoValor padrão do seletor

Para obter uma descrição detalhada do dicionário de parâmetros do seletor de cada tipo, consulte as seções seguintes.

Uso no XUI

Quando o modelo de snippet .snippet é usado no componente TitleValue do XUI, a fila de seleção pode ser aberta pelo XUI e o resultado salvo no item de configuração do componente XUI. O .snippet também pode chamar todas as APIs compatíveis com XUI, como xui.get/xui.set/xpp.bundle_path.

Uso no editor de código

Coloque o modelo de snippet .snippet no diretório snippets do diretório principal para que ele possa ser chamado pelo editor de código do App. Toque no botão de estrela no canto superior direito da barra de ferramentas do teclado para gerar rapidamente um snippet e inseri-lo no código em edição.

Uso como arquivo independente

Defina o campo output no modelo de snippet .snippet e coloque o snippet no diretório lua/scripts do diretório principal. Assim, você poderá tocá-lo diretamente no App para iniciar a fila de seleção; o texto gerado por generator será salvo no arquivo indicado por output, no mesmo diretório.