@@ -8,7 +8,9 @@ import DeepCodeWorkspaceFoldersWatcher from "../watchers/WorkspaceFoldersWatcher
88import DeepCodeEditorsWatcher from "../watchers/EditorsWatcher" ;
99import DeepCodeSettingsWatcher from "../watchers/DeepCodeSettingsWatcher" ;
1010import { IDE_NAME , REFRESH_VIEW_DEBOUNCE_INTERVAL } from "../../constants/general" ;
11- import { errorsLogs } from "../../messages/errorsServerLogMessages" ;
11+ import { setContext } from "../../utils/vscodeCommandsUtils" ;
12+ import { DEEPCODE_CONTEXT } from "../../constants/views" ;
13+ import { errorsLogs } from '../../messages/errorsServerLogMessages' ;
1214
1315export default abstract class BaseDeepCodeModule implements DeepCode . BaseDeepCodeModuleInterface {
1416 currentWorkspacePath : string ;
@@ -92,6 +94,18 @@ export default abstract class BaseDeepCodeModule implements DeepCode.BaseDeepCod
9294 return ! ! vscode . workspace . getConfiguration ( 'deepcode' ) . get < boolean > ( 'yesTelemetry' ) ;
9395 }
9496
97+ get shouldShowWelcomeNotification ( ) : boolean {
98+ return ! ! vscode . workspace . getConfiguration ( 'deepcode' ) . get < boolean > ( 'yesWelcomeNotification' ) ;
99+ }
100+
101+ async hideWelcomeNotification ( ) : Promise < void > {
102+ await vscode . workspace . getConfiguration ( 'deepcode' ) . update ( 'yesWelcomeNotification' , false , true ) ;
103+ }
104+
105+ get shouldShowAdvancedView ( ) : boolean {
106+ return ! ! vscode . workspace . getConfiguration ( 'deepcode' ) . get < boolean > ( 'advancedMode' ) ;
107+ }
108+
95109 private getProgressBadgePromise ( ) : Promise < void > {
96110 if ( this . progressBadgePromise === undefined ) {
97111 // This should not be needed, but we resolve pending Promises
@@ -109,9 +123,16 @@ export default abstract class BaseDeepCodeModule implements DeepCode.BaseDeepCod
109123 // Leave viewId undefined to remove the badge from all views
110124 async setLoadingBadge ( viewId ?: string ) : Promise < void > {
111125 if ( viewId ) {
112- await vscode . window . withProgress (
126+ // Using closure on this to allow partial binding in arbitrary positions
127+ const self = this ;
128+ vscode . window . withProgress (
113129 { location : { viewId } } ,
114- this . getProgressBadgePromise . bind ( this )
130+ ( ) => self . getProgressBadgePromise ( )
131+ ) . then (
132+ ( ) => { } ,
133+ ( error ) => self . processError ( error , {
134+ message : errorsLogs . loadingBadge ,
135+ } )
115136 ) ;
116137 } else {
117138 if ( this . progressBadgeResolveFn ) this . progressBadgeResolveFn ( ) ;
0 commit comments