// retoor export class CodeMirrorModes { static LANGUAGE_MODES = { "c": "text/x-csrc", "cpp": "text/x-c++src", "java": "text/x-java", "bash": "text/x-sh", "ruby": "text/x-ruby", "php": "text/x-php", "perl": "text/x-perl", "haskell": "text/x-haskell", "lua": "text/x-lua", "elixir": "text/x-elixir", "dart": "text/x-dart", "r": "text/x-rsrc", "scala": "text/x-scala", }; static EXTENSION_MODES = { "py": "python", "js": "javascript", "mjs": "javascript", "cjs": "javascript", "jsx": "javascript", "ts": "text/typescript", "tsx": "text/typescript", "json": "application/json", "jsonc": "application/json", "c": "text/x-csrc", "h": "text/x-csrc", "cpp": "text/x-c++src", "cc": "text/x-c++src", "hpp": "text/x-c++src", "hh": "text/x-c++src", "cs": "text/x-csharp", "java": "text/x-java", "go": "go", "rb": "text/x-ruby", "php": "text/x-php", "pl": "text/x-perl", "pm": "text/x-perl", "lua": "text/x-lua", "r": "text/x-rsrc", "dart": "text/x-dart", "swift": "swift", "hs": "text/x-haskell", "sql": "sql", "sh": "text/x-sh", "bash": "text/x-sh", "zsh": "text/x-sh", "yaml": "yaml", "yml": "yaml", "md": "markdown", "markdown": "markdown", "html": "htmlmixed", "htm": "htmlmixed", "xml": "xml", "svg": "xml", "css": "css", "scss": "css", "sass": "css", "less": "css", }; static FILENAME_MODES = { "dockerfile": "text/x-sh", "makefile": "text/x-sh", ".gitignore": "text/plain", ".env": "text/plain", }; static modeForFilename(name) { const lower = (name || "").toLowerCase(); if (this.FILENAME_MODES[lower]) return this.FILENAME_MODES[lower]; const dot = lower.lastIndexOf("."); const ext = dot >= 0 ? lower.slice(dot + 1) : ""; return this.EXTENSION_MODES[ext] || "plaintext"; } }