From 39cb8e696460edc2cb5b24b5a77ffc2c31fd0264 Mon Sep 17 00:00:00 2001 From: FIameCaster <82079841+FIameCaster@users.noreply.github.com> Date: Mon, 23 Oct 2023 00:02:23 +0200 Subject: [PATCH] =?UTF-8?q?[=F0=9F=94=A8]=20Refactor=20away=20switch=20sta?= =?UTF-8?q?tement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apps/editor.ts | 84 ++++++++++++---------------------------------- 1 file changed, 21 insertions(+), 63 deletions(-) diff --git a/src/apps/editor.ts b/src/apps/editor.ts index 6c65e16..6dc1eea 100644 --- a/src/apps/editor.ts +++ b/src/apps/editor.ts @@ -14,6 +14,26 @@ interface EditorConfig { 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 { meta = { name: 'Editor', @@ -123,69 +143,7 @@ export default class EditorApp implements App { } }) - let language - - 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 language = fileLanguageMap[data.path.split('.').at(-1)?.toLowerCase()!] || 'text' const value = (await window.fs.promises.readFile(data.path)).toString() const editor = fullEditor(