Skip to content

Commit d8aead7

Browse files
committed
Refactor the ViewProvider class to PanelProvider across the codebase to improve naming consistency
1 parent 6f05c67 commit d8aead7

54 files changed

Lines changed: 202 additions & 202 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<a href="https://marketplace.visualstudio.com/items?itemName=robertpiosik.gemini-coder" target="_blank"><img src="https://img.shields.io/badge/Install-VS_Code_Marketplace-blue" alt="Get from Visual Studio Code Marketplace" /></a> <a href="https://open-vsx.org/extension/robertpiosik/gemini-coder" target="_blank"><img src="https://img.shields.io/badge/Install-Open_VSX_Registry-a60ee5" alt="Get from Open VSX Registry" /></a> <a href="https://github.com/robertpiosik/CodeWebChat/blob/dev/LICENSE" target="_blank"><img src="https://img.shields.io/badge/License-GPL--3.0-green.svg" alt="License: GPL-3.0" /></a>
44

5-
Meet Code Web Chat, a universal toolkit for AI pair programming. Designed to be an affordable, accurate and fast alternative to coding agents. Works with VS Code, Cursor, and other forks.
5+
Meet Code Web Chat, a universal toolkit for AI pair programming. Beats coding agents in accuracy, speed and cost efficiency. Works with VS Code, Cursor, and other forks.
66

77
❤️ **Free and open-source.** _Join our [discord server](https://discord.gg/KJySXsrSX5) and get involed!_
88

‎packages/vscode/src/commands/apply-chat-response-command/apply-chat-response-command.ts‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import { apply_git_patch } from './handlers/diff-handler'
2121
import { PROVIDERS } from '@shared/constants/providers'
2222
import { LAST_SELECTED_INTELLIGENT_UPDATE_CONFIG_ID_STATE_KEY } from '@/constants/state-keys'
2323
import { Diff } from './utils/clipboard-parser/extract-diff-patches'
24-
import { ViewProvider } from '@/views/panel/backend/panel-provider'
24+
import { PanelProvider } from '@/views/panel/backend/panel-provider'
2525
import {
2626
review,
2727
code_review_promise_resolve,
@@ -244,7 +244,7 @@ const get_intelligent_update_config = async (
244244
const handle_code_review_and_cleanup = async (params: {
245245
original_states: OriginalFileState[]
246246
chat_response: string
247-
view_provider: ViewProvider
247+
panel_provider: PanelProvider
248248
update_undo_button_state: (
249249
states: OriginalFileState[] | null,
250250
content?: string | null,
@@ -267,7 +267,7 @@ const handle_code_review_and_cleanup = async (params: {
267267
try {
268268
const review_result = await review({
269269
original_states: params.original_states,
270-
view_provider: params.view_provider,
270+
panel_provider: params.panel_provider,
271271
raw_instructions: params.raw_instructions
272272
})
273273

@@ -337,7 +337,7 @@ const handle_code_review_and_cleanup = async (params: {
337337

338338
export const apply_chat_response_command = (
339339
context: vscode.ExtensionContext,
340-
view_provider: ViewProvider,
340+
panel_provider: PanelProvider,
341341
workspace_provider: WorkspaceProvider
342342
) => {
343343
const update_undo_button_state = (
@@ -358,7 +358,7 @@ export const apply_chat_response_command = (
358358
LAST_APPLIED_CHANGES_EDITOR_STATE_STATE_KEY,
359359
original_editor_state
360360
)
361-
view_provider.set_undo_button_state(true)
361+
panel_provider.set_undo_button_state(true)
362362
} else {
363363
context.workspaceState.update(LAST_APPLIED_CHANGES_STATE_KEY, null)
364364
context.workspaceState.update(
@@ -369,7 +369,7 @@ export const apply_chat_response_command = (
369369
LAST_APPLIED_CHANGES_EDITOR_STATE_STATE_KEY,
370370
null
371371
)
372-
view_provider.set_undo_button_state(false)
372+
panel_provider.set_undo_button_state(false)
373373
}
374374
}
375375

@@ -676,7 +676,7 @@ export const apply_chat_response_command = (
676676
chat_response: failed_patches_as_code_blocks,
677677
context: context,
678678
is_single_root_folder_workspace,
679-
view_provider
679+
panel_provider
680680
}
681681
)
682682

@@ -800,7 +800,7 @@ export const apply_chat_response_command = (
800800
chat_response: fake_chat_response,
801801
context: context,
802802
is_single_root_folder_workspace,
803-
view_provider
803+
panel_provider
804804
})
805805

806806
if (intelligent_update_states) {
@@ -914,7 +914,7 @@ export const apply_chat_response_command = (
914914
chat_response,
915915
context: context,
916916
is_single_root_folder_workspace,
917-
view_provider
917+
panel_provider
918918
})
919919

920920
if (final_original_states) {
@@ -1031,7 +1031,7 @@ export const apply_chat_response_command = (
10311031
})
10321032
}
10331033

1034-
view_provider.send_message({
1034+
panel_provider.send_message({
10351035
command: 'NEW_RESPONSE_RECEIVED',
10361036
response: review_data.chat_response,
10371037
raw_instructions: args?.raw_instructions,
@@ -1044,7 +1044,7 @@ export const apply_chat_response_command = (
10441044
const changes_accepted = await handle_code_review_and_cleanup({
10451045
original_states: review_data.original_states,
10461046
chat_response: review_data.chat_response,
1047-
view_provider,
1047+
panel_provider,
10481048
update_undo_button_state,
10491049
original_editor_state: args?.original_editor_state,
10501050
raw_instructions: args?.raw_instructions

‎packages/vscode/src/commands/apply-chat-response-command/handlers/intelligent-update-handler.ts‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { Logger } from '@shared/utils/logger'
88
import { OriginalFileState } from '@/commands/apply-chat-response-command/types/original-file-state'
99
import { ToolConfig } from '@/services/model-providers-manager'
1010
import { create_file_if_needed } from '../utils/file-operations'
11-
import { ViewProvider } from '@/views/panel/backend/panel-provider'
11+
import { PanelProvider } from '@/views/panel/backend/panel-provider'
1212
import { dictionary } from '@shared/constants/dictionary'
1313
import { process_file } from '@/utils/intelligent-update-utils'
1414
import { FileProgress } from '@/views/panel/types/messages'
@@ -20,7 +20,7 @@ export const handle_intelligent_update = async (params: {
2020
chat_response: string
2121
context: vscode.ExtensionContext
2222
is_single_root_folder_workspace: boolean
23-
view_provider?: ViewProvider
23+
panel_provider?: PanelProvider
2424
}): Promise<OriginalFileState[] | null> => {
2525
const workspace_map = new Map<string, string>()
2626
if (vscode.workspace.workspaceFolders) {
@@ -144,8 +144,8 @@ export const handle_intelligent_update = async (params: {
144144
}))
145145

146146
const update_progress = () => {
147-
if (params.view_provider) {
148-
params.view_provider.send_message({
147+
if (params.panel_provider) {
148+
params.panel_provider.send_message({
149149
command: 'SHOW_PROGRESS',
150150
title: progress_title,
151151
files: [...file_progress_list]
@@ -164,12 +164,12 @@ export const handle_intelligent_update = async (params: {
164164
let api_calls_succeeded = false
165165
const max_concurrency = params.config.max_concurrency ?? 10
166166
const cancel_token_source = axios.CancelToken.source()
167-
if (params.view_provider) {
168-
params.view_provider.api_call_cancel_token_source = cancel_token_source
167+
if (params.panel_provider) {
168+
params.panel_provider.api_call_cancel_token_source = cancel_token_source
169169
}
170170

171171
try {
172-
if (params.view_provider) {
172+
if (params.panel_provider) {
173173
update_progress()
174174
}
175175

@@ -378,9 +378,9 @@ export const handle_intelligent_update = async (params: {
378378
)
379379
}
380380
} finally {
381-
if (params.view_provider) {
382-
params.view_provider.send_message({ command: 'HIDE_PROGRESS' })
383-
params.view_provider.api_call_cancel_token_source = null
381+
if (params.panel_provider) {
382+
params.panel_provider.send_message({ command: 'HIDE_PROGRESS' })
383+
params.panel_provider.api_call_cancel_token_source = null
384384
}
385385
}
386386

‎packages/vscode/src/commands/apply-chat-response-command/utils/review.ts‎

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { dictionary } from '@shared/constants/dictionary'
66
import * as crypto from 'crypto'
77
import { createTwoFilesPatch } from 'diff'
88
import { create_safe_path } from '@/utils/path-sanitizer'
9-
import { ViewProvider } from '@/views/panel/backend/panel-provider'
9+
import { PanelProvider } from '@/views/panel/backend/panel-provider'
1010
import { OriginalFileState } from '@/commands/apply-chat-response-command/types/original-file-state'
1111
import { remove_directory_if_empty } from './file-operations'
1212
import { FileInReview } from '@shared/types/file-in-review'
@@ -280,7 +280,7 @@ const show_diff_with_actions = async (
280280

281281
export const review = async (params: {
282282
original_states: OriginalFileState[]
283-
view_provider: ViewProvider
283+
panel_provider: PanelProvider
284284
raw_instructions?: string
285285
}): Promise<{
286286
accepted_files: ReviewableFile[]
@@ -344,7 +344,7 @@ export const review = async (params: {
344344
diff_stats.lines_removed
345345
changed_file_in_review.reviewable_file.content = new_content
346346

347-
params.view_provider.send_message({
347+
params.panel_provider.send_message({
348348
command: 'UPDATE_FILE_IN_REVIEW',
349349
file: changed_file_in_review.reviewable_file
350350
})
@@ -420,7 +420,7 @@ export const review = async (params: {
420420
params.original_states.push(new_original_state)
421421
prepared_files.push(new_prepared_file)
422422
create_temp_files_with_original_content([new_prepared_file])
423-
params.view_provider.send_message({
423+
params.panel_provider.send_message({
424424
command: 'UPDATE_FILE_IN_REVIEW',
425425
file: new_prepared_file.reviewable_file
426426
})
@@ -494,7 +494,7 @@ export const review = async (params: {
494494
params.original_states.push(new_original_state)
495495
prepared_files.push(new_prepared_file)
496496
create_temp_files_with_original_content([new_prepared_file])
497-
params.view_provider.send_message({
497+
params.panel_provider.send_message({
498498
command: 'UPDATE_FILE_IN_REVIEW',
499499
file: new_prepared_file.reviewable_file
500500
})
@@ -509,7 +509,7 @@ export const review = async (params: {
509509
diff_stats.lines_added
510510
deleted_file_in_review.reviewable_file.lines_removed =
511511
diff_stats.lines_removed
512-
params.view_provider.send_message({
512+
params.panel_provider.send_message({
513513
command: 'UPDATE_FILE_IN_REVIEW',
514514
file: deleted_file_in_review.reviewable_file
515515
})
@@ -589,7 +589,7 @@ export const review = async (params: {
589589
create_temp_files_with_original_content([new_prepared_file])
590590

591591
// Notify the panel to include this file in the review UI
592-
params.view_provider.send_message({
592+
params.panel_provider.send_message({
593593
command: 'UPDATE_FILE_IN_REVIEW',
594594
file: new_prepared_file.reviewable_file
595595
})
@@ -700,11 +700,11 @@ export const review = async (params: {
700700
})
701701

702702
// Notify UI
703-
params.view_provider.send_message({
703+
params.panel_provider.send_message({
704704
command: 'UPDATE_FILE_IN_REVIEW',
705705
file: existing.reviewable_file
706706
})
707-
params.view_provider.send_message({
707+
params.panel_provider.send_message({
708708
command: 'UPDATE_FILE_IN_REVIEW',
709709
file: deleted_prepared.reviewable_file
710710
})
@@ -791,11 +791,11 @@ export const review = async (params: {
791791
])
792792

793793
// Notify UI
794-
params.view_provider.send_message({
794+
params.panel_provider.send_message({
795795
command: 'UPDATE_FILE_IN_REVIEW',
796796
file: created_reviewable
797797
})
798-
params.view_provider.send_message({
798+
params.panel_provider.send_message({
799799
command: 'UPDATE_FILE_IN_REVIEW',
800800
file: deleted_reviewable
801801
})
@@ -810,8 +810,8 @@ export const review = async (params: {
810810
workspace_map
811811
})
812812

813-
if (params.view_provider) {
814-
params.view_provider.send_message({
813+
if (params.panel_provider) {
814+
params.panel_provider.send_message({
815815
command: 'CODE_REVIEW_STARTED',
816816
files: prepared_files.map((p) => p.reviewable_file),
817817
raw_instructions: params.raw_instructions
@@ -1011,9 +1011,9 @@ export const review = async (params: {
10111011
cleanup_temp_files(prepared_files)
10121012
toggle_file_review_state = undefined
10131013

1014-
if (params.view_provider) {
1015-
params.view_provider.cancel_all_intelligent_updates()
1016-
params.view_provider.send_message({ command: 'CODE_REVIEW_FINISHED' })
1014+
if (params.panel_provider) {
1015+
params.panel_provider.cancel_all_intelligent_updates()
1016+
params.panel_provider.send_message({ command: 'CODE_REVIEW_FINISHED' })
10171017
}
10181018
}
10191019
}

‎packages/vscode/src/commands/code-completion-commands.ts‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { PROVIDERS } from '@shared/constants/providers'
1313
import { LAST_SELECTED_CODE_COMPLETION_CONFIG_ID_STATE_KEY } from '@/constants/state-keys'
1414
import { DEFAULT_TEMPERATURE } from '@shared/constants/api-tools'
1515
import { ToolConfig } from '@/services/model-providers-manager'
16-
import { ViewProvider } from '@/views/panel/backend/panel-provider'
16+
import { PanelProvider } from '@/views/panel/backend/panel-provider'
1717
import { dictionary } from '@shared/constants/dictionary'
1818
import { apply_reasoning_effort } from '../utils/apply-reasoning-effort'
1919

@@ -62,7 +62,7 @@ const get_code_completion_config = async (
6262
show_quick_pick: boolean = false,
6363
context: vscode.ExtensionContext,
6464
config_id?: string,
65-
view_provider?: ViewProvider
65+
panel_provider?: PanelProvider
6666
): Promise<{ provider: any; config: any } | undefined> => {
6767
const code_completions_configs =
6868
await api_providers_manager.get_code_completions_tool_configs()
@@ -166,8 +166,8 @@ const get_code_completion_config = async (
166166
selected.id
167167
)
168168

169-
if (view_provider) {
170-
view_provider.send_message({
169+
if (panel_provider) {
170+
panel_provider.send_message({
171171
command: 'SELECTED_CONFIGURATION_CHANGED',
172172
mode: 'code-completions',
173173
id: selected.id
@@ -230,7 +230,7 @@ const perform_code_completion = async (params: {
230230
show_quick_pick?: boolean
231231
completion_instructions?: string
232232
config_id?: string
233-
view_provider?: ViewProvider
233+
panel_provider?: PanelProvider
234234
}) => {
235235
const api_providers_manager = new ModelProvidersManager(params.context)
236236

@@ -260,7 +260,7 @@ const perform_code_completion = async (params: {
260260
params.show_quick_pick,
261261
params.context,
262262
params.config_id,
263-
params.view_provider
263+
params.panel_provider
264264
)
265265

266266
if (!config_result) {
@@ -488,7 +488,7 @@ export const code_completion_commands = (
488488
file_tree_provider: any,
489489
open_editors_provider: any,
490490
context: vscode.ExtensionContext,
491-
view_provider: ViewProvider
491+
panel_provider: PanelProvider
492492
) => {
493493
return [
494494
vscode.commands.registerCommand('codeWebChat.codeCompletion', async () =>
@@ -520,7 +520,7 @@ export const code_completion_commands = (
520520
context,
521521
with_completion_instructions: false,
522522
show_quick_pick: true,
523-
view_provider
523+
panel_provider
524524
})
525525
),
526526
vscode.commands.registerCommand(
@@ -532,7 +532,7 @@ export const code_completion_commands = (
532532
context,
533533
with_completion_instructions: true,
534534
show_quick_pick: true,
535-
view_provider
535+
panel_provider
536536
})
537537
)
538538
]

‎packages/vscode/src/commands/reference-in-chat-command.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ import * as path from 'path'
33
import { WorkspaceProvider } from '../context/providers/workspace-provider'
44
import { FileItem } from '../context/providers/workspace-provider'
55
import { dictionary } from '@shared/constants/dictionary'
6-
import { ViewProvider } from '@/views/panel/backend/panel-provider'
6+
import { PanelProvider } from '@/views/panel/backend/panel-provider'
77

88
export const reference_in_chat_command = (
9-
view_provider: ViewProvider | undefined,
9+
panel_provider: PanelProvider | undefined,
1010
workspace_provider: WorkspaceProvider | undefined
1111
) => {
1212
return vscode.commands.registerCommand(
1313
'codeWebChat.referenceInChat',
1414
async (uri: FileItem) => {
15-
if (!view_provider || !workspace_provider) {
15+
if (!panel_provider || !workspace_provider) {
1616
return
1717
}
1818

@@ -42,7 +42,7 @@ export const reference_in_chat_command = (
4242
const relative_path = path.relative(workspace_root, file_path)
4343
const reference_text = `\`${relative_path}\``
4444

45-
view_provider.add_text_at_cursor_position(reference_text)
45+
panel_provider.add_text_at_cursor_position(reference_text)
4646
}
4747
)
4848
}

0 commit comments

Comments
 (0)