mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-21 02:01:43 -05:00
@@ -9,7 +9,7 @@ import { Separator } from '../../../../../../base/common/actions.js';
|
||||
import { asArray } from '../../../../../../base/common/arrays.js';
|
||||
import { Codicon } from '../../../../../../base/common/codicons.js';
|
||||
import { ErrorNoTelemetry } from '../../../../../../base/common/errors.js';
|
||||
import { MarkdownString, type IMarkdownString } from '../../../../../../base/common/htmlContent.js';
|
||||
import { createCommandUri, MarkdownString, type IMarkdownString } from '../../../../../../base/common/htmlContent.js';
|
||||
import { thenIfNotDisposed, thenRegisterOrDispose } from '../../../../../../base/common/lifecycle.js';
|
||||
import { Schemas } from '../../../../../../base/common/network.js';
|
||||
import Severity from '../../../../../../base/common/severity.js';
|
||||
@@ -41,6 +41,7 @@ import { ChatCustomConfirmationWidget, IChatConfirmationButton } from '../chatCo
|
||||
import { IChatContentPartRenderContext } from '../chatContentParts.js';
|
||||
import { ChatMarkdownContentPart, EditorPool } from '../chatMarkdownContentPart.js';
|
||||
import { BaseChatToolInvocationSubPart } from './chatToolInvocationSubPart.js';
|
||||
import { openTerminalSettingsLinkCommandId } from './chatTerminalToolProgressPart.js';
|
||||
|
||||
export const enum TerminalToolConfirmationStorageKeys {
|
||||
TerminalAutoApproveWarningAccepted = 'chat.tools.terminal.autoApprove.warningAccepted'
|
||||
@@ -269,13 +270,19 @@ export class ChatTerminalToolConfirmationSubPart extends BaseChatToolInvocationS
|
||||
await this.configurationService.updateValue(TerminalContribSettingId.AutoApprove, newValue, ConfigurationTarget.USER);
|
||||
function formatRuleLinks(newRules: ITerminalNewAutoApproveRule[]): string {
|
||||
return newRules.map(e => {
|
||||
return `[\`${e.key}\`](settings_${ConfigurationTarget.USER} "${localize('ruleTooltip', 'View rule in settings')}")`;
|
||||
const settingsUri = createCommandUri(openTerminalSettingsLinkCommandId, ConfigurationTarget.USER);
|
||||
return `[\`${e.key}\`](${settingsUri.toString()} "${localize('ruleTooltip', 'View rule in settings')}")`;
|
||||
}).join(', ');
|
||||
}
|
||||
const mdTrustSettings = {
|
||||
isTrusted: {
|
||||
enabledCommands: [openTerminalSettingsLinkCommandId]
|
||||
}
|
||||
};
|
||||
if (newRules.length === 1) {
|
||||
terminalData.autoApproveInfo = new MarkdownString(`_${localize('newRule', 'Auto approve rule {0} added', formatRuleLinks(newRules))}_`);
|
||||
terminalData.autoApproveInfo = new MarkdownString(`_${localize('newRule', 'Auto approve rule {0} added', formatRuleLinks(newRules))}_`, mdTrustSettings);
|
||||
} else if (newRules.length > 1) {
|
||||
terminalData.autoApproveInfo = new MarkdownString(`_${localize('newRule.plural', 'Auto approve rules {0} added', formatRuleLinks(newRules))}_`);
|
||||
terminalData.autoApproveInfo = new MarkdownString(`_${localize('newRule.plural', 'Auto approve rules {0} added', formatRuleLinks(newRules))}_`, mdTrustSettings);
|
||||
}
|
||||
toolConfirmKind = ToolConfirmKind.UserAction;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user