1 | (function () {
|
---|
2 |
|
---|
3 | if (typeof Prism === 'undefined' || typeof document === 'undefined') {
|
---|
4 | return;
|
---|
5 | }
|
---|
6 |
|
---|
7 | if (!Prism.plugins.toolbar) {
|
---|
8 | console.warn('Show Languages plugin loaded before Toolbar plugin.');
|
---|
9 |
|
---|
10 | return;
|
---|
11 | }
|
---|
12 |
|
---|
13 | /* eslint-disable */
|
---|
14 |
|
---|
15 | // The languages map is built automatically with gulp
|
---|
16 | var Languages = /*languages_placeholder[*/{
|
---|
17 | "none": "Plain text",
|
---|
18 | "plain": "Plain text",
|
---|
19 | "plaintext": "Plain text",
|
---|
20 | "text": "Plain text",
|
---|
21 | "txt": "Plain text",
|
---|
22 | "html": "HTML",
|
---|
23 | "xml": "XML",
|
---|
24 | "svg": "SVG",
|
---|
25 | "mathml": "MathML",
|
---|
26 | "ssml": "SSML",
|
---|
27 | "rss": "RSS",
|
---|
28 | "css": "CSS",
|
---|
29 | "clike": "C-like",
|
---|
30 | "js": "JavaScript",
|
---|
31 | "abap": "ABAP",
|
---|
32 | "abnf": "ABNF",
|
---|
33 | "al": "AL",
|
---|
34 | "antlr4": "ANTLR4",
|
---|
35 | "g4": "ANTLR4",
|
---|
36 | "apacheconf": "Apache Configuration",
|
---|
37 | "apl": "APL",
|
---|
38 | "aql": "AQL",
|
---|
39 | "ino": "Arduino",
|
---|
40 | "arff": "ARFF",
|
---|
41 | "armasm": "ARM Assembly",
|
---|
42 | "arm-asm": "ARM Assembly",
|
---|
43 | "art": "Arturo",
|
---|
44 | "asciidoc": "AsciiDoc",
|
---|
45 | "adoc": "AsciiDoc",
|
---|
46 | "aspnet": "ASP.NET (C#)",
|
---|
47 | "asm6502": "6502 Assembly",
|
---|
48 | "asmatmel": "Atmel AVR Assembly",
|
---|
49 | "autohotkey": "AutoHotkey",
|
---|
50 | "autoit": "AutoIt",
|
---|
51 | "avisynth": "AviSynth",
|
---|
52 | "avs": "AviSynth",
|
---|
53 | "avro-idl": "Avro IDL",
|
---|
54 | "avdl": "Avro IDL",
|
---|
55 | "awk": "AWK",
|
---|
56 | "gawk": "GAWK",
|
---|
57 | "sh": "Shell",
|
---|
58 | "basic": "BASIC",
|
---|
59 | "bbcode": "BBcode",
|
---|
60 | "bbj": "BBj",
|
---|
61 | "bnf": "BNF",
|
---|
62 | "rbnf": "RBNF",
|
---|
63 | "bqn": "BQN",
|
---|
64 | "bsl": "BSL (1C:Enterprise)",
|
---|
65 | "oscript": "OneScript",
|
---|
66 | "csharp": "C#",
|
---|
67 | "cs": "C#",
|
---|
68 | "dotnet": "C#",
|
---|
69 | "cpp": "C++",
|
---|
70 | "cfscript": "CFScript",
|
---|
71 | "cfc": "CFScript",
|
---|
72 | "cil": "CIL",
|
---|
73 | "cilkc": "Cilk/C",
|
---|
74 | "cilk-c": "Cilk/C",
|
---|
75 | "cilkcpp": "Cilk/C++",
|
---|
76 | "cilk-cpp": "Cilk/C++",
|
---|
77 | "cilk": "Cilk/C++",
|
---|
78 | "cmake": "CMake",
|
---|
79 | "cobol": "COBOL",
|
---|
80 | "coffee": "CoffeeScript",
|
---|
81 | "conc": "Concurnas",
|
---|
82 | "csp": "Content-Security-Policy",
|
---|
83 | "css-extras": "CSS Extras",
|
---|
84 | "csv": "CSV",
|
---|
85 | "cue": "CUE",
|
---|
86 | "dataweave": "DataWeave",
|
---|
87 | "dax": "DAX",
|
---|
88 | "django": "Django/Jinja2",
|
---|
89 | "jinja2": "Django/Jinja2",
|
---|
90 | "dns-zone-file": "DNS zone file",
|
---|
91 | "dns-zone": "DNS zone file",
|
---|
92 | "dockerfile": "Docker",
|
---|
93 | "dot": "DOT (Graphviz)",
|
---|
94 | "gv": "DOT (Graphviz)",
|
---|
95 | "ebnf": "EBNF",
|
---|
96 | "editorconfig": "EditorConfig",
|
---|
97 | "ejs": "EJS",
|
---|
98 | "etlua": "Embedded Lua templating",
|
---|
99 | "erb": "ERB",
|
---|
100 | "excel-formula": "Excel Formula",
|
---|
101 | "xlsx": "Excel Formula",
|
---|
102 | "xls": "Excel Formula",
|
---|
103 | "fsharp": "F#",
|
---|
104 | "firestore-security-rules": "Firestore security rules",
|
---|
105 | "ftl": "FreeMarker Template Language",
|
---|
106 | "gml": "GameMaker Language",
|
---|
107 | "gamemakerlanguage": "GameMaker Language",
|
---|
108 | "gap": "GAP (CAS)",
|
---|
109 | "gcode": "G-code",
|
---|
110 | "gdscript": "GDScript",
|
---|
111 | "gedcom": "GEDCOM",
|
---|
112 | "gettext": "gettext",
|
---|
113 | "po": "gettext",
|
---|
114 | "glsl": "GLSL",
|
---|
115 | "gn": "GN",
|
---|
116 | "gni": "GN",
|
---|
117 | "linker-script": "GNU Linker Script",
|
---|
118 | "ld": "GNU Linker Script",
|
---|
119 | "go-module": "Go module",
|
---|
120 | "go-mod": "Go module",
|
---|
121 | "graphql": "GraphQL",
|
---|
122 | "hbs": "Handlebars",
|
---|
123 | "hs": "Haskell",
|
---|
124 | "hcl": "HCL",
|
---|
125 | "hlsl": "HLSL",
|
---|
126 | "http": "HTTP",
|
---|
127 | "hpkp": "HTTP Public-Key-Pins",
|
---|
128 | "hsts": "HTTP Strict-Transport-Security",
|
---|
129 | "ichigojam": "IchigoJam",
|
---|
130 | "icu-message-format": "ICU Message Format",
|
---|
131 | "idr": "Idris",
|
---|
132 | "ignore": ".ignore",
|
---|
133 | "gitignore": ".gitignore",
|
---|
134 | "hgignore": ".hgignore",
|
---|
135 | "npmignore": ".npmignore",
|
---|
136 | "inform7": "Inform 7",
|
---|
137 | "javadoc": "JavaDoc",
|
---|
138 | "javadoclike": "JavaDoc-like",
|
---|
139 | "javastacktrace": "Java stack trace",
|
---|
140 | "jq": "JQ",
|
---|
141 | "jsdoc": "JSDoc",
|
---|
142 | "js-extras": "JS Extras",
|
---|
143 | "json": "JSON",
|
---|
144 | "webmanifest": "Web App Manifest",
|
---|
145 | "json5": "JSON5",
|
---|
146 | "jsonp": "JSONP",
|
---|
147 | "jsstacktrace": "JS stack trace",
|
---|
148 | "js-templates": "JS Templates",
|
---|
149 | "keepalived": "Keepalived Configure",
|
---|
150 | "kts": "Kotlin Script",
|
---|
151 | "kt": "Kotlin",
|
---|
152 | "kumir": "KuMir (КуМир)",
|
---|
153 | "kum": "KuMir (КуМир)",
|
---|
154 | "latex": "LaTeX",
|
---|
155 | "tex": "TeX",
|
---|
156 | "context": "ConTeXt",
|
---|
157 | "lilypond": "LilyPond",
|
---|
158 | "ly": "LilyPond",
|
---|
159 | "emacs": "Lisp",
|
---|
160 | "elisp": "Lisp",
|
---|
161 | "emacs-lisp": "Lisp",
|
---|
162 | "llvm": "LLVM IR",
|
---|
163 | "log": "Log file",
|
---|
164 | "lolcode": "LOLCODE",
|
---|
165 | "magma": "Magma (CAS)",
|
---|
166 | "md": "Markdown",
|
---|
167 | "markup-templating": "Markup templating",
|
---|
168 | "matlab": "MATLAB",
|
---|
169 | "maxscript": "MAXScript",
|
---|
170 | "mel": "MEL",
|
---|
171 | "metafont": "METAFONT",
|
---|
172 | "mongodb": "MongoDB",
|
---|
173 | "moon": "MoonScript",
|
---|
174 | "n1ql": "N1QL",
|
---|
175 | "n4js": "N4JS",
|
---|
176 | "n4jsd": "N4JS",
|
---|
177 | "nand2tetris-hdl": "Nand To Tetris HDL",
|
---|
178 | "naniscript": "Naninovel Script",
|
---|
179 | "nani": "Naninovel Script",
|
---|
180 | "nasm": "NASM",
|
---|
181 | "neon": "NEON",
|
---|
182 | "nginx": "nginx",
|
---|
183 | "nsis": "NSIS",
|
---|
184 | "objectivec": "Objective-C",
|
---|
185 | "objc": "Objective-C",
|
---|
186 | "ocaml": "OCaml",
|
---|
187 | "opencl": "OpenCL",
|
---|
188 | "openqasm": "OpenQasm",
|
---|
189 | "qasm": "OpenQasm",
|
---|
190 | "parigp": "PARI/GP",
|
---|
191 | "objectpascal": "Object Pascal",
|
---|
192 | "psl": "PATROL Scripting Language",
|
---|
193 | "pcaxis": "PC-Axis",
|
---|
194 | "px": "PC-Axis",
|
---|
195 | "peoplecode": "PeopleCode",
|
---|
196 | "pcode": "PeopleCode",
|
---|
197 | "php": "PHP",
|
---|
198 | "phpdoc": "PHPDoc",
|
---|
199 | "php-extras": "PHP Extras",
|
---|
200 | "plant-uml": "PlantUML",
|
---|
201 | "plantuml": "PlantUML",
|
---|
202 | "plsql": "PL/SQL",
|
---|
203 | "powerquery": "PowerQuery",
|
---|
204 | "pq": "PowerQuery",
|
---|
205 | "mscript": "PowerQuery",
|
---|
206 | "powershell": "PowerShell",
|
---|
207 | "promql": "PromQL",
|
---|
208 | "properties": ".properties",
|
---|
209 | "protobuf": "Protocol Buffers",
|
---|
210 | "purebasic": "PureBasic",
|
---|
211 | "pbfasm": "PureBasic",
|
---|
212 | "purs": "PureScript",
|
---|
213 | "py": "Python",
|
---|
214 | "qsharp": "Q#",
|
---|
215 | "qs": "Q#",
|
---|
216 | "q": "Q (kdb+ database)",
|
---|
217 | "qml": "QML",
|
---|
218 | "rkt": "Racket",
|
---|
219 | "cshtml": "Razor C#",
|
---|
220 | "razor": "Razor C#",
|
---|
221 | "jsx": "React JSX",
|
---|
222 | "tsx": "React TSX",
|
---|
223 | "renpy": "Ren'py",
|
---|
224 | "rpy": "Ren'py",
|
---|
225 | "res": "ReScript",
|
---|
226 | "rest": "reST (reStructuredText)",
|
---|
227 | "robotframework": "Robot Framework",
|
---|
228 | "robot": "Robot Framework",
|
---|
229 | "rb": "Ruby",
|
---|
230 | "sas": "SAS",
|
---|
231 | "sass": "Sass (Sass)",
|
---|
232 | "scss": "Sass (SCSS)",
|
---|
233 | "shell-session": "Shell session",
|
---|
234 | "sh-session": "Shell session",
|
---|
235 | "shellsession": "Shell session",
|
---|
236 | "sml": "SML",
|
---|
237 | "smlnj": "SML/NJ",
|
---|
238 | "solidity": "Solidity (Ethereum)",
|
---|
239 | "sol": "Solidity (Ethereum)",
|
---|
240 | "solution-file": "Solution file",
|
---|
241 | "sln": "Solution file",
|
---|
242 | "soy": "Soy (Closure Template)",
|
---|
243 | "sparql": "SPARQL",
|
---|
244 | "rq": "SPARQL",
|
---|
245 | "splunk-spl": "Splunk SPL",
|
---|
246 | "sqf": "SQF: Status Quo Function (Arma 3)",
|
---|
247 | "sql": "SQL",
|
---|
248 | "stata": "Stata Ado",
|
---|
249 | "iecst": "Structured Text (IEC 61131-3)",
|
---|
250 | "supercollider": "SuperCollider",
|
---|
251 | "sclang": "SuperCollider",
|
---|
252 | "systemd": "Systemd configuration file",
|
---|
253 | "t4-templating": "T4 templating",
|
---|
254 | "t4-cs": "T4 Text Templates (C#)",
|
---|
255 | "t4": "T4 Text Templates (C#)",
|
---|
256 | "t4-vb": "T4 Text Templates (VB)",
|
---|
257 | "tap": "TAP",
|
---|
258 | "tt2": "Template Toolkit 2",
|
---|
259 | "toml": "TOML",
|
---|
260 | "trickle": "trickle",
|
---|
261 | "troy": "troy",
|
---|
262 | "trig": "TriG",
|
---|
263 | "ts": "TypeScript",
|
---|
264 | "tsconfig": "TSConfig",
|
---|
265 | "uscript": "UnrealScript",
|
---|
266 | "uc": "UnrealScript",
|
---|
267 | "uorazor": "UO Razor Script",
|
---|
268 | "uri": "URI",
|
---|
269 | "url": "URL",
|
---|
270 | "vbnet": "VB.Net",
|
---|
271 | "vhdl": "VHDL",
|
---|
272 | "vim": "vim",
|
---|
273 | "visual-basic": "Visual Basic",
|
---|
274 | "vba": "VBA",
|
---|
275 | "vb": "Visual Basic",
|
---|
276 | "wasm": "WebAssembly",
|
---|
277 | "web-idl": "Web IDL",
|
---|
278 | "webidl": "Web IDL",
|
---|
279 | "wgsl": "WGSL",
|
---|
280 | "wiki": "Wiki markup",
|
---|
281 | "wolfram": "Wolfram language",
|
---|
282 | "nb": "Mathematica Notebook",
|
---|
283 | "wl": "Wolfram language",
|
---|
284 | "xeoracube": "XeoraCube",
|
---|
285 | "xml-doc": "XML doc (.net)",
|
---|
286 | "xojo": "Xojo (REALbasic)",
|
---|
287 | "xquery": "XQuery",
|
---|
288 | "yaml": "YAML",
|
---|
289 | "yml": "YAML",
|
---|
290 | "yang": "YANG"
|
---|
291 | }/*]*/;
|
---|
292 |
|
---|
293 | /* eslint-enable */
|
---|
294 |
|
---|
295 | Prism.plugins.toolbar.registerButton('show-language', function (env) {
|
---|
296 | var pre = env.element.parentNode;
|
---|
297 | if (!pre || !/pre/i.test(pre.nodeName)) {
|
---|
298 | return;
|
---|
299 | }
|
---|
300 |
|
---|
301 | /**
|
---|
302 | * Tries to guess the name of a language given its id.
|
---|
303 | *
|
---|
304 | * @param {string} id The language id.
|
---|
305 | * @returns {string}
|
---|
306 | */
|
---|
307 | function guessTitle(id) {
|
---|
308 | if (!id) {
|
---|
309 | return id;
|
---|
310 | }
|
---|
311 | return (id.substring(0, 1).toUpperCase() + id.substring(1)).replace(/s(?=cript)/, 'S');
|
---|
312 | }
|
---|
313 |
|
---|
314 | var language = pre.getAttribute('data-language') || Languages[env.language] || guessTitle(env.language);
|
---|
315 |
|
---|
316 | if (!language) {
|
---|
317 | return;
|
---|
318 | }
|
---|
319 | var element = document.createElement('span');
|
---|
320 | element.textContent = language;
|
---|
321 |
|
---|
322 | return element;
|
---|
323 | });
|
---|
324 |
|
---|
325 | }());
|
---|