@@ -7,6 +7,7 @@ import type { Store } from '../store'
77import { getOrCreateModel } from './utils'
88import type { CreateData } from './vue.worker'
99import vueWorker from './vue.worker?worker'
10+ import * as languageConfigs from './language-configs'
1011
1112let initted = false
1213export function initMonaco ( store : Store ) {
@@ -36,26 +37,6 @@ export function initMonaco(store: Store) {
3637 }
3738 } )
3839
39- // Support for go to definition
40- editor . registerEditorOpener ( {
41- openCodeEditor ( _ , resource ) {
42- if ( resource . toString ( ) . startsWith ( jsDelivrUriBase + '/' ) ) {
43- return true
44- }
45-
46- const path = resource . path
47- if ( / ^ \/ / . test ( path ) ) {
48- const fileName = path . replace ( '/' , '' )
49- if ( fileName !== store . activeFile . filename ) {
50- store . setActive ( fileName )
51- return true
52- }
53- }
54-
55- return false
56- } ,
57- } )
58-
5940 initted = true
6041}
6142
@@ -166,7 +147,32 @@ export function loadMonacoEnv(store: Store) {
166147 languages . register ( { id : 'vue' , extensions : [ '.vue' ] } )
167148 languages . register ( { id : 'javascript' , extensions : [ '.js' ] } )
168149 languages . register ( { id : 'typescript' , extensions : [ '.ts' ] } )
150+ languages . register ( { id : 'css' , extensions : [ '.css' ] } )
151+ languages . setLanguageConfiguration ( 'vue' , languageConfigs . vue )
152+ languages . setLanguageConfiguration ( 'javascript' , languageConfigs . js )
153+ languages . setLanguageConfiguration ( 'typescript' , languageConfigs . ts )
154+ languages . setLanguageConfiguration ( 'css' , languageConfigs . css )
169155
170156 store . reloadLanguageTools = ( ) => reloadLanguageTools ( store )
171157 languages . onLanguage ( 'vue' , ( ) => store . reloadLanguageTools ! ( ) )
158+
159+ // Support for go to definition
160+ editor . registerEditorOpener ( {
161+ openCodeEditor ( _ , resource ) {
162+ if ( resource . toString ( ) . startsWith ( jsDelivrUriBase + '/' ) ) {
163+ return true
164+ }
165+
166+ const path = resource . path
167+ if ( / ^ \/ / . test ( path ) ) {
168+ const fileName = path . replace ( '/' , '' )
169+ if ( fileName !== store . activeFile . filename ) {
170+ store . setActive ( fileName )
171+ return true
172+ }
173+ }
174+
175+ return false
176+ } ,
177+ } )
172178}
0 commit comments