SettingsConfig 1.2.5.1
Renamed.
dotnet add package SettingsConfig --version 1.2.5.1
NuGet\Install-Package SettingsConfig -Version 1.2.5.1
<PackageReference Include="SettingsConfig" Version="1.2.5.1" />
paket add SettingsConfig --version 1.2.5.1
#r "nuget: SettingsConfig, 1.2.5.1"
// Install SettingsConfig as a Cake Addin
#addin nuget:?package=SettingsConfig&version=1.2.5.1
// Install SettingsConfig as a Cake Tool
#tool nuget:?package=SettingsConfig&version=1.2.5.1
SettingsConfig
Note that SettingsConfig is a temporary, unimprovised name.
Also note that this package is no more than a parser.
SettingsConfig is yet another storage format among the likes of JSON and CSV. This one, however, brings a simpler format at the cost of nesting capabilities (which are present, just not as good as JSON's).
Features
- String, Numeric, Boolean, and Tree values (arrays are coming soon)
- Serialization to and from types
- Custom serialization names
Feature Roadmap
- ☐ Arrays
- ☐ Adquate dictionary support
- ☐ Dynamic values/methods
- ☐ Conversion to and from JSON and YAML
Table of Contents
Quick Start
To install you can:
- Download the DLL from your chosen release version
- Download and extract the source code into your codebase
- Download using your preferred package manager (e.g. nuget)
There are 2 maintained ways of parsing a SettingsConfig document.
The most direct and simplest way is using one of SettingsDocument
's creation methods: SettingsDocument.FromText(System.String)
, SettingsDocument.FromStream(System.IO.Stream)
, SettingsDocument.FromParser(SettingsConfig.Parser.SettingsParser)
.
Otherwise, you can directly use the parser (SettingsParser
) to enumerate raw nodes.
var parser = new SettingsConfig.Parser.SettingsParser(MyText);
// System.String and System.IO.Stream are both accepted for initialization
foreach (SettingsConfig.Parser.Nodes.SettingsNode node in parser.ParseSyntaxTree())
{
Console.WriteLine($"Parsed Node: {node.ToFormattedString()}");
}
And if you want a document anyway, use SettingsParser.ParseDocument()
.
Extended Examples
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Jammo.ParserTools (>= 1.7.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Mini update for README.