Skip to content

Commit 796eeff

Browse files
authored
move prompt file actions under vs/workbench/contrib/chat/browser/promptSyntax (microsoft#250836)
* Move promptfile actions/pickers under workbench/contrib/chat/browser/promptSyntax * fix * renames
1 parent 5457a12 commit 796eeff

File tree

17 files changed

+216
-518
lines changed

17 files changed

+216
-518
lines changed

src/vs/workbench/contrib/chat/browser/actions/chatContext.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { IToolData, ToolDataSource, ToolSet } from '../../common/languageModelTo
2828
import { IChatWidget } from '../chat.js';
2929
import { imageToHash, isImage } from '../chatPasteProviders.js';
3030
import { convertBufferToScreenshotVariable } from '../contrib/screenshot.js';
31-
import { ChatInstructionsPickerPick } from './promptActions/chatAttachInstructionsAction.js';
31+
import { ChatInstructionsPickerPick } from '../promptSyntax/attachInstructionsAction.js';
3232

3333

3434
export class ChatContextContributions extends Disposable implements IWorkbenchContribution {

src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ import { IChatWidget, IChatWidgetService, IQuickChatService, showChatView } from
4343
import { IChatContextPickerItem, IChatContextPickService, IChatContextValueItem, isChatContextPickerPickItem } from '../chatContextPickService.js';
4444
import { isQuickChat } from '../chatWidget.js';
4545
import { resizeImage } from '../imageUtils.js';
46+
import { registerPromptActions } from '../promptSyntax/promptFileActions.js';
4647
import { CHAT_CATEGORY } from './chatActions.js';
47-
import { registerPromptActions } from './promptActions/index.js';
4848

4949
export function registerChatContextActions() {
5050
registerAction2(AttachContextAction);

src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.ts

Lines changed: 0 additions & 91 deletions
This file was deleted.

src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/detachPrompt.ts

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.ts

Lines changed: 0 additions & 54 deletions
This file was deleted.

src/vs/workbench/contrib/chat/browser/chat.contribution.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ import { registerQuickChatActions } from './actions/chatQuickInputActions.js';
7373
import { registerChatTitleActions } from './actions/chatTitleActions.js';
7474
import { registerChatToolActions } from './actions/chatToolActions.js';
7575
import { ChatTransferContribution } from './actions/chatTransfer.js';
76-
import { SAVE_TO_PROMPT_SLASH_COMMAND_NAME, runSaveToPromptAction } from './actions/promptActions/chatSaveToPromptAction.js';
7776
import { IChatAccessibilityService, IChatCodeBlockContextProviderService, IChatWidgetService, IQuickChatService } from './chat.js';
7877
import { ChatAccessibilityService } from './chatAccessibilityService.js';
7978
import './chatAttachmentModel.js';
@@ -105,12 +104,12 @@ import './contrib/chatInputEditorContrib.js';
105104
import './contrib/chatInputEditorHover.js';
106105
import { ChatRelatedFilesContribution } from './contrib/chatInputRelatedFilesContrib.js';
107106
import { LanguageModelToolsService } from './languageModelToolsService.js';
108-
import './promptSyntax/contributions/createPromptCommand/createPromptCommand.js';
109107
import { ChatViewsWelcomeHandler } from './viewsWelcome/chatViewsWelcomeHandler.js';
110108
import { registerAction2 } from '../../../../platform/actions/common/actions.js';
111109
import product from '../../../../platform/product/common/product.js';
112110
import { ChatModeService, IChatModeService } from '../common/chatModes.js';
113111
import { ChatResponseResourceFileSystemProvider } from '../common/chatResponseResourceFileSystemProvider.js';
112+
import { runSaveToPromptAction, SAVE_TO_PROMPT_SLASH_COMMAND_NAME } from './promptSyntax/saveToPromptAction.js';
114113

115114
// Register configuration
116115
const configurationRegistry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration);
Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,33 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { ChatViewId, IChatWidget, IChatWidgetService } from '../../chat.js';
7-
import { CHAT_CATEGORY } from '../chatActions.js';
8-
import { URI } from '../../../../../../base/common/uri.js';
9-
import { localize, localize2 } from '../../../../../../nls.js';
10-
import { ChatContextKeys } from '../../../common/chatContextKeys.js';
11-
import { assertDefined } from '../../../../../../base/common/types.js';
12-
import { IPromptsService } from '../../../common/promptSyntax/service/types.js';
13-
import { PromptsConfig } from '../../../../../../platform/prompts/common/config.js';
14-
import { IViewsService } from '../../../../../services/views/common/viewsService.js';
15-
import { PromptFilePickers } from './dialogs/askToSelectPrompt/promptFilePickers.js';
16-
import { ServicesAccessor } from '../../../../../../editor/browser/editorExtensions.js';
17-
import { ICommandService } from '../../../../../../platform/commands/common/commands.js';
18-
import { ContextKeyExpr } from '../../../../../../platform/contextkey/common/contextkey.js';
19-
import { Action2, MenuId, registerAction2 } from '../../../../../../platform/actions/common/actions.js';
20-
import { IInstantiationService } from '../../../../../../platform/instantiation/common/instantiation.js';
21-
import { attachInstructionsFiles, IAttachOptions } from './dialogs/askToSelectPrompt/utils/attachInstructions.js';
22-
import { ChatContextPick, IChatContextPickerItem, IChatContextPickerPickItem } from '../../chatContextPickService.js';
23-
import { IQuickPickSeparator } from '../../../../../../platform/quickinput/common/quickInput.js';
24-
import { Codicon } from '../../../../../../base/common/codicons.js';
25-
import { getCleanPromptName, PromptsType } from '../../../../../../platform/prompts/common/prompts.js';
26-
import { compare } from '../../../../../../base/common/strings.js';
27-
import { ILabelService } from '../../../../../../platform/label/common/label.js';
28-
import { dirname } from '../../../../../../base/common/resources.js';
29-
import { IPromptFileVariableEntry } from '../../../common/chatModel.js';
30-
import { KeyMod, KeyCode } from '../../../../../../base/common/keyCodes.js';
31-
import { KeybindingWeight } from '../../../../../../platform/keybinding/common/keybindingsRegistry.js';
32-
import { ICodeEditorService } from '../../../../../../editor/browser/services/codeEditorService.js';
33-
import { INSTRUCTIONS_LANGUAGE_ID } from '../../../common/promptSyntax/constants.js';
34-
import { CancellationToken } from '../../../../../../base/common/cancellation.js';
35-
import { IOpenerService } from '../../../../../../platform/opener/common/opener.js';
6+
import { ChatViewId, IChatWidget, IChatWidgetService, showChatView } from '../chat.js';
7+
import { CHAT_CATEGORY } from '../actions/chatActions.js';
8+
import { URI } from '../../../../../base/common/uri.js';
9+
import { localize, localize2 } from '../../../../../nls.js';
10+
import { ChatContextKeys } from '../../common/chatContextKeys.js';
11+
import { IPromptsService } from '../../common/promptSyntax/service/types.js';
12+
import { PromptsConfig } from '../../../../../platform/prompts/common/config.js';
13+
import { IViewsService } from '../../../../services/views/common/viewsService.js';
14+
import { PromptFilePickers } from './pickers/promptFilePickers.js';
15+
import { ServicesAccessor } from '../../../../../editor/browser/editorExtensions.js';
16+
import { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js';
17+
import { Action2, MenuId, registerAction2 } from '../../../../../platform/actions/common/actions.js';
18+
import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
19+
import { ChatContextPick, IChatContextPickerItem, IChatContextPickerPickItem } from '../chatContextPickService.js';
20+
import { IQuickPickSeparator } from '../../../../../platform/quickinput/common/quickInput.js';
21+
import { Codicon } from '../../../../../base/common/codicons.js';
22+
import { getCleanPromptName, PromptsType } from '../../../../../platform/prompts/common/prompts.js';
23+
import { compare } from '../../../../../base/common/strings.js';
24+
import { ILabelService } from '../../../../../platform/label/common/label.js';
25+
import { dirname } from '../../../../../base/common/resources.js';
26+
import { IPromptFileVariableEntry } from '../../common/chatModel.js';
27+
import { KeyMod, KeyCode } from '../../../../../base/common/keyCodes.js';
28+
import { KeybindingWeight } from '../../../../../platform/keybinding/common/keybindingsRegistry.js';
29+
import { ICodeEditorService } from '../../../../../editor/browser/services/codeEditorService.js';
30+
import { INSTRUCTIONS_LANGUAGE_ID } from '../../common/promptSyntax/constants.js';
31+
import { CancellationToken } from '../../../../../base/common/cancellation.js';
32+
import { IOpenerService } from '../../../../../platform/opener/common/opener.js';
3633

3734
/**
3835
* Action ID for the `Attach Instruction` action.
@@ -100,7 +97,6 @@ class AttachInstructionsAction extends Action2 {
10097
options?: IAttachInstructionsActionOptions,
10198
): Promise<void> {
10299
const viewsService = accessor.get(IViewsService);
103-
const commandService = accessor.get(ICommandService);
104100
const instaService = accessor.get(IInstantiationService);
105101

106102
if (!options) {
@@ -114,25 +110,15 @@ class AttachInstructionsAction extends Action2 {
114110

115111
const { skipSelectionDialog, resource } = options;
116112

117-
const attachOptions: IAttachOptions = {
118-
widget: options.widget,
119-
viewsService,
120-
commandService,
121-
};
122-
123-
if (skipSelectionDialog) {
124-
assertDefined(
125-
resource,
126-
'Resource must be defined when skipping prompt selection dialog.',
127-
);
128113

129-
const widget = await attachInstructionsFiles(
130-
[resource],
131-
attachOptions,
132-
);
114+
const widget = options.widget ?? (await showChatView(viewsService));
115+
if (!widget) {
116+
return;
117+
}
133118

119+
if (skipSelectionDialog && resource) {
120+
widget.attachmentModel.promptInstructions.add(resource);
134121
widget.focusInput();
135-
136122
return;
137123
}
138124

@@ -144,10 +130,7 @@ class AttachInstructionsAction extends Action2 {
144130
const result = await pickers.selectPromptFile({ resource, placeholder, type: PromptsType.instructions });
145131

146132
if (result !== undefined) {
147-
const widget = await attachInstructionsFiles(
148-
[result.promptFile],
149-
attachOptions,
150-
);
133+
widget.attachmentModel.promptInstructions.add(result.promptFile);
151134
widget.focusInput();
152135
}
153136
}

src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.ts renamed to src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { CHAT_CATEGORY } from '../chatActions.js';
7-
import { Codicon } from '../../../../../../base/common/codicons.js';
8-
import { ChatContextKeys } from '../../../common/chatContextKeys.js';
9-
import { localize, localize2 } from '../../../../../../nls.js';
10-
import { PromptsConfig } from '../../../../../../platform/prompts/common/config.js';
11-
import { PromptFilePickers } from './dialogs/askToSelectPrompt/promptFilePickers.js';
12-
import { ServicesAccessor } from '../../../../../../editor/browser/editorExtensions.js';
13-
import { ContextKeyExpr } from '../../../../../../platform/contextkey/common/contextkey.js';
14-
import { Action2, MenuId, registerAction2 } from '../../../../../../platform/actions/common/actions.js';
15-
import { IInstantiationService } from '../../../../../../platform/instantiation/common/instantiation.js';
16-
import { PromptsType } from '../../../../../../platform/prompts/common/prompts.js';
17-
import { IOpenerService } from '../../../../../../platform/opener/common/opener.js';
18-
import { ChatViewId } from '../../chat.js';
6+
import { CHAT_CATEGORY } from '../actions/chatActions.js';
7+
import { Codicon } from '../../../../../base/common/codicons.js';
8+
import { ChatContextKeys } from '../../common/chatContextKeys.js';
9+
import { localize, localize2 } from '../../../../../nls.js';
10+
import { PromptsConfig } from '../../../../../platform/prompts/common/config.js';
11+
import { PromptFilePickers } from './pickers/promptFilePickers.js';
12+
import { ServicesAccessor } from '../../../../../editor/browser/editorExtensions.js';
13+
import { ContextKeyExpr } from '../../../../../platform/contextkey/common/contextkey.js';
14+
import { Action2, MenuId, registerAction2 } from '../../../../../platform/actions/common/actions.js';
15+
import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
16+
import { PromptsType } from '../../../../../platform/prompts/common/prompts.js';
17+
import { IOpenerService } from '../../../../../platform/opener/common/opener.js';
18+
import { ChatViewId } from '../chat.js';
1919

2020
/**
2121
* Action ID for the `Configure Custom Chat Mode` action.

0 commit comments

Comments
 (0)