bubble errors from opener service, fixes #11802

This commit is contained in:
Johannes Rieken
2016-09-13 10:57:13 +02:00
parent 21f75fad42
commit aef92d4c94
3 changed files with 5 additions and 3 deletions
@@ -7,6 +7,7 @@
import 'vs/css!vs/base/browser/ui/progressbar/progressbar';
import * as nls from 'vs/nls';
import URI from 'vs/base/common/uri';
import {onUnexpectedError} from 'vs/base/common/errors';
import {$} from 'vs/base/browser/dom';
import {TPromise} from 'vs/base/common/winjs.base';
import {renderMarkedString} from 'vs/base/browser/htmlContentRenderer';
@@ -244,7 +245,7 @@ export class ModesContentHoverWidget extends ContentHoverWidget {
.forEach(contents => {
const renderedContents = renderMarkedString(contents, {
actionCallback: (content) => {
this._openerService.open(URI.parse(content));
this._openerService.open(URI.parse(content)).then(void 0, onUnexpectedError);
},
codeBlockRenderer: (modeId, value): string | TPromise<string> => {
const mode = this._modeService.getMode(modeId || this._editor.getModel().getModeId());
@@ -12,6 +12,7 @@ import {$} from 'vs/base/browser/dom';
import {renderMarkedString} from 'vs/base/browser/htmlContentRenderer';
import {IOpenerService, NullOpenerService} from 'vs/platform/opener/common/opener';
import URI from 'vs/base/common/uri';
import {onUnexpectedError} from 'vs/base/common/errors';
import {TPromise} from 'vs/base/common/winjs.base';
import {IModeService} from 'vs/editor/common/services/modeService';
import {tokenizeToString} from 'vs/editor/common/modes/textToHtmlTokenizer';
@@ -154,7 +155,7 @@ export class ModesGlyphHoverWidget extends GlyphHoverWidget {
messages.forEach((msg) => {
const renderedContents = renderMarkedString(msg.value, {
actionCallback: content => this.openerService.open(URI.parse(content)),
actionCallback: content => this.openerService.open(URI.parse(content)).then(undefined, onUnexpectedError),
codeBlockRenderer: (modeId, value): string | TPromise<string> => {
const mode = this.modeService.getMode(modeId || this._editor.getModel().getModeId());
const getMode = mode => mode ? TPromise.as(mode) : this.modeService.getOrCreateMode(modeId);
@@ -68,6 +68,6 @@ export class OpenerService implements IOpenerService {
});
}
return TPromise.as(promise).then(undefined, err => { }); // !ignores all errors
return TPromise.as(promise);
}
}