@@ -65,14 +65,15 @@ const FileEditor = ({
6565 const [ zoomLevel , changeZoomLevel ] = useState ( 0 ) ;
6666 const [ hasUnsavedChanges , setHasUnsavedChanges ] = useState ( false ) ;
6767 const [ fileToSave , _setFileToSave ] = useState < Entry | undefined > ( undefined ) ;
68- const [ language , setLanguage ] = useState ( "python" ) ;
68+ const [ language , _setLanguage ] = useState ( "python" ) ;
6969 const [ projectToSave , setProjectToSave ] = useState ( currentProjectname ) ;
7070 const contentRef = useRef < string > ( "" ) ; // In case some editors cannot update states
7171 const [ showKeybindsModal , openKeybindsModal ] = useState < boolean > ( false ) ;
7272
7373 // Autosave data
7474 const fileToSaveRef = useRef < Entry | undefined > ( undefined ) ;
7575 const fileContentRef = useRef < string | undefined > ( undefined ) ;
76+ const fileLanguageRef = useRef < string | undefined > ( "textplain" ) ;
7677
7778 const setFileToSave = ( data ?: Entry ) => {
7879 fileToSaveRef . current = data ;
@@ -84,6 +85,11 @@ const FileEditor = ({
8485 _setFileContent ( data ) ;
8586 } ;
8687
88+ const setLanguage = ( language ?: string ) => {
89+ fileLanguageRef . current = language ;
90+ _setLanguage ( language ) ;
91+ } ;
92+
8793 useEffect ( ( ) => {
8894 subscribe ( "autoSave" , async ( ) => {
8995 if ( autosave ) {
@@ -380,7 +386,7 @@ const FileEditor = ({
380386 fileContent = { fileContent }
381387 setFileContent = { setFileContent }
382388 saveFile = { autoSave }
383- language = { language }
389+ language = { fileLanguageRef . current }
384390 zoomLevel = { zoomLevel }
385391 extraSnippets = { extraSnippets }
386392 />
0 commit comments