Skip to content

Commit 2457fc9

Browse files
committed
Remove distinct code completion preset management to streamline preset selection
1 parent fc1746b commit 2457fc9

12 files changed

Lines changed: 11 additions & 173 deletions

File tree

packages/ui/src/components/editor/Presets/Presets.module.scss

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,6 @@
5252
}
5353
}
5454

55-
&--disabled {
56-
cursor: not-allowed;
57-
}
58-
5955
&__left {
6056
display: flex;
6157
align-items: center;
@@ -76,10 +72,6 @@
7672
&--selected > svg {
7773
fill: var(--vscode-textLink-foreground);
7874
}
79-
80-
&--disabled {
81-
opacity: var(--disabled-opacity);
82-
}
8375
}
8476

8577
&__text {

packages/ui/src/components/editor/Presets/Presets.tsx

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@ export namespace Presets {
2323
is_disabled: boolean
2424
on_preset_click: (name: string) => void
2525
selected_presets: string[]
26-
selected_code_completion_presets: string[]
2726
on_create_preset: () => void
28-
is_in_code_completions_mode: boolean
2927
on_preset_copy: (name: string) => void
3028
on_presets_reorder: (reordered_presets: Preset[]) => void
3129
on_preset_edit: (name: string) => void
@@ -99,9 +97,6 @@ export const Presets: React.FC<Presets.Props> = (props) => {
9997
handle={`.${styles.presets__item__right__drag_handle}`}
10098
>
10199
{props.presets.map((preset, i) => {
102-
const is_disabled_in_code_completion_mode =
103-
props.is_in_code_completions_mode && preset.has_affixes
104-
105100
const is_unnamed =
106101
!preset.name || /^\(\d+\)$/.test(preset.name.trim())
107102
const display_name = is_unnamed ? preset.chatbot : preset.name
@@ -129,45 +124,26 @@ export const Presets: React.FC<Presets.Props> = (props) => {
129124
key={i}
130125
className={cn(styles.presets__item, {
131126
[styles['presets__item--highlighted']]:
132-
highlighted_preset_name == preset.name,
133-
[styles['presets__item--disabled']]:
134-
is_disabled_in_code_completion_mode
127+
highlighted_preset_name == preset.name
135128
})}
136129
onClick={() => {
137-
if (is_disabled_in_code_completion_mode) return
138130
props.on_preset_click(preset.name)
139131
set_highlighted_preset_name(preset.name)
140132
}}
141133
role="button"
142-
title={
143-
is_disabled_in_code_completion_mode
144-
? `${display_name} (Presets with prompt prefix or suffix are unaviailable for code completions)`
145-
: display_name
146-
}
134+
title={display_name}
147135
>
148136
<div className={styles.presets__item__left}>
149137
<ChatbotIcon
150138
chatbot={preset.chatbot}
151-
is_selected={
152-
!props.is_in_code_completions_mode
153-
? props.selected_presets.includes(preset.name)
154-
: props.selected_code_completion_presets.includes(
155-
preset.name
156-
)
157-
}
158-
is_disabled={is_disabled_in_code_completion_mode}
139+
is_selected={props.selected_presets.includes(preset.name)}
140+
is_disabled={false}
159141
/>
160142

161143
<div
162144
className={cn(styles.presets__item__left__text, {
163145
[styles['presets__item__left__text--selected']]:
164-
!props.is_in_code_completions_mode
165-
? props.selected_presets.includes(preset.name)
166-
: props.selected_code_completion_presets.includes(
167-
preset.name
168-
),
169-
[styles['presets__item__left__text--disabled']]:
170-
is_disabled_in_code_completion_mode
146+
props.selected_presets.includes(preset.name)
171147
})}
172148
>
173149
<span>{display_name}</span>

packages/vscode/src/view/backend/message-handlers/handle-delete-preset.ts

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -87,24 +87,6 @@ export const handle_delete_preset = async (
8787
names: updated_selected
8888
})
8989
}
90-
91-
const selected_fim_names = provider.context.globalState.get<string[]>(
92-
'selectedCodeCompletionPresets',
93-
[]
94-
)
95-
if (selected_fim_names.includes(preset_name)) {
96-
const updated_selected = selected_fim_names.filter(
97-
(n) => n != preset_name
98-
)
99-
await provider.context.globalState.update(
100-
'selectedCodeCompletionPresets',
101-
updated_selected
102-
)
103-
provider.send_message<ExtensionMessage>({
104-
command: 'SELECTED_CODE_COMPLETION_PRESETS',
105-
names: updated_selected
106-
})
107-
}
10890
} catch (error) {
10991
vscode.window.showErrorMessage(`Failed to delete preset: ${error}`)
11092
}

packages/vscode/src/view/backend/message-handlers/handle-duplicate-preset.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export const handle_duplicate_preset = async (
4040
? `${base_for_duplication} (${copy_number})`
4141
: `(${copy_number})`
4242

43-
while (current_presets.some((p) => p.name === new_name)) {
43+
while (current_presets.some((p) => p.name == new_name)) {
4444
copy_number++
4545
new_name = base_for_duplication
4646
? `${base_for_duplication} (${copy_number})`

packages/vscode/src/view/backend/message-handlers/handle-get-selected-code-completion-presets.ts

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

packages/vscode/src/view/backend/message-handlers/handle-show-preset-picker.ts

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,9 @@ export const handle_show_preset_picker = async (
8282
selected_names
8383
)
8484

85-
if (provider.web_mode == 'code-completions') {
86-
provider.send_message<ExtensionMessage>({
87-
command: 'SELECTED_CODE_COMPLETION_PRESETS',
88-
names: selected_names
89-
})
90-
} else {
91-
provider.send_message<ExtensionMessage>({
92-
command: 'SELECTED_PRESETS',
93-
names: selected_names
94-
})
95-
}
85+
provider.send_message<ExtensionMessage>({
86+
command: 'SELECTED_PRESETS',
87+
names: selected_names
88+
})
9689
}
9790
}

packages/vscode/src/view/backend/message-handlers/handle-update-preset.ts

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { ViewProvider } from '@/view/backend/view-provider'
33
import {
44
ExtensionMessage,
55
SelectedPresetsMessage,
6-
SelectedCodeCompletionPresetsMessage,
76
UpdatePresetMessage
87
} from '@/view/types/messages'
98
import { Preset } from '@shared/types/preset'
@@ -148,49 +147,6 @@ export const handle_update_preset = async (
148147
})
149148
}
150149

151-
// Handle selected code completion presets
152-
const selected_fim_names = provider.context.globalState.get<string[]>(
153-
'selectedCodeCompletionPresets',
154-
[]
155-
)
156-
const was_in_selected_fim = selected_fim_names.includes(
157-
message.updating_preset.name
158-
)
159-
160-
if (was_in_selected_fim) {
161-
// Check if preset now has prefix or suffix (making it ineligible for FIM)
162-
const has_affixes =
163-
updated_ui_preset.prompt_prefix || updated_ui_preset.prompt_suffix
164-
165-
if (has_affixes) {
166-
// Remove from selected FIM presets
167-
const updated_selected_fim = selected_fim_names.filter(
168-
(name) => name !== message.updating_preset.name
169-
)
170-
await provider.context.globalState.update(
171-
'selectedCodeCompletionPresets',
172-
updated_selected_fim
173-
)
174-
provider.send_message<SelectedCodeCompletionPresetsMessage>({
175-
command: 'SELECTED_CODE_COMPLETION_PRESETS',
176-
names: updated_selected_fim
177-
})
178-
} else if (final_name != message.updating_preset.name) {
179-
// Just update the name if it changed but still no affixes
180-
const updated_selected_fim = selected_fim_names.map((name) =>
181-
name == message.updating_preset.name ? final_name : name
182-
)
183-
await provider.context.globalState.update(
184-
'selectedCodeCompletionPresets',
185-
updated_selected_fim
186-
)
187-
provider.send_message<SelectedCodeCompletionPresetsMessage>({
188-
command: 'SELECTED_CODE_COMPLETION_PRESETS',
189-
names: updated_selected_fim
190-
})
191-
}
192-
}
193-
194150
provider.send_presets_to_webview(webview_view.webview)
195151
provider.send_message<ExtensionMessage>({
196152
command: 'PRESET_UPDATED'

packages/vscode/src/view/backend/message-handlers/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ export * from './handle-get-code-completions-mode'
66
export * from './handle-get-connection-status'
77
export * from './handle-get-history'
88
export * from './handle-get-instructions'
9-
export * from './handle-get-selected-code-completion-presets'
109
export * from './handle-get-selected-presets'
1110
export * from './handle-preview-preset'
1211
export * from './handle-request-editor-selection-state'

packages/vscode/src/view/backend/view-provider.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import {
2929
handle_show_history_quick_pick,
3030
handle_save_presets_order,
3131
handle_get_selected_presets,
32-
handle_get_selected_code_completion_presets,
3332
handle_get_connection_status,
3433
handle_get_history,
3534
handle_save_history,
@@ -348,17 +347,6 @@ export class ViewProvider implements vscode.WebviewViewProvider {
348347
'selectedPresets',
349348
message.names
350349
)
351-
} else if (
352-
message.command == 'GET_SELECTED_CODE_COMPLETION_PRESETS'
353-
) {
354-
handle_get_selected_code_completion_presets(this)
355-
} else if (
356-
message.command == 'SAVE_SELECTED_CODE_COMPLETION_PRESETS'
357-
) {
358-
await this.context.globalState.update(
359-
'selectedCodeCompletionPresets',
360-
message.names
361-
)
362350
} else if (message.command == 'SEND_PROMPT') {
363351
await handle_send_prompt(this, message.preset_names)
364352
} else if (message.command == 'PREVIEW_PRESET') {

packages/vscode/src/view/frontend/home/Home.tsx

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ export const Home: React.FC<Props> = (props) => {
2828
const [is_connected, set_is_connected] = useState<boolean>()
2929
const [presets, set_presets] = useState<Preset[]>()
3030
const [selected_presets, set_selected_presets] = useState<string[]>([])
31-
const [
32-
selected_code_completion_presets,
33-
set_selected_code_completion_presets
34-
] = useState<string[]>([])
3531
const [has_active_editor, set_has_active_editor] = useState<boolean>()
3632
const [has_active_selection, set_has_active_selection] = useState<boolean>()
3733
const [ask_history, set_ask_history] = useState<string[]>()
@@ -66,9 +62,6 @@ export const Home: React.FC<Props> = (props) => {
6662
case 'SELECTED_PRESETS':
6763
set_selected_presets(message.names)
6864
break
69-
case 'SELECTED_CODE_COMPLETION_PRESETS':
70-
set_selected_code_completion_presets(message.names)
71-
break
7265
case 'PRESETS_SELECTED_FROM_PICKER':
7366
set_selected_presets(message.names)
7467
break
@@ -125,7 +118,6 @@ export const Home: React.FC<Props> = (props) => {
125118
{ command: 'GET_CONNECTION_STATUS' },
126119
{ command: 'GET_PRESETS' },
127120
{ command: 'GET_SELECTED_PRESETS' },
128-
{ command: 'GET_SELECTED_CODE_COMPLETION_PRESETS' },
129121
{ command: 'REQUEST_EDITOR_STATE' },
130122
{ command: 'REQUEST_EDITOR_SELECTION_STATE' },
131123
{ command: 'GET_HISTORY' },
@@ -461,7 +453,6 @@ export const Home: React.FC<Props> = (props) => {
461453
is_connected={is_connected}
462454
presets={presets}
463455
selected_presets={selected_presets}
464-
selected_code_completion_presets={selected_code_completion_presets}
465456
on_create_preset={handle_create_preset}
466457
on_quick_action_click={handle_quick_action_click}
467458
has_active_editor={has_active_editor}

0 commit comments

Comments
 (0)