Broccolini 0.1.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Broccolini --version 0.1.0
NuGet\Install-Package Broccolini -Version 0.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Broccolini" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Broccolini --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Broccolini, 0.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Broccolini as a Cake Addin
#addin nuget:?package=Broccolini&version=0.1.0
// Install Broccolini as a Cake Tool
#tool nuget:?package=Broccolini&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Broccolini 🥦
Broccolini is a non-destructive parser for INI files.
The main goal is compatibility with the INI format used in Windows OS (GetPrivateProfileString
and friends).
Usage
<details> <summary>INI file used in examples</summary>
[database]
server = 192.0.2.62
port = 1234
</details>
Reading
var syntax = IniParser.Parse(File.ReadAllText("config.ini"));
var document = syntax.ToSemanticModel();
string databaseServer = document["database"]["server"];
string databasePort = document["database"]["port"];
Editing
var syntax = IniParser.Parse(File.ReadAllText("config.ini"));
var updated = syntax
.WithSection("owner", section => section.WithKeyValue("name", "John Doe"))
.UpdateSection("database", section => section.RemoveKeyValue("port"));
File.WriteAllText("config.ini", updated.ToString(), Encoding.Unicode);
Goals
- Compatibiliy with INI format in Windows OS.
- Roundtrips (
Parse
→ToString
) should preserve everything. - Editing should preserve as much (whitespace, comments, etc.) as possible.
- An extensive test suite.
Non-Goals
- Deserialization into non-string types (complex objects, numbers, booleans, etc.)
- Customizable parsing rules (e.g. different comment syntax)
- Performance
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Collections.Immutable (>= 5.0.0)
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 73 | 4/11/2024 |
1.0.0 | 490 | 5/26/2023 |
1.0.0-rc.2 | 76 | 5/26/2023 |
1.0.0-rc.1 | 84 | 4/22/2023 |
0.2.2 | 457 | 3/22/2023 |
0.2.1 | 1,320 | 5/23/2022 |
0.2.0 | 586 | 5/23/2022 |
0.1.0 | 1,274 | 5/11/2022 |