Skip to content

Commit 38eb650

Browse files
committed
Use params span where possible.
1 parent 70eb70d commit 38eb650

File tree

4 files changed

+28
-28
lines changed

4 files changed

+28
-28
lines changed

src/core/Native/TerminalInterop.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ static TerminalInterop()
9191
? $"lib{name}.dylib"
9292
: $"lib{name}.so";
9393

94-
bool TryLoad(out nint handle, params string[] paths)
94+
bool TryLoad(out nint handle, params ReadOnlySpan<string> paths)
9595
{
9696
return NativeLibrary.TryLoad(Path.Combine([directory, .. paths, fileName]), out handle);
9797
}

src/core/Processes/ChildProcess.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ internal ChildProcess(ChildProcessBuilder builder)
174174
});
175175
}
176176

177-
public static ChildProcess Run(string fileName, params string[] arguments)
177+
public static ChildProcess Run(string fileName, params ReadOnlySpan<string> arguments)
178178
{
179-
return Run(fileName, arguments.AsEnumerable());
179+
return Run(fileName, arguments.ToArray().AsEnumerable());
180180
}
181181

182182
public static ChildProcess Run(string fileName, IEnumerable<string> arguments)
@@ -187,9 +187,9 @@ public static ChildProcess Run(string fileName, IEnumerable<string> arguments)
187187
.Run();
188188
}
189189

190-
public static ChildProcess RunIn(string workingDirectory, string fileName, params string[] arguments)
190+
public static ChildProcess RunIn(string workingDirectory, string fileName, params ReadOnlySpan<string> arguments)
191191
{
192-
return RunIn(workingDirectory, fileName, arguments.AsEnumerable());
192+
return RunIn(workingDirectory, fileName, arguments.ToArray().AsEnumerable());
193193
}
194194

195195
public static ChildProcess RunIn(string workingDirectory, string fileName, IEnumerable<string> arguments)

src/core/Processes/ChildProcessBuilder.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ public ChildProcessBuilder WithFileName(string fileName)
7777
return builder;
7878
}
7979

80-
public ChildProcessBuilder WithArguments(params string[] arguments)
80+
public ChildProcessBuilder WithArguments(params ReadOnlySpan<string> arguments)
8181
{
82-
return WithArguments(arguments.AsEnumerable());
82+
return WithArguments(arguments.ToArray().AsEnumerable());
8383
}
8484

8585
public ChildProcessBuilder WithArguments(IEnumerable<string> arguments)
@@ -116,9 +116,9 @@ public ChildProcessBuilder InsertArgument(int index, string argument)
116116
return builder;
117117
}
118118

119-
public ChildProcessBuilder InsertArguments(int index, params string[] arguments)
119+
public ChildProcessBuilder InsertArguments(int index, params ReadOnlySpan<string> arguments)
120120
{
121-
return InsertArguments(index, arguments.AsEnumerable());
121+
return InsertArguments(index, arguments.ToArray().AsEnumerable());
122122
}
123123

124124
public ChildProcessBuilder InsertArguments(int index, IEnumerable<string> arguments)
@@ -144,9 +144,9 @@ public ChildProcessBuilder AddArgument(string argument)
144144
return builder;
145145
}
146146

147-
public ChildProcessBuilder AddArguments(params string[] arguments)
147+
public ChildProcessBuilder AddArguments(params ReadOnlySpan<string> arguments)
148148
{
149-
return AddArguments(arguments.AsEnumerable());
149+
return AddArguments(arguments.ToArray().AsEnumerable());
150150
}
151151

152152
public ChildProcessBuilder AddArguments(IEnumerable<string> arguments)
@@ -193,9 +193,9 @@ public ChildProcessBuilder WithJoinArguments(bool joinArguments)
193193
return builder;
194194
}
195195

196-
public ChildProcessBuilder WithVariables(params (string Name, string Value)[] variables)
196+
public ChildProcessBuilder WithVariables(params ReadOnlySpan<(string Name, string Value)> variables)
197197
{
198-
return WithVariables(variables.Select(tup => KeyValuePair.Create(tup.Name, tup.Value)));
198+
return WithVariables(variables.ToArray().Select(tup => KeyValuePair.Create(tup.Name, tup.Value)));
199199
}
200200

201201
public ChildProcessBuilder WithVariables(IEnumerable<KeyValuePair<string, string>> variables)
@@ -221,9 +221,9 @@ public ChildProcessBuilder SetVariable(string name, string value)
221221
return builder;
222222
}
223223

224-
public ChildProcessBuilder SetVariables(params (string Name, string Value)[] variables)
224+
public ChildProcessBuilder SetVariables(params ReadOnlySpan<(string Name, string Value)> variables)
225225
{
226-
return SetVariables(variables.Select(tup => KeyValuePair.Create(tup.Name, tup.Value)));
226+
return SetVariables(variables.ToArray().Select(tup => KeyValuePair.Create(tup.Name, tup.Value)));
227227
}
228228

229229
public ChildProcessBuilder SetVariables(IEnumerable<KeyValuePair<string, string>> variables)
@@ -249,9 +249,9 @@ public ChildProcessBuilder AddVariable(string name, string value)
249249
return builder;
250250
}
251251

252-
public ChildProcessBuilder AddVariables(params (string Name, string Value)[] variables)
252+
public ChildProcessBuilder AddVariables(params ReadOnlySpan<(string Name, string Value)> variables)
253253
{
254-
return AddVariables(variables.Select(tup => KeyValuePair.Create(tup.Name, tup.Value)));
254+
return AddVariables(variables.ToArray().Select(tup => KeyValuePair.Create(tup.Name, tup.Value)));
255255
}
256256

257257
public ChildProcessBuilder AddVariables(IEnumerable<KeyValuePair<string, string>> variables)
@@ -275,9 +275,9 @@ public ChildProcessBuilder RemoveVariable(string name)
275275
return builder;
276276
}
277277

278-
public ChildProcessBuilder RemoveVariables(params string[] names)
278+
public ChildProcessBuilder RemoveVariables(params ReadOnlySpan<string> names)
279279
{
280-
return RemoveVariables(names.AsEnumerable());
280+
return RemoveVariables(names.ToArray().AsEnumerable());
281281
}
282282

283283
public ChildProcessBuilder RemoveVariables(IEnumerable<string> names)

src/core/PublicAPI.Unshipped.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,9 @@ static Vezel.Cathode.IO.TerminalIOExtensions.WriteLineAsync(this Vezel.Cathode.I
136136
static Vezel.Cathode.IO.TerminalIOExtensions.WriteLineAsync(this Vezel.Cathode.IO.TerminalWriter! writer, System.ReadOnlyMemory<char> value, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask
137137
static Vezel.Cathode.IO.TerminalIOExtensions.WriteLineAsync(this Vezel.Cathode.IO.TerminalWriter! writer, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask
138138
static Vezel.Cathode.IO.TerminalIOExtensions.WriteLineAsync<T>(this Vezel.Cathode.IO.TerminalWriter! writer, T value, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) -> System.Threading.Tasks.ValueTask
139-
static Vezel.Cathode.Processes.ChildProcess.Run(string! fileName, params string![]! arguments) -> Vezel.Cathode.Processes.ChildProcess!
139+
static Vezel.Cathode.Processes.ChildProcess.Run(string! fileName, params System.ReadOnlySpan<string!> arguments) -> Vezel.Cathode.Processes.ChildProcess!
140140
static Vezel.Cathode.Processes.ChildProcess.Run(string! fileName, System.Collections.Generic.IEnumerable<string!>! arguments) -> Vezel.Cathode.Processes.ChildProcess!
141-
static Vezel.Cathode.Processes.ChildProcess.RunIn(string! workingDirectory, string! fileName, params string![]! arguments) -> Vezel.Cathode.Processes.ChildProcess!
141+
static Vezel.Cathode.Processes.ChildProcess.RunIn(string! workingDirectory, string! fileName, params System.ReadOnlySpan<string!> arguments) -> Vezel.Cathode.Processes.ChildProcess!
142142
static Vezel.Cathode.Processes.ChildProcess.RunIn(string! workingDirectory, string! fileName, System.Collections.Generic.IEnumerable<string!>! arguments) -> Vezel.Cathode.Processes.ChildProcess!
143143
static Vezel.Cathode.Terminal.Control.get -> Vezel.Cathode.TerminalControl!
144144
static Vezel.Cathode.Terminal.DisableRawMode() -> void
@@ -361,10 +361,10 @@ Vezel.Cathode.Processes.ChildProcess.StandardIn.get -> Vezel.Cathode.Processes.C
361361
Vezel.Cathode.Processes.ChildProcess.StandardOut.get -> Vezel.Cathode.Processes.ChildProcessReader!
362362
Vezel.Cathode.Processes.ChildProcessBuilder
363363
Vezel.Cathode.Processes.ChildProcessBuilder.AddArgument(string! argument) -> Vezel.Cathode.Processes.ChildProcessBuilder!
364-
Vezel.Cathode.Processes.ChildProcessBuilder.AddArguments(params string![]! arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
364+
Vezel.Cathode.Processes.ChildProcessBuilder.AddArguments(params System.ReadOnlySpan<string!> arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
365365
Vezel.Cathode.Processes.ChildProcessBuilder.AddArguments(System.Collections.Generic.IEnumerable<string!>! arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
366366
Vezel.Cathode.Processes.ChildProcessBuilder.AddVariable(string! name, string! value) -> Vezel.Cathode.Processes.ChildProcessBuilder!
367-
Vezel.Cathode.Processes.ChildProcessBuilder.AddVariables(params (string! Name, string! Value)[]! variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
367+
Vezel.Cathode.Processes.ChildProcessBuilder.AddVariables(params System.ReadOnlySpan<(string! Name, string! Value)> variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
368368
Vezel.Cathode.Processes.ChildProcessBuilder.AddVariables(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, string!>>! variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
369369
Vezel.Cathode.Processes.ChildProcessBuilder.Arguments.get -> System.Collections.Immutable.ImmutableArray<string!>
370370
Vezel.Cathode.Processes.ChildProcessBuilder.CancellationToken.get -> System.Threading.CancellationToken
@@ -374,7 +374,7 @@ Vezel.Cathode.Processes.ChildProcessBuilder.ClearVariables() -> Vezel.Cathode.Pr
374374
Vezel.Cathode.Processes.ChildProcessBuilder.CreateWindow.get -> bool
375375
Vezel.Cathode.Processes.ChildProcessBuilder.FileName.get -> string!
376376
Vezel.Cathode.Processes.ChildProcessBuilder.InsertArgument(int index, string! argument) -> Vezel.Cathode.Processes.ChildProcessBuilder!
377-
Vezel.Cathode.Processes.ChildProcessBuilder.InsertArguments(int index, params string![]! arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
377+
Vezel.Cathode.Processes.ChildProcessBuilder.InsertArguments(int index, params System.ReadOnlySpan<string!> arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
378378
Vezel.Cathode.Processes.ChildProcessBuilder.InsertArguments(int index, System.Collections.Generic.IEnumerable<string!>! arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
379379
Vezel.Cathode.Processes.ChildProcessBuilder.JoinArguments.get -> bool
380380
Vezel.Cathode.Processes.ChildProcessBuilder.RedirectStandardError.get -> bool
@@ -383,12 +383,12 @@ Vezel.Cathode.Processes.ChildProcessBuilder.RedirectStandardOut.get -> bool
383383
Vezel.Cathode.Processes.ChildProcessBuilder.RemoveArgument(int index) -> Vezel.Cathode.Processes.ChildProcessBuilder!
384384
Vezel.Cathode.Processes.ChildProcessBuilder.RemoveArguments(int index, int count) -> Vezel.Cathode.Processes.ChildProcessBuilder!
385385
Vezel.Cathode.Processes.ChildProcessBuilder.RemoveVariable(string! name) -> Vezel.Cathode.Processes.ChildProcessBuilder!
386-
Vezel.Cathode.Processes.ChildProcessBuilder.RemoveVariables(params string![]! names) -> Vezel.Cathode.Processes.ChildProcessBuilder!
386+
Vezel.Cathode.Processes.ChildProcessBuilder.RemoveVariables(params System.ReadOnlySpan<string!> names) -> Vezel.Cathode.Processes.ChildProcessBuilder!
387387
Vezel.Cathode.Processes.ChildProcessBuilder.RemoveVariables(System.Collections.Generic.IEnumerable<string!>! names) -> Vezel.Cathode.Processes.ChildProcessBuilder!
388388
Vezel.Cathode.Processes.ChildProcessBuilder.Run() -> Vezel.Cathode.Processes.ChildProcess!
389389
Vezel.Cathode.Processes.ChildProcessBuilder.SetArgument(int index, string! argument) -> Vezel.Cathode.Processes.ChildProcessBuilder!
390390
Vezel.Cathode.Processes.ChildProcessBuilder.SetVariable(string! name, string! value) -> Vezel.Cathode.Processes.ChildProcessBuilder!
391-
Vezel.Cathode.Processes.ChildProcessBuilder.SetVariables(params (string! Name, string! Value)[]! variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
391+
Vezel.Cathode.Processes.ChildProcessBuilder.SetVariables(params System.ReadOnlySpan<(string! Name, string! Value)> variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
392392
Vezel.Cathode.Processes.ChildProcessBuilder.SetVariables(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, string!>>! variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
393393
Vezel.Cathode.Processes.ChildProcessBuilder.StandardErrorBufferSize.get -> int
394394
Vezel.Cathode.Processes.ChildProcessBuilder.StandardErrorEncoding.get -> System.Text.Encoding!
@@ -398,7 +398,7 @@ Vezel.Cathode.Processes.ChildProcessBuilder.StandardOutEncoding.get -> System.Te
398398
Vezel.Cathode.Processes.ChildProcessBuilder.ThrowOnError.get -> bool
399399
Vezel.Cathode.Processes.ChildProcessBuilder.Variables.get -> System.Collections.Immutable.ImmutableDictionary<string!, string!>!
400400
Vezel.Cathode.Processes.ChildProcessBuilder.WindowStyle.get -> System.Diagnostics.ProcessWindowStyle
401-
Vezel.Cathode.Processes.ChildProcessBuilder.WithArguments(params string![]! arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
401+
Vezel.Cathode.Processes.ChildProcessBuilder.WithArguments(params System.ReadOnlySpan<string!> arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
402402
Vezel.Cathode.Processes.ChildProcessBuilder.WithArguments(System.Collections.Generic.IEnumerable<string!>! arguments) -> Vezel.Cathode.Processes.ChildProcessBuilder!
403403
Vezel.Cathode.Processes.ChildProcessBuilder.WithBufferSizes(int allStreams) -> Vezel.Cathode.Processes.ChildProcessBuilder!
404404
Vezel.Cathode.Processes.ChildProcessBuilder.WithBufferSizes(int standardOut, int standardError) -> Vezel.Cathode.Processes.ChildProcessBuilder!
@@ -411,7 +411,7 @@ Vezel.Cathode.Processes.ChildProcessBuilder.WithJoinArguments(bool joinArguments
411411
Vezel.Cathode.Processes.ChildProcessBuilder.WithRedirections(bool allStreams) -> Vezel.Cathode.Processes.ChildProcessBuilder!
412412
Vezel.Cathode.Processes.ChildProcessBuilder.WithRedirections(bool standardIn, bool standardOut, bool standardError) -> Vezel.Cathode.Processes.ChildProcessBuilder!
413413
Vezel.Cathode.Processes.ChildProcessBuilder.WithThrowOnError(bool throwOnError) -> Vezel.Cathode.Processes.ChildProcessBuilder!
414-
Vezel.Cathode.Processes.ChildProcessBuilder.WithVariables(params (string! Name, string! Value)[]! variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
414+
Vezel.Cathode.Processes.ChildProcessBuilder.WithVariables(params System.ReadOnlySpan<(string! Name, string! Value)> variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
415415
Vezel.Cathode.Processes.ChildProcessBuilder.WithVariables(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string!, string!>>! variables) -> Vezel.Cathode.Processes.ChildProcessBuilder!
416416
Vezel.Cathode.Processes.ChildProcessBuilder.WithWindowStyle(System.Diagnostics.ProcessWindowStyle windowStyle) -> Vezel.Cathode.Processes.ChildProcessBuilder!
417417
Vezel.Cathode.Processes.ChildProcessBuilder.WithWorkingDirectory(string! workingDirectory) -> Vezel.Cathode.Processes.ChildProcessBuilder!

0 commit comments

Comments
 (0)