2var monacoEditor = require('@monaco-editor/react');
4exports.editorImpl = monacoEditor.default;
6exports.initMonacoImpl = function() {
7 return monacoEditor.monaco.init();
10exports.getValue = function(editor) {
12 return editor.getValue();
16exports.defineThemeImpl = function(monacoInstance) {
17 return function(name) {
18 return function(theme) {
20 return monacoInstance.editor.defineTheme(name, theme);
26exports.setThemeImpl = function(monacoInstance) {
27 return function(theme) {
29 return monacoInstance.editor.setTheme(theme);
34exports.registerLanguageImpl = function(monacoInstance) {
35 return function(languageId) {
37 monacoInstance.languages.register({ id: languageId})
42exports.setMonarchTokensProviderImpl = function(monacoInstance) {
43 return function(name) {
44 return function(monarchLanguage) {
46 return monacoInstance.languages.setMonarchTokensProvider(name, monarchLanguage);
52exports.nightOwlTheme = {
57 "foreground": "637777",
61 "foreground": "addb67",
65 "foreground": "ecc48d",
66 "token": "vstring.quoted"
69 "foreground": "ecc48d",
70 "token": "variable.other.readwrite.js"
73 "foreground": "5ca7e4",
74 "token": "string.regexp"
77 "foreground": "5ca7e4",
78 "token": "string.regexp keyword.other"
81 "foreground": "5f7e97",
82 "token": "meta.function punctuation.separator.comma"
85 "foreground": "f78c6c",
86 "token": "constant.numeric"
89 "foreground": "f78c6c",
90 "token": "constant.character.numeric"
93 "foreground": "addb67",
97 "foreground": "c792ea",
101 "foreground": "c792ea",
102 "token": "punctuation.accessor"
105 "foreground": "c792ea",
109 "foreground": "c792ea",
110 "token": "meta.var.expr"
113 "foreground": "c792ea",
114 "token": "meta.class meta.method.declaration meta.var.expr storage.type.jsm"
117 "foreground": "c792ea",
118 "token": "storage.type.property.js"
121 "foreground": "c792ea",
122 "token": "storage.type.property.ts"
125 "foreground": "c792ea",
126 "token": "storage.type.property.tsx"
129 "foreground": "82aaff",
130 "token": "storage.type"
133 "foreground": "ffcb8b",
134 "token": "entity.name.class"
137 "foreground": "ffcb8b",
138 "token": "meta.class entity.name.type.class"
141 "foreground": "addb67",
142 "token": "entity.other.inherited-class"
145 "foreground": "82aaff",
146 "token": "entity.name.function"
149 "foreground": "addb67",
150 "token": "punctuation.definition.variable"
153 "foreground": "d3423e",
154 "token": "punctuation.section.embedded"
157 "foreground": "d6deeb",
158 "token": "punctuation.terminator.expression"
161 "foreground": "d6deeb",
162 "token": "punctuation.definition.arguments"
165 "foreground": "d6deeb",
166 "token": "punctuation.definition.array"
169 "foreground": "d6deeb",
170 "token": "punctuation.section.array"
173 "foreground": "d6deeb",
174 "token": "meta.array"
177 "foreground": "d9f5dd",
178 "token": "punctuation.definition.list.begin"
181 "foreground": "d9f5dd",
182 "token": "punctuation.definition.list.end"
185 "foreground": "d9f5dd",
186 "token": "punctuation.separator.arguments"
189 "foreground": "d9f5dd",
190 "token": "punctuation.definition.list"
193 "foreground": "d3423e",
194 "token": "string.template meta.template.expression"
197 "foreground": "d6deeb",
198 "token": "string.template punctuation.definition.string"
201 "foreground": "c792ea",
202 "fontStyle": "italic",
206 "foreground": "addb67",
211 "foreground": "82aaff",
212 "token": "constant.language"
215 "foreground": "82aaff",
216 "token": "punctuation.definition.constant"
219 "foreground": "82aaff",
220 "token": "variable.other.constant"
223 "foreground": "7fdbca",
224 "token": "support.function.construct"
227 "foreground": "7fdbca",
228 "token": "keyword.other.new"
231 "foreground": "82aaff",
232 "token": "constant.character"
235 "foreground": "82aaff",
236 "token": "constant.other"
239 "foreground": "f78c6c",
240 "token": "constant.character.escape"
243 "foreground": "addb67",
244 "token": "entity.other.inherited-class"
247 "foreground": "d7dbe0",
248 "token": "variable.parameter"
251 "foreground": "7fdbca",
252 "token": "entity.name.tag"
255 "foreground": "cc2996",
256 "token": "punctuation.definition.tag.html"
259 "foreground": "cc2996",
260 "token": "punctuation.definition.tag.begin"
263 "foreground": "cc2996",
264 "token": "punctuation.definition.tag.end"
267 "foreground": "addb67",
268 "token": "entity.other.attribute-name"
271 "foreground": "addb67",
272 "token": "entity.name.tag.custom"
275 "foreground": "82aaff",
276 "token": "support.function"
279 "foreground": "82aaff",
280 "token": "support.constant"
283 "foreground": "7fdbca",
284 "token": "upport.constant.meta.property-value"
287 "foreground": "addb67",
288 "token": "support.type"
291 "foreground": "addb67",
292 "token": "support.class"
295 "foreground": "addb67",
296 "token": "support.variable.dom"
299 "foreground": "7fdbca",
300 "token": "support.constant"
303 "foreground": "7fdbca",
304 "token": "keyword.other.special-method"
307 "foreground": "7fdbca",
308 "token": "keyword.other.new"
311 "foreground": "7fdbca",
312 "token": "keyword.other.debugger"
315 "foreground": "7fdbca",
316 "token": "keyword.control"
319 "foreground": "c792ea",
320 "token": "keyword.operator.comparison"
323 "foreground": "c792ea",
324 "token": "keyword.control.flow.js"
327 "foreground": "c792ea",
328 "token": "keyword.control.flow.ts"
331 "foreground": "c792ea",
332 "token": "keyword.control.flow.tsx"
335 "foreground": "c792ea",
336 "token": "keyword.control.ruby"
339 "foreground": "c792ea",
340 "token": "keyword.control.module.ruby"
343 "foreground": "c792ea",
344 "token": "keyword.control.class.ruby"
347 "foreground": "c792ea",
348 "token": "keyword.control.def.ruby"
351 "foreground": "c792ea",
352 "token": "keyword.control.loop.js"
355 "foreground": "c792ea",
356 "token": "keyword.control.loop.ts"
359 "foreground": "c792ea",
360 "token": "keyword.control.import.js"
363 "foreground": "c792ea",
364 "token": "keyword.control.import.ts"
367 "foreground": "c792ea",
368 "token": "keyword.control.import.tsx"
371 "foreground": "c792ea",
372 "token": "keyword.control.from.js"
375 "foreground": "c792ea",
376 "token": "keyword.control.from.ts"
379 "foreground": "c792ea",
380 "token": "keyword.control.from.tsx"
383 "foreground": "ffffff",
384 "background": "ff2c83",
388 "foreground": "ffffff",
389 "background": "d3423e",
390 "token": "invalid.deprecated"
393 "foreground": "7fdbca",
394 "token": "keyword.operator"
397 "foreground": "c792ea",
398 "token": "keyword.operator.relational"
401 "foreground": "c792ea",
402 "token": "keyword.operator.assignement"
405 "foreground": "c792ea",
406 "token": "keyword.operator.arithmetic"
409 "foreground": "c792ea",
410 "token": "keyword.operator.bitwise"
413 "foreground": "c792ea",
414 "token": "keyword.operator.increment"
417 "foreground": "c792ea",
418 "token": "keyword.operator.ternary"
421 "foreground": "637777",
422 "token": "comment.line.double-slash"
425 "foreground": "cdebf7",
429 "foreground": "ff5874",
430 "token": "constant.language.null"
433 "foreground": "d6deeb",
434 "token": "meta.brace"
437 "foreground": "c792ea",
438 "token": "meta.delimiter.period"
441 "foreground": "d9f5dd",
442 "token": "punctuation.definition.string"
445 "foreground": "ff5874",
446 "token": "constant.language.boolean"
449 "foreground": "ffffff",
450 "token": "object.comma"
453 "foreground": "7fdbca",
454 "token": "variable.parameter.function"
457 "foreground": "80cbc4",
458 "token": "support.type.vendor.property-name"
461 "foreground": "80cbc4",
462 "token": "support.constant.vendor.property-value"
465 "foreground": "80cbc4",
466 "token": "support.type.property-name"
469 "foreground": "80cbc4",
470 "token": "meta.property-list entity.name.tag"
473 "foreground": "57eaf1",
474 "token": "meta.property-list entity.name.tag.reference"
477 "foreground": "f78c6c",
478 "token": "constant.other.color.rgb-value punctuation.definition.constant"
481 "foreground": "ffeb95",
482 "token": "constant.other.color"
485 "foreground": "ffeb95",
486 "token": "keyword.other.unit"
489 "foreground": "c792ea",
490 "token": "meta.selector"
493 "foreground": "fad430",
494 "token": "entity.other.attribute-name.id"
497 "foreground": "80cbc4",
498 "token": "meta.property-name"
501 "foreground": "c792ea",
502 "token": "entity.name.tag.doctype"
505 "foreground": "c792ea",
506 "token": "meta.tag.sgml.doctype"
509 "foreground": "d9f5dd",
510 "token": "punctuation.definition.parameters"
513 "foreground": "ecc48d",
514 "token": "string.quoted"
517 "foreground": "ecc48d",
518 "token": "string.quoted.double"
521 "foreground": "ecc48d",
522 "token": "string.quoted.single"
525 "foreground": "addb67",
526 "token": "support.constant.math"
529 "foreground": "addb67",
530 "token": "support.type.property-name.json"
533 "foreground": "addb67",
534 "token": "support.constant.json"
537 "foreground": "c789d6",
538 "token": "meta.structure.dictionary.value.json string.quoted.double"
541 "foreground": "80cbc4",
542 "token": "string.quoted.double.json punctuation.definition.string.json"
545 "foreground": "ff5874",
546 "token": "meta.structure.dictionary.json meta.structure.dictionary.value constant.language"
549 "foreground": "d6deeb",
550 "token": "variable.other.ruby"
553 "foreground": "ecc48d",
554 "token": "entity.name.type.class.ruby"
557 "foreground": "ecc48d",
558 "token": "keyword.control.class.ruby"
561 "foreground": "ecc48d",
562 "token": "meta.class.ruby"
565 "foreground": "7fdbca",
566 "token": "constant.language.symbol.hashkey.ruby"
569 "foreground": "e0eddd",
570 "background": "a57706",
571 "fontStyle": "italic",
575 "foreground": "e0eddd",
576 "background": "a57706",
577 "fontStyle": "italic",
578 "token": "meta.diff.header"
581 "foreground": "ef535090",
582 "fontStyle": "italic",
583 "token": "markup.deleted"
586 "foreground": "a2bffc",
587 "fontStyle": "italic",
588 "token": "markup.changed"
591 "foreground": "a2bffc",
592 "fontStyle": "italic",
593 "token": "meta.diff.header.git"
596 "foreground": "a2bffc",
597 "fontStyle": "italic",
598 "token": "meta.diff.header.from-file"
601 "foreground": "a2bffc",
602 "fontStyle": "italic",
603 "token": "meta.diff.header.to-file"
606 "foreground": "219186",
607 "background": "eae3ca",
608 "token": "markup.inserted"
611 "foreground": "d3201f",
612 "token": "other.package.exclude"
615 "foreground": "d3201f",
616 "token": "other.remove"
619 "foreground": "269186",
623 "foreground": "ff5874",
624 "token": "constant.language.python"
627 "foreground": "82aaff",
628 "token": "variable.parameter.function.python"
631 "foreground": "82aaff",
632 "token": "meta.function-call.arguments.python"
635 "foreground": "b2ccd6",
636 "token": "meta.function-call.python"
639 "foreground": "b2ccd6",
640 "token": "meta.function-call.generic.python"
643 "foreground": "d6deeb",
644 "token": "punctuation.python"
647 "foreground": "addb67",
648 "token": "entity.name.function.decorator.python"
651 "foreground": "8eace3",
652 "token": "source.python variable.language.special"
655 "foreground": "82b1ff",
656 "token": "markup.heading.markdown"
659 "foreground": "c792ea",
660 "fontStyle": "italic",
661 "token": "markup.italic.markdown"
664 "foreground": "addb67",
666 "token": "markup.bold.markdown"
669 "foreground": "697098",
670 "token": "markup.quote.markdown"
673 "foreground": "80cbc4",
674 "token": "markup.inline.raw.markdown"
677 "foreground": "ff869a",
678 "token": "markup.underline.link.markdown"
681 "foreground": "ff869a",
682 "token": "markup.underline.link.image.markdown"
685 "foreground": "d6deeb",
686 "token": "string.other.link.title.markdown"
689 "foreground": "d6deeb",
690 "token": "string.other.link.description.markdown"
693 "foreground": "82b1ff",
694 "token": "punctuation.definition.string.markdown"
697 "foreground": "82b1ff",
698 "token": "punctuation.definition.string.begin.markdown"
701 "foreground": "82b1ff",
702 "token": "punctuation.definition.string.end.markdown"
705 "foreground": "82b1ff",
706 "token": "meta.link.inline.markdown punctuation.definition.string"
709 "foreground": "7fdbca",
710 "token": "punctuation.definition.metadata.markdown"
713 "foreground": "82b1ff",
714 "token": "beginning.punctuation.definition.list.markdown"
718 "editor.foreground": "#d6deeb",
719 "editor.background": "#011627",
720 "editor.selectionBackground": "#5f7e9779",
721 "editor.lineHighlightBackground": "#010E17",
722 "editorCursor.foreground": "#80a4c2",
723 "editorWhitespace.foreground": "#2e2040",
724 "editorIndentGuide.background": "#5e81ce52",
725 "editor.selectionHighlightBorder": "#122d42"
729exports.purescriptSyntax = {
730 "displayName": "Purescript",
731 "name": "purescrript",
732 "mimeTypes": ["text/purescript"],
733 "fileExtensions": ["purs"],
735 "editorOptions": { "tabSize": 2, "insertSpaces": true },
738 "blockCommentStart": "{-",
739 "blockCommentEnd": "-}",
742 "case", "class", "data", "derive", "do", "else",
743 "if", "import", "in", "infix", "infixl", "infixr", "instance",
744 "let", "module", "newtype", "of", "then", "type", "where",
745 "->", "|", "=>", "::", "\\", "=", "|", "foreign", "forall", "∷"
759 "class","instance","type", "derive"
763 "escapes" : "\\\\(?:[nrt\\\\\"'\\?]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{6})",
764 "symbols0": "[\\$%&\\*\\+@!\\/\\\\\\^~=\\.:\\-\\?]",
765 "symbols" : "(?:@symbols0|[\\|<>])+",
766 "idchars" : "(?:[\\w'])*",
771 ["((?:[A-Z]@idchars\\.)+)([a-z]@idchars)", ["identifier.namespace","identifier"]],
772 ["((?:[A-Z]@idchars\\.)+)([A-Z]@idchars)", ["identifier.namespace","constructor"]],
774 ["[a-z]@idchars(?!\\.)",
775 { "cases":{ "@dataStart": { "token": "keyword", "next" : "@type_data" },
776 "@typeStart": { "token": "keyword", "next" : "@type_type" },
777 "@keywords": "keyword",
778 "@extraKeywords": "keyword",
779 "@default" : "identifier" }
783 ["[A-Z]@idchars", "type.identifier" ],
785 ["_@idchars", "identifier.wildcard"],
788 ["([a-z]@idchars\\.)+", "identifier.namespace" ],
791 { "include": "@whitespace" },
793 ["[{}()\\[\\]]", "@brackets"],
794 ["[,`]", "delimiter"],
797 ["::(?!@symbols0)", "type.operator", "@type_line"],
798 ["@symbols", { "cases": { "@keywords": "keyword.operator",
799 "@extraKeywords": "keyword.operator",
800 "@default": "operator" }}
804 ["[0-9]+\\.[0-9]+([eE][\\-+]?[0-9]+)?", "number.float"],
805 ["0[xX][0-9a-fA-F]+", "number.hex"],
806 ["[0-9]+", "number"],
809 ["\"([^\"\\\\]|\\\\.)*$", "string.invalid" ],
810 ["\"", { "token": "string.quote", "bracket": "@open", "next": "@string" } ],
813 ["'[^\\\\']'", "string"],
814 ["(')(@escapes)(')", ["string","string.escape","string"]],
815 ["'", "string.invalid"],
818 ["^[ ]*#.*", "namespace"]
823 ["{-", "comment", "@comment" ],
828 ["[^\\{\\-]+", "comment" ],
829 ["{-", "comment", "@push" ],
830 ["-}", "comment", "@pop" ],
831 ["[\\{\\-]", "comment"]
835 ["[^\\\\\"]+", "string"],
836 ["@escapes", "string.escape"],
837 ["\\\\.", "string.escape.invalid"],
838 ["\"", { "token": "string.quote", "bracket": "@close", "next": "@pop" } ]
843 ["^\\s*(?!\\-\\-|\\{\\-)[^\\s]", { "token": "@rematch", "next": "@pop" } ],
844 { "include": "@type" }
848 [ "([=|])(\\s*)([A-Z]@idchars)", ["keyword.operator","","constructor"]],
849 ["^\\s*$", { "token": "", "next": "@pop" } ],
850 { "include": "@type" }
854 ["^\\s*(?!\\-\\-|\\{\\-)[_a-z]", { "token": "@rematch", "next": "@pop" } ],
855 ["[^=]*=", { "token": "@rematch", "next": "@pop" } ],
856 { "include": "@type" }
860 [ "[(\\[]", { "token": "@brackets.type" }, "@type_nested"],
861 { "include": "@type_content" }
865 ["[)\\]]", { "token": "@brackets.type" }, "@pop" ],
866 ["[(\\[]", { "token": "@brackets.type" }, "@push"],
867 [",", "delimiter.type"],
868 { "include": "@type_content" }
872 { "include": "@whitespace" },
875 ["[a-z]\\d*\\b", "type.identifier.typevar"],
876 ["_@idchars", "type.identifier.typevar"],
878 ["((?:[A-Z]@idchars\\.)*)([A-Z]@idchars)",
879 ["type.identifier.namespace","type.identifier"]
881 ["((?:[A-Z]@idchars\\.)*)([a-z]@idchars)",
882 { "cases": { "@typeKeywords": ["type.identifier.namespace","type.keyword"],
883 "@keywords": { "token": "@rematch", "next": "@pop" },
884 "@default": ["type.identifier.namespace","type.identifier"]
888 ["::|->|[\\.:|]", "type.operator"],
889 ["[\\s\\S]","@rematch","@pop"]
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list