diff --git a/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.ts b/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.ts index 1782bf81f50..79a6481ef75 100644 --- a/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.ts +++ b/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.ts @@ -11,7 +11,6 @@ import { Codicon } from '../../../../base/common/codicons.js'; import { IDisposable } from '../../../../base/common/lifecycle.js'; import { Mimes } from '../../../../base/common/mime.js'; import { basename, joinPath } from '../../../../base/common/resources.js'; -import { Mutable } from '../../../../base/common/types.js'; import { URI } from '../../../../base/common/uri.js'; import { IRange } from '../../../../editor/common/core/range.js'; import { SymbolKinds } from '../../../../editor/common/languages.js'; @@ -375,19 +374,11 @@ export class ChatDragAndDrop extends Themable { private resolveMarkerAttachContext(markers: MarkerTransferData[]): IDiagnosticVariableEntry[] { return markers.map((marker): IDiagnosticVariableEntry => { - const filter: Mutable = {}; + let filter: IDiagnosticVariableEntryFilterData; if (!('severity' in marker)) { - filter.filterUri = URI.revive(marker.uri); - filter.filterSeverity = MarkerSeverity.Warning; + filter = { filterUri: URI.revive(marker.uri), filterSeverity: MarkerSeverity.Warning }; } else { - filter.filterUri = URI.revive(marker.resource); - filter.filterSeverity = marker.severity; - filter.filterRange = { - startLineNumber: marker.startLineNumber, - startColumn: marker.startColumn, - endLineNumber: marker.endLineNumber, - endColumn: marker.endColumn - }; + filter = IDiagnosticVariableEntryFilterData.fromMarker(marker); } return { diff --git a/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.ts b/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.ts index bfcb3530152..cea38753107 100644 --- a/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.ts +++ b/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.ts @@ -673,7 +673,7 @@ export async function createMarkersQuickPick(accessor: ServicesAccessor, onBackg resource: marker.resource, label: marker.message, description: localize('markers.panel.at.ln.col.number', "[Ln {0}, Col {1}]", '' + marker.startLineNumber, '' + marker.startColumn), - entry: { filterUri: marker.resource, filterRange: { startLineNumber: marker.startLineNumber, endLineNumber: marker.endLineNumber, startColumn: marker.startColumn, endColumn: marker.endColumn } } + entry: IDiagnosticVariableEntryFilterData.fromMarker(marker), }); } diff --git a/src/vs/workbench/contrib/chat/common/chatModel.ts b/src/vs/workbench/contrib/chat/common/chatModel.ts index 38f177f8153..1e6dcc3d6f0 100644 --- a/src/vs/workbench/contrib/chat/common/chatModel.ts +++ b/src/vs/workbench/contrib/chat/common/chatModel.ts @@ -22,7 +22,7 @@ import { IRange } from '../../../../editor/common/core/range.js'; import { Location, SymbolKind, TextEdit } from '../../../../editor/common/languages.js'; import { localize } from '../../../../nls.js'; import { ILogService } from '../../../../platform/log/common/log.js'; -import { MarkerSeverity } from '../../../../platform/markers/common/markers.js'; +import { IMarker, MarkerSeverity } from '../../../../platform/markers/common/markers.js'; import { CellUri, ICellEditOperation } from '../../notebook/common/notebookCommon.js'; import { ChatAgentLocation, IChatAgentCommand, IChatAgentData, IChatAgentResult, IChatAgentService, IChatWelcomeMessageContent, reviveSerializedAgent } from './chatAgents.js'; import { ChatRequestTextPart, IParsedChatRequest, reviveParsedChatRequest } from './chatParserTypes.js'; @@ -95,6 +95,8 @@ export interface IImageVariableEntry extends Omit