File tree Expand file tree Collapse file tree
src/livecodes/editor/monaco Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -430,12 +430,16 @@ export const createEditor = async (options: EditorOptions): Promise<CodeEditor>
430430 const setLanguage = ( lang : Language , value ?: string ) => {
431431 language = lang ;
432432 clearTypes ( false ) ;
433- if ( monacoMapLanguage ( lang ) !== 'vue' ) {
434- setModel ( editor , value ?? editor . getValue ( ) , language ) ;
433+ const valueToIsert = value ?? editor . getValue ( ) ;
434+ if ( monacoMapLanguage ( lang ) === 'vue' ) {
435+ // avoid race condition of value changing while valor is loading
436+ setValue ( valueToIsert ) ;
437+ } else {
438+ setModel ( editor , valueToIsert , language ) ;
435439 }
436440 loadMonacoLanguage ( lang ) . then ( ( ) => {
437441 if ( monacoMapLanguage ( lang ) === 'vue' ) {
438- setModel ( editor , value ?? editor . getValue ( ) , language ) ;
442+ setModel ( editor , editor . getValue ( ) , language ) ;
439443 }
440444 } ) ;
441445 } ;
You can’t perform that action at this time.
0 commit comments