GP-3825: changes suggested from review

GP-3825: fix for local line-ending issue
This commit is contained in:
d-millar
2023-09-12 10:33:43 -04:00
parent f64c38ef7f
commit c70014fe40

View File

@@ -47,18 +47,35 @@ public class GdbInJvmDebuggerModelFactory implements DebuggerModelFactory {
public final Property<Boolean> useExistingOption =
Property.fromAccessors(boolean.class, this::isUseExisting, this::setUseExisting);
// TODO: newLine option?
private boolean useCrlf = System.lineSeparator().equals("\r\n");;
@FactoryOption("Use DOS line endings (unchecked for UNIX remote)")
public final Property<Boolean> crlfNewLineOption =
Property.fromAccessors(Boolean.class, this::isUseCrlf, this::setUseCrlf);
@Override
public CompletableFuture<? extends DebuggerObjectModel> build() {
List<String> gdbCmdLine = ShellUtils.parseArgs(gdbCmd);
GdbModelImpl model = new GdbModelImpl(PtyFactory.local());
if (useCrlf) {
model.setDosNewLine();
}
else {
model.setUnixNewLine();
}
return model
.startGDB(existing ? null : gdbCmdLine.get(0),
gdbCmdLine.subList(1, gdbCmdLine.size()).toArray(String[]::new))
.thenApply(__ -> model);
}
public boolean isUseCrlf() {
return useCrlf;
}
public void setUseCrlf(boolean useCrlf) {
this.useCrlf = useCrlf;
}
@Override
public int getPriority(Program program) {
if (!GdbCompatibility.INSTANCE.isCompatible(gdbCmd)) {