Skip to content

Commit ec5a177

Browse files
committed
Refactor folder expansion commands to separate context and workspace view controls
1 parent 1ab4278 commit ec5a177

4 files changed

Lines changed: 82 additions & 59 deletions

File tree

‎apps/editor/package.json‎

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,13 +154,19 @@
154154
"icon": "$(clear-all)"
155155
},
156156
{
157-
"command": "codeWebChat.expandFolders",
157+
"command": "codeWebChat.expandContextFolders",
158158
"title": "Expand Folders",
159159
"category": "Code Web Chat",
160160
"icon": "$(expand-all)"
161161
},
162162
{
163-
"command": "codeWebChat.collapseFolders",
163+
"command": "codeWebChat.collapseContextFolders",
164+
"title": "Collapse Folders",
165+
"category": "Code Web Chat",
166+
"icon": "$(collapse-all)"
167+
},
168+
{
169+
"command": "codeWebChat.collapseWorkspaceFolders",
164170
"title": "Collapse Folders",
165171
"category": "Code Web Chat",
166172
"icon": "$(collapse-all)"
@@ -377,11 +383,15 @@
377383
"when": "false"
378384
},
379385
{
380-
"command": "codeWebChat.expandFolders",
386+
"command": "codeWebChat.expandContextFolders",
387+
"when": "false"
388+
},
389+
{
390+
"command": "codeWebChat.collapseContextFolders",
381391
"when": "false"
382392
},
383393
{
384-
"command": "codeWebChat.collapseFolders",
394+
"command": "codeWebChat.collapseWorkspaceFolders",
385395
"when": "false"
386396
},
387397
{
@@ -473,12 +483,12 @@
473483
"group": "navigation@2"
474484
},
475485
{
476-
"command": "codeWebChat.expandFolders",
486+
"command": "codeWebChat.expandContextFolders",
477487
"when": "view == codeWebChatViewContext",
478488
"group": "navigation@3"
479489
},
480490
{
481-
"command": "codeWebChat.collapseFolders",
491+
"command": "codeWebChat.collapseContextFolders",
482492
"when": "view == codeWebChatViewContext",
483493
"group": "navigation@4"
484494
},
@@ -518,9 +528,9 @@
518528
"group": "navigation@3"
519529
},
520530
{
521-
"command": "codeWebChat.collapseFolders",
531+
"command": "codeWebChat.collapseWorkspaceFolders",
522532
"when": "view == codeWebChatViewWorkspace",
523-
"group": "navigation@8"
533+
"group": "navigation@9"
524534
},
525535
{
526536
"command": "codeWebChat.checkAllOpenEditors",

‎apps/editor/src/context/context-initialization.ts‎

Lines changed: 51 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -297,58 +297,63 @@ export const context_initialization = async (
297297
)
298298
}
299299
),
300-
vscode.commands.registerCommand('codeWebChat.expandFolders', async () => {
301-
workspace_provider.set_context_view_collapsible_state(
302-
vscode.TreeItemCollapsibleState.Expanded
303-
)
304-
workspace_view.dispose()
305-
context_view.dispose()
306-
await new Promise((resolve) => setTimeout(resolve, 0))
307-
308-
workspace_view = vscode.window.createTreeView(
309-
'codeWebChatViewWorkspace',
310-
{
311-
treeDataProvider: workspace_provider!,
300+
vscode.commands.registerCommand(
301+
'codeWebChat.expandContextFolders',
302+
async () => {
303+
workspace_provider.set_context_view_collapsible_state(
304+
vscode.TreeItemCollapsibleState.Expanded
305+
)
306+
context_view.dispose()
307+
await new Promise((resolve) => setTimeout(resolve, 0))
308+
309+
context_view = vscode.window.createTreeView('codeWebChatViewContext', {
310+
treeDataProvider: context_provider,
312311
manageCheckboxStateManually: true
313-
}
314-
)
312+
})
315313

316-
context_view = vscode.window.createTreeView('codeWebChatViewContext', {
317-
treeDataProvider: context_provider,
318-
manageCheckboxStateManually: true
319-
})
314+
register_workspace_view_handlers(context_view)
315+
context.subscriptions.push(context_view)
316+
}
317+
),
318+
vscode.commands.registerCommand(
319+
'codeWebChat.collapseContextFolders',
320+
async () => {
321+
workspace_provider.set_context_view_collapsible_state(
322+
vscode.TreeItemCollapsibleState.Collapsed
323+
)
324+
context_view.dispose()
325+
await new Promise((resolve) => setTimeout(resolve, 0))
320326

321-
register_workspace_view_handlers(workspace_view)
322-
register_workspace_view_handlers(context_view)
323-
context.subscriptions.push(workspace_view)
324-
context.subscriptions.push(context_view)
325-
}),
326-
vscode.commands.registerCommand('codeWebChat.collapseFolders', async () => {
327-
workspace_provider.set_context_view_collapsible_state(
328-
vscode.TreeItemCollapsibleState.Collapsed
329-
)
330-
workspace_view.dispose()
331-
context_view.dispose()
332-
await new Promise((resolve) => setTimeout(resolve, 0))
333-
334-
workspace_view = vscode.window.createTreeView(
335-
'codeWebChatViewWorkspace',
336-
{
337-
treeDataProvider: workspace_provider!,
327+
context_view = vscode.window.createTreeView('codeWebChatViewContext', {
328+
treeDataProvider: context_provider,
338329
manageCheckboxStateManually: true
339-
}
340-
)
330+
})
341331

342-
context_view = vscode.window.createTreeView('codeWebChatViewContext', {
343-
treeDataProvider: context_provider,
344-
manageCheckboxStateManually: true
345-
})
332+
register_workspace_view_handlers(context_view)
333+
context.subscriptions.push(context_view)
334+
}
335+
),
336+
vscode.commands.registerCommand(
337+
'codeWebChat.collapseWorkspaceFolders',
338+
async () => {
339+
workspace_provider.set_workspace_view_collapsible_state(
340+
vscode.TreeItemCollapsibleState.Collapsed
341+
)
342+
workspace_view.dispose()
343+
await new Promise((resolve) => setTimeout(resolve, 0))
344+
345+
workspace_view = vscode.window.createTreeView(
346+
'codeWebChatViewWorkspace',
347+
{
348+
treeDataProvider: workspace_provider!,
349+
manageCheckboxStateManually: true
350+
}
351+
)
346352

347-
register_workspace_view_handlers(workspace_view)
348-
register_workspace_view_handlers(context_view)
349-
context.subscriptions.push(workspace_view)
350-
context.subscriptions.push(context_view)
351-
}),
353+
register_workspace_view_handlers(workspace_view)
354+
context.subscriptions.push(workspace_view)
355+
}
356+
),
352357
vscode.commands.registerCommand('codeWebChat.clearChecks', async () => {
353358
await workspace_provider!.clear_checks()
354359
}),

‎apps/editor/src/context/providers/workspace/workspace-provider.ts‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,21 @@ export class WorkspaceProvider
6868
public use_compact_token_count: boolean = false
6969
private _context_view_collapsible_state: vscode.TreeItemCollapsibleState =
7070
vscode.TreeItemCollapsibleState.Expanded
71+
private _workspace_view_collapsible_state: vscode.TreeItemCollapsibleState =
72+
vscode.TreeItemCollapsibleState.Collapsed
7173

7274
public set_context_view_collapsible_state(
7375
state: vscode.TreeItemCollapsibleState
7476
) {
7577
this._context_view_collapsible_state = state
7678
}
7779

80+
public set_workspace_view_collapsible_state(
81+
state: vscode.TreeItemCollapsibleState
82+
) {
83+
this._workspace_view_collapsible_state = state
84+
}
85+
7886
public set_use_compact_token_count(use_compact: boolean) {
7987
if (this.use_compact_token_count != use_compact) {
8088
this.use_compact_token_count = use_compact
@@ -724,7 +732,7 @@ export class WorkspaceProvider
724732
uri,
725733
context_view
726734
? this._context_view_collapsible_state
727-
: vscode.TreeItemCollapsibleState.Collapsed,
735+
: this._workspace_view_collapsible_state,
728736
true,
729737
this._checked_items.get(root) ??
730738
vscode.TreeItemCheckboxState.Unchecked,
@@ -983,7 +991,7 @@ export class WorkspaceProvider
983991
is_directory
984992
? context_view
985993
? this._context_view_collapsible_state
986-
: vscode.TreeItemCollapsibleState.Collapsed
994+
: this._workspace_view_collapsible_state
987995
: vscode.TreeItemCollapsibleState.None,
988996
is_directory,
989997
checkbox_state,

‎packages/ui/src/components/editor/panel/Donations/Donations.module.scss‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
.about {
99
margin: 0 12px;
10-
background-color: var(--vscode-list-hoverBackground);
10+
background-color: var(--cwc-bg-tertiary);
1111
padding: 6px 8px;
1212
border-radius: 8px;
1313
user-select: text;
@@ -113,15 +113,15 @@
113113
}
114114

115115
&__note {
116-
background-color: var(--vscode-list-hoverBackground);
116+
background-color: var(--cwc-bg-tertiary);
117117
padding: 6px 8px;
118118
border-radius: 8px;
119119
}
120120
}
121121
}
122122

123123
.skeleton {
124-
background-color: var(--vscode-list-hoverBackground);
124+
background-color: var(--cwc-bg-tertiary);
125125
border-radius: 4px;
126126
animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
127127
}

0 commit comments

Comments
 (0)