Skip to content

Change xml formatting to return error when it runs into syntax error so it is consistent with c##1854

Merged
belav merged 5 commits into
mainfrom
treat-xml-like-csharp
Apr 26, 2026
Merged

Change xml formatting to return error when it runs into syntax error so it is consistent with c##1854
belav merged 5 commits into
mainfrom
treat-xml-like-csharp

Conversation

@belav

@belav belav commented Apr 24, 2026

Copy link
Copy Markdown
Owner

closes #1851

@belav belav marked this pull request as draft April 24, 2026 18:10
@belav belav changed the title When piping to std-in make sure to treat invalid xml as an error not a warning Change xml formatting to return error when it runs into syntax error so it is consistent with c# Apr 26, 2026
@belav belav added this to the 1.3.0 milestone Apr 26, 2026
@belav belav marked this pull request as ready for review April 26, 2026 14:30
@belav belav merged commit 0598735 into main Apr 26, 2026
7 checks passed
@belav belav deleted the treat-xml-like-csharp branch April 26, 2026 14:31
ptr727-codegen Bot pushed a commit to ptr727/LanguageTags that referenced this pull request Jun 8, 2026
Updated [csharpier](https://github.com/belav/csharpier) from 1.2.6 to
1.3.0.

<details>
<summary>Release notes</summary>

_Sourced from [csharpier's
releases](https://github.com/belav/csharpier/releases)._

## 1.3.0

# 1.3.0
## Breaking Changes
### Change xml formatting to return error when it runs into syntax error
so it is consistent with c#
[#​1854](belav/csharpier#1854)
Previously CSharpier treated an invalid xml file as a warning instead of
an error. This was inconsistent with how it treated c# files.
Invalid c# or xml files are not treated as errors.  
The `--compilation-errors-as-warnings` argument has been renamed to
`--syntax-errors-as-warnings` and can be used to return warnings instead
of errors when encountering invalid files.

## What's Changed

### Feature: Configurable whitespace handling for xml
[#​1790](belav/csharpier#1790)
CSharpier now supports two types of xml whitespace formatting strict or
ignore.
By default all xml except `xaml` or `axaml` is treated as strict
whitespace. See
[details](https://csharpier.com/docs/Configuration#xml-whitespace-sensitivity)

### Feature: Move closing bracket for xml elements to the same line.
[#​1598](belav/csharpier#1598)
With strict xml whitespace handling, csharpier now keeps the closing
bracket for an element on the same line instead of breaking it to a new
line.
```xml
<!-- input & expected output -->
<ElementWithAttribute Attribute="AttributeValue__________________"
  >TextValue</ElementWithAttribute>

<!-- 1.2.6 -->
<ElementWithAttribute Attribute="AttributeValue__________________"
  >TextValue</ElementWithAttribute
>
```
### Feature: Support for csharpier-ignore with XML formatter
[#​1788](belav/csharpier#1788)
CSharpier now supports `csharpier-ignore` in xml files. See
[details](https://csharpier.com/docs/Ignore#xml)

### Feature: Add MSBuild transitive and multi-target support
[#​1833](belav/csharpier#1833)
CSharpier.MSBuild can now work as a transitive dependency.

### Feature: allow checking formatting with cache
[#​1830](belav/csharpier#1830)
The `csharpier check` command now supports a `--use-cache` option.

### Feature: remove dependency on Microsoft.AspNetCore.App
[#​1508](belav/csharpier#1508)
Previously CSharpier required that Microsoft.AspNetCore.App be
installed. CSharpier has been modified to use an HttpListener when it is
run using `server` to remove the need for this dependency.

### Fix: csharpier-ignore comment removes linespaces before block
[#​1867](belav/csharpier#1867)
CSharpier was removing blank lines before csharpier-ignore comments in
some cases
```c#
// input and expected output
var x = 1;
    
// csharpier-ignore
var y=1;

/// 1.2.6
var x = 1;
// csharpier-ignore
var y=1;
 ... (truncated)

Commits viewable in [compare view](belav/csharpier@1.2.6...1.3.0).
</details>

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=csharpier&package-manager=nuget&previous-version=1.2.6&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Error output should be be written to stderr

1 participant