thinker227.TextMappingUtils
1.1.1
dotnet add package thinker227.TextMappingUtils --version 1.1.1
NuGet\Install-Package thinker227.TextMappingUtils -Version 1.1.1
<PackageReference Include="thinker227.TextMappingUtils" Version="1.1.1" />
<PackageVersion Include="thinker227.TextMappingUtils" Version="1.1.1" />
<PackageReference Include="thinker227.TextMappingUtils" />
paket add thinker227.TextMappingUtils --version 1.1.1
#r "nuget: thinker227.TextMappingUtils, 1.1.1"
#:package thinker227.TextMappingUtils@1.1.1
#addin nuget:?package=thinker227.TextMappingUtils&version=1.1.1
#tool nuget:?package=thinker227.TextMappingUtils&version=1.1.1
Text mapping utilities
A couple utilities for mapping between text- and line/character positions.
Examples
string text = """
The quick brown fox
jumps over
the lazy dog
""";
// Construct a LineMap over the lines of the text
LineMap map = LineMap.Create(text);
// Fetch the first line of the text and print its length
Line line = map.GetLine(1);
Console.WriteLine($"Line 1 contains {line1.Span.Length} characters.");
// Fetch the 25th character in the text and prints its line and its offset in the line
CharacterPosition character = map.GetCharacterPosition(25);
Console.WriteLine($"Character 25 is character {character.Offset} in line {character.Line.LineNumber}.");
Types
TextSpan
: A lightweight representation of a span of characters within a text. Supports slicing strings and spans throughSubstring
andSlice
extension methods.LineMap
: An efficient mapping between lines and character positions of a text. Can be used to obtain the line and column numbers from an absolute index within a text.
Changelog (1.1.1)
Allow
TextSpanExtensions.Slice
to be used with generic spansUpdate docs ever so slightly
Optimize
LineMap.Create
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 is compatible. 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 is compatible. 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 is compatible. 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. |
.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. |
-
.NETStandard 2.0
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Collections.Immutable (>= 5.0.0)
- System.Memory (>= 4.6.0)
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.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.