GH-297: Fixed the open from Sketchbook handler.

When running the handler for the `Sketchbook` menu, do not clone the
sketch.

Closes #297

Signed-off-by: Akos Kitta <kittaakos@typefox.io>
This commit is contained in:
Akos Kitta
2021-04-07 12:38:40 +02:00
committed by Akos Kitta
parent c20f832ddf
commit c50d45c663
2 changed files with 22 additions and 6 deletions

View File

@@ -1,10 +1,12 @@
import { inject, injectable } from 'inversify';
import { CommandHandler } from '@theia/core/lib/common/command';
import { CommandRegistry, MenuModelRegistry } from './contribution';
import { ArduinoMenus } from '../menu/arduino-menus';
import { MainMenuManager } from '../../common/main-menu-manager';
import { NotificationCenter } from '../notification-center';
import { Examples } from './examples';
import { SketchContainer } from '../../common/protocol';
import { OpenSketch } from './open-sketch';
@injectable()
export class Sketchbook extends Examples {
@@ -43,4 +45,13 @@ export class Sketchbook extends Examples {
this.registerRecursively([...container.children, ...container.sketches], ArduinoMenus.FILE__SKETCHBOOK_SUBMENU, this.toDispose);
}
protected createHandler(uri: string): CommandHandler {
return {
execute: async () => {
const sketch = await this.sketchService.loadSketch(uri);
return this.commandService.executeCommand(OpenSketch.Commands.OPEN_SKETCH.id, sketch);
}
}
}
}