vue-markdown/src/assets/js/codemirror/mode/meta.js

672 lines
22 KiB
JavaScript

// Index, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(function (mod) {
if (typeof exports === 'object' && typeof module === 'object')
{
mod(require('../index'));
} else if (typeof define === 'function' && define.amd) {
define(['../index'], mod);
} else {
mod(CodeMirror);
}
})(function (CodeMirror) {
CodeMirror.modeInfo = [
{name: 'APL', mime: 'text/apl', mode: 'apl', ext: ['dyalog', 'apl']},
{
name: 'PGP',
mimes: [
'application/pgp',
'application/pgp-encrypted',
'application/pgp-keys',
'application/pgp-signature'
],
mode: 'asciiarmor',
ext: ['asc', 'pgp', 'sig']
},
{
name: 'ASN.1',
mime: 'text/x-ttcn-asn',
mode: 'asn.1',
ext: ['asn', 'asn1']
},
{
name: 'Asterisk',
mime: 'text/x-asterisk',
mode: 'asterisk',
file: /^extensions\.conf$/i
},
{
name: 'Brainfuck',
mime: 'text/x-brainfuck',
mode: 'brainfuck',
ext: ['b', 'bf']
},
{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: 'Cobol', mime: 'text/x-cobol', mode: 'cobol', ext: ['cob', 'cpy']},
{
name: 'C#',
mime: 'text/x-csharp',
mode: 'clike',
ext: ['cs'],
alias: ['csharp', 'cs']
},
{
name: 'Clojure',
mime: 'text/x-clojure',
mode: 'clojure',
ext: ['clj', 'cljc', 'cljx']
},
{
name: 'ClojureScript',
mime: 'text/x-clojurescript',
mode: 'clojure',
ext: ['cljs']
},
{
name: 'Closure Stylesheets (GSS)',
mime: 'text/x-gss',
mode: 'css',
ext: ['gss']
},
{
name: 'CMake',
mime: 'text/x-cmake',
mode: 'cmake',
ext: ['cmake', 'cmake.in'],
file: /^CMakeLists.txt$/
},
{
name: 'CoffeeScript',
mimes: [
'application/vnd.coffeescript',
'text/coffeescript',
'text/x-coffeescript'
],
mode: 'coffeescript',
ext: ['coffee'],
alias: ['coffee', 'coffee-script']
},
{
name: 'Common Lisp',
mime: 'text/x-common-lisp',
mode: 'commonlisp',
ext: ['cl', 'lisp', 'el'],
alias: ['lisp']
},
{
name: 'Cypher',
mime: 'application/x-cypher-query',
mode: 'cypher',
ext: ['cyp', 'cypher']
},
{
name: 'Cython',
mime: 'text/x-cython',
mode: 'python',
ext: ['pyx', 'pxd', 'pxi']
},
{name: 'Crystal', mime: 'text/x-crystal', mode: 'crystal', ext: ['cr']},
{name: 'CSS', mime: 'text/css', mode: 'css', ext: ['css']},
{name: 'CQL', mime: 'text/x-cassandra', mode: 'sql', ext: ['cql']},
{name: 'D', mime: 'text/x-d', mode: 'd', ext: ['d']},
{
name: 'Dart',
mimes: ['application/dart', 'text/x-dart'],
mode: 'dart',
ext: ['dart']
},
{name: 'diff', mime: 'text/x-diff', mode: 'diff', ext: ['diff', 'patch']},
{name: 'Django', mime: 'text/x-django', mode: 'django'},
{
name: 'Dockerfile',
mime: 'text/x-dockerfile',
mode: 'dockerfile',
file: /^Dockerfile$/
},
{name: 'DTD', mime: 'application/xml-dtd', mode: 'dtd', ext: ['dtd']},
{
name: 'Dylan',
mime: 'text/x-dylan',
mode: 'dylan',
ext: ['dylan', 'dyl', 'intr']
},
{name: 'EBNF', mime: 'text/x-ebnf', mode: 'ebnf'},
{name: 'ECL', mime: 'text/x-ecl', mode: 'ecl', ext: ['ecl']},
{name: 'edn', mime: 'application/edn', mode: 'clojure', ext: ['edn']},
{name: 'Eiffel', mime: 'text/x-eiffel', mode: 'eiffel', ext: ['e']},
{name: 'Elm', mime: 'text/x-elm', mode: 'elm', ext: ['elm']},
{
name: 'Embedded Javascript',
mime: 'application/x-ejs',
mode: 'htmlembedded',
ext: ['ejs']
},
{
name: 'Embedded Ruby',
mime: 'application/x-erb',
mode: 'htmlembedded',
ext: ['erb']
},
{name: 'Erlang', mime: 'text/x-erlang', mode: 'erlang', ext: ['erl']},
{name: 'Esper', mime: 'text/x-esper', mode: 'sql'},
{name: 'Factor', mime: 'text/x-factor', mode: 'factor', ext: ['factor']},
{name: 'FCL', mime: 'text/x-fcl', mode: 'fcl'},
{
name: 'Forth',
mime: 'text/x-forth',
mode: 'forth',
ext: ['forth', 'fth', '4th']
},
{
name: 'Fortran',
mime: 'text/x-fortran',
mode: 'fortran',
ext: ['f', 'for', 'f77', 'f90', 'f95']
},
{
name: 'F#',
mime: 'text/x-fsharp',
mode: 'mllike',
ext: ['fs'],
alias: ['fsharp']
},
{name: 'Gas', mime: 'text/x-gas', mode: 'gas', ext: ['s']},
{
name: 'Gherkin',
mime: 'text/x-feature',
mode: 'gherkin',
ext: ['feature']
},
{
name: 'GitHub Flavored Markdown',
mime: 'text/x-gfm',
mode: 'gfm',
file: /^(readme|contributing|history).md$/i
},
{name: 'Go', mime: 'text/x-go', mode: 'go', ext: ['go']},
{
name: 'Groovy',
mime: 'text/x-groovy',
mode: 'groovy',
ext: ['groovy', 'gradle'],
file: /^Jenkinsfile$/
},
{name: 'HAML', mime: 'text/x-haml', mode: 'haml', ext: ['haml']},
{name: 'Haskell', mime: 'text/x-haskell', mode: 'haskell', ext: ['hs']},
{
name: 'Haskell (Literate)',
mime: 'text/x-literate-haskell',
mode: 'haskell-literate',
ext: ['lhs']
},
{name: 'Haxe', mime: 'text/x-haxe', mode: 'haxe', ext: ['hx']},
{name: 'HXML', mime: 'text/x-hxml', mode: 'haxe', ext: ['hxml']},
{
name: 'ASP.NET',
mime: 'application/x-aspx',
mode: 'htmlembedded',
ext: ['aspx'],
alias: ['asp', 'aspx']
},
{
name: 'HTML',
mime: 'text/html',
mode: 'htmlmixed',
ext: ['html', 'htm', 'handlebars', 'hbs'],
alias: ['xhtml']
},
{name: 'HTTP', mime: 'message/http', mode: 'http'},
{name: 'IDL', mime: 'text/x-idl', mode: 'idl', ext: ['pro']},
{
name: 'Pug',
mime: 'text/x-pug',
mode: 'pug',
ext: ['jade', 'pug'],
alias: ['jade']
},
{name: 'Java', mime: 'text/x-java', mode: 'clike', ext: ['java']},
{
name: 'Java Server Pages',
mime: 'application/x-jsp',
mode: 'htmlembedded',
ext: ['jsp'],
alias: ['jsp']
},
{
name: 'JavaScript',
mimes: [
'text/javascript',
'text/ecmascript',
'application/javascript',
'application/x-javascript',
'application/ecmascript'
],
mode: 'javascript',
ext: ['js'],
alias: ['ecmascript', 'js', 'node']
},
{
name: 'JSON',
mimes: ['application/json', 'application/x-json'],
mode: 'javascript',
ext: ['json', 'map'],
alias: ['json5']
},
{
name: 'JSON-LD',
mime: 'application/ld+json',
mode: 'javascript',
ext: ['jsonld'],
alias: ['jsonld']
},
{name: 'JSX', mime: 'text/jsx', mode: 'jsx', ext: ['jsx']},
{
name: 'Jinja2',
mime: 'text/jinja2',
mode: 'jinja2',
ext: ['j2', 'jinja', 'jinja2']
},
{name: 'Julia', mime: 'text/x-julia', mode: 'julia', ext: ['jl']},
{name: 'Kotlin', mime: 'text/x-kotlin', mode: 'clike', ext: ['kt']},
{name: 'LESS', mime: 'text/x-less', mode: 'css', ext: ['less']},
{
name: 'LiveScript',
mime: 'text/x-livescript',
mode: 'livescript',
ext: ['ls'],
alias: ['ls']
},
{name: 'Lua', mime: 'text/x-lua', mode: 'lua', ext: ['lua']},
{
name: 'Markdown',
mime: 'text/x-src',
mode: 'markdown',
ext: ['markdown', 'md', 'mkd']
},
{name: 'mIRC', mime: 'text/mirc', mode: 'mirc'},
{name: 'MariaDB SQL', mime: 'text/x-mariadb', mode: 'sql'},
{
name: 'Mathematica',
mime: 'text/x-mathematica',
mode: 'mathematica',
ext: ['m', 'nb', 'wl', 'wls']
},
{
name: 'Modelica',
mime: 'text/x-modelica',
mode: 'modelica',
ext: ['mo']
},
{name: 'MUMPS', mime: 'text/x-mumps', mode: 'mumps', ext: ['mps']},
{name: 'MS SQL', mime: 'text/x-mssql', mode: 'sql'},
{name: 'mbox', mime: 'application/mbox', mode: 'mbox', ext: ['mbox']},
{name: 'MySQL', mime: 'text/x-mysql', mode: 'sql'},
{
name: 'Nginx',
mime: 'text/x-nginx-conf',
mode: 'nginx',
file: /nginx.*\.conf$/i
},
{name: 'NSIS', mime: 'text/x-nsis', mode: 'nsis', ext: ['nsh', 'nsi']},
{
name: 'NTriples',
mimes: ['application/n-triples', 'application/n-quads', 'text/n-triples'],
mode: 'ntriples',
ext: ['nt', 'nq']
},
{
name: 'Objective-C',
mime: 'text/x-objectivec',
mode: 'clike',
ext: ['m'],
alias: ['objective-c', 'objc']
},
{
name: 'Objective-C++',
mime: 'text/x-objectivec++',
mode: 'clike',
ext: ['mm'],
alias: ['objective-c++', 'objc++']
},
{
name: 'OCaml',
mime: 'text/x-ocaml',
mode: 'mllike',
ext: ['ml', 'mli', 'mll', 'mly']
},
{name: 'Octave', mime: 'text/x-octave', mode: 'octave', ext: ['m']},
{name: 'Oz', mime: 'text/x-oz', mode: 'oz', ext: ['oz']},
{
name: 'Pascal',
mime: 'text/x-pascal',
mode: 'pascal',
ext: ['p', 'pas']
},
{name: 'PEG.js', mime: 'null', mode: 'pegjs', ext: ['jsonld']},
{name: 'Perl', mime: 'text/x-perl', mode: 'perl', ext: ['pl', 'pm']},
{
name: 'PHP',
mimes: [
'text/x-php',
'application/x-httpd-php',
'application/x-httpd-php-open'
],
mode: 'php',
ext: ['php', 'php3', 'php4', 'php5', 'php7', 'phtml']
},
{name: 'Pig', mime: 'text/x-pig', mode: 'pig', ext: ['pig']},
{
name: 'Plain Text',
mime: 'text/plain',
mode: 'null',
ext: ['txt', 'text', 'conf', 'def', 'list', 'log']
},
{name: 'PLSQL', mime: 'text/x-plsql', mode: 'sql', ext: ['pls']},
{name: 'PostgreSQL', mime: 'text/x-pgsql', mode: 'sql'},
{
name: 'PowerShell',
mime: 'application/x-powershell',
mode: 'powershell',
ext: ['ps1', 'psd1', 'psm1']
},
{
name: 'Properties files',
mime: 'text/x-properties',
mode: 'properties',
ext: ['properties', 'ini', 'in'],
alias: ['ini', 'properties']
},
{
name: 'ProtoBuf',
mime: 'text/x-protobuf',
mode: 'protobuf',
ext: ['proto']
},
{
name: 'Python',
mime: 'text/x-python',
mode: 'python',
ext: ['BUILD', 'bzl', 'py', 'pyw'],
file: /^(BUCK|BUILD)$/
},
{name: 'Puppet', mime: 'text/x-puppet', mode: 'puppet', ext: ['pp']},
{name: 'Q', mime: 'text/x-q', mode: 'q', ext: ['q']},
{
name: 'R',
mime: 'text/x-rsrc',
mode: 'r',
ext: ['r', 'R'],
alias: ['rscript']
},
{
name: 'reStructuredText',
mime: 'text/x-rst',
mode: 'rst',
ext: ['rst'],
alias: ['rst']
},
{name: 'RPM Changes', mime: 'text/x-rpm-changes', mode: 'rpm'},
{name: 'RPM Spec', mime: 'text/x-rpm-spec', mode: 'rpm', ext: ['spec']},
{
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: 'SAS', mime: 'text/x-sas', mode: 'sas', ext: ['sas']},
{name: 'Sass', mime: 'text/x-sass', mode: 'sass', ext: ['sass']},
{name: 'Scala', mime: 'text/x-scala', mode: 'clike', ext: ['scala']},
{
name: 'Scheme',
mime: 'text/x-scheme',
mode: 'scheme',
ext: ['scm', 'ss']
},
{name: 'SCSS', mime: 'text/x-scss', mode: 'css', ext: ['scss']},
{
name: 'Shell',
mimes: ['text/x-sh', 'application/x-sh'],
mode: 'shell',
ext: ['sh', 'ksh', 'bash'],
alias: ['bash', 'sh', 'zsh'],
file: /^PKGBUILD$/
},
{
name: 'Sieve',
mime: 'application/sieve',
mode: 'sieve',
ext: ['siv', 'sieve']
},
{
name: 'Slim',
mimes: ['text/x-slim', 'application/x-slim'],
mode: 'slim',
ext: ['slim']
},
{name: 'Smalltalk', mime: 'text/x-stsrc', mode: 'smalltalk', ext: ['st']},
{name: 'Smarty', mime: 'text/x-smarty', mode: 'smarty', ext: ['tpl']},
{name: 'Solr', mime: 'text/x-solr', mode: 'solr'},
{
name: 'SML',
mime: 'text/x-sml',
mode: 'mllike',
ext: ['sml', 'sig', 'fun', 'smackspec']
},
{
name: 'Soy',
mime: 'text/x-soy',
mode: 'soy',
ext: ['soy'],
alias: ['closure template']
},
{
name: 'SPARQL',
mime: 'application/sparql-query',
mode: 'sparql',
ext: ['rq', 'sparql'],
alias: ['sparul']
},
{
name: 'Spreadsheet',
mime: 'text/x-spreadsheet',
mode: 'spreadsheet',
alias: ['excel', 'formula']
},
{name: 'SQL', mime: 'text/x-sql', mode: 'sql', ext: ['sql']},
{name: 'SQLite', mime: 'text/x-sqlite', mode: 'sql'},
{name: 'Squirrel', mime: 'text/x-squirrel', mode: 'clike', ext: ['nut']},
{name: 'Stylus', mime: 'text/x-styl', mode: 'stylus', ext: ['styl']},
{name: 'Swift', mime: 'text/x-swift', mode: 'swift', ext: ['swift']},
{name: 'sTeX', mime: 'text/x-stex', mode: 'stex'},
{
name: 'LaTeX',
mime: 'text/x-latex',
mode: 'stex',
ext: ['text', 'ltx', 'tex'],
alias: ['tex']
},
{
name: 'SystemVerilog',
mime: 'text/x-systemverilog',
mode: 'verilog',
ext: ['v', 'sv', 'svh']
},
{name: 'Tcl', mime: 'text/x-tcl', mode: 'tcl', ext: ['tcl']},
{
name: 'Textile',
mime: 'text/x-textile',
mode: 'textile',
ext: ['textile']
},
{name: 'TiddlyWiki ', mime: 'text/x-tiddlywiki', mode: 'tiddlywiki'},
{name: 'Tiki wiki', mime: 'text/tiki', mode: 'tiki'},
{name: 'TOML', mime: 'text/x-toml', mode: 'toml', ext: ['toml']},
{name: 'Tornado', mime: 'text/x-tornado', mode: 'tornado'},
{
name: 'troff',
mime: 'text/troff',
mode: 'troff',
ext: ['1', '2', '3', '4', '5', '6', '7', '8', '9']
},
{
name: 'TTCN',
mime: 'text/x-ttcn',
mode: 'ttcn',
ext: ['ttcn', 'ttcn3', 'ttcnpp']
},
{
name: 'TTCN_CFG',
mime: 'text/x-ttcn-cfg',
mode: 'ttcn-cfg',
ext: ['cfg']
},
{name: 'Turtle', mime: 'text/turtle', mode: 'turtle', ext: ['ttl']},
{
name: 'TypeScript',
mime: 'application/typescript',
mode: 'javascript',
ext: ['ts'],
alias: ['ts']
},
{
name: 'TypeScript-JSX',
mime: 'text/typescript-jsx',
mode: 'jsx',
ext: ['tsx'],
alias: ['tsx']
},
{name: 'Twig', mime: 'text/x-twig', mode: 'twig'},
{name: 'Web IDL', mime: 'text/x-webidl', mode: 'webidl', ext: ['webidl']},
{name: 'VB.NET', mime: 'text/x-vb', mode: 'vb', ext: ['vb']},
{name: 'VBScript', mime: 'text/vbscript', mode: 'vbscript', ext: ['vbs']},
{name: 'Velocity', mime: 'text/velocity', mode: 'velocity', ext: ['vtl']},
{name: 'Verilog', mime: 'text/x-verilog', mode: 'verilog', ext: ['v']},
{name: 'VHDL', mime: 'text/x-vhdl', mode: 'vhdl', ext: ['vhd', 'vhdl']},
{
name: 'Vue.js Component',
mimes: ['script/x-vue', 'text/x-vue'],
mode: 'vue',
ext: ['vue']
},
{
name: 'XML',
mimes: ['application/xml', 'text/xml'],
mode: 'xml',
ext: ['xml', 'xsl', 'xsd', 'svg'],
alias: ['rss', 'wsdl', 'xsd']
},
{
name: 'XQuery',
mime: 'application/xquery',
mode: 'xquery',
ext: ['xy', 'xquery']
},
{name: 'Yacas', mime: 'text/x-yacas', mode: 'yacas', ext: ['ys']},
{
name: 'YAML',
mimes: ['text/x-yaml', 'text/yaml'],
mode: 'yaml',
ext: ['yaml', 'yml'],
alias: ['yml']
},
{name: 'Z80', mime: 'text/x-z80', mode: 'z80', ext: ['z80']},
{
name: 'mscgen',
mime: 'text/x-mscgen',
mode: 'mscgen',
ext: ['mscgen', 'mscin', 'msc']
},
{name: 'xu', mime: 'text/x-xu', mode: 'mscgen', ext: ['xu']},
{
name: 'msgenny',
mime: 'text/x-msgenny',
mode: 'mscgen',
ext: ['msgenny']
}
];
// Ensure all modes have a mime property for backwards compatibility
for (var i = 0; i < CodeMirror.modeInfo.length; i++) {
var info = CodeMirror.modeInfo[i];
if (info.mimes) {
info.mime = info.mimes[0];
}
}
CodeMirror.findModeByMIME = function (mime) {
mime = mime.toLowerCase();
for (var i = 0; i < CodeMirror.modeInfo.length; i++) {
var info = CodeMirror.modeInfo[i];
if (info.mime == mime) {
return info;
}
if (info.mimes) {
for (var j = 0; j < info.mimes.length; j++) {
if (info.mimes[j] == mime) {
return info;
}
}
}
}
if (/\+xml$/.test(mime)) {
return CodeMirror.findModeByMIME('application/xml');
}
if (/\+json$/.test(mime)) {
return CodeMirror.findModeByMIME('application/json');
}
};
CodeMirror.findModeByExtension = function (ext) {
for (var i = 0; i < CodeMirror.modeInfo.length; i++) {
var info = CodeMirror.modeInfo[i];
if (info.ext) {
for (var j = 0; j < info.ext.length; j++) {
if (info.ext[j] == ext) {
return info;
}
}
}
}
};
CodeMirror.findModeByFileName = function (filename) {
for (var i = 0; i < CodeMirror.modeInfo.length; i++) {
var info = CodeMirror.modeInfo[i];
if (info.file && info.file.test(filename)) {
return info;
}
}
var dot = filename.lastIndexOf('.');
var ext = dot > -1 && filename.substring(dot + 1, filename.length);
if (ext) {
return CodeMirror.findModeByExtension(ext);
}
};
CodeMirror.findModeByName = function (name) {
name = name.toLowerCase();
for (var i = 0; i < CodeMirror.modeInfo.length; i++) {
var info = CodeMirror.modeInfo[i];
if (info.name.toLowerCase() == name) {
return info;
}
if (info.alias) {
for (var j = 0; j < info.alias.length; j++) {
if (info.alias[j].toLowerCase() == name) {
return info;
}
}
}
}
};
});