"use strict";
exports.id = 722;
exports.ids = [722];
exports.modules = {

/***/ 80722:
/***/ (function(__unused_webpack_module, exports) {


/*
 *  This file is part of CoCalc: Copyright © 2020 Sagemath, Inc.
 *  License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details
 */
var __values = (this && this.__values) || function(o) {
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
    if (m) return m.call(o);
    if (o && typeof o.length === "number") return {
        next: function () {
            if (o && i >= o.length) o = void 0;
            return { value: o && o[i++], done: !o };
        }
    };
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
var e_1, _a, e_2, _b, e_3, _c;
var _d;
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.AUDIO_EXTS = exports.VIDEO_EXTS = exports.IMAGE_EXTS = exports.file_associations = void 0;
var codemirror_associations = {
    adb: "ada",
    asm: "text/x-gas",
    c: "text/x-c",
    zig: "text/x-c",
    "c++": "text/x-c++src",
    cob: "text/x-cobol",
    cql: "text/x-sql",
    cpp: "text/x-c++src",
    cc: "text/x-c++src",
    tcc: "text/x-c++src",
    conf: "nginx",
    csharp: "text/x-csharp",
    "c#": "text/x-csharp",
    clj: "text/x-clojure",
    cljs: "text/x-clojure",
    cljc: "text/x-clojure",
    edn: "text/x-clojure",
    elm: "text/x-elm",
    erl: "text/x-erlang",
    hrl: "text/x-erlang",
    cjsx: "text/cjsx",
    coffee: "coffeescript",
    css: "css",
    diff: "text/x-diff",
    dtd: "application/xml-dtd",
    e: "text/x-eiffel",
    ecl: "ecl",
    f: "text/x-fortran",
    f90: "text/x-fortran",
    f95: "text/x-fortran",
    h: "text/x-c++hdr",
    hpp: "text/x-c++hdr",
    hs: "text/x-haskell",
    lhs: "text/x-haskell",
    html: "htmlmixed",
    init: "shell",
    java: "text/x-java",
    jl: "text/x-julia",
    js: "javascript",
    jsx: "jsx",
    json: "javascript",
    lean: "lean",
    ls: "text/x-livescript",
    lua: "lua",
    m: "text/x-octave",
    md: "yaml-frontmatter",
    mjs: "javascript",
    ml: "text/x-ocaml",
    mysql: "text/x-sql",
    patch: "text/x-diff",
    gp: "text/pari",
    go: "text/x-go",
    pari: "text/pari",
    pegjs: "pegjs",
    php: "php",
    pl: "text/x-perl",
    py: "python",
    pyx: "python",
    r: "r",
    rmd: "rmd",
    rnw: "rnw",
    rtex: "rtex",
    rs: "text/x-rustsrc",
    rst: "rst",
    rb: "text/x-ruby",
    ru: "text/x-ruby",
    sage: "python",
    scala: "text/x-scala",
    scm: "text/x-scheme",
    sh: "shell",
    spyx: "python",
    sql: "text/x-sql",
    ss: "text/x-scheme",
    sty: "stex2",
    txt: "text",
    tex: "stex2",
    ts: "application/typescript",
    tsx: "text/typescript-jsx",
    toml: "text/x-toml",
    bib: "stex",
    bbl: "stex",
    xml: "xml",
    cml: "xml",
    kml: "xml",
    xsl: "xml",
    ptx: "xml",
    v: "verilog",
    vh: "verilog",
};
exports.file_associations = {};
var MODE_TO_ICON = {
    python: "python",
    coffeescript: "coffee",
    javascript: "js-square",
    jsx: "node-js",
    "application/typescript": "js-square",
    "text/typescript-jsx": "node-js",
    "text/x-rustsrc": "cog",
    r: "r",
    rmd: "r",
    "text/x-gas": "microchip",
};
for (var ext in codemirror_associations) {
    var mode = codemirror_associations[ext];
    var name_1 = mode;
    var i = name_1.indexOf("x-");
    if (i !== -1) {
        name_1 = name_1.slice(i + 2);
    }
    name_1 = name_1.replace("src", "");
    var icon = (_d = MODE_TO_ICON[mode]) !== null && _d !== void 0 ? _d : "file-code";
    exports.file_associations[ext] = {
        editor: "codemirror",
        icon: icon,
        opts: { mode: mode },
        name: name_1,
    };
}
// noext = means file with no extension but the given name.
exports.file_associations["noext-dockerfile"] = {
    editor: "codemirror",
    icon: "docker",
    opts: { mode: "dockerfile", indent_unit: 2, tab_size: 2 },
    name: "Dockerfile",
    exclude_from_menu: true,
};
exports.file_associations.tex = {
    editor: "latex",
    icon: "tex-file",
    opts: { mode: "stex2", indent_unit: 2, tab_size: 2 },
    name: "LaTeX",
};
// At https://cs.lmu.edu/~ray/notes/gasexamples/ they use .s, so I'm also including that.
// In fact, GCC only works on files if they end in .s.
exports.file_associations.asm = exports.file_associations.s = {
    editor: "codemirror",
    icon: "microchip",
    opts: { mode: "gas", architecture: "x86" },
    name: "GNU Assembler",
};
exports.file_associations.lisp =
    exports.file_associations.lsp =
        exports.file_associations.el =
            exports.file_associations.cl =
                {
                    editor: "codemirror",
                    icon: "file-code",
                    opts: { mode: "commonlisp" },
                    name: "Common Lisp",
                };
exports.file_associations.rnw = {
    editor: "latex",
    icon: "tex-file",
    opts: {
        mode: codemirror_associations["rnw"],
        indent_unit: 4,
        tab_size: 4,
    },
    name: "R Knitr Rnw",
};
exports.file_associations.rtex = {
    editor: "latex",
    icon: "tex-file",
    opts: {
        mode: codemirror_associations["rtex"],
        indent_unit: 4,
        tab_size: 4,
    },
    name: "R Knitr Rtex",
};
exports.file_associations.html = {
    icon: "file-code",
    opts: { indent_unit: 4, tab_size: 4, mode: "htmlmixed" },
    name: "html",
};
exports.file_associations.lean = {
    editor: "lean",
    icon: "file-code",
    opts: { indent_unit: 4, tab_size: 4, mode: "lean" },
    name: "lean",
};
exports.file_associations.md = exports.file_associations.markdown = {
    icon: "markdown",
    opts: {
        indent_unit: 2,
        tab_size: 2,
        mode: codemirror_associations["md"],
        spellcheck: true,
    },
    name: "markdown",
};
exports.file_associations.rmd = {
    icon: "r",
    opts: {
        indent_unit: 4,
        tab_size: 4,
        mode: codemirror_associations["rmd"],
        spellcheck: true,
    },
    name: "RMarkdown",
};
exports.file_associations.rst = {
    icon: "file-code",
    opts: { indent_unit: 4, tab_size: 4, mode: "rst", spellcheck: true },
    name: "ReST",
};
exports.file_associations.java = {
    editor: "codemirror",
    icon: "file-code",
    opts: { indent_unit: 4, tab_size: 4, mode: "text/x-java" },
    name: "Java",
};
exports.file_associations.mediawiki = exports.file_associations.wiki = {
    editor: "html-md",
    icon: "file-code",
    opts: { indent_unit: 4, tab_size: 4, mode: "mediawiki", spellcheck: true },
    name: "MediaWiki",
};
exports.file_associations.sass = {
    editor: "codemirror",
    icon: "file-code",
    opts: { mode: "text/x-sass", indent_unit: 2, tab_size: 2 },
    name: "SASS",
};
exports.file_associations.yml = exports.file_associations.yaml = {
    editor: "codemirror",
    icon: "code",
    opts: { mode: "yaml", indent_unit: 2, tab_size: 2 },
    name: "YAML",
};
exports.file_associations.pug = exports.file_associations.jade = {
    editor: "codemirror",
    icon: "code",
    opts: { mode: "text/x-pug", indent_unit: 2, tab_size: 2, spellcheck: true },
    name: "PUG",
};
exports.file_associations.css = {
    editor: "codemirror",
    icon: "file-code",
    opts: { mode: "css", indent_unit: 4, tab_size: 4 },
    name: "CSS",
};
try {
    for (var _e = __values(["noext-makefile", "noext-gnumakefile", "make", "build"]), _f = _e.next(); !_f.done; _f = _e.next()) {
        var m = _f.value;
        exports.file_associations[m] = {
            editor: "codemirror",
            icon: "cogs",
            opts: {
                mode: "makefile",
                indent_unit: 4,
                tab_size: 4,
                spaces_instead_of_tabs: false,
            },
            name: "Makefile",
        };
    }
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
    try {
        if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
    }
    finally { if (e_1) throw e_1.error; }
}
exports.file_associations.term = {
    editor: "terminal",
    icon: "terminal",
    opts: {},
    name: "Terminal",
};
// This is just for the "Create" menu in files.
exports.file_associations.x11 = {
    editor: "x11",
    icon: "window-restore",
    opts: {},
    name: "Linux Graphical X11 Desktop",
};
exports.file_associations.ipynb = {
    editor: "ipynb",
    icon: "ipynb",
    opts: {},
    name: "Jupyter Notebook",
};
// verilog files
exports.file_associations.v = exports.file_associations.vh = {
    editor: "codemirror",
    icon: "microchip",
    opts: { mode: "verilog", indent_unit: 2, tab_size: 2 },
    name: "Verilog",
};
try {
    for (var _g = __values(["png", "jpg", "jpeg", "gif", "svg", "bmp"]), _h = _g.next(); !_h.done; _h = _g.next()) {
        var ext = _h.value;
        exports.file_associations[ext] = {
            editor: "media",
            icon: "file-image",
            opts: {},
            name: ext,
            binary: true,
            exclude_from_menu: true,
        };
    }
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
    try {
        if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
    }
    finally { if (e_2) throw e_2.error; }
}
// See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
exports.IMAGE_EXTS = Object.freeze([
    "jpg",
    "jpeg",
    "png",
    "bmp",
    "gif",
    "apng",
    "svg",
    "ico",
]);
exports.VIDEO_EXTS = Object.freeze([
    "webm",
    "mp4",
    "avi",
    "mkv",
    "ogv",
    "ogm",
    "3gp",
]);
exports.AUDIO_EXTS = Object.freeze([
    "wav",
    "ogg",
    "mp3",
    "aiff",
    "flac",
    "asnd",
    "aif",
    "au",
    "snd",
]);
exports.file_associations.pdf = {
    editor: "pdf",
    icon: "file-pdf",
    opts: {},
    name: "pdf",
    binary: true,
    exclude_from_menu: true,
};
exports.file_associations.tasks = {
    editor: "tasks",
    icon: "tasks",
    opts: {},
    name: "to do list",
};
exports.file_associations.course = {
    editor: "course",
    icon: "graduation-cap",
    opts: {},
    name: "course",
};
exports.file_associations.board = {
    editor: "board",
    icon: "layout",
    opts: {},
    name: "whiteboard",
};
exports.file_associations["sage-chat"] = {
    editor: "chat",
    icon: "comment",
    opts: {},
    name: "chat",
};
exports.file_associations["sage-git"] = {
    editor: "git",
    icon: "git-square",
    opts: {},
    name: "git",
};
exports.file_associations["sage-template"] = {
    editor: "template",
    icon: "clone",
    opts: {},
    name: "template",
};
exports.file_associations["sage-history"] = {
    editor: "history",
    icon: "history",
    opts: {},
    name: "sage history",
    exclude_from_menu: true,
};
// For tar, see http://en.wikipedia.org/wiki/Tar_%28computing%29
var archive_association = {
    editor: "archive",
    icon: "file-archive",
    opts: {},
    name: "archive",
};
// Fallback for any type not otherwise explicitly specified
exports.file_associations[""] = {
    editor: "unknown",
    icon: "question-circle",
    opts: { indent_unit: 4, tab_size: 4 },
    name: "",
};
try {
    for (var _j = __values("zip gz bz2 z lz xz lzma tgz tbz tbz2 tb2 taz tz tlz txz lzip".split(" ")), _k = _j.next(); !_k.done; _k = _j.next()) {
        var ext = _k.value;
        exports.file_associations[ext] = archive_association;
    }
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
    try {
        if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
    }
    finally { if (e_3) throw e_3.error; }
}
exports.file_associations.sage.name = "sage code";
exports.file_associations.sage.icon = "sagemath-bold";
exports.file_associations.sagews = {
    editor: "sagews",
    binary: false,
    icon: "sagemath-file",
    opts: { mode: "sagews" },
    name: "sagews",
    exclude_from_menu: true,
};
//# sourceMappingURL=file-associations.js.map

/***/ })

};
;