BearMarkupLanguage 5.1.1
dotnet add package BearMarkupLanguage --version 5.1.1
NuGet\Install-Package BearMarkupLanguage -Version 5.1.1
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="BearMarkupLanguage" Version="5.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BearMarkupLanguage" Version="5.1.1" />
<PackageReference Include="BearMarkupLanguage" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BearMarkupLanguage --version 5.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: BearMarkupLanguage, 5.1.1"
#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.
#:package BearMarkupLanguage@5.1.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BearMarkupLanguage&version=5.1.1
#tool nuget:?package=BearMarkupLanguage&version=5.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
BearMarkupLanguage
A class library to read or modify BearML config file simply.
BearML is an original markup language. Language detail: Wiki
BearML version 5.0 <b>does not</b> compatible with version 3.0. <br>
How to use (part)
Get values from config file
config.txt
a literal value: @
Hello.
Goodbye.
|
# support key aliases
[obj|weather]
weather object: $
Time: 12:10:05
Temperature: 40.2
> block <
a tuple:
- apple
- $
price: $1.5
color: red
# support nested block
> sub block <
sub key: 1.234
using BearMarkupLanguage.Serialization;
using SerializableAttribute = BearMarkupLanguage.Serialization.SerializableAttribute;
[Serializable]
class Weather
{
public TimeSpan Time { get; set; }
public double Temperature { get; set; }
[IgnoreSerialization]
public string? Description { get; set; }
}
var ml = new BearML("config.txt");
var literal = ml.GetValue<string>("a literal value");
var weather = ml.GetValue<Weather>("weather");
var tuple = ml.GetValue<(string, Dictionary<string, string>)>("block", "a tuple");
var key = ml.GetValue<double>(new[] { "block", "sub block" }, "sub key");
Change values
config before changes
value: 10.1
ml.ChangeValue("value", 20.6);
config after changes
value: 20.6
Add values
ml.AddKeyValue("list", new List<double[]>
{
new[] { 1.1, 2.2 },
new[] { 3.3, 4.4 }
});
ml.AddKeyValue("dic", new Dictionary<int, Weather>
{
{0, new Weather{Temperature = 12} },
{1, new Weather{Temperature = 32, Time = new TimeSpan(12,10,15)} }
});
config file
list:
-
- 1.1
- 2.2
-
- 3.3
- 4.4
dic: $
0: $
Time: 00:00:00
Temperature: 12
1: $
Time: 12:10:15
Temperature: 32
Change config file's style
using BearMarkupLanguage.Core;
Format.PrintMode = PrintMode.Compact;
ml.FormatFile();
config file
list:
[["1.1", "2.2"], ["3.3", "4.4"]]
dic:
{"0": {"Time": "00:00:00", "Temperature": "12"}, "1": {"Time": "12:10:15", "Temperature": "32"}}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
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.