173
174
private tryToParseVariable(message: string, offset: number, position: IPosition, parts: ReadonlyArray<IParsedChatRequestPart>, toolsByName: ReadonlyMap<string, IToolData>, toolSetsByName: ReadonlyMap<string, IToolSet>): ChatRequestToolPart | ChatRequestToolSetPart | undefined {
176
>
if (!nextVariableMatch) {
177
return;
178
}
180
>
const [full, name] = nextVariableMatch;
181
>
const varRange = new OffsetRange(offset, offset + full.length);
182
>
const varEditorRange = new Range(position.lineNumber, position.column, position.lineNumber, position.column + full.length);
183
>
184
>
const tool = toolsByName.get(name);
185
>
if (tool) {
186
return new ChatRequestToolPart(varRange, varEditorRange, name, tool.id, tool.displayName, tool.icon);
187
}