belav/csharpier (csharpier)
### [`v0.28.0`](https://togithub.com/belav/csharpier/releases/tag/0.28.0)
[Compare Source](https://togithub.com/belav/csharpier/compare/0.27.3...0.28.0)
#### What's Changed
##### Fix dedented method call if there is a long chain [#1154](https://togithub.com/belav/csharpier/issues/1154)
In some cases of method chains, the first invocation would end up dedented.
```c#
// 0.27.3
o.Property.CallMethod(
someParameter_____________________________,
someParameter_____________________________
)
.CallMethod()
.CallMethod();
// 0.28.0
o.Property.CallMethod(
someParameter_____________________________,
someParameter_____________________________
)
.CallMethod()
.CallMethod();
```
##### Extra newline in switch case statement with curly braces \[[#1192](https://togithub.com/belav/csharpier/issues/1192)]\[https://github.com/belav/csharpier/issues/1192](https://togithub.com/belav/csharpier/issues/1192)2
If a case statement started with a block it would get an extra new line
```c#
// 0.27.3
switch (someValue)
{
case 0:
{
// dedented because the only statement is a block
break;
}
case 1:
{
// indented because there are two statements, a block then a break
}
break;
}
// 0.28.0
// 0.27.3
switch (someValue)
{
case 0:
{
// dedented because the only statement is a block
break;
}
case 1:
{
// indented because there are two statements, a block then a break
}
break;
}
```
Thanks go to [@emberTrev](https://togithub.com/emberTrev) for reporting the bug.
##### Handle more editorconfig glob patterns. [#1214](https://togithub.com/belav/csharpier/issues/1214)
The editorconfig parsing was not handling glob patterns that contained braces.
```editorconfig
### worked in 0.27.3
[*.cs]
indent_size = 4
tab_width = 4
### did not work in 0.27.3
[*.{cs,csx}]
indent_size = 4
tab_width = 4
### did not work in 0.27.3
[*.{cs}]
indent_size = 4
tab_width = 4
```
Thanks go to [@kada-v](https://togithub.com/kada-v) for reporting the bug
##### Ignore-start combined with regions throws exception [#1197](https://togithub.com/belav/csharpier/issues/1197)
The following code would throw an exception, it is now working as expected.
```c#
class ClassName
{
#region Region
// csharpier-ignore-start
public string Field;
// csharpier-ignore-end
#endregion
}
```
Thanks go to [@davidescapolan01](https://togithub.com/davidescapolan01) for reporting the bug
##### Cannot format project containing editorconfig [#1194](https://togithub.com/belav/csharpier/issues/1194)
On some OSs the following would cause an exception.
```bash
dotnet new console -n foo
cd foo
dotnet new editorconfig
dotnet csharpier ./
```
Thanks go to [@hashitaku](https://togithub.com/hashitaku) for contributing the fix.
##### Expose IncludeGenerated in CodeFormatterOptions [#1215](https://togithub.com/belav/csharpier/issues/1215)
`CodeFormatterOptions.IncludeGenerated` is now available for the SDK.
##### Returning errors + status from csharpier http server [#1191](https://togithub.com/belav/csharpier/pull/1191)
Improved the http server that CSharpier will soon use to facilitate formatting by plugins. The formatting request now returns errors and a status for each file formatted.
This allows the plugin to provide more information to the user when they attempt to format a file. The plugins will be updated to use the http server option for CSharpier 0.28.0+
**Full Changelog**: https://github.com/belav/csharpier/compare/0.27.3...0.28.0
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
0.27.3
->0.28.0
Release Notes
belav/csharpier (csharpier)
### [`v0.28.0`](https://togithub.com/belav/csharpier/releases/tag/0.28.0) [Compare Source](https://togithub.com/belav/csharpier/compare/0.27.3...0.28.0) #### What's Changed ##### Fix dedented method call if there is a long chain [#1154](https://togithub.com/belav/csharpier/issues/1154) In some cases of method chains, the first invocation would end up dedented. ```c# // 0.27.3 o.Property.CallMethod( someParameter_____________________________, someParameter_____________________________ ) .CallMethod() .CallMethod(); // 0.28.0 o.Property.CallMethod( someParameter_____________________________, someParameter_____________________________ ) .CallMethod() .CallMethod(); ``` ##### Extra newline in switch case statement with curly braces \[[#1192](https://togithub.com/belav/csharpier/issues/1192)]\[https://github.com/belav/csharpier/issues/1192](https://togithub.com/belav/csharpier/issues/1192)2 If a case statement started with a block it would get an extra new line ```c# // 0.27.3 switch (someValue) { case 0: { // dedented because the only statement is a block break; } case 1: { // indented because there are two statements, a block then a break } break; } // 0.28.0 // 0.27.3 switch (someValue) { case 0: { // dedented because the only statement is a block break; } case 1: { // indented because there are two statements, a block then a break } break; } ``` Thanks go to [@emberTrev](https://togithub.com/emberTrev) for reporting the bug. ##### Handle more editorconfig glob patterns. [#1214](https://togithub.com/belav/csharpier/issues/1214) The editorconfig parsing was not handling glob patterns that contained braces. ```editorconfig ### worked in 0.27.3 [*.cs] indent_size = 4 tab_width = 4 ### did not work in 0.27.3 [*.{cs,csx}] indent_size = 4 tab_width = 4 ### did not work in 0.27.3 [*.{cs}] indent_size = 4 tab_width = 4 ``` Thanks go to [@kada-v](https://togithub.com/kada-v) for reporting the bug ##### Ignore-start combined with regions throws exception [#1197](https://togithub.com/belav/csharpier/issues/1197) The following code would throw an exception, it is now working as expected. ```c# class ClassName { #region Region // csharpier-ignore-start public string Field; // csharpier-ignore-end #endregion } ``` Thanks go to [@davidescapolan01](https://togithub.com/davidescapolan01) for reporting the bug ##### Cannot format project containing editorconfig [#1194](https://togithub.com/belav/csharpier/issues/1194) On some OSs the following would cause an exception. ```bash dotnet new console -n foo cd foo dotnet new editorconfig dotnet csharpier ./ ``` Thanks go to [@hashitaku](https://togithub.com/hashitaku) for contributing the fix. ##### Expose IncludeGenerated in CodeFormatterOptions [#1215](https://togithub.com/belav/csharpier/issues/1215) `CodeFormatterOptions.IncludeGenerated` is now available for the SDK. ##### Returning errors + status from csharpier http server [#1191](https://togithub.com/belav/csharpier/pull/1191) Improved the http server that CSharpier will soon use to facilitate formatting by plugins. The formatting request now returns errors and a status for each file formatted. This allows the plugin to provide more information to the user when they attempt to format a file. The plugins will be updated to use the http server option for CSharpier 0.28.0+ **Full Changelog**: https://github.com/belav/csharpier/compare/0.27.3...0.28.0Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.