Add plain text language to monaco.
This commit is contained in:
		@@ -200,15 +200,15 @@ const HooksEditor = () => {
 | 
			
		||||
            defaultValue={file?.content}
 | 
			
		||||
            // onChange={val => (state.files[snap.active].content = val)} // Auto save?
 | 
			
		||||
            beforeMount={monaco => {
 | 
			
		||||
              if (!snap.editorCtx) {
 | 
			
		||||
                snap.files.forEach(file =>
 | 
			
		||||
                  monaco.editor.createModel(
 | 
			
		||||
                    file.content,
 | 
			
		||||
                    file.language,
 | 
			
		||||
                    monaco.Uri.parse(`file:///work/c/${file.name}`)
 | 
			
		||||
                  )
 | 
			
		||||
                )
 | 
			
		||||
              }
 | 
			
		||||
              // if (!snap.editorCtx) {
 | 
			
		||||
              //   snap.files.forEach(file =>
 | 
			
		||||
              //     monaco.editor.createModel(
 | 
			
		||||
              //       file.content,
 | 
			
		||||
              //       file.language,
 | 
			
		||||
              //       monaco.Uri.parse(`file:///work/c/${file.name}`)
 | 
			
		||||
              //     )
 | 
			
		||||
              //   )
 | 
			
		||||
              // }
 | 
			
		||||
 | 
			
		||||
              // create the web socket
 | 
			
		||||
              if (!subscriptionRef.current) {
 | 
			
		||||
@@ -218,6 +218,11 @@ const HooksEditor = () => {
 | 
			
		||||
                  aliases: ['C', 'c', 'H', 'h'],
 | 
			
		||||
                  mimetypes: ['text/plain']
 | 
			
		||||
                })
 | 
			
		||||
                monaco.languages.register({
 | 
			
		||||
                  id: 'text',
 | 
			
		||||
                  extensions: ['.txt'],
 | 
			
		||||
                  mimetypes: ['text/plain'],
 | 
			
		||||
                })
 | 
			
		||||
                MonacoServices.install(monaco)
 | 
			
		||||
                const webSocket = createWebSocket(
 | 
			
		||||
                  process.env.NEXT_PUBLIC_LANGUAGE_SERVER_API_ENDPOINT || ''
 | 
			
		||||
 
 | 
			
		||||
@@ -6,13 +6,14 @@ const languageMapping: Record<string, string | undefined> = {
 | 
			
		||||
  js: 'javascript',
 | 
			
		||||
  md: 'markdown',
 | 
			
		||||
  c: 'c',
 | 
			
		||||
  h: 'c'
 | 
			
		||||
  h: 'c',
 | 
			
		||||
  txt: 'text'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export const createNewFile = (name: string) => {
 | 
			
		||||
  const ext = getFileExtention(name) || ''
 | 
			
		||||
 | 
			
		||||
  const emptyFile: IFile = { name, language: languageMapping[ext] || '', content: '' }
 | 
			
		||||
  const emptyFile: IFile = { name, language: languageMapping[ext] || 'text', content: '' }
 | 
			
		||||
  state.files.push(emptyFile)
 | 
			
		||||
  state.active = state.files.length - 1
 | 
			
		||||
}
 | 
			
		||||
@@ -22,7 +23,7 @@ export const renameFile = (oldName: string, nwName: string) => {
 | 
			
		||||
  if (!file) throw Error(`No file exists with name ${oldName}`)
 | 
			
		||||
 | 
			
		||||
  const ext = getFileExtention(nwName) || ''
 | 
			
		||||
  const language = languageMapping[ext] || ''
 | 
			
		||||
  const language = languageMapping[ext] || 'text'
 | 
			
		||||
  file.name = nwName
 | 
			
		||||
  file.language = language
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user