@@ -37,17 +37,17 @@ public class InvokeFormatterCommand : PSCmdlet, IOutputWriter
37
37
[ ValidateNotNull ]
38
38
public object Settings { get ; set ; }
39
39
40
- // [Parameter(Mandatory = false)]
41
- // public Range range { get; set; }
42
-
43
40
[ Parameter ( Mandatory = false ) ]
41
+ public Range Range { get ; set ; }
42
+
43
+ [ Parameter ( Mandatory = false , ParameterSetName = "NoRange" ) ]
44
44
public int StartLineNumber { get ; set ; } = - 1 ;
45
- [ Parameter ( Mandatory = false ) ]
46
- public int StartColumnNumber { get ; private set ; } = - 1 ;
47
- [ Parameter ( Mandatory = false ) ]
48
- public int EndLineNumber { get ; private set ; } = - 1 ;
49
- [ Parameter ( Mandatory = false ) ]
50
- public int EndColumnNumber { get ; private set ; } = - 1 ;
45
+ [ Parameter ( Mandatory = false , ParameterSetName = "NoRange" ) ]
46
+ public int StartColumnNumber { get ; set ; } = - 1 ;
47
+ [ Parameter ( Mandatory = false , ParameterSetName = "NoRange" ) ]
48
+ public int EndLineNumber { get ; set ; } = - 1 ;
49
+ [ Parameter ( Mandatory = false , ParameterSetName = "NoRange" ) ]
50
+ public int EndColumnNumber { get ; set ; } = - 1 ;
51
51
52
52
#if DEBUG
53
53
/// <summary>
@@ -100,9 +100,12 @@ protected override void ProcessRecord()
100
100
{
101
101
// todo add range parameter
102
102
// todo add tests to check range formatting
103
- var range = StartLineNumber == - 1 ?
104
- null :
105
- new Range ( StartLineNumber , StartColumnNumber , EndLineNumber , EndColumnNumber ) ;
103
+ var range = Range ;
104
+ if ( this . ParameterSetName . Equals ( "NoRange" ) )
105
+ {
106
+ range = new Range ( StartLineNumber , StartColumnNumber , EndLineNumber , EndColumnNumber ) ;
107
+ }
108
+
106
109
var text = Formatter . Format ( ScriptDefinition , inputSettings , range , this ) ;
107
110
this . WriteObject ( text ) ;
108
111
}
0 commit comments