seções + chave/valorConfiguração compactaConfiguração estruturada: mude o valor, não a pontuação
O editor de texto mostra o fonte; o comando de formato mostra o modelo de dados. As duas visões são úteis.
Por que uma ferramenta específica pode ser mais simples
Se em um arquivo grande você só precisa mudar application.debug, indicar o caminho lógico pode ser mais claro do que procurar a seção correta e cuidar de vírgulas, chaves ou separadores.
Um ritmo comum para vários formatos
Os módulos compartilham uma gramática parecida: abrir, ler uma chave, buscar, escrever com :, apagar, validar com -c ou serializar com dump. Depois, $ pode representar o arquivo ativo.
install md mf code ini json xml yml toml conf propertiesmd lil-playground/project/configmf lil-playground/project/config/app.inicd lil-playgroundini project/config/app.iniini $ -w application.name : "lil playground"ini $ application.nameini $ -cINI: seções e valores simples
INI agrupa pares chave/valor em seções. Caminhos com pontos alcançam diretamente um valor lógico sem percorrer o arquivo inteiro.
ini project/config/app.iniini $ -w application.debug : trueini $ application.debugini $ -f "application*" -kJSON: objetos, arrays e tipos
Neste exercício, abra project/config/app.json com {} mostrada abaixo, salve o arquivo e só então execute os comandos
JSON aparece em APIs, metadados e configuração de aplicativos. Alterações por caminho ajudam a evitar erros acidentais de vírgulas ou chaves; -c oferece validação explícita.
{}code project/config/app.json -njson project/config/app.jsonjson $ -w limits.history : 100json $ limits.historyjson $ -cYAML, TOML, XML, conf e properties
YAML depende bastante de indentação, TOML de tabelas e tipos, XML de elementos e atributos, e conf/properties de famílias chave/valor. lil aproxima as operações cotidianas sem fingir que os formatos são iguais.
objetos + arraysAPIs e metadadosindentação + mapeamentosConfiguração de implantaçãotabelas + tiposFerramentas e appselementos + atributosDocumentos estruturadosfamílias chave/valorServidores e aplicativosValide; use `dump` quando precisar do fonte
-c valida o documento; dump devolve uma representação serializada. Escritas estruturadas podem normalizar formatação ou comentários. Se a forma exata do texto importar, use
json $ -cjson dump $ini dump project/config/app.iniQuando voltar ao `code`
Módulos de formato são ideais para valores pontuais, busca e validação.
code project/config/app.ini -inicode project/config/app.json -jsonMudanças de configuração são ótimas para scripts
Uma sequência verificada de ajustes pode virar documentação executável. No próximo projeto, revise, troque os valores necessários e reproduza o mesmo ambiente.
Guarde isto como script
Salve como configure-app.lil. Ele aplica duas mudanças INI pontuais e valida o documento; não coloque segredos em scripts portáteis sem um fluxo protegido pensado para isso.
#lil
@install md mf ini json
md lil-playground/project/config
mf lil-playground/project/config/app.ini
cd lil-playground
ini project/config/app.ini
ini $ -w application.debug : true
ini $ -w application.name : "lil playground"
ini $ -c