提交 dbc44c99 编写于 作者: J Johannes Rieken

move rejectReason into its own type, #58394

上级 b385bb8f
...@@ -938,16 +938,18 @@ export interface ResourceTextEdit { ...@@ -938,16 +938,18 @@ export interface ResourceTextEdit {
export interface WorkspaceEdit { export interface WorkspaceEdit {
edits: Array<ResourceTextEdit | ResourceFileEdit>; edits: Array<ResourceTextEdit | ResourceFileEdit>;
rejectReason?: string; // TODO@joh, move to rename
} }
export interface Rejection {
rejectReason?: string; // TODO@joh, move to rename
}
export interface RenameLocation { export interface RenameLocation {
range: IRange; range: IRange;
text: string; text: string;
} }
export interface RenameProvider { export interface RenameProvider {
provideRenameEdits(model: model.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit>; provideRenameEdits(model: model.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
resolveRenameLocation?(model: model.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation>; resolveRenameLocation?(model: model.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation>;
} }
......
...@@ -18,7 +18,7 @@ import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; ...@@ -18,7 +18,7 @@ import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import RenameInputField from './renameInputField'; import RenameInputField from './renameInputField';
import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IThemeService } from 'vs/platform/theme/common/themeService';
import { WorkspaceEdit, RenameProviderRegistry, RenameProvider, RenameLocation } from 'vs/editor/common/modes'; import { WorkspaceEdit, RenameProviderRegistry, RenameProvider, RenameLocation, Rejection } from 'vs/editor/common/modes';
import { Position, IPosition } from 'vs/editor/common/core/position'; import { Position, IPosition } from 'vs/editor/common/core/position';
import { alert } from 'vs/base/browser/ui/aria/aria'; import { alert } from 'vs/base/browser/ui/aria/aria';
import { Range } from 'vs/editor/common/core/range'; import { Range } from 'vs/editor/common/core/range';
...@@ -68,7 +68,7 @@ class RenameSkeleton { ...@@ -68,7 +68,7 @@ class RenameSkeleton {
return res; return res;
} }
async provideRenameEdits(newName: string, i: number = 0, rejects: string[] = [], token: CancellationToken): Promise<WorkspaceEdit> { async provideRenameEdits(newName: string, i: number = 0, rejects: string[] = [], token: CancellationToken): Promise<WorkspaceEdit & Rejection> {
if (i >= this._provider.length) { if (i >= this._provider.length) {
return { return {
...@@ -88,7 +88,7 @@ class RenameSkeleton { ...@@ -88,7 +88,7 @@ class RenameSkeleton {
} }
} }
export async function rename(model: ITextModel, position: Position, newName: string): Promise<WorkspaceEdit> { export async function rename(model: ITextModel, position: Position, newName: string): Promise<WorkspaceEdit & Rejection> {
return new RenameSkeleton(model, position).provideRenameEdits(newName, undefined, undefined, CancellationToken.None); return new RenameSkeleton(model, position).provideRenameEdits(newName, undefined, undefined, CancellationToken.None);
} }
......
...@@ -5310,6 +5310,9 @@ declare namespace monaco.languages { ...@@ -5310,6 +5310,9 @@ declare namespace monaco.languages {
export interface WorkspaceEdit { export interface WorkspaceEdit {
edits: Array<ResourceTextEdit | ResourceFileEdit>; edits: Array<ResourceTextEdit | ResourceFileEdit>;
}
export interface Rejection {
rejectReason?: string; rejectReason?: string;
} }
...@@ -5319,7 +5322,7 @@ declare namespace monaco.languages { ...@@ -5319,7 +5322,7 @@ declare namespace monaco.languages {
} }
export interface RenameProvider { export interface RenameProvider {
provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit>; provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation>; resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation>;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册