Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Src/CSharpier.Core/CSharp/CSharpFormatter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ bool TryGetCompilationFailure(out CodeFormatterResult compilationResult)
var lineEnding = PrinterOptions.GetLineEnding(syntaxTree.ToString(), printerOptions);
var printingContext = new PrintingContext
{
NormalizedXml = string.Empty,
Options = new PrintingContext.PrintingContextOptions
{
LineEnding = lineEnding,
Expand Down Expand Up @@ -177,6 +178,7 @@ bool TryGetCompilationFailure(out CodeFormatterResult compilationResult)

var formattingContext2 = new PrintingContext
{
NormalizedXml = string.Empty,
Options = new PrintingContext.PrintingContextOptions
{
LineEnding = lineEnding,
Expand Down
20 changes: 16 additions & 4 deletions Src/CSharpier.Core/CSharp/SyntaxPrinter/CSharpierIgnore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,22 @@ internal static partial class CSharpierIgnore
public static readonly Regex IgnoreEndRegex = IgnoreEndRegexGenerator();
public static readonly Regex WhiteSpaceLineEndingsRegex = WhiteSpaceLineEndingsGenerator();
#else
private static readonly Regex IgnoreRegex = new("^// csharpier-ignore($| -)");
public static readonly Regex IgnoreStartRegex = new("^// csharpier-ignore-start($| -)");
public static readonly Regex IgnoreEndRegex = new("^// csharpier-ignore-end($| -)");
public static readonly Regex WhiteSpaceLineEndingsRegex = new(@"[\t\v\f ]*(\r\n?|\n)");
private static readonly Regex IgnoreRegex = new(
"^// csharpier-ignore($| -)",
RegexOptions.Compiled
);
public static readonly Regex IgnoreStartRegex = new(
"^// csharpier-ignore-start($| -)",
RegexOptions.Compiled
);
public static readonly Regex IgnoreEndRegex = new(
"^// csharpier-ignore-end($| -)",
RegexOptions.Compiled
);
public static readonly Regex WhiteSpaceLineEndingsRegex = new(
@"[\t\v\f ]*(\r\n?|\n)",
RegexOptions.Compiled
);
#endif

public static bool HasIgnoreComment(SyntaxNode syntaxNode) =>
Expand Down
1 change: 1 addition & 0 deletions Src/CSharpier.Core/CSharp/SyntaxPrinter/PrintingContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ namespace CSharpier.Core.CSharp.SyntaxPrinter;

internal class PrintingContext
{
public required string NormalizedXml { get; init; }
public required PrintingContextOptions Options { get; init; }
public PrintingContextState State { get; } = new();

Expand Down
12 changes: 12 additions & 0 deletions Src/CSharpier.Core/Xml/RawNode.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Text.Json.Serialization;
using System.Xml;
using CSharpier.Core.CSharp.SyntaxPrinter;

namespace CSharpier.Core.Xml;

Expand All @@ -22,6 +23,9 @@ internal class RawNode
public List<RawNode> Nodes { get; set; } = [];
public string Value { get; set; } = string.Empty;
public required XmlWhitespaceSensitivity XmlWhitespaceSensitivity { get; set; }
public int StartPosition { get; set; }
public int EndPosition { get; set; }
public CSharpierIgnoreType CSharpierIgnoreType { get; set; }

public bool IsTextLike()
{
Expand Down Expand Up @@ -58,3 +62,11 @@ public RawNode GetLastDescendant()
return base.ToString();
}
}

internal enum CSharpierIgnoreType
{
None,
Ignore,
IgnoreStart,
IgnoreEnd,
}
Loading
Loading