export interface Mode { name: string; mime: string; mimes?: string[]; mode: string; ext?: string[]; alias?: string[]; file?: RegExp; } const modes: Mode[] = [ { name: 'C', mime: 'text/x-csrc', mode: 'clike', ext: ['c', 'h', 'ino'] }, { name: 'C++', mime: 'text/x-c++src', mode: 'clike', ext: ['cpp', 'c++', 'cc', 'cxx', 'hpp', 'h++', 'hh', 'hxx'], alias: ['cpp'], }, { name: 'C#', mime: 'text/x-csharp', mode: 'clike', ext: ['cs'], alias: ['csharp', 'cs'] }, { name: 'CSS', mime: 'text/css', mode: 'css', ext: ['css'] }, { name: 'CQL', mime: 'text/x-cassandra', mode: 'sql', ext: ['cql'] }, { name: 'Diff', mime: 'text/x-diff', mode: 'diff', ext: ['diff', 'patch'] }, { name: 'Dockerfile', mime: 'text/x-dockerfile', mode: 'dockerfile', file: /^Dockerfile$/ }, { name: 'Git Markdown', mime: 'text/x-gfm', mode: 'gfm', file: /^(readme|contributing|history|license).md$/i }, { name: 'Golang', mime: 'text/x-go', mode: 'go', ext: ['go'] }, { name: 'HTML', mime: 'text/html', mode: 'htmlmixed', ext: ['html', 'htm', 'handlebars', 'hbs'], alias: ['xhtml'] }, { name: 'HTTP', mime: 'message/http', mode: 'http' }, { name: 'JavaScript', mime: 'text/javascript', mimes: [ 'text/javascript', 'text/ecmascript', 'application/javascript', 'application/x-javascript', 'application/ecmascript', ], mode: 'javascript', ext: ['js'], alias: ['ecmascript', 'js', 'node'], }, { name: 'JSON', mime: 'application/json', mimes: ['application/json', 'application/x-json'], mode: 'javascript', ext: ['json', 'map'], alias: ['json5'], }, { name: 'Lua', mime: 'text/x-lua', mode: 'lua', ext: ['lua'] }, { name: 'Markdown', mime: 'text/x-markdown', mode: 'markdown', ext: ['markdown', 'md', 'mkd'] }, { name: 'MariaDB', mime: 'text/x-mariadb', mode: 'sql' }, { name: 'MS SQL', mime: 'text/x-mssql', mode: 'sql' }, { name: 'MySQL', mime: 'text/x-mysql', mode: 'sql' }, { name: 'Nginx', mime: 'text/x-nginx-conf', mode: 'nginx', file: /nginx.*\.conf$/i }, { name: 'PHP', mime: 'text/x-php', mimes: ['text/x-php', 'application/x-httpd-php', 'application/x-httpd-php-open'], mode: 'php', ext: ['php', 'php3', 'php4', 'php5', 'php7', 'phtml'], }, { name: 'Plain Text', mime: 'text/plain', mode: 'null', ext: ['txt', 'text', 'conf', 'def', 'list', 'log'] }, { name: 'PostgreSQL', mime: 'text/x-pgsql', mode: 'sql' }, { name: 'Properties', mime: 'text/x-properties', mode: 'properties', ext: ['properties', 'ini', 'in'], alias: ['ini', 'properties'], }, { name: 'Pug', mime: 'text/x-pug', mimes: ['text/x-pug', 'text/x-jade'], mode: 'null', ext: ['pug'] }, { name: 'Python', mime: 'text/x-python', mode: 'python', ext: ['BUILD', 'bzl', 'py', 'pyw'], file: /^(BUCK|BUILD)$/, }, { name: 'Ruby', mime: 'text/x-ruby', mode: 'ruby', ext: ['rb'], alias: ['jruby', 'macruby', 'rake', 'rb', 'rbx'] }, { name: 'Rust', mime: 'text/x-rustsrc', mode: 'rust', ext: ['rs'] }, { name: 'Sass', mime: 'text/x-sass', mode: 'sass', ext: ['sass'] }, { name: 'SCSS', mime: 'text/x-scss', mode: 'css', ext: ['scss'] }, { name: 'Shell', mime: 'text/x-sh', mimes: ['text/x-sh', 'application/x-sh'], mode: 'shell', ext: ['sh', 'ksh', 'bash'], alias: ['bash', 'sh', 'zsh'], file: /^PKGBUILD$/, }, { name: 'SQL', mime: 'text/x-sql', mode: 'sql', ext: ['sql'] }, { name: 'SQLite', mime: 'text/x-sqlite', mode: 'sql' }, { name: 'TOML', mime: 'text/x-toml', mode: 'toml', ext: ['toml'] }, { name: 'TypeScript', mime: 'application/typescript', mode: 'javascript', ext: ['ts'], alias: ['ts'] }, { name: 'Vue', mime: 'script/x-vue', mimes: ['script/x-vue', 'text/x-vue'], mode: 'vue', ext: ['vue'] }, { name: 'XML', mime: 'application/xml', mimes: ['application/xml', 'text/xml'], mode: 'xml', ext: ['xml', 'xsl', 'xsd', 'svg'], alias: ['rss', 'wsdl', 'xsd'], }, { name: 'YAML', mime: 'text/x-yaml', mimes: ['text/x-yaml', 'text/yaml'], mode: 'yaml', ext: ['yaml', 'yml'], alias: ['yml'], }, ]; export default modes;