Instead of going to the backend with each file URI to ask whether it can handle the current file or not,
we have this map of extension and priority pairs that we populate at application startup.
The real advantage of this approach is the following: Phosphor cannot run async code when invoking isEnabled
/isVisible
for the command handlers
so the menu item would be always visible for the user even if the file type cannot be handled eventually.
Hopefully, we could get rid of this hack once we have migrated the existing Phosphor code to React.
Retrieves all open widgets that have been opened by this handler.
all open widgets for this open handler.
Closes all widgets that have been opened by this open handler.
the close options that should be applied to all widgets.
a promise of all closed widgets that resolves after they have been closed.
Tries to get an existing widget for the given uri.
the uri of the widget.
a promise that resolves to the existing widget or undefined
if no widget for the given uri exists.
Return an existing widget for the given uri or creates a new one.
It does not open a widget, use {@link WidgetOpenHandler#open} instead.
uri of the widget.
a promise of the existing or newly created widget.
Emit when a new widget is created.