@@ -107,26 +107,28 @@ export class LDFlagManager implements IFlagManager {
107107 let config = this . config ( settings ) ;
108108 if ( settings . sdkKey ) {
109109 this . updateProcessor = StreamProcessor ( settings . sdkKey , config , Requestor ( settings . sdkKey , config ) ) ;
110- this . start ( )
110+ this . start ( ) ;
111111 } else {
112- vscode . window . showWarningMessage ( '[LaunchDarkly] sdkKey is not set. LaunchDarkly language support is unavailable.' ) ;
112+ vscode . window . showWarningMessage (
113+ '[LaunchDarkly] sdkKey is not set. LaunchDarkly language support is unavailable.' ,
114+ ) ;
113115 }
114-
115116 }
116117
117118 start ( ) {
118- this . updateProcessor && this . updateProcessor . start ( function ( err ) {
119- if ( err ) {
120- console . log ( err ) ;
121- let errMsg = `[LaunchDarkly] Unexpected error retrieving flags.${ this . settings . baseUri != DEFAULT_BASE_URI ||
119+ this . updateProcessor &&
120+ this . updateProcessor . start ( function ( err ) {
121+ if ( err ) {
122+ console . log ( err ) ;
123+ let errMsg = `[LaunchDarkly] Unexpected error retrieving flags.${ this . settings . baseUri != DEFAULT_BASE_URI ||
122124 this . settings . streamUri != DEFAULT_STREAM_URI
123- ? ' Please make sure your configured base and stream URIs are correct'
124- : '' } `;
125- vscode . window . showErrorMessage ( errMsg ) ;
126- } else {
127- process . nextTick ( function ( ) { } ) ;
128- }
129- } ) ;
125+ ? ' Please make sure your configured base and stream URIs are correct'
126+ : '' } `;
127+ vscode . window . showErrorMessage ( errMsg ) ;
128+ } else {
129+ process . nextTick ( function ( ) { } ) ;
130+ }
131+ } ) ;
130132 }
131133
132134 reload ( newSettings : IConfiguration ) {
@@ -135,14 +137,10 @@ export class LDFlagManager implements IFlagManager {
135137 this . settings . baseUri !== newSettings . baseUri ||
136138 this . settings . streamUri !== newSettings . streamUri
137139 ) {
138- let config = this . config ( newSettings )
140+ let config = this . config ( newSettings ) ;
139141 this . updateProcessor && this . updateProcessor . stop ( ) ;
140- this . updateProcessor = StreamProcessor (
141- newSettings . sdkKey ,
142- config ,
143- Requestor ( newSettings . sdkKey , config ) ,
144- ) ;
145- this . start ( )
142+ this . updateProcessor = StreamProcessor ( newSettings . sdkKey , config , Requestor ( newSettings . sdkKey , config ) ) ;
143+ this . start ( ) ;
146144 }
147145 this . settings = newSettings ;
148146 }
@@ -163,26 +161,21 @@ export class LDFlagManager implements IFlagManager {
163161 }
164162
165163 registerProviders ( ctx : vscode . ExtensionContext , settings : IConfiguration ) {
166- if ( settings . enableAutocomplete ) {
167- ctx . subscriptions . push (
168- vscode . languages . registerCompletionItemProvider (
169- LD_MODE ,
170- new this . LaunchDarklyCompletionItemProvider ( ) ,
171- "'" ,
172- '"' ,
173- ) ,
174- ) ;
175- }
176- if ( settings . enableHover ) {
177- ctx . subscriptions . push (
178- vscode . languages . registerHoverProvider ( LD_MODE , new this . LaunchDarklyHoverProvider ( ) ) ,
179- ) ;
180- }
164+ ctx . subscriptions . push (
165+ vscode . languages . registerCompletionItemProvider ( LD_MODE , new this . LaunchDarklyCompletionItemProvider ( ) , "'" , '"' ) ,
166+ ) ;
167+
168+ ctx . subscriptions . push ( vscode . languages . registerHoverProvider ( LD_MODE , new this . LaunchDarklyHoverProvider ( ) ) ) ;
181169
182- ctx . subscriptions . push ( vscode . commands . registerTextEditorCommand ( 'extension.openInLaunchDarkly' , editor => {
183- let flagKey = editor . document . getText ( editor . document . getWordRangeAtPosition ( editor . selection . anchor , FLAG_KEY_REGEX ) ) ;
170+ ctx . subscriptions . push (
171+ vscode . commands . registerTextEditorCommand ( 'extension.openInLaunchDarkly' , editor => {
172+ let flagKey = editor . document . getText (
173+ editor . document . getWordRangeAtPosition ( editor . selection . anchor , FLAG_KEY_REGEX ) ,
174+ ) ;
184175 if ( ! flagKey ) {
185- vscode . window . showErrorMessage ( '[LaunchDarkly] Error retrieving flag (current cursor position is not a feature flag).' ) ;
176+ vscode . window . showErrorMessage (
177+ '[LaunchDarkly] Error retrieving flag (current cursor position is not a feature flag).' ,
178+ ) ;
186179 return ;
187180 }
188181
@@ -204,22 +197,28 @@ export class LDFlagManager implements IFlagManager {
204197 opn ( url . resolve ( settings . baseUri , flag . environments [ settings . env ] . _site . href ) ) ;
205198 }
206199 } ) ;
207- } ) ) ;
200+ } ) ,
201+ ) ;
208202 }
209203
210204 get LaunchDarklyHoverProvider ( ) {
211205 const settings = this . settings ;
212206 const store = this . store ;
213207 return class LaunchDarklyHoverProvider implements vscode . HoverProvider {
214208 public provideHover ( document : vscode . TextDocument , position : vscode . Position ) : Thenable < vscode . Hover > {
215- return new Promise ( resolve => {
209+ return new Promise ( ( resolve , reject ) => {
216210 settings . enableHover
217211 ? store . all ( DATA_KIND , flags => {
218212 let candidate = document . getText ( document . getWordRangeAtPosition ( position , FLAG_KEY_REGEX ) ) ;
219- let flag = generateHoverString ( flags [ candidate ] || flags [ kebabCase ( candidate ) ] ) ;
220- flag ? resolve ( new vscode . Hover ( flag ) ) : resolve ( ) ;
213+ let flag = flags [ candidate ] || flags [ kebabCase ( candidate ) ] ;
214+ if ( flag ) {
215+ let hover = generateHoverString ( flag ) ;
216+ resolve ( new vscode . Hover ( hover ) ) ;
217+ return ;
218+ }
219+ reject ( ) ;
221220 } )
222- : resolve ( ) ;
221+ : reject ( ) ;
223222 } ) ;
224223 }
225224 } ;
0 commit comments