@@ -98,33 +98,42 @@ async function doActivate(context: vscode.ExtensionContext, createLc: CreateLang
98
98
}
99
99
100
100
if ( ! context . extension . packageJSON . version . includes ( '-insider' ) ) {
101
- let s = 10 ;
102
- const upgradeStatus = vscode . window . createStatusBarItem ( vscode . StatusBarAlignment . Right , - 10000 ) ;
103
- const interval = setInterval ( ( ) => {
104
- s -- ;
105
- upgradeStatus . text = `✨ Upgrade Vue - Official (${ s } )` ;
106
- if ( s <= 0 ) {
107
- upgradeStatus . dispose ( ) ;
108
- clearInterval ( interval ) ;
109
-
110
- const upgradeStatus2 = vscode . languages . createLanguageStatusItem ( 'vue-upgrade' , 'vue' ) ;
111
- upgradeStatus2 . text = '✨ Upgrade Vue - Official' ;
112
- upgradeStatus2 . severity = vscode . LanguageStatusSeverity . Warning ;
113
- upgradeStatus2 . command = {
114
- title : 'Open Link' ,
115
- command : 'vscode.open' ,
116
- arguments : [ 'https://github.com/vuejs/language-tools/discussions/4127' ] ,
117
- } ;
118
- }
119
- } , 1000 ) ;
120
- upgradeStatus . text = `✨ Upgrade Vue - Official (${ s } )` ;
121
- upgradeStatus . color = '#ebb549' ;
122
- upgradeStatus . command = {
123
- title : 'Open Link' ,
124
- command : 'vscode.open' ,
125
- arguments : [ 'https://github.com/vuejs/language-tools/discussions/4127' ] ,
101
+ const createLanguageStatus = ( ) => {
102
+ const item = vscode . languages . createLanguageStatusItem ( 'vue-upgrade' , 'vue' ) ;
103
+ item . text = '✨ Upgrade Vue - Official' ;
104
+ item . severity = vscode . LanguageStatusSeverity . Warning ;
105
+ item . command = {
106
+ title : 'Open Link' ,
107
+ command : 'vscode.open' ,
108
+ arguments : [ 'https://github.com/vuejs/language-tools/discussions/4127' ] ,
109
+ } ;
126
110
} ;
127
- upgradeStatus . show ( ) ;
111
+ const yyyymmdd = new Date ( ) . toISOString ( ) . split ( 'T' ) [ 0 ] . replace ( / - / g, '' ) ;
112
+ if ( context . globalState . get ( 'vue-upgrade-promote-date' ) !== yyyymmdd ) {
113
+ context . globalState . update ( 'vue-upgrade-promote-date' , yyyymmdd ) ;
114
+ let s = 10 ;
115
+ const upgradeStatus = vscode . window . createStatusBarItem ( vscode . StatusBarAlignment . Right , 10000 ) ;
116
+ const interval = setInterval ( ( ) => {
117
+ s -- ;
118
+ upgradeStatus . text = `✨ Upgrade Vue - Official (${ s } )` ;
119
+ if ( s <= 0 ) {
120
+ upgradeStatus . dispose ( ) ;
121
+ clearInterval ( interval ) ;
122
+ createLanguageStatus ( ) ;
123
+ }
124
+ } , 1000 ) ;
125
+ upgradeStatus . text = `✨ Upgrade Vue - Official (${ s } )` ;
126
+ upgradeStatus . color = '#ebb549' ;
127
+ upgradeStatus . command = {
128
+ title : 'Open Link' ,
129
+ command : 'vscode.open' ,
130
+ arguments : [ 'https://github.com/vuejs/language-tools/discussions/4127' ] ,
131
+ } ;
132
+ upgradeStatus . show ( ) ;
133
+ }
134
+ else {
135
+ createLanguageStatus ( ) ;
136
+ }
128
137
}
129
138
130
139
async function requestReloadVscode ( msg : string ) {
0 commit comments