diff --git a/src/vs/editor/contrib/rename/browser/rename.ts b/src/vs/editor/contrib/rename/browser/rename.ts index 7eef331e345..e04bf9fbaf7 100644 --- a/src/vs/editor/contrib/rename/browser/rename.ts +++ b/src/vs/editor/contrib/rename/browser/rename.ts @@ -6,7 +6,7 @@ 'use strict'; import * as nls from 'vs/nls'; -import { isPromiseCanceledError, onUnexpectedExternalError, illegalArgument } from 'vs/base/common/errors'; +import { isPromiseCanceledError, illegalArgument } from 'vs/base/common/errors'; import { KeyMod, KeyCode } from 'vs/base/common/keyCodes'; import Severity from 'vs/base/common/severity'; import { TPromise } from 'vs/base/common/winjs.base'; @@ -52,9 +52,6 @@ export function rename(model: IReadOnlyModel, position: Position, newName: strin rejects.push(result.rejectReason); } return undefined; - }, err => { - onUnexpectedExternalError(err); - return TPromise.wrapError(new Error('provider failed')); }); } return undefined; @@ -154,7 +151,7 @@ class RenameController implements IEditorContribution { const renameOperation = rename(this.editor.getModel(), this.editor.getPosition(), newName).then(result => { if (result.rejectReason) { - this._messageService.show(Severity.Error, result.rejectReason); + this._messageService.show(Severity.Info, result.rejectReason); return undefined; } edit.add(result.edits); diff --git a/src/vs/workbench/api/node/extHostLanguageFeatures.ts b/src/vs/workbench/api/node/extHostLanguageFeatures.ts index d45f5d6b3bf..b2fd9b556e1 100644 --- a/src/vs/workbench/api/node/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/node/extHostLanguageFeatures.ts @@ -460,8 +460,15 @@ class RenameAdapter { edits: undefined, rejectReason: err }; + } else if (err instanceof Error && typeof err.message === 'string') { + return { + edits: undefined, + rejectReason: err.message + }; + } else { + // generic error + return TPromise.wrapError(err); } - return TPromise.wrapError(err); }); } }