SublimeText / PowerShell

Support for the MS PowerShell programming language.
MIT License
312 stars 80 forks source link

Reindent problem with C# #168

Open stephen147 opened 3 years ago

stephen147 commented 3 years ago

I assume that this controls the indentation for .ps1 files so hopefully, this is the correct place to post this issue.

With Powershell I have this code:

Function Get-ForegroundWindow {
  Add-Type @"
  using System; using System.Runtime.InteropServices; public class ClassGetForegroundWindow {
    [DllImport("user32.dll")]
    public static extern IntPtr GetForegroundWindow();
  }
"@
  return [ClassGetForegroundWindow]::GetForegroundWindow()
}

Get-ForegroundWindow

After reindenting it it appears to be:

Function Get-ForegroundWindow {
  Add-Type @"
  using System; using System.Runtime.InteropServices; public class ClassGetForegroundWindow {
    [DllImport("user32.dll")]
    public static extern IntPtr GetForegroundWindow();
  }
  "@
  return [ClassGetForegroundWindow]::GetForegroundWindow()
}

Get-ForegroundWindow

This then fails to run as the "@ is indented when it shouldn't.

keith-hall commented 3 years ago

I guess this repo lacks any tmPreferences files controlling indentation, so it uses the defaults. You'd want a unindentedLinePattern matching "@ iirc.

stephen147 commented 3 years ago

Oh, I didn't even think to see if there was one. I assumed there was.

Hopefully, this could get added as a rule if the person maintaining this repo sees this as it would be nice to be included out of the box.