Abschnitte + Schlüssel/WertKompakte EinstellungenStrukturierte Konfiguration: den Wert ändern, nicht die Zeichensetzung
Der Texteditor zeigt den Quelltext, der Formatbefehl das Datenmodell. Beide Ansichten haben ihren Platz.
Warum ein Spezialwerkzeug einfacher sein kann
Soll in einer großen Datei nur application.debug geändert werden, ist der logische Pfad oft klarer als die Suche nach der richtigen Stelle samt Kommas, Klammern oder Abschnitten.
Ein Rhythmus für mehrere Formate
Die Formatmodule teilen eine ähnliche Grammatik: öffnen, Schlüssel lesen, suchen, mit : schreiben, löschen, mit -c prüfen oder mit dump serialisierten Text ausgeben. $ kann danach den aktiven Dateipfad ersetzen.
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: Abschnitte und einfache Werte
INI gruppiert Schlüssel/Wert-Paare in Abschnitten. Punktpfade adressieren einen logischen Wert direkt, ohne die gesamte Datei durchscrollen zu müssen.
ini project/config/app.iniini $ -w application.debug : trueini $ application.debugini $ -f "application*" -kJSON: Objekte, Arrays und Typen
Öffne für dieses Beispiel project/config/app.json mit {} ein, speichere sie und führe erst danach die
JSON ist in APIs, Metadaten und App-Konfiguration allgegenwärtig. Pfadbasierte Änderungen vermeiden versehentliche Komma- oder Klammerfehler; -c prüft das Ergebnis.
{}code project/config/app.json -njson project/config/app.jsonjson $ -w limits.history : 100json $ limits.historyjson $ -cYAML, TOML, XML, conf und properties
YAML arbeitet stark mit Einrückung, TOML mit Tabellen und Typen, XML mit Elementen und Attributen, conf/properties meist mit Schlüssel/Wert-Familien. lil bietet eine ähnliche Alltagsoberfläche, behauptet aber nicht, die Formate seien identisch.
Objekte + ArraysAPIs und MetadatenEinrückung + MappingsDeployment-KonfigurationTabellen + TypenTool-KonfigurationElemente + AttributeStrukturierte DokumenteSchlüssel/Wert-FamilienServer- und App-EinstellungenValidieren und nur bei Bedarf dumpen
-c prüft das Dokument; dump zeigt eine serialisierte Quellform. Strukturierte Schreibvorgänge können Formatierung oder Kommentare normalisieren. Wenn die genaue Textgestalt wichtig ist, verwenden Sie
json $ -cjson dump $ini dump project/config/app.iniWann zurück zu `code`
Formatmodule sind für gezielte Werte, Suche und Prüfung ideal.
code project/config/app.ini -inicode project/config/app.json -jsonKonfigurationsänderungen eignen sich hervorragend für Skripte
Eine geprüfte Folge von Einstellungen kann als ausführbare Dokumentation gespeichert werden. Auf dem nächsten Projekt Werte anpassen, Skript prüfen und dieselbe Umgebung reproduzieren.
Als Skript aufbewahren
Als configure-app.lil speichern. Zwei gezielte INI-Änderungen werden gesetzt und anschließend geprüft; Geheimnisse gehören nicht unbedacht in portable Skripte.
#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