@@ -43,7 +43,7 @@ class Snippet {
4343class ClassServer implements vsc . CompletionItemProvider {
4444
4545 private regex = [
46- / ( c l a s s | i d ) = [ " | ' ] ( [ ^ " ^ ' ] * $ ) / i,
46+ / ( c l a s s | i d | c l a s s N a m e ) = [ " | ' ] ( [ ^ " ^ ' ] * $ ) / i,
4747 / ( \. | \# ) [ ^ \. ^ \# ^ \< ^ \> ] * $ / i,
4848 / < s t y l e [ \s \S ] * > ( [ \s \S ] * ) < \/ s t y l e > / ig
4949 ] ;
@@ -145,29 +145,32 @@ export function activate(context: vsc.ExtensionContext) {
145145
146146 if ( vsc . workspace . rootPath ) {
147147
148- let glob = '**/*.css' ;
148+ let globs = [ '**/*.css' , '**/*.scss' ] ;
149149
150- vsc . workspace . findFiles ( glob , '' ) . then ( function ( uris : vsc . Uri [ ] ) {
151- for ( let i = 0 ; i < uris . length ; i ++ ) {
152- parse ( uris [ i ] ) ;
153- }
150+ globs . forEach ( glob => {
151+ vsc . workspace . findFiles ( glob , '' ) . then ( function ( uris : vsc . Uri [ ] ) {
152+ for ( let i = 0 ; i < uris . length ; i ++ ) {
153+ parse ( uris [ i ] ) ;
154+ }
155+ } ) ;
156+
157+ let watcher = vsc . workspace . createFileSystemWatcher ( glob ) ;
158+
159+ watcher . onDidCreate ( function ( uri : vsc . Uri ) {
160+ parse ( uri ) ;
161+ } ) ;
162+ watcher . onDidChange ( function ( uri : vsc . Uri ) {
163+ parse ( uri ) ;
164+ } ) ;
165+ watcher . onDidDelete ( function ( uri : vsc . Uri ) {
166+ delete map [ uri . fsPath ] ;
167+ } ) ;
168+
169+ context . subscriptions . push ( watcher ) ;
154170 } ) ;
155171
156172 parseRemoteConfig ( ) ;
157173
158- let watcher = vsc . workspace . createFileSystemWatcher ( glob ) ;
159-
160- watcher . onDidCreate ( function ( uri : vsc . Uri ) {
161- parse ( uri ) ;
162- } ) ;
163- watcher . onDidChange ( function ( uri : vsc . Uri ) {
164- parse ( uri ) ;
165- } ) ;
166- watcher . onDidDelete ( function ( uri : vsc . Uri ) {
167- delete map [ uri . fsPath ] ;
168- } ) ;
169-
170- context . subscriptions . push ( watcher ) ;
171174 } ;
172175
173176 let classServer = new ClassServer ( ) ;
@@ -183,7 +186,8 @@ export function activate(context: vsc.ExtensionContext) {
183186 'handlebars' ,
184187 'php' ,
185188 'twig' ,
186- 'md'
189+ 'md' ,
190+ 'javascriptreact'
187191 ] , classServer ) ) ;
188192
189193 let wp = / ( - ? \d * \. \d \w * ) | ( [ ^ \` \~ \! \@ \# \% \^ \& \* \( \) \= \+ \[ \{ \] \} \\ \| \; \: \' \. \" \, \< \> \/ \? \s ] + ) / g;
@@ -198,6 +202,7 @@ export function activate(context: vsc.ExtensionContext) {
198202 context . subscriptions . push ( vsc . languages . setLanguageConfiguration ( 'php' , { wordPattern : wp } ) ) ;
199203 context . subscriptions . push ( vsc . languages . setLanguageConfiguration ( 'twig' , { wordPattern : wp } ) ) ;
200204 context . subscriptions . push ( vsc . languages . setLanguageConfiguration ( 'md' , { wordPattern : wp } ) ) ;
205+ context . subscriptions . push ( vsc . languages . setLanguageConfiguration ( 'javascriptreact' , { wordPattern : wp } ) ) ;
201206
202207 context . subscriptions . push ( vsc . workspace . onDidChangeConfiguration ( ( e ) => parseRemoteConfig ( ) ) ) ;
203208}
0 commit comments