Add support to focus terminal and to control terminal instance reuse

This commit is contained in:
Dirk Baeumer
2017-06-15 16:04:42 +02:00
parent 972b9a12f3
commit 23c631879a
17 changed files with 389 additions and 194 deletions

View File

@@ -207,12 +207,33 @@ namespace TaskRevealKind {
}
}
namespace TaskInstanceKind {
export function from(value: vscode.TaskInstanceKind): TaskSystem.InstanceKind {
if (value === void 0 || value === null) {
return TaskSystem.InstanceKind.Shared;
}
switch (value) {
case types.TaskInstanceKind.Same:
return TaskSystem.InstanceKind.Same;
case types.TaskInstanceKind.New:
return TaskSystem.InstanceKind.New;
default:
return TaskSystem.InstanceKind.Shared;
}
}
}
namespace TerminalBehaviour {
export function from(value: vscode.TaskTerminalBehavior): TaskSystem.TerminalBehavior {
if (value === void 0 || value === null) {
return { reveal: TaskSystem.RevealKind.Always, echo: false };
return { reveal: TaskSystem.RevealKind.Always, echo: true, focus: false, instance: TaskSystem.InstanceKind.Shared };
}
return { reveal: TaskRevealKind.from(value.reveal), echo: !!value.echo };
return {
reveal: TaskRevealKind.from(value.reveal),
echo: value.echo === void 0 ? true : !!value.echo,
focus: !!value.focus,
instance: TaskInstanceKind.from(value.instance)
};
}
}