@@ -54,16 +54,18 @@ export function getEncodedLanguageId(languageId: string): number {
54
54
* @event
55
55
*/
56
56
export function onLanguage ( languageId : string , callback : ( ) => void ) : IDisposable {
57
- const languageService = StandaloneServices . get ( ILanguageService ) ;
58
- const disposable = languageService . onDidRequestRichLanguageFeatures ( ( encounteredLanguageId ) => {
59
- if ( encounteredLanguageId === languageId ) {
60
- // stop listening
61
- disposable . dispose ( ) ;
62
- // invoke actual listener
63
- callback ( ) ;
64
- }
57
+ return StandaloneServices . withServices ( ( ) => {
58
+ const languageService = StandaloneServices . get ( ILanguageService ) ;
59
+ const disposable = languageService . onDidRequestRichLanguageFeatures ( ( encounteredLanguageId ) => {
60
+ if ( encounteredLanguageId === languageId ) {
61
+ // stop listening
62
+ disposable . dispose ( ) ;
63
+ // invoke actual listener
64
+ callback ( ) ;
65
+ }
66
+ } ) ;
67
+ return disposable ;
65
68
} ) ;
66
- return disposable ;
67
69
}
68
70
69
71
/**
@@ -72,16 +74,18 @@ export function onLanguage(languageId: string, callback: () => void): IDisposabl
72
74
* @event
73
75
*/
74
76
export function onLanguageEncountered ( languageId : string , callback : ( ) => void ) : IDisposable {
75
- const languageService = StandaloneServices . get ( ILanguageService ) ;
76
- const disposable = languageService . onDidRequestBasicLanguageFeatures ( ( encounteredLanguageId ) => {
77
- if ( encounteredLanguageId === languageId ) {
78
- // stop listening
79
- disposable . dispose ( ) ;
80
- // invoke actual listener
81
- callback ( ) ;
82
- }
77
+ return StandaloneServices . withServices ( ( ) => {
78
+ const languageService = StandaloneServices . get ( ILanguageService ) ;
79
+ const disposable = languageService . onDidRequestBasicLanguageFeatures ( ( encounteredLanguageId ) => {
80
+ if ( encounteredLanguageId === languageId ) {
81
+ // stop listening
82
+ disposable . dispose ( ) ;
83
+ // invoke actual listener
84
+ callback ( ) ;
85
+ }
86
+ } ) ;
87
+ return disposable ;
83
88
} ) ;
84
- return disposable ;
85
89
}
86
90
87
91
/**
0 commit comments