Path: blob/main/extensions/copilot/src/extension/inlineEdits/node/nextEditResult.ts
13399 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import type { Command } from 'vscode';6import { DocumentId } from '../../../platform/inlineEdits/common/dataTypes/documentId';7import { StringReplacement } from '../../../util/vs/editor/common/core/edits/stringEdit';8import { Position } from '../../../util/vs/editor/common/core/position';9import { Range } from '../../../util/vs/editor/common/core/range';10import { StringText } from '../../../util/vs/editor/common/core/text/abstractText';11import type { CachedEdit } from './nextEditCache';12import { NextEditFetchRequest } from './nextEditProvider';1314export interface INextEditDisplayLocation {15range: Range;16label: string;17}1819export interface INextEditResult {20requestId: number;21result: {22edit?: StringReplacement;23displayLocation?: INextEditDisplayLocation;24targetDocumentId?: DocumentId;25isFromCursorJump?: boolean;26} | undefined;27}2829export class NextEditResult implements INextEditResult {30constructor(31public readonly requestId: number,32public readonly source: NextEditFetchRequest,33public readonly result: {34edit?: StringReplacement;35documentBeforeEdits: StringText;36displayLocation?: INextEditDisplayLocation;37targetDocumentId?: DocumentId;38action?: Command;39isFromCursorJump: boolean;40jumpToPosition?: Position;41isSubsequentEdit: boolean;42/**43* Reference to the underlying cache entry, when this result was either44* served from the cache or freshly produced and immediately cached.45* Consumers can use this to read/write per-entry flags such as46* {@link CachedEdit.wasRenderedAsInlineSuggestion}.47*/48cacheEntry?: CachedEdit;49} | undefined,50) { }51}525354