[🔨] Refactor away switch statement

This commit is contained in:
FIameCaster 2023-10-23 00:02:23 +02:00
parent 584d80fe38
commit 39cb8e6964

View file

@ -14,6 +14,26 @@ interface EditorConfig {
path: string path: string
} }
const fileLanguageMap: {
[key: string]: string
} = {
c: 'clike',
cpp: 'clike',
java: 'clike',
cs: 'clike',
ts: 'typescript',
js: 'javascript',
mjs: 'javascript',
cjs: 'javascript',
jsx: 'jsx',
tsx: 'tsx',
html: 'html',
md: 'markdown',
css: 'css',
xml: 'xml',
py: 'python'
}
export default class EditorApp implements App { export default class EditorApp implements App {
meta = { meta = {
name: 'Editor', name: 'Editor',
@ -123,69 +143,7 @@ export default class EditorApp implements App {
} }
}) })
let language const language = fileLanguageMap[data.path.split('.').at(-1)?.toLowerCase()!] || 'text'
switch (data.path.split('.').at(-1)?.toLowerCase()) {
case 'c':
case 'cs':
case 'cpp':
case 'java': {
language = 'clike'
break
}
case 'ts': {
language = 'typescript'
break
}
case 'js':
case 'mjs':
case 'cjs': {
language = 'javascript'
break
}
case 'jsx': {
language = 'jsx'
break
}
case 'tsx': {
language = 'tsx'
break
}
case 'html': {
language = 'html'
break
}
case 'md': {
language = 'md'
break
}
case 'css': {
language = 'css'
break
}
case 'xml': {
language = 'xml'
break
}
case 'py': {
language = 'python'
break
}
default: {
language = 'text'
break
}
}
const value = (await window.fs.promises.readFile(data.path)).toString() const value = (await window.fs.promises.readFile(data.path)).toString()
const editor = fullEditor( const editor = fullEditor(