提交 31eb2b1d 编写于 作者: M Matt Bierner

Also switch getActiveWebviewBasedWebview to use optional chaining

上级 8b087788
......@@ -55,7 +55,7 @@ export class CopyWebviewEditorCommand extends Action2 {
}
public run(accessor: ServicesAccessor): void {
withActiveWebviewBasedWebview(accessor, webview => webview.copy());
getActiveWebviewBasedWebview(accessor)?.copy();
}
}
......@@ -76,7 +76,7 @@ export class PasteWebviewEditorCommand extends Action2 {
}
public run(accessor: ServicesAccessor): void {
withActiveWebviewBasedWebview(accessor, webview => webview.paste());
getActiveWebviewBasedWebview(accessor)?.paste();
}
}
......@@ -97,7 +97,7 @@ export class CutWebviewEditorCommand extends Action2 {
}
public run(accessor: ServicesAccessor): void {
withActiveWebviewBasedWebview(accessor, webview => webview.cut());
getActiveWebviewBasedWebview(accessor)?.cut();
}
}
......@@ -118,7 +118,7 @@ export class UndoWebviewEditorCommand extends Action2 {
}
public run(accessor: ServicesAccessor, args: any): void {
withActiveWebviewBasedWebview(accessor, webview => webview.undo());
getActiveWebviewBasedWebview(accessor)?.undo();
}
}
......@@ -141,22 +141,24 @@ export class RedoWebviewEditorCommand extends Action2 {
}
public run(accessor: ServicesAccessor, args: any): void {
withActiveWebviewBasedWebview(accessor, webview => webview.redo());
getActiveWebviewBasedWebview(accessor)?.redo();
}
}
function withActiveWebviewBasedWebview(accessor: ServicesAccessor, f: (webview: ElectronWebviewBasedWebview) => void): void {
const webViewEditor = getActiveWebviewEditor(accessor);
if (webViewEditor) {
webViewEditor.withWebview(webview => {
if (webview instanceof ElectronWebviewBasedWebview) {
f(webview);
} else if ((webview as WebviewEditorOverlay).getInnerWebview) {
const innerWebview = (webview as WebviewEditorOverlay).getInnerWebview();
if (innerWebview instanceof ElectronWebviewBasedWebview) {
f(innerWebview);
}
}
});
function getActiveWebviewBasedWebview(accessor: ServicesAccessor): ElectronWebviewBasedWebview | undefined {
const webview = getActiveWebviewEditor(accessor)?.webview;
if (!webview) {
return undefined;
}
if (webview instanceof ElectronWebviewBasedWebview) {
return webview;
} else if ((webview as WebviewEditorOverlay).getInnerWebview) {
const innerWebview = (webview as WebviewEditorOverlay).getInnerWebview();
if (innerWebview instanceof ElectronWebviewBasedWebview) {
return innerWebview;
}
}
return undefined;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册