@@ -9,6 +9,7 @@ import { Store } from '../store'
99import { getOrCreateModel } from './utils'
1010import type { CreateData } from './vue.worker'
1111import vueWorker from './vue.worker?worker'
12+ import * as languageConfigs from './language-configs'
1213
1314let initted = false
1415export function initMonaco ( store : Store ) {
@@ -39,26 +40,6 @@ export function initMonaco(store: Store) {
3940 }
4041 } )
4142
42- // Support for go to definition
43- editor . registerEditorOpener ( {
44- openCodeEditor ( _ , resource ) {
45- if ( resource . toString ( ) . startsWith ( jsDelivrUriBase + '/' ) ) {
46- return true
47- }
48-
49- const path = resource . path
50- if ( / ^ \/ / . test ( path ) ) {
51- const fileName = path . replace ( '/' , '' )
52- if ( fileName !== store . state . activeFile . filename ) {
53- store . setActive ( fileName )
54- return true
55- }
56- }
57-
58- return false
59- } ,
60- } )
61-
6243 initted = true
6344}
6445
@@ -171,7 +152,32 @@ export function loadMonacoEnv(store: Store) {
171152 languages . register ( { id : 'vue' , extensions : [ '.vue' ] } )
172153 languages . register ( { id : 'javascript' , extensions : [ '.js' ] } )
173154 languages . register ( { id : 'typescript' , extensions : [ '.ts' ] } )
155+ languages . register ( { id : 'css' , extensions : [ '.css' ] } )
156+ languages . setLanguageConfiguration ( 'vue' , languageConfigs . vue )
157+ languages . setLanguageConfiguration ( 'javascript' , languageConfigs . js )
158+ languages . setLanguageConfiguration ( 'typescript' , languageConfigs . ts )
159+ languages . setLanguageConfiguration ( 'css' , languageConfigs . css )
174160
175161 store . reloadLanguageTools = ( ) => reloadLanguageTools ( store )
176162 languages . onLanguage ( 'vue' , ( ) => store . reloadLanguageTools ! ( ) )
163+
164+ // Support for go to definition
165+ editor . registerEditorOpener ( {
166+ openCodeEditor ( _ , resource ) {
167+ if ( resource . toString ( ) . startsWith ( jsDelivrUriBase + '/' ) ) {
168+ return true
169+ }
170+
171+ const path = resource . path
172+ if ( / ^ \/ / . test ( path ) ) {
173+ const fileName = path . replace ( '/' , '' )
174+ if ( fileName !== store . state . activeFile . filename ) {
175+ store . setActive ( fileName )
176+ return true
177+ }
178+ }
179+
180+ return false
181+ } ,
182+ } )
177183}
0 commit comments