├── public
└── assets
│ ├── oniguruma
│ └── oniguruma.wasm
│ └── vsc-themes
│ ├── monokai.json
│ ├── endormi-2077.json
│ ├── material-theme-ocean.json
│ ├── one-light.json
│ └── poimandres.json
├── src
├── vite-env.d.ts
├── shared
│ └── models
│ │ ├── vs-code-theme.model.ts
│ │ └── mermaid.model.ts
├── assets
│ └── images
│ │ └── mermaid-to-reactflow-converter-preview.gif
├── main.tsx
├── index.scss
├── App.scss
├── components
│ ├── reactflow
│ │ ├── RFCustomEdge.tsx
│ │ ├── RFCustomNode.tsx
│ │ └── ReactflowView.tsx
│ ├── mermaid
│ │ └── MermaidView.tsx
│ └── monaco
│ │ └── MonacoView.tsx
└── App.tsx
├── .stackblitzrc
├── vite.config.ts
├── tsconfig.node.json
├── .gitignore
├── .vscode
├── terminals.json
└── settings.json
├── .eslintrc.cjs
├── tsconfig.json
├── index.html
├── LICENSE
├── package.json
└── README.md
/public/assets/oniguruma/oniguruma.wasm:
--------------------------------------------------------------------------------
1 | 404 Not Found
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/shared/models/vs-code-theme.model.ts:
--------------------------------------------------------------------------------
1 | export interface IVsCodeThemeOption {
2 | displayName: string;
3 | name: string;
4 | }
5 |
--------------------------------------------------------------------------------
/.stackblitzrc:
--------------------------------------------------------------------------------
1 | {
2 | "installDependencies": true,
3 | "startCommand": "npm run dev",
4 | "env": {
5 | "NODE_ENV": "development"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/assets/images/mermaid-to-reactflow-converter-preview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/relliv/mermaid-to-reactflow-converter/HEAD/src/assets/images/mermaid-to-reactflow-converter-preview.gif
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import react from "@vitejs/plugin-react-swc";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | server: {
8 | port: 3000,
9 | },
10 | });
11 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom/client";
3 | import App from "./App.tsx";
4 | import "./index.scss";
5 |
6 | ReactDOM.createRoot(document.getElementById("root")!).render(
7 |
8 |
9 |
10 | );
11 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true,
8 | "strict": true
9 | },
10 | "include": ["vite.config.ts"]
11 | }
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/terminals.json
18 | !.vscode/extensions.json
19 | .idea
20 | .DS_Store
21 | *.suo
22 | *.ntvs*
23 | *.njsproj
24 | *.sln
25 | *.sw?
26 |
--------------------------------------------------------------------------------
/.vscode/terminals.json:
--------------------------------------------------------------------------------
1 | {
2 | "autorun": true,
3 | "autorun_delay": 2000,
4 | "auto_kill": true,
5 | "terminals": [
6 | {
7 | "name": "Dev Server Terminal",
8 | "description": "Running vite development server",
9 | "focus": false,
10 | "execute": true,
11 | "recycle": true,
12 | "commands": ["npm run dev"],
13 | "color": "terminal.ansiGreen"
14 | }
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: { browser: true, es2020: true },
4 | extends: [
5 | 'eslint:recommended',
6 | 'plugin:@typescript-eslint/recommended',
7 | 'plugin:react-hooks/recommended',
8 | ],
9 | ignorePatterns: ['dist', '.eslintrc.cjs'],
10 | parser: '@typescript-eslint/parser',
11 | plugins: ['react-refresh'],
12 | rules: {
13 | 'react-refresh/only-export-components': [
14 | 'warn',
15 | { allowConstantExport: true },
16 | ],
17 | },
18 | }
19 |
--------------------------------------------------------------------------------
/src/index.scss:
--------------------------------------------------------------------------------
1 | // reactflow imports
2 | @import "reactflow/dist/base.css";
3 | @import "reactflow/dist/style.css";
4 |
5 | // allotment imports
6 | @import "allotment/dist/style.css";
7 |
8 | :root {
9 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
10 | line-height: 1.5;
11 | font-weight: 400;
12 | }
13 |
14 | body {
15 | margin: 0;
16 | padding: 0;
17 | font-size: 16px;
18 | font-family: "Nunito", sans-serif;
19 | font-optical-sizing: auto;
20 | }
21 |
22 | h1 {
23 | margin: 0px;
24 | text-align: center;
25 | border-bottom: 1px solid #ccc;
26 | }
27 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 |
9 | /* Bundler mode */
10 | "moduleResolution": "bundler",
11 | "allowImportingTsExtensions": true,
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "noEmit": true,
15 | "jsx": "react-jsx",
16 |
17 | /* Linting */
18 | "strict": true,
19 | "noUnusedLocals": true,
20 | "noUnusedParameters": false,
21 | "noFallthroughCasesInSwitch": true
22 | },
23 | "include": ["src"],
24 | "references": [{ "path": "./tsconfig.node.json" }]
25 | }
26 |
--------------------------------------------------------------------------------
/src/shared/models/mermaid.model.ts:
--------------------------------------------------------------------------------
1 | export interface IMermaidEdgeDefinition {
2 | start: string;
3 | end: string;
4 | type: string;
5 | text: string;
6 | labelType: string;
7 | stroke: string;
8 | length: number;
9 | }
10 |
11 | export interface IMermaidNodeDefinition {
12 | id: string;
13 | labelType: string;
14 | domId: string;
15 | styles: string[];
16 | classes: string[];
17 | text: string;
18 | type: string;
19 | props: unknown;
20 | }
21 |
22 | export enum MermaidChartDirection {
23 | TD = "TD",
24 | LR = "LR",
25 | }
26 |
27 | export interface MermaidParserEvent {
28 | nodes: IMermaidNodeDefinition[];
29 | edges: IMermaidEdgeDefinition[];
30 | direction: MermaidChartDirection;
31 | }
32 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 | MermaidJS to Reactflow Converter Playground
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "workbench.colorCustomizations": {
3 | "activityBar.activeBackground": "#9199b9",
4 | "activityBar.background": "#9199b9",
5 | "activityBar.foreground": "#15202b",
6 | "activityBar.inactiveForeground": "#15202b99",
7 | "activityBarBadge.background": "#e6d8db",
8 | "activityBarBadge.foreground": "#15202b",
9 | "commandCenter.border": "#e7e7e799",
10 | "sash.hoverBorder": "#9199b9",
11 | "statusBar.background": "#727ca5",
12 | "statusBar.foreground": "#e7e7e7",
13 | "statusBarItem.hoverBackground": "#9199b9",
14 | "statusBarItem.remoteBackground": "#727ca5",
15 | "statusBarItem.remoteForeground": "#e7e7e7",
16 | "titleBar.activeBackground": "#727ca5",
17 | "titleBar.activeForeground": "#e7e7e7",
18 | "titleBar.inactiveBackground": "#727ca599",
19 | "titleBar.inactiveForeground": "#e7e7e799"
20 | },
21 | "peacock.color": "#727ca5"
22 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Eyüp Erdoğan
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "client",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@estruyf/vscode-theme-converter": "^1.1.0",
14 | "allotment": "^1.20.2",
15 | "dagre": "^0.8.5",
16 | "mermaid": "^10.9.1",
17 | "monaco-editor": "^0.49.0",
18 | "monaco-editor-textmate": "^4.0.0",
19 | "monaco-textmate": "^3.0.1",
20 | "onigasm": "^2.2.5",
21 | "react": "^18.2.0",
22 | "react-dom": "^18.2.0",
23 | "react-markdown": "^9.0.1",
24 | "react-tooltip": "^5.26.4",
25 | "reactflow": "^11.11.3",
26 | "uuid": "^10.0.0"
27 | },
28 | "devDependencies": {
29 | "@types/dagre": "^0.7.52",
30 | "@types/react": "^18.2.66",
31 | "@types/react-dom": "^18.2.22",
32 | "@types/uuid": "^9.0.8",
33 | "@typescript-eslint/eslint-plugin": "^7.2.0",
34 | "@typescript-eslint/parser": "^7.2.0",
35 | "@vitejs/plugin-react-swc": "^3.5.0",
36 | "eslint": "^8.57.0",
37 | "eslint-plugin-react-hooks": "^4.6.0",
38 | "eslint-plugin-react-refresh": "^0.4.6",
39 | "sass": "^1.77.5",
40 | "typescript": "^5.2.2",
41 | "vite": "^5.2.0"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # mermaid to reactflow converver app
2 |
3 | This simple application converts mermaid flow diagrams to reactflow diagrams.
4 |
5 | > [!WARNING]
6 | > This is a work in progress and is not yet ready for production use.
7 |
8 | ## [⚡️ Play on StackBlitz](https://stackblitz.com/~/github.com/relliv/mermaid-to-reactflow-converter)
9 |
10 | ## 🚀 Quick Start
11 |
12 | 1. Install dependencies:
13 | ```bash
14 | pnpm i
15 |
16 | # or
17 |
18 | npm i
19 | ```
20 |
21 | 2. Start the development server:
22 | ```bash
23 | pnpm dev
24 |
25 | # or
26 |
27 | npm run dev
28 | ```
29 |
30 | ## 🎬 Preview
31 |
32 | 
33 |
34 | ## 📚 Resources
35 |
36 | - [Mermaid](https://mermaid.js.org/): Markdown-like script language for generating charts from text via javascript.
37 | - [Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor/): An online editor for creating mermaid diagrams.
38 | - [Mermaid Flowcharts](https://mermaid.js.org/syntax/flowchart.html): Documentation for creating flowcharts with mermaid.
39 | - [Mermaid to JSON Example](https://github.com/relliv/mermaidjs-to-json-example): An example of converting mermaid diagrams to JSON (*only typescript*).
40 | - [ReactFlow](https://reactflow.dev/): A library for building node-based graphs.
41 | - [Monaco Editor](https://microsoft.github.io/monaco-editor/): A browser-based code editor.
42 | - [Monaco Editor Theme Loading](https://github.com/relliv/monaco-editor-textmate-theme-loading-example): An example of loading textmate themes for the Monaco Editor.
--------------------------------------------------------------------------------
/src/App.scss:
--------------------------------------------------------------------------------
1 | .editor-layout {
2 | display: flex;
3 | flex-direction: row;
4 | height: 100vh;
5 |
6 | .mermaid-editor {
7 | display: flex;
8 | flex-direction: column;
9 | gap: 20px;
10 | border-right: 1px solid gray;
11 |
12 | .monaco-editor-container {
13 | display: flex;
14 | flex-direction: column;
15 | gap: 15px;
16 | min-height: 300px;
17 | padding: 15px;
18 |
19 | select {
20 | width: 100%;
21 | padding: 10px;
22 | border-radius: 10px;
23 | border: 1px solid gray;
24 | }
25 |
26 | #editor {
27 | height: 100%;
28 |
29 | .monaco-editor {
30 | height: 300px !important;
31 | width: 100% !important;
32 | }
33 | }
34 | }
35 |
36 | .preview-container {
37 | height: 70%;
38 | padding: 15px;
39 |
40 | .mermaid {
41 | text-align: center;
42 | }
43 | }
44 | }
45 |
46 | .react-flow-editor {
47 | height: 100%;
48 |
49 | .custom-edge-label {
50 | position: absolute;
51 | background-color: #1c9eef;
52 | color: white;
53 | border-radius: 4px;
54 | font-size: 12px;
55 | font-weight: 500;
56 | padding: 10px;
57 | pointer-events: auto;
58 | }
59 |
60 | .custom-node {
61 | padding: 10px 35px;
62 | min-width: 150px;
63 | text-align: center;
64 | border-radius: 7px;
65 | border: 1px solid #9370db;
66 | background-color: #ececff;
67 |
68 | [contenteditable="true"]:focus {
69 | background-color: #ffffff97;
70 | }
71 |
72 | .custom-node-label {
73 | background-color: #ffffff4c;
74 | cursor: pointer;
75 | padding: 3px 10px;
76 | border-radius: 50px;
77 | transition: all 0.3s ease-in-out;
78 |
79 | &:hover {
80 | background-color: #ffffffb6;
81 | }
82 | }
83 | }
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/src/components/reactflow/RFCustomEdge.tsx:
--------------------------------------------------------------------------------
1 | import { FC, MutableRefObject, useRef } from "react";
2 | import {
3 | EdgeProps,
4 | getBezierPath,
5 | EdgeLabelRenderer,
6 | BaseEdge,
7 | } from "reactflow";
8 |
9 | const RFCustomEdge: FC = ({
10 | id,
11 | style,
12 | sourceX,
13 | sourceY,
14 | targetX,
15 | targetY,
16 | sourcePosition,
17 | targetPosition,
18 | data,
19 | markerEnd,
20 | markerStart,
21 | }) => {
22 | const [edgePath, labelX, labelY] = getBezierPath({
23 | sourceX,
24 | sourceY,
25 | sourcePosition,
26 | targetX,
27 | targetY,
28 | targetPosition,
29 | });
30 |
31 | const contentEditableLabelRef: MutableRefObject =
32 | useRef();
33 |
34 | function onLabelClick(): void {
35 | if (contentEditableLabelRef.current) {
36 | contentEditableLabelRef.current.contentEditable = "true";
37 | contentEditableLabelRef.current.focus();
38 | }
39 | }
40 |
41 | function onLabelBlur(): void {
42 | if (contentEditableLabelRef.current) {
43 | contentEditableLabelRef.current.contentEditable = "false";
44 | }
45 | }
46 |
47 | return (
48 | <>
49 | {/* Base Edge */}
50 |
58 |
59 |
60 | onLabelClick()}
63 | style={{
64 | transform: `translate(-50%, -50%) translate(${labelX}px,${labelY}px)`,
65 | display: data.label.length > 0 ? "block" : "none",
66 | }}
67 | onBlur={() => onLabelBlur()}
68 | suppressContentEditableWarning={true}
69 | className="custom-edge-label nodrag nopan"
70 | >
71 | {data.label}
72 |
73 |
74 | >
75 | );
76 | };
77 |
78 | export default RFCustomEdge;
79 |
--------------------------------------------------------------------------------
/src/components/reactflow/RFCustomNode.tsx:
--------------------------------------------------------------------------------
1 | import { MutableRefObject, memo, useRef } from "react";
2 | import { Handle, Position } from "reactflow";
3 | import { Tooltip } from "react-tooltip";
4 | import Markdown from "react-markdown";
5 | import { MermaidChartDirection } from "../../shared/models/mermaid.model";
6 |
7 | export interface IRFCustomNodeProps {
8 | id: string;
9 | data: {
10 | label: string;
11 | layoutDirection: MermaidChartDirection;
12 | };
13 | isConnectable: boolean;
14 | }
15 |
16 | const RFCustomNode = memo(({ id, data, isConnectable }: IRFCustomNodeProps) => {
17 | const contentEditableLabelRef: MutableRefObject =
18 | useRef();
19 |
20 | function onLabelDoubleClick(): void {
21 | if (contentEditableLabelRef.current) {
22 | contentEditableLabelRef.current.contentEditable = "true";
23 | contentEditableLabelRef.current.focus();
24 | }
25 | }
26 |
27 | function onLabelBlur(): void {
28 | if (contentEditableLabelRef.current) {
29 | contentEditableLabelRef.current.contentEditable = "false";
30 | }
31 | }
32 |
33 | return (
34 | onLabelDoubleClick()}>
35 |
41 |
42 |
51 |
}
54 | contentEditable="false"
55 | onBlur={onLabelBlur}
56 | suppressContentEditableWarning={true}
57 | className="custom-node-label"
58 | >
59 | {data.label}
60 |
61 |
62 |
68 |
69 |
75 |
76 | );
77 | });
78 |
79 | export default RFCustomNode;
80 |
--------------------------------------------------------------------------------
/src/components/mermaid/MermaidView.tsx:
--------------------------------------------------------------------------------
1 | import { FC, MutableRefObject, useEffect, useRef, useState } from "react";
2 | import mermaid from "mermaid";
3 | import { ParserDefinition } from "mermaid/dist/diagram-api/types.js";
4 | import {
5 | IMermaidNodeDefinition,
6 | IMermaidEdgeDefinition,
7 | MermaidParserEvent,
8 | } from "../../shared/models/mermaid.model";
9 |
10 | interface MermaidViewProps {
11 | graphDefinition: string;
12 | onMermaidDefinitionChange: (event: MermaidParserEvent) => void;
13 | }
14 |
15 | const MermaidView: FC = ({
16 | graphDefinition,
17 | onMermaidDefinitionChange,
18 | }) => {
19 | const [currentGraphDefinition, setCrrentGraphDefinition] = useState<
20 | string | null
21 | >(null);
22 | const mermaidChartElementRef: MutableRefObject =
23 | useRef();
24 |
25 | useEffect(() => {
26 | setTimeout(() => {
27 | if (graphDefinition !== currentGraphDefinition) {
28 | (async () => {
29 | await renderMermaidChart(graphDefinition);
30 | await parseMermaidChart(graphDefinition);
31 | })();
32 |
33 | setCrrentGraphDefinition(graphDefinition);
34 | }
35 | }, 500);
36 | // eslint-disable-next-line react-hooks/exhaustive-deps
37 | }, [currentGraphDefinition, graphDefinition]);
38 |
39 | /**
40 | * Re-renders the mermaid chart
41 | */
42 | async function renderMermaidChart(
43 | graphDefinitionText: string
44 | ): Promise {
45 | mermaid.initialize({
46 | startOnLoad: false,
47 | });
48 |
49 | const renderResult = await mermaid.render(
50 | "mermaidChart",
51 | graphDefinitionText
52 | );
53 |
54 | if (!renderResult) {
55 | alert("Could not render mermaid chart");
56 | }
57 |
58 | mermaidChartElementRef.current!.innerHTML = renderResult.svg;
59 | }
60 |
61 | /**
62 | * Parse the mermaid chart
63 | *
64 | * @source https://github.com/amguerrero/mermaid-parser/blob/d440749842b94f657cf071fbbd599205b32a913c/src/index.ts#L37-L62
65 | */
66 | async function parseMermaidChart(graphDefinitionText: string): Promise {
67 | const diagram = await mermaid.mermaidAPI.getDiagramFromText(
68 | graphDefinitionText
69 | );
70 |
71 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
72 | const parser = (diagram.getParser() as ParserDefinition as any).yy;
73 |
74 | const mermaidEdges = (parser.getEdges() as IMermaidEdgeDefinition[]) || [],
75 | mermaidNodes = (parser.getVertices() as IMermaidNodeDefinition[]) || [];
76 |
77 | onMermaidDefinitionChange({
78 | nodes: Object.values(mermaidNodes),
79 | edges: mermaidEdges,
80 | direction: parser.getDirection(),
81 | });
82 | }
83 |
84 | return (
85 | <>
86 | {graphDefinition ? (
87 | }
91 | >
92 | {graphDefinition}
93 |
94 | ) : null}
95 | >
96 | );
97 | };
98 |
99 | export default MermaidView;
100 |
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from "react";
2 | import "./App.scss";
3 | import MermaidView from "./components/mermaid/MermaidView";
4 | import {
5 | IMermaidEdgeDefinition,
6 | IMermaidNodeDefinition,
7 | MermaidChartDirection,
8 | } from "./shared/models/mermaid.model";
9 | import { Node, Edge } from "reactflow";
10 | import ReactflowView from "./components/reactflow/ReactflowView";
11 | import { v4 as uuidv4 } from "uuid";
12 | import { MermaidParserEvent } from "./shared/models/mermaid.model";
13 | import MonacoEditorView from "./components/monaco/MonacoView";
14 | import { Allotment } from "allotment";
15 | import { editor } from "monaco-editor";
16 |
17 | function App() {
18 | const [graphDefinition, setGraphDefinition] = useState(`flowchart TD
19 | A[Start] --> B{Is it?}
20 | B -- Yes --> C[OK]
21 | C --> D[Rethink]
22 | D --> B
23 | B -- No ----> E[End]`);
24 |
25 | const [reactflowNodes, setReactflowNodes] = useState([]);
26 | const [reactflowEdges, setReactflowEdges] = useState([]);
27 | const [mermaidChartDirection, setMermaidChartDirection] =
28 | useState(MermaidChartDirection.TD);
29 | const [editorInstance, setEditorInstance] =
30 | useState();
31 |
32 | function handleMermaidDefinitionChange(event: MermaidParserEvent) {
33 | const reactflowEdges: Edge[] = event.edges.map(
34 | (mermaidEdge: IMermaidEdgeDefinition) =>
35 | ({
36 | id: uuidv4(),
37 | source: mermaidEdge.start,
38 | target: mermaidEdge.end,
39 | type: "customEdgeType",
40 | markerStart: "oneOrMany",
41 | markerEnd: "arrow-end",
42 | style: { stroke: "#f6ab6c" },
43 | elementsSelectable: true,
44 | label: mermaidEdge.text,
45 | // markerEnd: {
46 | // type: MarkerType.ArrowClosed,
47 | // },
48 | animated: false,
49 | data: {
50 | label: mermaidEdge.text,
51 | raw: mermaidEdge,
52 | },
53 | } as Edge)
54 | ),
55 | reactflowNodes: Node[] = event.nodes.map(
56 | (mermaidNode: IMermaidNodeDefinition, index: number) => ({
57 | id: mermaidNode.id,
58 | position: { x: index * 200, y: index * 200 },
59 | type: "customNodeType",
60 | dragHandle: ".custom-node",
61 | data: {
62 | label: mermaidNode.text,
63 | raw: mermaidNode,
64 | layoutDirection: event.direction,
65 | },
66 | })
67 | );
68 |
69 | setReactflowNodes(reactflowNodes);
70 | setReactflowEdges(reactflowEdges);
71 | setMermaidChartDirection(event.direction);
72 | }
73 |
74 | function resetEditorLayout(): void {
75 | editorInstance?.layout();
76 | }
77 |
78 | function onEditorInit(editor: editor.IStandaloneCodeEditor) {
79 | setEditorInstance(editor);
80 |
81 | resetEditorLayout();
82 | }
83 |
84 | return (
85 | <>
86 | {/* General Editor Layout */}
87 |
88 |
resetEditorLayout()}
90 | onDragEnd={() => resetEditorLayout()}
91 | >
92 | {/* Mermaid Side */}
93 |
94 |
95 |
Mermaid Editor
96 |
97 | {/* Monaco Editor Container */}
98 |
99 | setGraphDefinition(event)}
102 | onInit={(editor: editor.IStandaloneCodeEditor) =>
103 | onEditorInit(editor)
104 | }
105 | />
106 |
107 |
108 | {/* Preview Container */}
109 |
110 |
113 | handleMermaidDefinitionChange(event)
114 | }
115 | />
116 |
117 |
118 |
119 |
120 | {/* Reactflow Side */}
121 |
122 |
123 |
Reactflow Editor
124 |
125 |
130 |
131 |
132 |
133 |
134 | >
135 | );
136 | }
137 |
138 | export default App;
139 |
--------------------------------------------------------------------------------
/src/components/reactflow/ReactflowView.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect } from "react";
2 | import ReactFlow, {
3 | useNodesState,
4 | useEdgesState,
5 | MiniMap,
6 | Background,
7 | Edge,
8 | Node,
9 | BackgroundVariant,
10 | ConnectionMode,
11 | ReactFlowProvider,
12 | NodeChange,
13 | useReactFlow,
14 | Position,
15 | } from "reactflow";
16 | import RFCustomEdge from "./RFCustomEdge";
17 | import RFCustomNode from "./RFCustomNode";
18 | import dagre from "dagre";
19 |
20 | import { MermaidChartDirection } from "../../shared/models/mermaid.model";
21 |
22 | const nodeTypes = {
23 | customNodeType: RFCustomNode,
24 | },
25 | edgeTypes = {
26 | customEdgeType: RFCustomEdge,
27 | };
28 |
29 | // TODO: replace with dynamic calculation
30 | const nodeWidth = 250;
31 | const nodeHeight = 200;
32 |
33 | export interface ReactflowViewProps {
34 | nodes: Node[];
35 | edges: Edge[];
36 | direction: MermaidChartDirection;
37 | }
38 |
39 | const ReactflowView = (props: ReactflowViewProps): JSX.Element => {
40 | // react flow hooks
41 | const reactFlowInstance = useReactFlow();
42 |
43 | // shared states
44 | const [nodes, setNodes, onNodesChange] = useNodesState([]);
45 | const [edges, setEdges] = useEdgesState([]);
46 |
47 | useEffect(() => {
48 | setNodes(props.nodes || []);
49 | setEdges(props.edges || []);
50 |
51 | updateGraphLayout(props.nodes, props.edges, props.direction);
52 | // eslint-disable-next-line react-hooks/exhaustive-deps
53 | }, [props.nodes, props.edges, props.direction]);
54 |
55 | const dagreGraph = new dagre.graphlib.Graph();
56 | dagreGraph.setDefaultEdgeLabel(() => ({}));
57 |
58 | /**
59 | * Updates the dagre graph layout
60 | *
61 | * @source https://reactflow.dev/examples/layout/dagre
62 | */
63 | const updateGraphLayout = (
64 | nodes: Node[],
65 | edges: Edge[],
66 | direction: MermaidChartDirection
67 | ): { nodes: Node[]; edges: Edge[] } => {
68 | const isHorizontal = direction === MermaidChartDirection.LR;
69 |
70 | dagreGraph.setGraph({ rankdir: direction });
71 |
72 | nodes.forEach((node: Node) => {
73 | dagreGraph.setNode(node.id, { width: nodeWidth, height: nodeHeight });
74 | });
75 |
76 | edges.forEach((edge: Edge) => {
77 | dagreGraph.setEdge(edge.source, edge.target);
78 | });
79 |
80 | dagre.layout(dagreGraph);
81 |
82 | nodes.forEach((node: Node) => {
83 | const nodeWithPosition = dagreGraph.node(node.id);
84 | node.targetPosition = isHorizontal ? Position.Left : Position.Top;
85 | node.sourcePosition = isHorizontal ? Position.Right : Position.Bottom;
86 |
87 | // We are shifting the dagre node position (anchor=center center) to the top left
88 | // so it matches the React Flow node anchor point (top left).
89 | node.position = {
90 | x: nodeWithPosition.x - nodeWidth / 2,
91 | y: nodeWithPosition.y - nodeHeight / 2,
92 | };
93 |
94 | return node;
95 | });
96 |
97 | setTimeout(() => {
98 | reactFlowInstance.fitView({
99 | duration: 1000,
100 | padding: 0.5,
101 | nodes: nodes,
102 | });
103 | }, 500);
104 |
105 | return { nodes, edges };
106 | };
107 |
108 | const onCustomNodesChangeHandler = (changes: NodeChange[]): void => {
109 | onNodesChange(changes);
110 | };
111 |
112 | return (
113 | <>
114 |
145 |
146 | {/* Reactflow Board */}
147 |
162 |
163 |
164 |
169 |
170 | >
171 | );
172 | };
173 |
174 | /**
175 | * Creates an ErdBuilder component wrapped with ReactFlowProvider, passing down the provided props.
176 | *
177 | * @param {ReactflowViewProps} props - the props to be passed down to the ErdBuilder component
178 | * @return {JSX.Element} the wrapped ErdBuilder component
179 | */
180 | const ReactflowViewWithProvider = (props: ReactflowViewProps): JSX.Element => {
181 | return (
182 |
183 |
184 |
185 | );
186 | };
187 |
188 | export default ReactflowViewWithProvider;
189 |
--------------------------------------------------------------------------------
/src/components/monaco/MonacoView.tsx:
--------------------------------------------------------------------------------
1 | import { ChangeEvent, FC, useState } from "react";
2 | import * as monaco from "monaco-editor";
3 | import { editor } from "monaco-editor";
4 | import { loadWASM } from "onigasm";
5 | import { IGrammarDefinition, Registry } from "monaco-textmate";
6 | import { wireTmGrammars } from "monaco-editor-textmate";
7 | import { IVSCodeTheme, convertTheme } from "@estruyf/vscode-theme-converter";
8 | import { IVsCodeThemeOption } from "../../shared/models/vs-code-theme.model";
9 |
10 | export interface IMonacoEditorViewProps {
11 | code: string;
12 | onCodeChange: (code: string) => void;
13 | onInit: (editor: editor.IStandaloneCodeEditor) => void;
14 | }
15 |
16 | /**
17 | * Custom monaco editor view
18 | *
19 | * @source https://github.com/relliv/monaco-editor-textmate-theme-loading-example
20 | */
21 | const MonacoEditorView: FC = ({
22 | code,
23 | onCodeChange,
24 | onInit,
25 | }) => {
26 | const [vsCodeThemes] = useState([
27 | {
28 | displayName: "Material Theme Ocean",
29 | name: "material-theme-ocean",
30 | },
31 | {
32 | displayName: "Poimandres",
33 | name: "poimandres",
34 | },
35 | {
36 | displayName: "Monokai",
37 | name: "monokai",
38 | },
39 | {
40 | displayName: "One Light",
41 | name: "one-light",
42 | },
43 | {
44 | displayName: "2077 theme (endormi)",
45 | name: "endormi-2077",
46 | },
47 | ]);
48 |
49 | /**
50 | * On theme select change event
51 | */
52 | function onThemeChange(event: ChangeEvent) {
53 | const themeName = event.target.value,
54 | selectedTheme = vsCodeThemes.find((theme) => theme.name === themeName)!;
55 |
56 | loadTheme(selectedTheme);
57 | }
58 |
59 | /**
60 | * Load selected theme into monoaco editor
61 | */
62 | async function loadTheme(theme: IVsCodeThemeOption) {
63 | await fetch(`/assets/vsc-themes/${theme.name}.json`).then(
64 | async (response: Response) => {
65 | if (response.status === 200) {
66 | const myExportedTheme = await response.json(),
67 | convertedTheme: editor.IStandaloneThemeData = convertTheme(
68 | myExportedTheme as IVSCodeTheme
69 | );
70 |
71 | monaco.editor.defineTheme(theme.name, convertedTheme);
72 | monaco.editor.setTheme(theme.name);
73 |
74 | // clear warning message
75 | document.querySelector("mark")?.remove();
76 | }
77 | }
78 | );
79 | }
80 |
81 | /**
82 | * Load onigasm wasm file
83 | * Required for monaco editor to work with textmate grammars
84 | */
85 | async function loadWasm(): Promise {
86 | const onigasmResponse = await fetch(
87 | "https://cdn.jsdelivr.net/npm/onigasm@latest/lib/onigasm.wasm" // use for web (to prevent CORS etc.)
88 | // 'onigasm/lib/onigasm.wasm' // use while working on local or custom loaders (webpack, vite, etc.)
89 | );
90 |
91 | if (
92 | onigasmResponse.status !== 200 ||
93 | onigasmResponse.headers.get("content-type") !== "application/wasm"
94 | ) {
95 | return;
96 | }
97 |
98 | const wasmContent = await onigasmResponse.arrayBuffer();
99 |
100 | if (wasmContent) {
101 | await loadWASM(wasmContent);
102 | }
103 | }
104 |
105 | /**
106 | * Register grammars, languages then wire them with monaco editor
107 | */
108 | async function initMonacoEditor(): Promise {
109 | const editorElement = document.getElementById("editor");
110 |
111 | // #region Register Grammars
112 |
113 | const registry = new Registry({
114 | getGrammarDefinition: async (): Promise => {
115 | const res: IGrammarDefinition = {
116 | format: "json",
117 | content: await (
118 | await fetch("/assets/textmate/grammars/mermaid.json")
119 | ).text(),
120 | };
121 |
122 | return res;
123 | },
124 | });
125 |
126 | const grammars = new Map();
127 |
128 | monaco.languages.register({ id: "mermaid" });
129 |
130 | grammars.set("mermaid", "source.mermaid");
131 |
132 | // #endregion
133 |
134 | // #region Init Editor
135 |
136 | const editorInstance: editor.IStandaloneCodeEditor = monaco.editor.create(
137 | editorElement!,
138 | {
139 | value: code,
140 | language: "mermaid",
141 | theme: "vs",
142 | inDiffEditor: false,
143 | minimap: {
144 | enabled: false,
145 | },
146 | }
147 | );
148 |
149 | const installedEditors =
150 | editorElement?.getElementsByClassName("monaco-editor");
151 |
152 | // remove duplicate editors
153 | if (installedEditors && installedEditors.length > 1) {
154 | for (let i = 1; i < installedEditors.length; i++) {
155 | if (i === 0) {
156 | continue;
157 | }
158 |
159 | editorElement?.removeChild(installedEditors[i]);
160 | }
161 | }
162 |
163 | // #endregion
164 |
165 | // #region Wire Grammars
166 |
167 | await wireTmGrammars(monaco, registry, grammars, editorInstance);
168 |
169 | // #endregion
170 |
171 | // set on code change event
172 | editorInstance.onDidChangeModelContent(() =>
173 | onCodeChange(editorInstance.getValue())
174 | );
175 |
176 | // set initial theme
177 | loadTheme(
178 | vsCodeThemes.find(
179 | (theme: IVsCodeThemeOption) => theme.name === "one-light"
180 | )!
181 | );
182 |
183 | editorInstance?.layout();
184 |
185 | onInit(editorInstance);
186 | }
187 |
188 | /**
189 | * Load onigasm wasm and init monaco editor
190 | */
191 | (async () => {
192 | setTimeout(async () => {
193 | await loadWasm();
194 | await initMonacoEditor();
195 | }, 500);
196 | })();
197 |
198 | return (
199 | <>
200 |
212 |
213 |
214 | >
215 | );
216 | };
217 |
218 | export default MonacoEditorView;
219 |
--------------------------------------------------------------------------------
/public/assets/vsc-themes/monokai.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "activityBar.background": "#272822",
4 | "activityBar.foreground": "#f8f8f2",
5 | "badge.background": "#75715E",
6 | "badge.foreground": "#f8f8f2",
7 | "button.background": "#75715E",
8 | "debugToolBar.background": "#1e1f1c",
9 | "diffEditor.insertedTextBackground": "#4b661680",
10 | "diffEditor.removedTextBackground": "#90274A70",
11 | "dropdown.background": "#414339",
12 | "dropdown.listBackground": "#1e1f1c",
13 | "editor.background": "#272822",
14 | "editor.foreground": "#f8f8f2",
15 | "editor.lineHighlightBackground": "#3e3d32",
16 | "editor.selectionBackground": "#878b9180",
17 | "editor.selectionHighlightBackground": "#575b6180",
18 | "editor.wordHighlightBackground": "#4a4a7680",
19 | "editor.wordHighlightStrongBackground": "#6a6a9680",
20 | "editorCursor.foreground": "#f8f8f0",
21 | "editorGroup.border": "#34352f",
22 | "editorGroup.dropBackground": "#41433980",
23 | "editorGroupHeader.tabsBackground": "#1e1f1c",
24 | "editorHoverWidget.background": "#414339",
25 | "editorHoverWidget.border": "#75715E",
26 | "editorIndentGuide.activeBackground": "#767771",
27 | "editorIndentGuide.background": "#464741",
28 | "editorLineNumber.activeForeground": "#c2c2bf",
29 | "editorLineNumber.foreground": "#90908a",
30 | "editorSuggestWidget.background": "#272822",
31 | "editorSuggestWidget.border": "#75715E",
32 | "editorWhitespace.foreground": "#464741",
33 | "editorWidget.background": "#1e1f1c",
34 | "focusBorder": "#99947c",
35 | "input.background": "#414339",
36 | "inputOption.activeBorder": "#75715E",
37 | "inputValidation.errorBackground": "#90274A",
38 | "inputValidation.errorBorder": "#f92672",
39 | "inputValidation.infoBackground": "#546190",
40 | "inputValidation.infoBorder": "#819aff",
41 | "inputValidation.warningBackground": "#848528",
42 | "inputValidation.warningBorder": "#e2e22e",
43 | "list.activeSelectionBackground": "#75715E",
44 | "list.dropBackground": "#414339",
45 | "list.highlightForeground": "#f8f8f2",
46 | "list.hoverBackground": "#3e3d32",
47 | "list.inactiveSelectionBackground": "#414339",
48 | "menu.background": "#1e1f1c",
49 | "menu.foreground": "#cccccc",
50 | "minimap.selectionHighlight": "#878b9180",
51 | "panel.border": "#414339",
52 | "panelTitle.activeBorder": "#75715E",
53 | "panelTitle.activeForeground": "#f8f8f2",
54 | "panelTitle.inactiveForeground": "#75715E",
55 | "peekView.border": "#75715E",
56 | "peekViewEditor.background": "#272822",
57 | "peekViewEditor.matchHighlightBackground": "#75715E",
58 | "peekViewResult.background": "#1e1f1c",
59 | "peekViewResult.matchHighlightBackground": "#75715E",
60 | "peekViewResult.selectionBackground": "#414339",
61 | "peekViewTitle.background": "#1e1f1c",
62 | "pickerGroup.foreground": "#75715E",
63 | "ports.iconRunningProcessForeground": "#ccccc7",
64 | "progressBar.background": "#75715E",
65 | "quickInputList.focusBackground": "#414339",
66 | "selection.background": "#878b9180",
67 | "settings.focusedRowBackground": "#4143395A",
68 | "sideBar.background": "#1e1f1c",
69 | "sideBarSectionHeader.background": "#272822",
70 | "statusBar.background": "#414339",
71 | "statusBar.debuggingBackground": "#75715E",
72 | "statusBar.noFolderBackground": "#414339",
73 | "statusBarItem.remoteBackground": "#AC6218",
74 | "tab.border": "#1e1f1c",
75 | "tab.inactiveBackground": "#34352f",
76 | "tab.inactiveForeground": "#ccccc7",
77 | "tab.lastPinnedBorder": "#414339",
78 | "terminal.ansiBlack": "#333333",
79 | "terminal.ansiBlue": "#6A7EC8",
80 | "terminal.ansiBrightBlack": "#666666",
81 | "terminal.ansiBrightBlue": "#819aff",
82 | "terminal.ansiBrightCyan": "#66D9EF",
83 | "terminal.ansiBrightGreen": "#A6E22E",
84 | "terminal.ansiBrightMagenta": "#AE81FF",
85 | "terminal.ansiBrightRed": "#f92672",
86 | "terminal.ansiBrightWhite": "#f8f8f2",
87 | "terminal.ansiBrightYellow": "#e2e22e",
88 | "terminal.ansiCyan": "#56ADBC",
89 | "terminal.ansiGreen": "#86B42B",
90 | "terminal.ansiMagenta": "#8C6BC8",
91 | "terminal.ansiRed": "#C4265E",
92 | "terminal.ansiWhite": "#e3e3dd",
93 | "terminal.ansiYellow": "#B3B42B",
94 | "titleBar.activeBackground": "#1e1f1c",
95 | "widget.shadow": "#00000098"
96 | },
97 | "displayName": "Monokai",
98 | "name": "monokai",
99 | "semanticHighlighting": true,
100 | "tokenColors": [
101 | {
102 | "settings": {
103 | "foreground": "#F8F8F2"
104 | }
105 | },
106 | {
107 | "scope": [
108 | "meta.embedded",
109 | "source.groovy.embedded",
110 | "string meta.image.inline.markdown",
111 | "variable.legacy.builtin.python"
112 | ],
113 | "settings": {
114 | "foreground": "#F8F8F2"
115 | }
116 | },
117 | {
118 | "scope": "comment",
119 | "settings": {
120 | "foreground": "#88846f"
121 | }
122 | },
123 | {
124 | "scope": "string",
125 | "settings": {
126 | "foreground": "#E6DB74"
127 | }
128 | },
129 | {
130 | "scope": [
131 | "punctuation.definition.template-expression",
132 | "punctuation.section.embedded"
133 | ],
134 | "settings": {
135 | "foreground": "#F92672"
136 | }
137 | },
138 | {
139 | "scope": ["meta.template.expression"],
140 | "settings": {
141 | "foreground": "#F8F8F2"
142 | }
143 | },
144 | {
145 | "scope": "constant.numeric",
146 | "settings": {
147 | "foreground": "#AE81FF"
148 | }
149 | },
150 | {
151 | "scope": "constant.language",
152 | "settings": {
153 | "foreground": "#AE81FF"
154 | }
155 | },
156 | {
157 | "scope": "constant.character, constant.other",
158 | "settings": {
159 | "foreground": "#AE81FF"
160 | }
161 | },
162 | {
163 | "scope": "variable",
164 | "settings": {
165 | "fontStyle": "",
166 | "foreground": "#F8F8F2"
167 | }
168 | },
169 | {
170 | "scope": "keyword",
171 | "settings": {
172 | "foreground": "#F92672"
173 | }
174 | },
175 | {
176 | "scope": "storage",
177 | "settings": {
178 | "fontStyle": "",
179 | "foreground": "#F92672"
180 | }
181 | },
182 | {
183 | "scope": "storage.type",
184 | "settings": {
185 | "fontStyle": "italic",
186 | "foreground": "#66D9EF"
187 | }
188 | },
189 | {
190 | "scope": "entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution",
191 | "settings": {
192 | "fontStyle": "underline",
193 | "foreground": "#A6E22E"
194 | }
195 | },
196 | {
197 | "scope": "entity.other.inherited-class",
198 | "settings": {
199 | "fontStyle": "italic underline",
200 | "foreground": "#A6E22E"
201 | }
202 | },
203 | {
204 | "scope": "entity.name.function",
205 | "settings": {
206 | "fontStyle": "",
207 | "foreground": "#A6E22E"
208 | }
209 | },
210 | {
211 | "scope": "variable.parameter",
212 | "settings": {
213 | "fontStyle": "italic",
214 | "foreground": "#FD971F"
215 | }
216 | },
217 | {
218 | "scope": "entity.name.tag",
219 | "settings": {
220 | "fontStyle": "",
221 | "foreground": "#F92672"
222 | }
223 | },
224 | {
225 | "scope": "entity.other.attribute-name",
226 | "settings": {
227 | "fontStyle": "",
228 | "foreground": "#A6E22E"
229 | }
230 | },
231 | {
232 | "scope": "support.function",
233 | "settings": {
234 | "fontStyle": "",
235 | "foreground": "#66D9EF"
236 | }
237 | },
238 | {
239 | "scope": "support.constant",
240 | "settings": {
241 | "fontStyle": "",
242 | "foreground": "#66D9EF"
243 | }
244 | },
245 | {
246 | "scope": "support.type, support.class",
247 | "settings": {
248 | "fontStyle": "italic",
249 | "foreground": "#66D9EF"
250 | }
251 | },
252 | {
253 | "scope": "support.other.variable",
254 | "settings": {
255 | "fontStyle": ""
256 | }
257 | },
258 | {
259 | "scope": "invalid",
260 | "settings": {
261 | "fontStyle": "",
262 | "foreground": "#F44747"
263 | }
264 | },
265 | {
266 | "scope": "invalid.deprecated",
267 | "settings": {
268 | "foreground": "#F44747"
269 | }
270 | },
271 | {
272 | "scope": "meta.structure.dictionary.json string.quoted.double.json",
273 | "settings": {
274 | "foreground": "#CFCFC2"
275 | }
276 | },
277 | {
278 | "scope": "meta.diff, meta.diff.header",
279 | "settings": {
280 | "foreground": "#75715E"
281 | }
282 | },
283 | {
284 | "scope": "markup.deleted",
285 | "settings": {
286 | "foreground": "#F92672"
287 | }
288 | },
289 | {
290 | "scope": "markup.inserted",
291 | "settings": {
292 | "foreground": "#A6E22E"
293 | }
294 | },
295 | {
296 | "scope": "markup.changed",
297 | "settings": {
298 | "foreground": "#E6DB74"
299 | }
300 | },
301 | {
302 | "scope": "constant.numeric.line-number.find-in-files - match",
303 | "settings": {
304 | "foreground": "#AE81FFA0"
305 | }
306 | },
307 | {
308 | "scope": "entity.name.filename.find-in-files",
309 | "settings": {
310 | "foreground": "#E6DB74"
311 | }
312 | },
313 | {
314 | "scope": "markup.quote",
315 | "settings": {
316 | "foreground": "#F92672"
317 | }
318 | },
319 | {
320 | "scope": "markup.list",
321 | "settings": {
322 | "foreground": "#E6DB74"
323 | }
324 | },
325 | {
326 | "scope": "markup.bold, markup.italic",
327 | "settings": {
328 | "foreground": "#66D9EF"
329 | }
330 | },
331 | {
332 | "scope": "markup.inline.raw",
333 | "settings": {
334 | "fontStyle": "",
335 | "foreground": "#FD971F"
336 | }
337 | },
338 | {
339 | "scope": "markup.heading",
340 | "settings": {
341 | "foreground": "#A6E22E"
342 | }
343 | },
344 | {
345 | "scope": "markup.heading.setext",
346 | "settings": {
347 | "fontStyle": "bold",
348 | "foreground": "#A6E22E"
349 | }
350 | },
351 | {
352 | "scope": "markup.heading.markdown",
353 | "settings": {
354 | "fontStyle": "bold"
355 | }
356 | },
357 | {
358 | "scope": "markup.quote.markdown",
359 | "settings": {
360 | "fontStyle": "italic",
361 | "foreground": "#75715E"
362 | }
363 | },
364 | {
365 | "scope": "markup.bold.markdown",
366 | "settings": {
367 | "fontStyle": "bold"
368 | }
369 | },
370 | {
371 | "scope": "string.other.link.title.markdown,string.other.link.description.markdown",
372 | "settings": {
373 | "foreground": "#AE81FF"
374 | }
375 | },
376 | {
377 | "scope": "markup.underline.link.markdown,markup.underline.link.image.markdown",
378 | "settings": {
379 | "foreground": "#E6DB74"
380 | }
381 | },
382 | {
383 | "scope": "markup.italic.markdown",
384 | "settings": {
385 | "fontStyle": "italic"
386 | }
387 | },
388 | {
389 | "scope": "markup.strikethrough",
390 | "settings": {
391 | "fontStyle": "strikethrough"
392 | }
393 | },
394 | {
395 | "scope": "markup.list.unnumbered.markdown, markup.list.numbered.markdown",
396 | "settings": {
397 | "foreground": "#f8f8f2"
398 | }
399 | },
400 | {
401 | "scope": ["punctuation.definition.list.begin.markdown"],
402 | "settings": {
403 | "foreground": "#A6E22E"
404 | }
405 | },
406 | {
407 | "scope": "token.info-token",
408 | "settings": {
409 | "foreground": "#6796e6"
410 | }
411 | },
412 | {
413 | "scope": "token.warn-token",
414 | "settings": {
415 | "foreground": "#cd9731"
416 | }
417 | },
418 | {
419 | "scope": "token.error-token",
420 | "settings": {
421 | "foreground": "#f44747"
422 | }
423 | },
424 | {
425 | "scope": "token.debug-token",
426 | "settings": {
427 | "foreground": "#b267e6"
428 | }
429 | },
430 | {
431 | "scope": "variable.language",
432 | "settings": {
433 | "foreground": "#FD971F"
434 | }
435 | }
436 | ],
437 | "type": "dark"
438 | }
439 |
--------------------------------------------------------------------------------
/public/assets/vsc-themes/endormi-2077.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "vscode://schemas/color-theme",
3 | "type": "dark",
4 | "colors": {
5 | "activityBar.background": "#030d22",
6 | "activityBar.foreground": "#ff2592",
7 | "activityBarBadge.background": "#d31b77",
8 | "activityBarBadge.foreground": "#ffffff",
9 | "button.background": "#087eb4",
10 | "button.foreground": "#ffffff",
11 | "button.hoverBackground": "#008dce",
12 | "descriptionForeground": "#ffffff",
13 | "editor.background": "#030d22",
14 | "editor.findMatchBackground": "#003496",
15 | "editor.findMatchHighlightBackground": "#001288da",
16 | "editor.foreground": "#fdfeff",
17 | "editor.hoverHighlightBackground": "#004696",
18 | "editor.lineHighlightBackground": "#1c1347",
19 | "editor.selectionBackground": "#310072",
20 | "editor.selectionHighlightBackground": "#35008b",
21 | "editor.wordHighlightBackground": "#47008ad5",
22 | "editor.wordHighlightStrongBackground": "#440083d5",
23 | "editorCursor.foreground": "#ee0077",
24 | "editorError.foreground": "#ac077a",
25 | "editorGroup.dropBackground": "#03153b",
26 | "editorGroupHeader.noTabsBackground": "#03163f",
27 | "editorGroupHeader.tabsBackground": "#030d22",
28 | "editorHoverWidget.background": "#222858",
29 | "editorHoverWidget.border": "#2d324e",
30 | "editorIndentGuide.activeBackground": "#103483",
31 | "editorIndentGuide.background": "#030d22",
32 | "editorInfo.foreground": "#af21e7",
33 | "editorLineNumber.activeForeground": "#47a1fa",
34 | "editorLineNumber.foreground": "#ee0077",
35 | "editorRuler.foreground": "#11215e",
36 | "editorWarning.foreground": "#fad46d",
37 | "editorWidget.background": "#04112c",
38 | "editorWidget.border": "#030f27",
39 | "foreground": "#ffffff",
40 | "input.background": "#0d0931",
41 | "input.border": "#150f53",
42 | "input.placeholderForeground": "#f3f3f3",
43 | "inputOption.activeBorder": "#ffd400",
44 | "list.activeSelectionBackground": "#073170",
45 | "list.activeSelectionForeground": "#ffffff",
46 | "list.dropBackground": "#063475",
47 | "list.errorForeground": "#b60672",
48 | "list.focusBackground": "#06306e",
49 | "list.hoverBackground": "#0a2f66",
50 | "list.inactiveSelectionBackground": "#161130",
51 | "list.warningForeground": "#992293",
52 | "panel.background": "#0e0952",
53 | "panel.border": "#181657",
54 | "panelTitle.activeBorder": "#ff2592",
55 | "panelTitle.activeForeground": "#ff2592",
56 | "panelTitle.inactiveForeground": "#d600dd",
57 | "peekView.border": "#ffd400",
58 | "peekViewEditor.background": "#1971f770",
59 | "peekViewEditor.matchHighlightBackground": "#120961",
60 | "peekViewEditor.matchHighlightBorder": "#34006e",
61 | "peekViewResult.background": "#1a1079",
62 | "peekViewResult.selectionBackground": "#ffd400",
63 | "peekViewTitle.background": "#372dc9",
64 | "peekViewTitleDescription.foreground": "#348bee",
65 | "progressBar.background": "#fa0dea",
66 | "scrollbar.shadow": "#ff25ed57",
67 | "scrollbarSlider.activeBackground": "#ff29944f",
68 | "scrollbarSlider.background": "#fc309654",
69 | "scrollbarSlider.hoverBackground": "#ee0077",
70 | "sideBar.background": "#030d22",
71 | "sideBarSectionHeader.background": "#04112e",
72 | "sideBarSectionHeader.foreground": "#1f9aff",
73 | "statusBar.background": "#0a0631",
74 | "statusBar.debuggingBackground": "#0a0631",
75 | "statusBar.debuggingForeground": "#4d8bee",
76 | "statusBar.foreground": "#4d8bee",
77 | "statusBar.noFolderBackground": "#0a0631",
78 | "statusBar.noFolderForeground": "#4d8bee",
79 | "tab.activeBackground": "#1d1641",
80 | "tab.activeForeground": "#f9faff",
81 | "tab.border": "#171033",
82 | "tab.inactiveBackground": "#141138",
83 | "tab.inactiveForeground": "#3e8efd",
84 | "terminal.ansiBlack": "#3a1b75",
85 | "terminal.ansiBlue": "#3787d6",
86 | "terminal.ansiBrightBlack": "#5c6d751a",
87 | "terminal.ansiBrightBlue": "#5994ce",
88 | "terminal.ansiBrightCyan": "#4bc5fa",
89 | "terminal.ansiBrightGreen": "#3dd69c",
90 | "terminal.ansiBrightMagenta": "#ea00d9",
91 | "terminal.ansiBrightRed": "#ff2e97",
92 | "terminal.ansiBrightWhite": "#ffffff",
93 | "terminal.ansiBrightYellow": "#ffd400",
94 | "terminal.ansiCyan": "#0ab2fa",
95 | "terminal.ansiGreen": "#06ad00",
96 | "terminal.ansiMagenta": "#ea00d9",
97 | "terminal.ansiRed": "#ee1682",
98 | "terminal.ansiWhite": "#f2f8ff",
99 | "terminal.ansiYellow": "#ffd400",
100 | "terminal.background": "#0d0936",
101 | "terminal.foreground": "#e4eeff",
102 | "titleBar.activeBackground": "#0b082e"
103 | },
104 | "tokenColors": [
105 | {
106 | "scope": [
107 | "comment",
108 | "punctuation.definition.comment",
109 | "string.quoted.docstring.multi.python"
110 | ],
111 | "settings": {
112 | "foreground": "#0098DF",
113 | "fontStyle": "italic"
114 | }
115 | },
116 | {
117 | "scope": "string",
118 | "settings": {
119 | "foreground": "#0EF3FF"
120 | }
121 | },
122 | {
123 | "scope": "constant.numeric",
124 | "settings": {
125 | "foreground": "#FFD400"
126 | }
127 | },
128 | {
129 | "scope": "constant.language",
130 | "settings": {
131 | "foreground": "#FF2E97"
132 | }
133 | },
134 | {
135 | "scope": [
136 | "constant.character",
137 | "constant.other"
138 | ],
139 | "settings": {
140 | "foreground": "#C832FF"
141 | }
142 | },
143 | {
144 | "scope": "variable",
145 | "settings": {
146 | "fontStyle": ""
147 | }
148 | },
149 | {
150 | "scope": "keyword",
151 | "settings": {
152 | "foreground": "#FF2CF1"
153 | }
154 | },
155 | {
156 | "scope": "storage",
157 | "settings": {
158 | "foreground": "#40A9FF",
159 | "fontStyle": ""
160 | }
161 | },
162 | {
163 | "scope": "storage.type",
164 | "settings": {
165 | "foreground": "#FF1BF0",
166 | "fontStyle": ""
167 | }
168 | },
169 | {
170 | "scope": "meta",
171 | "settings": {
172 | "foreground": "#FF2E97"
173 | }
174 | },
175 | {
176 | "scope": [
177 | "meta.jsx.children",
178 | "meta.jsx.children.js",
179 | "meta.jsx.children.tsx"
180 | ],
181 | "settings": {
182 | "foreground": "#FFD400"
183 | }
184 | },
185 | {
186 | "scope": [
187 | "variable.other.object.js",
188 | "variable.other.object.jsx",
189 | "variable.object.property.js",
190 | "variable.object.property.jsx"
191 | ],
192 | "settings": {
193 | "foreground": "#40A9FF"
194 | }
195 | },
196 | {
197 | "scope": "punctuation.definition.parameters",
198 | "settings": {
199 | "foreground": "#FFEE80"
200 | }
201 | },
202 | {
203 | "scope": "punctuation.definition.template-expression",
204 | "settings": {
205 | "foreground": "#FFEE80"
206 | }
207 | },
208 | {
209 | "scope": [
210 | "entity.name.class",
211 | "entity.name.type.class"
212 | ],
213 | "settings": {
214 | "foreground": "#FF2E97",
215 | "fontStyle": ""
216 | }
217 | },
218 | {
219 | "scope": "entity",
220 | "settings": {
221 | "foreground": "#FFD400"
222 | }
223 | },
224 | {
225 | "scope": [
226 | "entity.other.inherited-class",
227 | "meta.other.inherited-class.php"
228 | ],
229 | "settings": {
230 | "foreground": "#6AB0FF",
231 | "fontStyle": "italic"
232 | }
233 | },
234 | {
235 | "scope": "entity.name.function - meta.function-call",
236 | "settings": {
237 | "foreground": "#39C0FF",
238 | "fontStyle": ""
239 | }
240 | },
241 | {
242 | "scope": "variable.parameter",
243 | "settings": {
244 | "foreground": "#FF2E97",
245 | "fontStyle": ""
246 | }
247 | },
248 | {
249 | "scope": "entity.name.tag",
250 | "settings": {
251 | "foreground": "#FF2E97",
252 | "fontStyle": ""
253 | }
254 | },
255 | {
256 | "scope": "entity.other.attribute-name",
257 | "settings": {
258 | "foreground": "#FFD400",
259 | "fontStyle": ""
260 | }
261 | },
262 | {
263 | "scope": "support.function",
264 | "settings": {
265 | "foreground": "#FFD400",
266 | "fontStyle": ""
267 | }
268 | },
269 | {
270 | "scope": "support.constant",
271 | "settings": {
272 | "foreground": "#39C0FF",
273 | "fontStyle": ""
274 | }
275 | },
276 | {
277 | "scope": [
278 | "support.type",
279 | "support.class"
280 | ],
281 | "settings": {
282 | "foreground": "#FF2CF1",
283 | "fontStyle": "italic"
284 | }
285 | },
286 | {
287 | "scope": "support.other.variable",
288 | "settings": {
289 | "foreground": "#39C0FF",
290 | "fontStyle": ""
291 | }
292 | },
293 | {
294 | "scope": "support.variable.property.dom",
295 | "settings": {
296 | "foreground": "#67B3FF"
297 | }
298 | },
299 | {
300 | "scope": "invalid",
301 | "settings": {
302 | "foreground": "#9E0A52",
303 | "fontStyle": ""
304 | }
305 | },
306 | {
307 | "scope": "invalid.deprecated",
308 | "settings": {
309 | "foreground": "#00D7E2"
310 | }
311 | },
312 | {
313 | "scope": [
314 | "meta.diff",
315 | "meta.diff.header"
316 | ],
317 | "settings": {
318 | "foreground": "#009AF3"
319 | }
320 | },
321 | {
322 | "scope": "markup.deleted",
323 | "settings": {
324 | "foreground": "#EC107B"
325 | }
326 | },
327 | {
328 | "scope": "markup.inserted",
329 | "settings": {
330 | "foreground": "#DBCD00"
331 | }
332 | },
333 | {
334 | "scope": "markup.changed",
335 | "settings": {
336 | "foreground": "#029FCF"
337 | }
338 | },
339 | {
340 | "scope": "constant.numeric.line-number.find-in-files - match",
341 | "settings": {
342 | "foreground": "#E92778"
343 | }
344 | },
345 | {
346 | "scope": "entity.name.filename.find-in-files",
347 | "settings": {
348 | "foreground": "#FF2E97"
349 | }
350 | },
351 | {
352 | "scope": "keyword.other",
353 | "settings": {
354 | "foreground": "#A83DFF"
355 | }
356 | },
357 | {
358 | "scope": [
359 | "meta.property-value",
360 | "support.constant.property-value",
361 | "constant.other.color"
362 | ],
363 | "settings": {
364 | "foreground": "#FD21EF"
365 | }
366 | },
367 | {
368 | "scope": "meta.structure.dictionary.json string.quoted.double.json",
369 | "settings": {
370 | "foreground": "#FF0081"
371 | }
372 | },
373 | {
374 | "scope": "support.type.property-name.json",
375 | "settings": {
376 | "foreground": "#FF2E97",
377 | "fontStyle": ""
378 | }
379 | },
380 | {
381 | "scope": "meta.structure.dictionary.value.json string.quoted.double.json",
382 | "settings": {
383 | "foreground": "#0EF3FF"
384 | }
385 | },
386 | {
387 | "scope": "meta.property-name support.type.property-name",
388 | "settings": {
389 | "foreground": "#0EF3FF",
390 | "fontStyle": ""
391 | }
392 | },
393 | {
394 | "scope": "meta.property-value punctuation.separator.key-value",
395 | "settings": {
396 | "foreground": "#44A1FD"
397 | }
398 | },
399 | {
400 | "scope": [
401 | "keyword.other.use",
402 | "keyword.other.function.use",
403 | "keyword.other.namespace",
404 | "keyword.other.new",
405 | "keyword.other.special-method",
406 | "keyword.other.unit",
407 | "keyword.other.use-as"
408 | ],
409 | "settings": {
410 | "foreground": "#EA00D9"
411 | }
412 | },
413 | {
414 | "scope": "support.other.namespace.php",
415 | "settings": {
416 | "foreground": "#973DFD"
417 | }
418 | },
419 | {
420 | "scope": [
421 | "meta.use"
422 | ],
423 | "settings": {
424 | "foreground": "#2FB3FF",
425 | "fontStyle": ""
426 | }
427 | },
428 | {
429 | "scope": "variable.other",
430 | "settings": {
431 | "foreground": "#FF2E97",
432 | "fontStyle": ""
433 | }
434 | },
435 | {
436 | "scope": "keyword.other.phpdoc.php",
437 | "settings": {
438 | "foreground": "#35A3FD",
439 | "fontStyle": ""
440 | }
441 | },
442 | {
443 | "scope": "variable.parameter.function.coffee",
444 | "settings": {
445 | "foreground": "#FF2E97",
446 | "fontStyle": ""
447 | }
448 | },
449 | {
450 | "scope": "variable.parameter.function.language.special.self.python",
451 | "settings": {
452 | "foreground": "#FF2E97"
453 | }
454 | },
455 | {
456 | "scope": "source.ts entity.name.type",
457 | "settings": {
458 | "foreground": "#DBCD00"
459 | }
460 | },
461 | {
462 | "scope": "source.ts keyword",
463 | "settings": {
464 | "foreground": "#FF25F0"
465 | }
466 | },
467 | {
468 | "scope": "source.ts punctuation.definition.parameters",
469 | "settings": {
470 | "foreground": "#DBCD00"
471 | }
472 | },
473 | {
474 | "scope": "meta.arrow.ts punctuation.definition.parameters",
475 | "settings": {
476 | "foreground": "#FFEE80"
477 | }
478 | },
479 | {
480 | "scope": "source.ts storage",
481 | "settings": {
482 | "foreground": "#0EF3FF"
483 | }
484 | },
485 | {
486 | "scope": "variable.language, entity.name.type.class.ts, entity.name.type.class.tsx",
487 | "settings": {
488 | "foreground": "#FF2E97"
489 | }
490 | },
491 | {
492 | "scope": "entity.other.inherited-class.ts, entity.other.inherited-class.tsx",
493 | "settings": {
494 | "foreground": "#DBCD00"
495 | }
496 | },
497 | {
498 | "scope": "source.js storage.type.function",
499 | "settings": {
500 | "foreground": "#FF25F0"
501 | }
502 | },
503 | {
504 | "scope": "variable.language, entity.name.type.class.js",
505 | "settings": {
506 | "foreground": "#3EC8FF"
507 | }
508 | },
509 | {
510 | "scope": "entity.other.inherited-class.js",
511 | "settings": {
512 | "foreground": "#FF15EF"
513 | }
514 | },
515 | {
516 | "scope": "text.html.vue-html",
517 | "settings": {
518 | "foreground": "#FFD400"
519 | }
520 | },
521 | {
522 | "scope": "entity.name.section.markdown",
523 | "settings": {
524 | "foreground": "#FF2E97"
525 | }
526 | },
527 | {
528 | "scope": "string.other.link.title.markdown",
529 | "settings": {
530 | "foreground": "#FF2E97"
531 | }
532 | },
533 | {
534 | "scope": "punctuation.definition.heading.markdown",
535 | "settings": {
536 | "foreground": "#FF2E97"
537 | }
538 | },
539 | {
540 | "scope": "markup.raw.inline.markdown",
541 | "settings": {
542 | "foreground": "#E9E9E9"
543 | }
544 | },
545 | {
546 | "scope": [
547 | "punctuation.definition.bold.markdown",
548 | "punctuation.definition.italic.markdown"
549 | ],
550 | "settings": {
551 | "foreground": "#FF2E97"
552 | }
553 | },
554 | {
555 | "scope": [
556 | "punctuation.definition.string.begin.markdown",
557 | "punctuation.definition.string.end.markdown"
558 | ],
559 | "settings": {
560 | "foreground": "#FF22F0"
561 | }
562 | },
563 | {
564 | "scope": "punctuation.definition.metadata.markdown",
565 | "settings": {
566 | "foreground": "#FF22F0"
567 | }
568 | },
569 | {
570 | "scope": [
571 | "markup.underline.link.markdown",
572 | "markup.underline.link.image.markdown",
573 | "meta.image.inline.markdown"
574 | ],
575 | "settings": {
576 | "foreground": "#FF22F0",
577 | "fontStyle": ""
578 | }
579 | },
580 | {
581 | "scope": [
582 | "markup.bold.markdown",
583 | "markup.italic.markdown"
584 | ],
585 | "settings": {
586 | "foreground": "#FF2E97"
587 | }
588 | },
589 | {
590 | "scope": "markup.italic.markdown",
591 | "settings": {
592 | "fontStyle": "italic"
593 | }
594 | },
595 | {
596 | "scope": "markup.bold.markdown",
597 | "settings": {
598 | "fontStyle": "bold"
599 | }
600 | },
601 | {
602 | "scope": [
603 | "fenced_code.block.language",
604 | "markup.inline.raw.markdown"
605 | ],
606 | "settings": {
607 | "foreground": "#FF2E97"
608 | }
609 | },
610 | {
611 | "scope": [
612 | "fenced_code.block.language",
613 | "markup.inline.raw.markdown"
614 | ],
615 | "settings": {
616 | "foreground": "#FF2E97"
617 | }
618 | },
619 | {
620 | "scope": "meta.paragraph.markdown",
621 | "settings": {
622 | "foreground": "#E1EFFF"
623 | }
624 | },
625 | {
626 | "scope": "markup.raw.block.markdown",
627 | "settings": {
628 | "foreground": "#FFFFFF"
629 | }
630 | },
631 | {
632 | "scope": "markup.deleted.git_gutter",
633 | "settings": {
634 | "foreground": "#E700D8"
635 | }
636 | },
637 | {
638 | "scope": "markup.inserted.git_gutter",
639 | "settings": {
640 | "foreground": "#FFD400"
641 | }
642 | },
643 | {
644 | "scope": "markup.changed.git_gutter",
645 | "settings": {
646 | "foreground": "#0685FC"
647 | }
648 | },
649 | {
650 | "scope": "meta.template.expression",
651 | "settings": {
652 | "foreground": "#18B6FF"
653 | }
654 | },
655 | {
656 | "scope": "token.info-token",
657 | "settings": {
658 | "foreground": "#6796E6"
659 | }
660 | },
661 | {
662 | "scope": "token.warn-token",
663 | "settings": {
664 | "foreground": "#CD9731"
665 | }
666 | },
667 | {
668 | "scope": "token.error-token",
669 | "settings": {
670 | "foreground": "#F44747"
671 | }
672 | },
673 | {
674 | "scope": "token.debug-token",
675 | "settings": {
676 | "foreground": "#B267E6"
677 | }
678 | }
679 | ]
680 | }
--------------------------------------------------------------------------------
/public/assets/vsc-themes/material-theme-ocean.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "activityBar.activeBorder": "#80CBC4",
4 | "activityBar.background": "#0F111A",
5 | "activityBar.border": "#0F111A60",
6 | "activityBar.dropBackground": "#f0717880",
7 | "activityBar.foreground": "#babed8",
8 | "activityBarBadge.background": "#80CBC4",
9 | "activityBarBadge.foreground": "#000000",
10 | "badge.background": "#00000030",
11 | "badge.foreground": "#464B5D",
12 | "breadcrumb.activeSelectionForeground": "#80CBC4",
13 | "breadcrumb.background": "#0F111A",
14 | "breadcrumb.focusForeground": "#babed8",
15 | "breadcrumb.foreground": "#525975",
16 | "breadcrumbPicker.background": "#0F111A",
17 | "button.background": "#717CB450",
18 | "button.foreground": "#ffffff",
19 | "debugConsole.errorForeground": "#f07178",
20 | "debugConsole.infoForeground": "#89DDFF",
21 | "debugConsole.warningForeground": "#FFCB6B",
22 | "debugToolBar.background": "#0F111A",
23 | "diffEditor.insertedTextBackground": "#89DDFF20",
24 | "diffEditor.removedTextBackground": "#ff9cac20",
25 | "dropdown.background": "#0F111A",
26 | "dropdown.border": "#FFFFFF10",
27 | "editor.background": "#0F111A",
28 | "editor.findMatchBackground": "#000000",
29 | "editor.findMatchBorder": "#80CBC4",
30 | "editor.findMatchHighlight": "#babed8",
31 | "editor.findMatchHighlightBackground": "#00000050",
32 | "editor.findMatchHighlightBorder": "#ffffff30",
33 | "editor.findRangeHighlightBackground": "#FFCB6B30",
34 | "editor.foreground": "#babed8",
35 | "editor.lineHighlightBackground": "#00000050",
36 | "editor.lineHighlightBorder": "#00000000",
37 | "editor.rangeHighlightBackground": "#FFFFFF0d",
38 | "editor.selectionBackground": "#717CB450",
39 | "editor.selectionHighlightBackground": "#FFCC0020",
40 | "editor.wordHighlightBackground": "#ff9cac30",
41 | "editor.wordHighlightStrongBackground": "#C3E88D30",
42 | "editorBracketMatch.background": "#0F111A",
43 | "editorBracketMatch.border": "#FFCC0050",
44 | "editorCursor.foreground": "#FFCC00",
45 | "editorError.foreground": "#f0717870",
46 | "editorGroup.border": "#00000030",
47 | "editorGroup.dropBackground": "#f0717880",
48 | "editorGroup.focusedEmptyBorder": "#f07178",
49 | "editorGroupHeader.tabsBackground": "#0F111A",
50 | "editorGutter.addedBackground": "#C3E88D60",
51 | "editorGutter.deletedBackground": "#f0717860",
52 | "editorGutter.modifiedBackground": "#82AAFF60",
53 | "editorHoverWidget.background": "#0F111A",
54 | "editorHoverWidget.border": "#FFFFFF10",
55 | "editorIndentGuide.activeBackground": "#3B3F51",
56 | "editorIndentGuide.background": "#3B3F5170",
57 | "editorInfo.foreground": "#82AAFF70",
58 | "editorLineNumber.activeForeground": "#525975",
59 | "editorLineNumber.foreground": "#3B3F5180",
60 | "editorLink.activeForeground": "#babed8",
61 | "editorMarkerNavigation.background": "#babed805",
62 | "editorOverviewRuler.border": "#0F111A",
63 | "editorOverviewRuler.errorForeground": "#f0717840",
64 | "editorOverviewRuler.findMatchForeground": "#80CBC4",
65 | "editorOverviewRuler.infoForeground": "#82AAFF40",
66 | "editorOverviewRuler.warningForeground": "#FFCB6B40",
67 | "editorRuler.foreground": "#3B3F51",
68 | "editorSuggestWidget.background": "#0F111A",
69 | "editorSuggestWidget.border": "#FFFFFF10",
70 | "editorSuggestWidget.foreground": "#babed8",
71 | "editorSuggestWidget.highlightForeground": "#80CBC4",
72 | "editorSuggestWidget.selectedBackground": "#00000050",
73 | "editorWarning.foreground": "#FFCB6B70",
74 | "editorWhitespace.foreground": "#babed840",
75 | "editorWidget.background": "#0F111A",
76 | "editorWidget.border": "#80CBC4",
77 | "editorWidget.resizeBorder": "#80CBC4",
78 | "extensionBadge.remoteForeground": "#babed8",
79 | "extensionButton.prominentBackground": "#C3E88D90",
80 | "extensionButton.prominentForeground": "#babed8",
81 | "extensionButton.prominentHoverBackground": "#C3E88D",
82 | "focusBorder": "#FFFFFF00",
83 | "foreground": "#babed8",
84 | "gitDecoration.conflictingResourceForeground": "#FFCB6B90",
85 | "gitDecoration.deletedResourceForeground": "#f0717890",
86 | "gitDecoration.ignoredResourceForeground": "#52597590",
87 | "gitDecoration.modifiedResourceForeground": "#82AAFF90",
88 | "gitDecoration.untrackedResourceForeground": "#C3E88D90",
89 | "input.background": "#1A1C25",
90 | "input.border": "#FFFFFF10",
91 | "input.foreground": "#babed8",
92 | "input.placeholderForeground": "#babed860",
93 | "inputOption.activeBackground": "#babed830",
94 | "inputOption.activeBorder": "#babed830",
95 | "inputValidation.errorBorder": "#f07178",
96 | "inputValidation.infoBorder": "#82AAFF",
97 | "inputValidation.warningBorder": "#FFCB6B",
98 | "list.activeSelectionBackground": "#0F111A",
99 | "list.activeSelectionForeground": "#80CBC4",
100 | "list.dropBackground": "#f0717880",
101 | "list.focusBackground": "#babed820",
102 | "list.focusForeground": "#babed8",
103 | "list.highlightForeground": "#80CBC4",
104 | "list.hoverBackground": "#0F111A",
105 | "list.hoverForeground": "#FFFFFF",
106 | "list.inactiveSelectionBackground": "#00000030",
107 | "list.inactiveSelectionForeground": "#80CBC4",
108 | "listFilterWidget.background": "#00000030",
109 | "listFilterWidget.noMatchesOutline": "#00000030",
110 | "listFilterWidget.outline": "#00000030",
111 | "menu.background": "#0F111A",
112 | "menu.foreground": "#babed8",
113 | "menu.selectionBackground": "#00000050",
114 | "menu.selectionBorder": "#00000030",
115 | "menu.selectionForeground": "#80CBC4",
116 | "menu.separatorBackground": "#babed8",
117 | "menubar.selectionBackground": "#00000030",
118 | "menubar.selectionBorder": "#00000030",
119 | "menubar.selectionForeground": "#80CBC4",
120 | "notebook.focusedCellBorder": "#80CBC4",
121 | "notebook.inactiveFocusedCellBorder": "#80CBC450",
122 | "notificationLink.foreground": "#80CBC4",
123 | "notifications.background": "#0F111A",
124 | "notifications.foreground": "#babed8",
125 | "panel.background": "#0F111A",
126 | "panel.border": "#0F111A60",
127 | "panel.dropBackground": "#babed8",
128 | "panelTitle.activeBorder": "#80CBC4",
129 | "panelTitle.activeForeground": "#FFFFFF",
130 | "panelTitle.inactiveForeground": "#babed8",
131 | "peekView.border": "#00000030",
132 | "peekViewEditor.background": "#babed805",
133 | "peekViewEditor.matchHighlightBackground": "#717CB450",
134 | "peekViewEditorGutter.background": "#babed805",
135 | "peekViewResult.background": "#babed805",
136 | "peekViewResult.matchHighlightBackground": "#717CB450",
137 | "peekViewResult.selectionBackground": "#52597570",
138 | "peekViewTitle.background": "#babed805",
139 | "peekViewTitleDescription.foreground": "#babed860",
140 | "pickerGroup.border": "#FFFFFF1a",
141 | "pickerGroup.foreground": "#80CBC4",
142 | "progressBar.background": "#80CBC4",
143 | "quickInput.background": "#0F111A",
144 | "quickInput.foreground": "#525975",
145 | "quickInput.list.focusBackground": "#babed820",
146 | "sash.hoverBorder": "#80CBC450",
147 | "scrollbar.shadow": "#00000030",
148 | "scrollbarSlider.activeBackground": "#80CBC4",
149 | "scrollbarSlider.background": "#8F93A220",
150 | "scrollbarSlider.hoverBackground": "#8F93A210",
151 | "selection.background": "#00000080",
152 | "settings.checkboxBackground": "#0F111A",
153 | "settings.checkboxForeground": "#babed8",
154 | "settings.dropdownBackground": "#0F111A",
155 | "settings.dropdownForeground": "#babed8",
156 | "settings.headerForeground": "#80CBC4",
157 | "settings.modifiedItemIndicator": "#80CBC4",
158 | "settings.numberInputBackground": "#0F111A",
159 | "settings.numberInputForeground": "#babed8",
160 | "settings.textInputBackground": "#0F111A",
161 | "settings.textInputForeground": "#babed8",
162 | "sideBar.background": "#0F111A",
163 | "sideBar.border": "#0F111A60",
164 | "sideBar.foreground": "#525975",
165 | "sideBarSectionHeader.background": "#0F111A",
166 | "sideBarSectionHeader.border": "#0F111A60",
167 | "sideBarTitle.foreground": "#babed8",
168 | "statusBar.background": "#0F111A",
169 | "statusBar.border": "#0F111A60",
170 | "statusBar.debuggingBackground": "#C792EA",
171 | "statusBar.debuggingForeground": "#ffffff",
172 | "statusBar.foreground": "#4B526D",
173 | "statusBar.noFolderBackground": "#0F111A",
174 | "statusBarItem.activeBackground": "#f0717880",
175 | "statusBarItem.hoverBackground": "#464B5D20",
176 | "statusBarItem.remoteBackground": "#80CBC4",
177 | "statusBarItem.remoteForeground": "#000000",
178 | "tab.activeBackground": "#0F111A",
179 | "tab.activeBorder": "#80CBC4",
180 | "tab.activeForeground": "#FFFFFF",
181 | "tab.activeModifiedBorder": "#525975",
182 | "tab.border": "#0F111A",
183 | "tab.inactiveBackground": "#0F111A",
184 | "tab.inactiveForeground": "#525975",
185 | "tab.inactiveModifiedBorder": "#904348",
186 | "tab.unfocusedActiveBorder": "#464B5D",
187 | "tab.unfocusedActiveForeground": "#babed8",
188 | "tab.unfocusedActiveModifiedBorder": "#c05a60",
189 | "tab.unfocusedInactiveModifiedBorder": "#904348",
190 | "terminal.ansiBlack": "#000000",
191 | "terminal.ansiBlue": "#82AAFF",
192 | "terminal.ansiBrightBlack": "#464B5D",
193 | "terminal.ansiBrightBlue": "#82AAFF",
194 | "terminal.ansiBrightCyan": "#89DDFF",
195 | "terminal.ansiBrightGreen": "#C3E88D",
196 | "terminal.ansiBrightMagenta": "#C792EA",
197 | "terminal.ansiBrightRed": "#f07178",
198 | "terminal.ansiBrightWhite": "#ffffff",
199 | "terminal.ansiBrightYellow": "#FFCB6B",
200 | "terminal.ansiCyan": "#89DDFF",
201 | "terminal.ansiGreen": "#C3E88D",
202 | "terminal.ansiMagenta": "#C792EA",
203 | "terminal.ansiRed": "#f07178",
204 | "terminal.ansiWhite": "#ffffff",
205 | "terminal.ansiYellow": "#FFCB6B",
206 | "terminalCursor.background": "#000000",
207 | "terminalCursor.foreground": "#FFCB6B",
208 | "textLink.activeForeground": "#babed8",
209 | "textLink.foreground": "#80CBC4",
210 | "titleBar.activeBackground": "#0F111A",
211 | "titleBar.activeForeground": "#babed8",
212 | "titleBar.border": "#0F111A60",
213 | "titleBar.inactiveBackground": "#0F111A",
214 | "titleBar.inactiveForeground": "#525975",
215 | "tree.indentGuidesStroke": "#3B3F51",
216 | "widget.shadow": "#00000030"
217 | },
218 | "displayName": "Material Theme Ocean",
219 | "name": "material-theme-ocean",
220 | "semanticHighlighting": true,
221 | "tokenColors": [
222 | {
223 | "settings": {
224 | "background": "#0F111A",
225 | "foreground": "#babed8"
226 | }
227 | },
228 | {
229 | "scope": "string",
230 | "settings": {
231 | "foreground": "#C3E88D"
232 | }
233 | },
234 | {
235 | "scope": "punctuation, constant.other.symbol",
236 | "settings": {
237 | "foreground": "#89DDFF"
238 | }
239 | },
240 | {
241 | "scope": "constant.character.escape, text.html constant.character.entity.named",
242 | "settings": {
243 | "foreground": "#babed8"
244 | }
245 | },
246 | {
247 | "scope": "constant.language.boolean",
248 | "settings": {
249 | "foreground": "#ff9cac"
250 | }
251 | },
252 | {
253 | "scope": "constant.numeric",
254 | "settings": {
255 | "foreground": "#F78C6C"
256 | }
257 | },
258 | {
259 | "scope": "variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments",
260 | "settings": {
261 | "foreground": "#babed8"
262 | }
263 | },
264 | {
265 | "scope": "keyword.other",
266 | "settings": {
267 | "foreground": "#F78C6C"
268 | }
269 | },
270 | {
271 | "scope": "keyword, modifier, variable.language.this, support.type.object, constant.language",
272 | "settings": {
273 | "foreground": "#89DDFF"
274 | }
275 | },
276 | {
277 | "scope": "entity.name.function, support.function",
278 | "settings": {
279 | "foreground": "#82AAFF"
280 | }
281 | },
282 | {
283 | "scope": "storage.type, storage.modifier, storage.control",
284 | "settings": {
285 | "foreground": "#C792EA"
286 | }
287 | },
288 | {
289 | "scope": "support.module, support.node",
290 | "settings": {
291 | "fontStyle": "italic",
292 | "foreground": "#f07178"
293 | }
294 | },
295 | {
296 | "scope": "support.type, constant.other.key",
297 | "settings": {
298 | "foreground": "#FFCB6B"
299 | }
300 | },
301 | {
302 | "scope": "entity.name.type, entity.other.inherited-class, entity.other",
303 | "settings": {
304 | "foreground": "#FFCB6B"
305 | }
306 | },
307 | {
308 | "scope": "comment",
309 | "settings": {
310 | "fontStyle": "italic",
311 | "foreground": "#464B5D"
312 | }
313 | },
314 | {
315 | "scope": "comment punctuation.definition.comment, string.quoted.docstring",
316 | "settings": {
317 | "fontStyle": "italic",
318 | "foreground": "#464B5D"
319 | }
320 | },
321 | {
322 | "scope": "punctuation",
323 | "settings": {
324 | "foreground": "#89DDFF"
325 | }
326 | },
327 | {
328 | "scope": "entity.name, entity.name.type.class, support.type, support.class, meta.use",
329 | "settings": {
330 | "foreground": "#FFCB6B"
331 | }
332 | },
333 | {
334 | "scope": "variable.object.property, meta.field.declaration entity.name.function",
335 | "settings": {
336 | "foreground": "#f07178"
337 | }
338 | },
339 | {
340 | "scope": "meta.definition.method entity.name.function",
341 | "settings": {
342 | "foreground": "#f07178"
343 | }
344 | },
345 | {
346 | "scope": "meta.function entity.name.function",
347 | "settings": {
348 | "foreground": "#82AAFF"
349 | }
350 | },
351 | {
352 | "scope": "template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end",
353 | "settings": {
354 | "foreground": "#89DDFF"
355 | }
356 | },
357 | {
358 | "scope": "meta.embedded, source.groovy.embedded, meta.template.expression",
359 | "settings": {
360 | "foreground": "#babed8"
361 | }
362 | },
363 | {
364 | "scope": "entity.name.tag.yaml",
365 | "settings": {
366 | "foreground": "#f07178"
367 | }
368 | },
369 | {
370 | "scope": "meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json",
371 | "settings": {
372 | "foreground": "#f07178"
373 | }
374 | },
375 | {
376 | "scope": "constant.language.json",
377 | "settings": {
378 | "foreground": "#89DDFF"
379 | }
380 | },
381 | {
382 | "scope": "entity.other.attribute-name.class",
383 | "settings": {
384 | "foreground": "#FFCB6B"
385 | }
386 | },
387 | {
388 | "scope": "entity.other.attribute-name.id",
389 | "settings": {
390 | "foreground": "#F78C6C"
391 | }
392 | },
393 | {
394 | "scope": "source.css entity.name.tag",
395 | "settings": {
396 | "foreground": "#FFCB6B"
397 | }
398 | },
399 | {
400 | "scope": "support.type.property-name.css",
401 | "settings": {
402 | "foreground": "#B2CCD6"
403 | }
404 | },
405 | {
406 | "scope": "meta.tag, punctuation.definition.tag",
407 | "settings": {
408 | "foreground": "#89DDFF"
409 | }
410 | },
411 | {
412 | "scope": "entity.name.tag",
413 | "settings": {
414 | "foreground": "#f07178"
415 | }
416 | },
417 | {
418 | "scope": "entity.other.attribute-name",
419 | "settings": {
420 | "foreground": "#C792EA"
421 | }
422 | },
423 | {
424 | "scope": "punctuation.definition.entity.html",
425 | "settings": {
426 | "foreground": "#babed8"
427 | }
428 | },
429 | {
430 | "scope": "markup.heading",
431 | "settings": {
432 | "foreground": "#89DDFF"
433 | }
434 | },
435 | {
436 | "scope": "text.html.markdown meta.link.inline, meta.link.reference",
437 | "settings": {
438 | "foreground": "#f07178"
439 | }
440 | },
441 | {
442 | "scope": "text.html.markdown beginning.punctuation.definition.list",
443 | "settings": {
444 | "foreground": "#89DDFF"
445 | }
446 | },
447 | {
448 | "scope": "markup.italic",
449 | "settings": {
450 | "fontStyle": "italic",
451 | "foreground": "#f07178"
452 | }
453 | },
454 | {
455 | "scope": "markup.bold",
456 | "settings": {
457 | "fontStyle": "bold",
458 | "foreground": "#f07178"
459 | }
460 | },
461 | {
462 | "scope": "markup.bold markup.italic, markup.italic markup.bold",
463 | "settings": {
464 | "fontStyle": "italic bold",
465 | "foreground": "#f07178"
466 | }
467 | },
468 | {
469 | "scope": "markup.fenced_code.block.markdown punctuation.definition.markdown",
470 | "settings": {
471 | "foreground": "#C3E88D"
472 | }
473 | },
474 | {
475 | "scope": "markup.inline.raw.string.markdown",
476 | "settings": {
477 | "foreground": "#C3E88D"
478 | }
479 | },
480 | {
481 | "scope": "keyword.other.definition.ini",
482 | "settings": {
483 | "foreground": "#f07178"
484 | }
485 | },
486 | {
487 | "scope": "entity.name.section.group-title.ini",
488 | "settings": {
489 | "foreground": "#89DDFF"
490 | }
491 | },
492 | {
493 | "scope": "source.cs meta.class.identifier storage.type",
494 | "settings": {
495 | "foreground": "#FFCB6B"
496 | }
497 | },
498 | {
499 | "scope": "source.cs meta.method.identifier entity.name.function",
500 | "settings": {
501 | "foreground": "#f07178"
502 | }
503 | },
504 | {
505 | "scope": "source.cs meta.method-call meta.method, source.cs entity.name.function",
506 | "settings": {
507 | "foreground": "#82AAFF"
508 | }
509 | },
510 | {
511 | "scope": "source.cs storage.type",
512 | "settings": {
513 | "foreground": "#FFCB6B"
514 | }
515 | },
516 | {
517 | "scope": "source.cs meta.method.return-type",
518 | "settings": {
519 | "foreground": "#FFCB6B"
520 | }
521 | },
522 | {
523 | "scope": "source.cs meta.preprocessor",
524 | "settings": {
525 | "foreground": "#464B5D"
526 | }
527 | },
528 | {
529 | "scope": "source.cs entity.name.type.namespace",
530 | "settings": {
531 | "foreground": "#babed8"
532 | }
533 | },
534 | {
535 | "scope": "meta.jsx.children, SXNested",
536 | "settings": {
537 | "foreground": "#babed8"
538 | }
539 | },
540 | {
541 | "scope": "support.class.component",
542 | "settings": {
543 | "foreground": "#FFCB6B"
544 | }
545 | },
546 | {
547 | "scope": "source.cpp meta.block variable.other",
548 | "settings": {
549 | "foreground": "#babed8"
550 | }
551 | },
552 | {
553 | "scope": "source.python meta.member.access.python",
554 | "settings": {
555 | "foreground": "#f07178"
556 | }
557 | },
558 | {
559 | "scope": "source.python meta.function-call.python, meta.function-call.arguments",
560 | "settings": {
561 | "foreground": "#82AAFF"
562 | }
563 | },
564 | {
565 | "scope": "meta.block",
566 | "settings": {
567 | "foreground": "#f07178"
568 | }
569 | },
570 | {
571 | "scope": "entity.name.function.call",
572 | "settings": {
573 | "foreground": "#82AAFF"
574 | }
575 | },
576 | {
577 | "scope": "source.php support.other.namespace, source.php meta.use support.class",
578 | "settings": {
579 | "foreground": "#babed8"
580 | }
581 | },
582 | {
583 | "scope": "constant.keyword",
584 | "settings": {
585 | "fontStyle": "italic",
586 | "foreground": "#89DDFF"
587 | }
588 | },
589 | {
590 | "scope": "entity.name.function",
591 | "settings": {
592 | "foreground": "#82AAFF"
593 | }
594 | },
595 | {
596 | "settings": {
597 | "background": "#0F111A",
598 | "foreground": "#babed8"
599 | }
600 | },
601 | {
602 | "scope": ["constant.other.placeholder"],
603 | "settings": {
604 | "foreground": "#f07178"
605 | }
606 | },
607 | {
608 | "scope": ["markup.deleted"],
609 | "settings": {
610 | "foreground": "#f07178"
611 | }
612 | },
613 | {
614 | "scope": ["markup.inserted"],
615 | "settings": {
616 | "foreground": "#C3E88D"
617 | }
618 | },
619 | {
620 | "scope": ["markup.underline"],
621 | "settings": {
622 | "fontStyle": "underline"
623 | }
624 | },
625 | {
626 | "scope": ["keyword.control"],
627 | "settings": {
628 | "fontStyle": "italic",
629 | "foreground": "#89DDFF"
630 | }
631 | },
632 | {
633 | "scope": ["variable.parameter"],
634 | "settings": {
635 | "fontStyle": "italic"
636 | }
637 | },
638 | {
639 | "scope": ["variable.parameter.function.language.special.self.python"],
640 | "settings": {
641 | "fontStyle": "italic",
642 | "foreground": "#f07178"
643 | }
644 | },
645 | {
646 | "scope": ["constant.character.format.placeholder.other.python"],
647 | "settings": {
648 | "foreground": "#F78C6C"
649 | }
650 | },
651 | {
652 | "scope": ["markup.quote"],
653 | "settings": {
654 | "fontStyle": "italic",
655 | "foreground": "#89DDFF"
656 | }
657 | },
658 | {
659 | "scope": ["markup.fenced_code.block"],
660 | "settings": {
661 | "foreground": "#babed890"
662 | }
663 | },
664 | {
665 | "scope": ["punctuation.definition.quote"],
666 | "settings": {
667 | "foreground": "#ff9cac"
668 | }
669 | },
670 | {
671 | "scope": [
672 | "meta.structure.dictionary.json support.type.property-name.json"
673 | ],
674 | "settings": {
675 | "foreground": "#C792EA"
676 | }
677 | },
678 | {
679 | "scope": [
680 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
681 | ],
682 | "settings": {
683 | "foreground": "#FFCB6B"
684 | }
685 | },
686 | {
687 | "scope": [
688 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
689 | ],
690 | "settings": {
691 | "foreground": "#F78C6C"
692 | }
693 | },
694 | {
695 | "scope": [
696 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
697 | ],
698 | "settings": {
699 | "foreground": "#f07178"
700 | }
701 | },
702 | {
703 | "scope": [
704 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
705 | ],
706 | "settings": {
707 | "foreground": "#916b53"
708 | }
709 | },
710 | {
711 | "scope": [
712 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
713 | ],
714 | "settings": {
715 | "foreground": "#82AAFF"
716 | }
717 | },
718 | {
719 | "scope": [
720 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
721 | ],
722 | "settings": {
723 | "foreground": "#ff9cac"
724 | }
725 | },
726 | {
727 | "scope": [
728 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
729 | ],
730 | "settings": {
731 | "foreground": "#C792EA"
732 | }
733 | },
734 | {
735 | "scope": [
736 | "meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
737 | ],
738 | "settings": {
739 | "foreground": "#C3E88D"
740 | }
741 | }
742 | ],
743 | "type": "dark"
744 | }
745 |
--------------------------------------------------------------------------------
/public/assets/vsc-themes/one-light.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "activityBar.background": "#FAFAFA",
4 | "activityBar.foreground": "#121417",
5 | "activityBarBadge.background": "#526FFF",
6 | "activityBarBadge.foreground": "#FFFFFF",
7 | "badge.background": "#526FFF",
8 | "badge.foreground": "#FFFFFF",
9 | "button.background": "#5871EF",
10 | "button.foreground": "#FFFFFF",
11 | "button.hoverBackground": "#6B83ED",
12 | "diffEditor.insertedTextBackground": "#00809B33",
13 | "dropdown.background": "#FFFFFF",
14 | "dropdown.border": "#DBDBDC",
15 | "editor.background": "#FAFAFA",
16 | "editor.findMatchHighlightBackground": "#526FFF33",
17 | "editor.foreground": "#383A42",
18 | "editor.lineHighlightBackground": "#383A420C",
19 | "editor.selectionBackground": "#E5E5E6",
20 | "editorCursor.foreground": "#526FFF",
21 | "editorGroup.background": "#EAEAEB",
22 | "editorGroup.border": "#DBDBDC",
23 | "editorGroupHeader.tabsBackground": "#EAEAEB",
24 | "editorHoverWidget.background": "#EAEAEB",
25 | "editorHoverWidget.border": "#DBDBDC",
26 | "editorIndentGuide.activeBackground": "#626772",
27 | "editorIndentGuide.background": "#383A4233",
28 | "editorInlayHint.background": "#F5F5F5",
29 | "editorInlayHint.foreground": "#AFB2BB",
30 | "editorLineNumber.activeForeground": "#383A42",
31 | "editorLineNumber.foreground": "#9D9D9F",
32 | "editorRuler.foreground": "#383A4233",
33 | "editorSuggestWidget.background": "#EAEAEB",
34 | "editorSuggestWidget.border": "#DBDBDC",
35 | "editorSuggestWidget.selectedBackground": "#FFFFFF",
36 | "editorWhitespace.foreground": "#383A4233",
37 | "editorWidget.background": "#EAEAEB",
38 | "editorWidget.border": "#E5E5E6",
39 | "extensionButton.prominentBackground": "#3BBA54",
40 | "extensionButton.prominentHoverBackground": "#4CC263",
41 | "focusBorder": "#526FFF",
42 | "input.background": "#FFFFFF",
43 | "input.border": "#DBDBDC",
44 | "list.activeSelectionBackground": "#DBDBDC",
45 | "list.activeSelectionForeground": "#232324",
46 | "list.focusBackground": "#DBDBDC",
47 | "list.highlightForeground": "#121417",
48 | "list.hoverBackground": "#DBDBDC66",
49 | "list.inactiveSelectionBackground": "#DBDBDC",
50 | "list.inactiveSelectionForeground": "#232324",
51 | "notebook.cellEditorBackground": "#F5F5F5",
52 | "notification.background": "#333333",
53 | "peekView.border": "#526FFF",
54 | "peekViewEditor.background": "#FFFFFF",
55 | "peekViewResult.background": "#EAEAEB",
56 | "peekViewResult.selectionBackground": "#DBDBDC",
57 | "peekViewTitle.background": "#FFFFFF",
58 | "pickerGroup.border": "#526FFF",
59 | "scrollbarSlider.activeBackground": "#747D9180",
60 | "scrollbarSlider.background": "#4E566680",
61 | "scrollbarSlider.hoverBackground": "#5A637580",
62 | "sideBar.background": "#EAEAEB",
63 | "sideBarSectionHeader.background": "#FAFAFA",
64 | "statusBar.background": "#EAEAEB",
65 | "statusBar.debuggingForeground": "#FFFFFF",
66 | "statusBar.foreground": "#424243",
67 | "statusBar.noFolderBackground": "#EAEAEB",
68 | "statusBarItem.hoverBackground": "#DBDBDC",
69 | "tab.activeBackground": "#FAFAFA",
70 | "tab.activeForeground": "#121417",
71 | "tab.border": "#DBDBDC",
72 | "tab.inactiveBackground": "#EAEAEB",
73 | "titleBar.activeBackground": "#EAEAEB",
74 | "titleBar.activeForeground": "#424243",
75 | "titleBar.inactiveBackground": "#EAEAEB",
76 | "titleBar.inactiveForeground": "#424243"
77 | },
78 | "displayName": "One Light",
79 | "name": "one-light",
80 | "tokenColors": [
81 | {
82 | "scope": ["comment"],
83 | "settings": {
84 | "fontStyle": "italic",
85 | "foreground": "#A0A1A7"
86 | }
87 | },
88 | {
89 | "scope": ["comment markup.link"],
90 | "settings": {
91 | "foreground": "#A0A1A7"
92 | }
93 | },
94 | {
95 | "scope": ["entity.name.type"],
96 | "settings": {
97 | "foreground": "#C18401"
98 | }
99 | },
100 | {
101 | "scope": ["entity.other.inherited-class"],
102 | "settings": {
103 | "foreground": "#C18401"
104 | }
105 | },
106 | {
107 | "scope": ["keyword"],
108 | "settings": {
109 | "foreground": "#A626A4"
110 | }
111 | },
112 | {
113 | "scope": ["keyword.control"],
114 | "settings": {
115 | "foreground": "#A626A4"
116 | }
117 | },
118 | {
119 | "scope": ["keyword.operator"],
120 | "settings": {
121 | "foreground": "#383A42"
122 | }
123 | },
124 | {
125 | "scope": ["keyword.other.special-method"],
126 | "settings": {
127 | "foreground": "#4078F2"
128 | }
129 | },
130 | {
131 | "scope": ["keyword.other.unit"],
132 | "settings": {
133 | "foreground": "#986801"
134 | }
135 | },
136 | {
137 | "scope": ["storage"],
138 | "settings": {
139 | "foreground": "#A626A4"
140 | }
141 | },
142 | {
143 | "scope": ["storage.type.annotation", "storage.type.primitive"],
144 | "settings": {
145 | "foreground": "#A626A4"
146 | }
147 | },
148 | {
149 | "scope": ["storage.modifier.package", "storage.modifier.import"],
150 | "settings": {
151 | "foreground": "#383A42"
152 | }
153 | },
154 | {
155 | "scope": ["constant"],
156 | "settings": {
157 | "foreground": "#986801"
158 | }
159 | },
160 | {
161 | "scope": ["constant.variable"],
162 | "settings": {
163 | "foreground": "#986801"
164 | }
165 | },
166 | {
167 | "scope": ["constant.character.escape"],
168 | "settings": {
169 | "foreground": "#0184BC"
170 | }
171 | },
172 | {
173 | "scope": ["constant.numeric"],
174 | "settings": {
175 | "foreground": "#986801"
176 | }
177 | },
178 | {
179 | "scope": ["constant.other.color"],
180 | "settings": {
181 | "foreground": "#0184BC"
182 | }
183 | },
184 | {
185 | "scope": ["constant.other.symbol"],
186 | "settings": {
187 | "foreground": "#0184BC"
188 | }
189 | },
190 | {
191 | "scope": ["variable"],
192 | "settings": {
193 | "foreground": "#E45649"
194 | }
195 | },
196 | {
197 | "scope": ["variable.interpolation"],
198 | "settings": {
199 | "foreground": "#CA1243"
200 | }
201 | },
202 | {
203 | "scope": ["variable.parameter"],
204 | "settings": {
205 | "foreground": "#383A42"
206 | }
207 | },
208 | {
209 | "scope": ["string"],
210 | "settings": {
211 | "foreground": "#50A14F"
212 | }
213 | },
214 | {
215 | "scope": ["string > source", "string embedded"],
216 | "settings": {
217 | "foreground": "#383A42"
218 | }
219 | },
220 | {
221 | "scope": ["string.regexp"],
222 | "settings": {
223 | "foreground": "#0184BC"
224 | }
225 | },
226 | {
227 | "scope": ["string.regexp source.ruby.embedded"],
228 | "settings": {
229 | "foreground": "#C18401"
230 | }
231 | },
232 | {
233 | "scope": ["string.other.link"],
234 | "settings": {
235 | "foreground": "#E45649"
236 | }
237 | },
238 | {
239 | "scope": ["punctuation.definition.comment"],
240 | "settings": {
241 | "foreground": "#A0A1A7"
242 | }
243 | },
244 | {
245 | "scope": [
246 | "punctuation.definition.method-parameters",
247 | "punctuation.definition.function-parameters",
248 | "punctuation.definition.parameters",
249 | "punctuation.definition.separator",
250 | "punctuation.definition.seperator",
251 | "punctuation.definition.array"
252 | ],
253 | "settings": {
254 | "foreground": "#383A42"
255 | }
256 | },
257 | {
258 | "scope": [
259 | "punctuation.definition.heading",
260 | "punctuation.definition.identity"
261 | ],
262 | "settings": {
263 | "foreground": "#4078F2"
264 | }
265 | },
266 | {
267 | "scope": ["punctuation.definition.bold"],
268 | "settings": {
269 | "fontStyle": "bold",
270 | "foreground": "#C18401"
271 | }
272 | },
273 | {
274 | "scope": ["punctuation.definition.italic"],
275 | "settings": {
276 | "fontStyle": "italic",
277 | "foreground": "#A626A4"
278 | }
279 | },
280 | {
281 | "scope": ["punctuation.section.embedded"],
282 | "settings": {
283 | "foreground": "#CA1243"
284 | }
285 | },
286 | {
287 | "scope": [
288 | "punctuation.section.method",
289 | "punctuation.section.class",
290 | "punctuation.section.inner-class"
291 | ],
292 | "settings": {
293 | "foreground": "#383A42"
294 | }
295 | },
296 | {
297 | "scope": ["support.class"],
298 | "settings": {
299 | "foreground": "#C18401"
300 | }
301 | },
302 | {
303 | "scope": ["support.type"],
304 | "settings": {
305 | "foreground": "#0184BC"
306 | }
307 | },
308 | {
309 | "scope": ["support.function"],
310 | "settings": {
311 | "foreground": "#0184BC"
312 | }
313 | },
314 | {
315 | "scope": ["support.function.any-method"],
316 | "settings": {
317 | "foreground": "#4078F2"
318 | }
319 | },
320 | {
321 | "scope": ["entity.name.function"],
322 | "settings": {
323 | "foreground": "#4078F2"
324 | }
325 | },
326 | {
327 | "scope": ["entity.name.class", "entity.name.type.class"],
328 | "settings": {
329 | "foreground": "#C18401"
330 | }
331 | },
332 | {
333 | "scope": ["entity.name.section"],
334 | "settings": {
335 | "foreground": "#4078F2"
336 | }
337 | },
338 | {
339 | "scope": ["entity.name.tag"],
340 | "settings": {
341 | "foreground": "#E45649"
342 | }
343 | },
344 | {
345 | "scope": ["entity.other.attribute-name"],
346 | "settings": {
347 | "foreground": "#986801"
348 | }
349 | },
350 | {
351 | "scope": ["entity.other.attribute-name.id"],
352 | "settings": {
353 | "foreground": "#4078F2"
354 | }
355 | },
356 | {
357 | "scope": ["meta.class"],
358 | "settings": {
359 | "foreground": "#C18401"
360 | }
361 | },
362 | {
363 | "scope": ["meta.class.body"],
364 | "settings": {
365 | "foreground": "#383A42"
366 | }
367 | },
368 | {
369 | "scope": ["meta.method-call", "meta.method"],
370 | "settings": {
371 | "foreground": "#383A42"
372 | }
373 | },
374 | {
375 | "scope": ["meta.definition.variable"],
376 | "settings": {
377 | "foreground": "#E45649"
378 | }
379 | },
380 | {
381 | "scope": ["meta.link"],
382 | "settings": {
383 | "foreground": "#986801"
384 | }
385 | },
386 | {
387 | "scope": ["meta.require"],
388 | "settings": {
389 | "foreground": "#4078F2"
390 | }
391 | },
392 | {
393 | "scope": ["meta.selector"],
394 | "settings": {
395 | "foreground": "#A626A4"
396 | }
397 | },
398 | {
399 | "scope": ["meta.separator"],
400 | "settings": {
401 | "foreground": "#383A42"
402 | }
403 | },
404 | {
405 | "scope": ["meta.tag"],
406 | "settings": {
407 | "foreground": "#383A42"
408 | }
409 | },
410 | {
411 | "scope": ["underline"],
412 | "settings": {
413 | "text-decoration": "underline"
414 | }
415 | },
416 | {
417 | "scope": ["none"],
418 | "settings": {
419 | "foreground": "#383A42"
420 | }
421 | },
422 | {
423 | "scope": ["invalid.deprecated"],
424 | "settings": {
425 | "background": "#F2A60D",
426 | "foreground": "#000000"
427 | }
428 | },
429 | {
430 | "scope": ["invalid.illegal"],
431 | "settings": {
432 | "background": "#FF1414",
433 | "foreground": "white"
434 | }
435 | },
436 | {
437 | "scope": ["markup.bold"],
438 | "settings": {
439 | "fontStyle": "bold",
440 | "foreground": "#986801"
441 | }
442 | },
443 | {
444 | "scope": ["markup.changed"],
445 | "settings": {
446 | "foreground": "#A626A4"
447 | }
448 | },
449 | {
450 | "scope": ["markup.deleted"],
451 | "settings": {
452 | "foreground": "#E45649"
453 | }
454 | },
455 | {
456 | "scope": ["markup.italic"],
457 | "settings": {
458 | "fontStyle": "italic",
459 | "foreground": "#A626A4"
460 | }
461 | },
462 | {
463 | "scope": ["markup.heading"],
464 | "settings": {
465 | "foreground": "#E45649"
466 | }
467 | },
468 | {
469 | "scope": ["markup.heading punctuation.definition.heading"],
470 | "settings": {
471 | "foreground": "#4078F2"
472 | }
473 | },
474 | {
475 | "scope": ["markup.link"],
476 | "settings": {
477 | "foreground": "#0184BC"
478 | }
479 | },
480 | {
481 | "scope": ["markup.inserted"],
482 | "settings": {
483 | "foreground": "#50A14F"
484 | }
485 | },
486 | {
487 | "scope": ["markup.quote"],
488 | "settings": {
489 | "foreground": "#986801"
490 | }
491 | },
492 | {
493 | "scope": ["markup.raw"],
494 | "settings": {
495 | "foreground": "#50A14F"
496 | }
497 | },
498 | {
499 | "scope": ["source.c keyword.operator"],
500 | "settings": {
501 | "foreground": "#A626A4"
502 | }
503 | },
504 | {
505 | "scope": ["source.cpp keyword.operator"],
506 | "settings": {
507 | "foreground": "#A626A4"
508 | }
509 | },
510 | {
511 | "scope": ["source.cs keyword.operator"],
512 | "settings": {
513 | "foreground": "#A626A4"
514 | }
515 | },
516 | {
517 | "scope": ["source.css property-name", "source.css property-value"],
518 | "settings": {
519 | "foreground": "#696C77"
520 | }
521 | },
522 | {
523 | "scope": [
524 | "source.css property-name.support",
525 | "source.css property-value.support"
526 | ],
527 | "settings": {
528 | "foreground": "#383A42"
529 | }
530 | },
531 | {
532 | "scope": ["source.elixir source.embedded.source"],
533 | "settings": {
534 | "foreground": "#383A42"
535 | }
536 | },
537 | {
538 | "scope": [
539 | "source.elixir constant.language",
540 | "source.elixir constant.numeric",
541 | "source.elixir constant.definition"
542 | ],
543 | "settings": {
544 | "foreground": "#4078F2"
545 | }
546 | },
547 | {
548 | "scope": [
549 | "source.elixir variable.definition",
550 | "source.elixir variable.anonymous"
551 | ],
552 | "settings": {
553 | "foreground": "#A626A4"
554 | }
555 | },
556 | {
557 | "scope": ["source.elixir parameter.variable.function"],
558 | "settings": {
559 | "fontStyle": "italic",
560 | "foreground": "#986801"
561 | }
562 | },
563 | {
564 | "scope": ["source.elixir quoted"],
565 | "settings": {
566 | "foreground": "#50A14F"
567 | }
568 | },
569 | {
570 | "scope": [
571 | "source.elixir keyword.special-method",
572 | "source.elixir embedded.section",
573 | "source.elixir embedded.source.empty"
574 | ],
575 | "settings": {
576 | "foreground": "#E45649"
577 | }
578 | },
579 | {
580 | "scope": ["source.elixir readwrite.module punctuation"],
581 | "settings": {
582 | "foreground": "#E45649"
583 | }
584 | },
585 | {
586 | "scope": ["source.elixir regexp.section", "source.elixir regexp.string"],
587 | "settings": {
588 | "foreground": "#CA1243"
589 | }
590 | },
591 | {
592 | "scope": ["source.elixir separator", "source.elixir keyword.operator"],
593 | "settings": {
594 | "foreground": "#986801"
595 | }
596 | },
597 | {
598 | "scope": ["source.elixir variable.constant"],
599 | "settings": {
600 | "foreground": "#C18401"
601 | }
602 | },
603 | {
604 | "scope": [
605 | "source.elixir array",
606 | "source.elixir scope",
607 | "source.elixir section"
608 | ],
609 | "settings": {
610 | "foreground": "#696C77"
611 | }
612 | },
613 | {
614 | "scope": ["source.gfm markup"],
615 | "settings": {
616 | "-webkit-font-smoothing": "auto"
617 | }
618 | },
619 | {
620 | "scope": ["source.gfm link entity"],
621 | "settings": {
622 | "foreground": "#4078F2"
623 | }
624 | },
625 | {
626 | "scope": ["source.go storage.type.string"],
627 | "settings": {
628 | "foreground": "#A626A4"
629 | }
630 | },
631 | {
632 | "scope": ["source.ini keyword.other.definition.ini"],
633 | "settings": {
634 | "foreground": "#E45649"
635 | }
636 | },
637 | {
638 | "scope": ["source.java storage.modifier.import"],
639 | "settings": {
640 | "foreground": "#C18401"
641 | }
642 | },
643 | {
644 | "scope": ["source.java storage.type"],
645 | "settings": {
646 | "foreground": "#C18401"
647 | }
648 | },
649 | {
650 | "scope": ["source.java keyword.operator.instanceof"],
651 | "settings": {
652 | "foreground": "#A626A4"
653 | }
654 | },
655 | {
656 | "scope": ["source.java-properties meta.key-pair"],
657 | "settings": {
658 | "foreground": "#E45649"
659 | }
660 | },
661 | {
662 | "scope": ["source.java-properties meta.key-pair > punctuation"],
663 | "settings": {
664 | "foreground": "#383A42"
665 | }
666 | },
667 | {
668 | "scope": ["source.js keyword.operator"],
669 | "settings": {
670 | "foreground": "#0184BC"
671 | }
672 | },
673 | {
674 | "scope": [
675 | "source.js keyword.operator.delete",
676 | "source.js keyword.operator.in",
677 | "source.js keyword.operator.of",
678 | "source.js keyword.operator.instanceof",
679 | "source.js keyword.operator.new",
680 | "source.js keyword.operator.typeof",
681 | "source.js keyword.operator.void"
682 | ],
683 | "settings": {
684 | "foreground": "#A626A4"
685 | }
686 | },
687 | {
688 | "scope": ["source.ts keyword.operator"],
689 | "settings": {
690 | "foreground": "#0184BC"
691 | }
692 | },
693 | {
694 | "scope": ["source.flow keyword.operator"],
695 | "settings": {
696 | "foreground": "#0184BC"
697 | }
698 | },
699 | {
700 | "scope": [
701 | "source.json meta.structure.dictionary.json > string.quoted.json"
702 | ],
703 | "settings": {
704 | "foreground": "#E45649"
705 | }
706 | },
707 | {
708 | "scope": [
709 | "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string"
710 | ],
711 | "settings": {
712 | "foreground": "#E45649"
713 | }
714 | },
715 | {
716 | "scope": [
717 | "source.json meta.structure.dictionary.json > value.json > string.quoted.json",
718 | "source.json meta.structure.array.json > value.json > string.quoted.json",
719 | "source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation",
720 | "source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"
721 | ],
722 | "settings": {
723 | "foreground": "#50A14F"
724 | }
725 | },
726 | {
727 | "scope": [
728 | "source.json meta.structure.dictionary.json > constant.language.json",
729 | "source.json meta.structure.array.json > constant.language.json"
730 | ],
731 | "settings": {
732 | "foreground": "#0184BC"
733 | }
734 | },
735 | {
736 | "scope": ["ng.interpolation"],
737 | "settings": {
738 | "foreground": "#E45649"
739 | }
740 | },
741 | {
742 | "scope": ["ng.interpolation.begin", "ng.interpolation.end"],
743 | "settings": {
744 | "foreground": "#4078F2"
745 | }
746 | },
747 | {
748 | "scope": ["ng.interpolation function"],
749 | "settings": {
750 | "foreground": "#E45649"
751 | }
752 | },
753 | {
754 | "scope": [
755 | "ng.interpolation function.begin",
756 | "ng.interpolation function.end"
757 | ],
758 | "settings": {
759 | "foreground": "#4078F2"
760 | }
761 | },
762 | {
763 | "scope": ["ng.interpolation bool"],
764 | "settings": {
765 | "foreground": "#986801"
766 | }
767 | },
768 | {
769 | "scope": ["ng.interpolation bracket"],
770 | "settings": {
771 | "foreground": "#383A42"
772 | }
773 | },
774 | {
775 | "scope": ["ng.pipe", "ng.operator"],
776 | "settings": {
777 | "foreground": "#383A42"
778 | }
779 | },
780 | {
781 | "scope": ["ng.tag"],
782 | "settings": {
783 | "foreground": "#0184BC"
784 | }
785 | },
786 | {
787 | "scope": ["ng.attribute-with-value attribute-name"],
788 | "settings": {
789 | "foreground": "#C18401"
790 | }
791 | },
792 | {
793 | "scope": ["ng.attribute-with-value string"],
794 | "settings": {
795 | "foreground": "#A626A4"
796 | }
797 | },
798 | {
799 | "scope": [
800 | "ng.attribute-with-value string.begin",
801 | "ng.attribute-with-value string.end"
802 | ],
803 | "settings": {
804 | "foreground": "#383A42"
805 | }
806 | },
807 | {
808 | "scope": ["source.ruby constant.other.symbol > punctuation"],
809 | "settings": {
810 | "foreground": "inherit"
811 | }
812 | },
813 | {
814 | "scope": ["source.php class.bracket"],
815 | "settings": {
816 | "foreground": "#383A42"
817 | }
818 | },
819 | {
820 | "scope": ["source.python keyword.operator.logical.python"],
821 | "settings": {
822 | "foreground": "#A626A4"
823 | }
824 | },
825 | {
826 | "scope": ["source.python variable.parameter"],
827 | "settings": {
828 | "foreground": "#986801"
829 | }
830 | },
831 | {
832 | "scope": "customrule",
833 | "settings": {
834 | "foreground": "#383A42"
835 | }
836 | },
837 | {
838 | "scope": "support.type.property-name",
839 | "settings": {
840 | "foreground": "#383A42"
841 | }
842 | },
843 | {
844 | "scope": "string.quoted.double punctuation",
845 | "settings": {
846 | "foreground": "#50A14F"
847 | }
848 | },
849 | {
850 | "scope": "support.constant",
851 | "settings": {
852 | "foreground": "#986801"
853 | }
854 | },
855 | {
856 | "scope": "support.type.property-name.json",
857 | "settings": {
858 | "foreground": "#E45649"
859 | }
860 | },
861 | {
862 | "scope": "support.type.property-name.json punctuation",
863 | "settings": {
864 | "foreground": "#E45649"
865 | }
866 | },
867 | {
868 | "scope": [
869 | "punctuation.separator.key-value.ts",
870 | "punctuation.separator.key-value.js",
871 | "punctuation.separator.key-value.tsx"
872 | ],
873 | "settings": {
874 | "foreground": "#0184BC"
875 | }
876 | },
877 | {
878 | "scope": [
879 | "source.js.embedded.html keyword.operator",
880 | "source.ts.embedded.html keyword.operator"
881 | ],
882 | "settings": {
883 | "foreground": "#0184BC"
884 | }
885 | },
886 | {
887 | "scope": [
888 | "variable.other.readwrite.js",
889 | "variable.other.readwrite.ts",
890 | "variable.other.readwrite.tsx"
891 | ],
892 | "settings": {
893 | "foreground": "#383A42"
894 | }
895 | },
896 | {
897 | "scope": ["support.variable.dom.js", "support.variable.dom.ts"],
898 | "settings": {
899 | "foreground": "#E45649"
900 | }
901 | },
902 | {
903 | "scope": [
904 | "support.variable.property.dom.js",
905 | "support.variable.property.dom.ts"
906 | ],
907 | "settings": {
908 | "foreground": "#E45649"
909 | }
910 | },
911 | {
912 | "scope": [
913 | "meta.template.expression.js punctuation.definition",
914 | "meta.template.expression.ts punctuation.definition"
915 | ],
916 | "settings": {
917 | "foreground": "#CA1243"
918 | }
919 | },
920 | {
921 | "scope": [
922 | "source.ts punctuation.definition.typeparameters",
923 | "source.js punctuation.definition.typeparameters",
924 | "source.tsx punctuation.definition.typeparameters"
925 | ],
926 | "settings": {
927 | "foreground": "#383A42"
928 | }
929 | },
930 | {
931 | "scope": [
932 | "source.ts punctuation.definition.block",
933 | "source.js punctuation.definition.block",
934 | "source.tsx punctuation.definition.block"
935 | ],
936 | "settings": {
937 | "foreground": "#383A42"
938 | }
939 | },
940 | {
941 | "scope": [
942 | "source.ts punctuation.separator.comma",
943 | "source.js punctuation.separator.comma",
944 | "source.tsx punctuation.separator.comma"
945 | ],
946 | "settings": {
947 | "foreground": "#383A42"
948 | }
949 | },
950 | {
951 | "scope": [
952 | "support.variable.property.js",
953 | "support.variable.property.ts",
954 | "support.variable.property.tsx"
955 | ],
956 | "settings": {
957 | "foreground": "#E45649"
958 | }
959 | },
960 | {
961 | "scope": [
962 | "keyword.control.default.js",
963 | "keyword.control.default.ts",
964 | "keyword.control.default.tsx"
965 | ],
966 | "settings": {
967 | "foreground": "#E45649"
968 | }
969 | },
970 | {
971 | "scope": [
972 | "keyword.operator.expression.instanceof.js",
973 | "keyword.operator.expression.instanceof.ts",
974 | "keyword.operator.expression.instanceof.tsx"
975 | ],
976 | "settings": {
977 | "foreground": "#A626A4"
978 | }
979 | },
980 | {
981 | "scope": [
982 | "keyword.operator.expression.of.js",
983 | "keyword.operator.expression.of.ts",
984 | "keyword.operator.expression.of.tsx"
985 | ],
986 | "settings": {
987 | "foreground": "#A626A4"
988 | }
989 | },
990 | {
991 | "scope": [
992 | "meta.brace.round.js",
993 | "meta.array-binding-pattern-variable.js",
994 | "meta.brace.square.js",
995 | "meta.brace.round.ts",
996 | "meta.array-binding-pattern-variable.ts",
997 | "meta.brace.square.ts",
998 | "meta.brace.round.tsx",
999 | "meta.array-binding-pattern-variable.tsx",
1000 | "meta.brace.square.tsx"
1001 | ],
1002 | "settings": {
1003 | "foreground": "#383A42"
1004 | }
1005 | },
1006 | {
1007 | "scope": [
1008 | "source.js punctuation.accessor",
1009 | "source.ts punctuation.accessor",
1010 | "source.tsx punctuation.accessor"
1011 | ],
1012 | "settings": {
1013 | "foreground": "#383A42"
1014 | }
1015 | },
1016 | {
1017 | "scope": [
1018 | "punctuation.terminator.statement.js",
1019 | "punctuation.terminator.statement.ts",
1020 | "punctuation.terminator.statement.tsx"
1021 | ],
1022 | "settings": {
1023 | "foreground": "#383A42"
1024 | }
1025 | },
1026 | {
1027 | "scope": [
1028 | "meta.array-binding-pattern-variable.js variable.other.readwrite.js",
1029 | "meta.array-binding-pattern-variable.ts variable.other.readwrite.ts",
1030 | "meta.array-binding-pattern-variable.tsx variable.other.readwrite.tsx"
1031 | ],
1032 | "settings": {
1033 | "foreground": "#986801"
1034 | }
1035 | },
1036 | {
1037 | "scope": [
1038 | "source.js support.variable",
1039 | "source.ts support.variable",
1040 | "source.tsx support.variable"
1041 | ],
1042 | "settings": {
1043 | "foreground": "#E45649"
1044 | }
1045 | },
1046 | {
1047 | "scope": [
1048 | "variable.other.constant.property.js",
1049 | "variable.other.constant.property.ts",
1050 | "variable.other.constant.property.tsx"
1051 | ],
1052 | "settings": {
1053 | "foreground": "#986801"
1054 | }
1055 | },
1056 | {
1057 | "scope": [
1058 | "keyword.operator.new.ts",
1059 | "keyword.operator.new.j",
1060 | "keyword.operator.new.tsx"
1061 | ],
1062 | "settings": {
1063 | "foreground": "#A626A4"
1064 | }
1065 | },
1066 | {
1067 | "scope": ["source.ts keyword.operator", "source.tsx keyword.operator"],
1068 | "settings": {
1069 | "foreground": "#0184BC"
1070 | }
1071 | },
1072 | {
1073 | "scope": [
1074 | "punctuation.separator.parameter.js",
1075 | "punctuation.separator.parameter.ts",
1076 | "punctuation.separator.parameter.tsx "
1077 | ],
1078 | "settings": {
1079 | "foreground": "#383A42"
1080 | }
1081 | },
1082 | {
1083 | "scope": [
1084 | "constant.language.import-export-all.js",
1085 | "constant.language.import-export-all.ts"
1086 | ],
1087 | "settings": {
1088 | "foreground": "#E45649"
1089 | }
1090 | },
1091 | {
1092 | "scope": [
1093 | "constant.language.import-export-all.jsx",
1094 | "constant.language.import-export-all.tsx"
1095 | ],
1096 | "settings": {
1097 | "foreground": "#0184BC"
1098 | }
1099 | },
1100 | {
1101 | "scope": [
1102 | "keyword.control.as.js",
1103 | "keyword.control.as.ts",
1104 | "keyword.control.as.jsx",
1105 | "keyword.control.as.tsx"
1106 | ],
1107 | "settings": {
1108 | "foreground": "#383A42"
1109 | }
1110 | },
1111 | {
1112 | "scope": [
1113 | "variable.other.readwrite.alias.js",
1114 | "variable.other.readwrite.alias.ts",
1115 | "variable.other.readwrite.alias.jsx",
1116 | "variable.other.readwrite.alias.tsx"
1117 | ],
1118 | "settings": {
1119 | "foreground": "#E45649"
1120 | }
1121 | },
1122 | {
1123 | "scope": [
1124 | "variable.other.constant.js",
1125 | "variable.other.constant.ts",
1126 | "variable.other.constant.jsx",
1127 | "variable.other.constant.tsx"
1128 | ],
1129 | "settings": {
1130 | "foreground": "#986801"
1131 | }
1132 | },
1133 | {
1134 | "scope": [
1135 | "meta.export.default.js variable.other.readwrite.js",
1136 | "meta.export.default.ts variable.other.readwrite.ts"
1137 | ],
1138 | "settings": {
1139 | "foreground": "#E45649"
1140 | }
1141 | },
1142 | {
1143 | "scope": [
1144 | "source.js meta.template.expression.js punctuation.accessor",
1145 | "source.ts meta.template.expression.ts punctuation.accessor",
1146 | "source.tsx meta.template.expression.tsx punctuation.accessor"
1147 | ],
1148 | "settings": {
1149 | "foreground": "#50A14F"
1150 | }
1151 | },
1152 | {
1153 | "scope": [
1154 | "source.js meta.import-equals.external.js keyword.operator",
1155 | "source.jsx meta.import-equals.external.jsx keyword.operator",
1156 | "source.ts meta.import-equals.external.ts keyword.operator",
1157 | "source.tsx meta.import-equals.external.tsx keyword.operator"
1158 | ],
1159 | "settings": {
1160 | "foreground": "#383A42"
1161 | }
1162 | },
1163 | {
1164 | "scope": "entity.name.type.module.js,entity.name.type.module.ts,entity.name.type.module.jsx,entity.name.type.module.tsx",
1165 | "settings": {
1166 | "foreground": "#50A14F"
1167 | }
1168 | },
1169 | {
1170 | "scope": "meta.class.js,meta.class.ts,meta.class.jsx,meta.class.tsx",
1171 | "settings": {
1172 | "foreground": "#383A42"
1173 | }
1174 | },
1175 | {
1176 | "scope": [
1177 | "meta.definition.property.js variable",
1178 | "meta.definition.property.ts variable",
1179 | "meta.definition.property.jsx variable",
1180 | "meta.definition.property.tsx variable"
1181 | ],
1182 | "settings": {
1183 | "foreground": "#383A42"
1184 | }
1185 | },
1186 | {
1187 | "scope": [
1188 | "meta.type.parameters.js support.type",
1189 | "meta.type.parameters.jsx support.type",
1190 | "meta.type.parameters.ts support.type",
1191 | "meta.type.parameters.tsx support.type"
1192 | ],
1193 | "settings": {
1194 | "foreground": "#383A42"
1195 | }
1196 | },
1197 | {
1198 | "scope": [
1199 | "source.js meta.tag.js keyword.operator",
1200 | "source.jsx meta.tag.jsx keyword.operator",
1201 | "source.ts meta.tag.ts keyword.operator",
1202 | "source.tsx meta.tag.tsx keyword.operator"
1203 | ],
1204 | "settings": {
1205 | "foreground": "#383A42"
1206 | }
1207 | },
1208 | {
1209 | "scope": [
1210 | "meta.tag.js punctuation.section.embedded",
1211 | "meta.tag.jsx punctuation.section.embedded",
1212 | "meta.tag.ts punctuation.section.embedded",
1213 | "meta.tag.tsx punctuation.section.embedded"
1214 | ],
1215 | "settings": {
1216 | "foreground": "#383A42"
1217 | }
1218 | },
1219 | {
1220 | "scope": [
1221 | "meta.array.literal.js variable",
1222 | "meta.array.literal.jsx variable",
1223 | "meta.array.literal.ts variable",
1224 | "meta.array.literal.tsx variable"
1225 | ],
1226 | "settings": {
1227 | "foreground": "#C18401"
1228 | }
1229 | },
1230 | {
1231 | "scope": [
1232 | "support.type.object.module.js",
1233 | "support.type.object.module.jsx",
1234 | "support.type.object.module.ts",
1235 | "support.type.object.module.tsx"
1236 | ],
1237 | "settings": {
1238 | "foreground": "#E45649"
1239 | }
1240 | },
1241 | {
1242 | "scope": ["constant.language.json"],
1243 | "settings": {
1244 | "foreground": "#0184BC"
1245 | }
1246 | },
1247 | {
1248 | "scope": [
1249 | "variable.other.constant.object.js",
1250 | "variable.other.constant.object.jsx",
1251 | "variable.other.constant.object.ts",
1252 | "variable.other.constant.object.tsx"
1253 | ],
1254 | "settings": {
1255 | "foreground": "#986801"
1256 | }
1257 | },
1258 | {
1259 | "scope": [
1260 | "storage.type.property.js",
1261 | "storage.type.property.jsx",
1262 | "storage.type.property.ts",
1263 | "storage.type.property.tsx"
1264 | ],
1265 | "settings": {
1266 | "foreground": "#0184BC"
1267 | }
1268 | },
1269 | {
1270 | "scope": [
1271 | "meta.template.expression.js string.quoted punctuation.definition",
1272 | "meta.template.expression.jsx string.quoted punctuation.definition",
1273 | "meta.template.expression.ts string.quoted punctuation.definition",
1274 | "meta.template.expression.tsx string.quoted punctuation.definition"
1275 | ],
1276 | "settings": {
1277 | "foreground": "#50A14F"
1278 | }
1279 | },
1280 | {
1281 | "scope": [
1282 | "meta.template.expression.js string.template punctuation.definition.string.template",
1283 | "meta.template.expression.jsx string.template punctuation.definition.string.template",
1284 | "meta.template.expression.ts string.template punctuation.definition.string.template",
1285 | "meta.template.expression.tsx string.template punctuation.definition.string.template"
1286 | ],
1287 | "settings": {
1288 | "foreground": "#50A14F"
1289 | }
1290 | },
1291 | {
1292 | "scope": [
1293 | "keyword.operator.expression.in.js",
1294 | "keyword.operator.expression.in.jsx",
1295 | "keyword.operator.expression.in.ts",
1296 | "keyword.operator.expression.in.tsx"
1297 | ],
1298 | "settings": {
1299 | "foreground": "#A626A4"
1300 | }
1301 | },
1302 | {
1303 | "scope": ["variable.other.object.js", "variable.other.object.ts"],
1304 | "settings": {
1305 | "foreground": "#383A42"
1306 | }
1307 | },
1308 | {
1309 | "scope": ["meta.object-literal.key.js", "meta.object-literal.key.ts"],
1310 | "settings": {
1311 | "foreground": "#E45649"
1312 | }
1313 | },
1314 | {
1315 | "scope": "source.python constant.other",
1316 | "settings": {
1317 | "foreground": "#383A42"
1318 | }
1319 | },
1320 | {
1321 | "scope": "source.python constant",
1322 | "settings": {
1323 | "foreground": "#986801"
1324 | }
1325 | },
1326 | {
1327 | "scope": "constant.character.format.placeholder.other.python storage",
1328 | "settings": {
1329 | "foreground": "#986801"
1330 | }
1331 | },
1332 | {
1333 | "scope": "support.variable.magic.python",
1334 | "settings": {
1335 | "foreground": "#E45649"
1336 | }
1337 | },
1338 | {
1339 | "scope": "meta.function.parameters.python",
1340 | "settings": {
1341 | "foreground": "#986801"
1342 | }
1343 | },
1344 | {
1345 | "scope": "punctuation.separator.annotation.python",
1346 | "settings": {
1347 | "foreground": "#383A42"
1348 | }
1349 | },
1350 | {
1351 | "scope": "punctuation.separator.parameters.python",
1352 | "settings": {
1353 | "foreground": "#383A42"
1354 | }
1355 | },
1356 | {
1357 | "scope": "entity.name.variable.field.cs",
1358 | "settings": {
1359 | "foreground": "#E45649"
1360 | }
1361 | },
1362 | {
1363 | "scope": "source.cs keyword.operator",
1364 | "settings": {
1365 | "foreground": "#383A42"
1366 | }
1367 | },
1368 | {
1369 | "scope": "variable.other.readwrite.cs",
1370 | "settings": {
1371 | "foreground": "#383A42"
1372 | }
1373 | },
1374 | {
1375 | "scope": "variable.other.object.cs",
1376 | "settings": {
1377 | "foreground": "#383A42"
1378 | }
1379 | },
1380 | {
1381 | "scope": "variable.other.object.property.cs",
1382 | "settings": {
1383 | "foreground": "#383A42"
1384 | }
1385 | },
1386 | {
1387 | "scope": "entity.name.variable.property.cs",
1388 | "settings": {
1389 | "foreground": "#4078F2"
1390 | }
1391 | },
1392 | {
1393 | "scope": "storage.type.cs",
1394 | "settings": {
1395 | "foreground": "#C18401"
1396 | }
1397 | },
1398 | {
1399 | "scope": "keyword.other.unsafe.rust",
1400 | "settings": {
1401 | "foreground": "#A626A4"
1402 | }
1403 | },
1404 | {
1405 | "scope": "entity.name.type.rust",
1406 | "settings": {
1407 | "foreground": "#0184BC"
1408 | }
1409 | },
1410 | {
1411 | "scope": "storage.modifier.lifetime.rust",
1412 | "settings": {
1413 | "foreground": "#383A42"
1414 | }
1415 | },
1416 | {
1417 | "scope": "entity.name.lifetime.rust",
1418 | "settings": {
1419 | "foreground": "#986801"
1420 | }
1421 | },
1422 | {
1423 | "scope": "storage.type.core.rust",
1424 | "settings": {
1425 | "foreground": "#0184BC"
1426 | }
1427 | },
1428 | {
1429 | "scope": "meta.attribute.rust",
1430 | "settings": {
1431 | "foreground": "#986801"
1432 | }
1433 | },
1434 | {
1435 | "scope": "storage.class.std.rust",
1436 | "settings": {
1437 | "foreground": "#0184BC"
1438 | }
1439 | },
1440 | {
1441 | "scope": "markup.raw.block.markdown",
1442 | "settings": {
1443 | "foreground": "#383A42"
1444 | }
1445 | },
1446 | {
1447 | "scope": "punctuation.definition.variable.shell",
1448 | "settings": {
1449 | "foreground": "#E45649"
1450 | }
1451 | },
1452 | {
1453 | "scope": "support.constant.property-value.css",
1454 | "settings": {
1455 | "foreground": "#383A42"
1456 | }
1457 | },
1458 | {
1459 | "scope": "punctuation.definition.constant.css",
1460 | "settings": {
1461 | "foreground": "#986801"
1462 | }
1463 | },
1464 | {
1465 | "scope": "punctuation.separator.key-value.scss",
1466 | "settings": {
1467 | "foreground": "#E45649"
1468 | }
1469 | },
1470 | {
1471 | "scope": "punctuation.definition.constant.scss",
1472 | "settings": {
1473 | "foreground": "#986801"
1474 | }
1475 | },
1476 | {
1477 | "scope": "meta.property-list.scss punctuation.separator.key-value.scss",
1478 | "settings": {
1479 | "foreground": "#383A42"
1480 | }
1481 | },
1482 | {
1483 | "scope": "storage.type.primitive.array.java",
1484 | "settings": {
1485 | "foreground": "#C18401"
1486 | }
1487 | },
1488 | {
1489 | "scope": "entity.name.section.markdown",
1490 | "settings": {
1491 | "foreground": "#E45649"
1492 | }
1493 | },
1494 | {
1495 | "scope": "punctuation.definition.heading.markdown",
1496 | "settings": {
1497 | "foreground": "#E45649"
1498 | }
1499 | },
1500 | {
1501 | "scope": "markup.heading.setext",
1502 | "settings": {
1503 | "foreground": "#383A42"
1504 | }
1505 | },
1506 | {
1507 | "scope": "punctuation.definition.bold.markdown",
1508 | "settings": {
1509 | "foreground": "#986801"
1510 | }
1511 | },
1512 | {
1513 | "scope": "markup.inline.raw.markdown",
1514 | "settings": {
1515 | "foreground": "#50A14F"
1516 | }
1517 | },
1518 | {
1519 | "scope": "beginning.punctuation.definition.list.markdown",
1520 | "settings": {
1521 | "foreground": "#E45649"
1522 | }
1523 | },
1524 | {
1525 | "scope": "markup.quote.markdown",
1526 | "settings": {
1527 | "fontStyle": "italic",
1528 | "foreground": "#A0A1A7"
1529 | }
1530 | },
1531 | {
1532 | "scope": [
1533 | "punctuation.definition.string.begin.markdown",
1534 | "punctuation.definition.string.end.markdown",
1535 | "punctuation.definition.metadata.markdown"
1536 | ],
1537 | "settings": {
1538 | "foreground": "#383A42"
1539 | }
1540 | },
1541 | {
1542 | "scope": "punctuation.definition.metadata.markdown",
1543 | "settings": {
1544 | "foreground": "#A626A4"
1545 | }
1546 | },
1547 | {
1548 | "scope": [
1549 | "markup.underline.link.markdown",
1550 | "markup.underline.link.image.markdown"
1551 | ],
1552 | "settings": {
1553 | "foreground": "#A626A4"
1554 | }
1555 | },
1556 | {
1557 | "scope": [
1558 | "string.other.link.title.markdown",
1559 | "string.other.link.description.markdown"
1560 | ],
1561 | "settings": {
1562 | "foreground": "#4078F2"
1563 | }
1564 | },
1565 | {
1566 | "scope": "punctuation.separator.variable.ruby",
1567 | "settings": {
1568 | "foreground": "#E45649"
1569 | }
1570 | },
1571 | {
1572 | "scope": "variable.other.constant.ruby",
1573 | "settings": {
1574 | "foreground": "#986801"
1575 | }
1576 | },
1577 | {
1578 | "scope": "keyword.operator.other.ruby",
1579 | "settings": {
1580 | "foreground": "#50A14F"
1581 | }
1582 | },
1583 | {
1584 | "scope": "punctuation.definition.variable.php",
1585 | "settings": {
1586 | "foreground": "#E45649"
1587 | }
1588 | },
1589 | {
1590 | "scope": "meta.class.php",
1591 | "settings": {
1592 | "foreground": "#383A42"
1593 | }
1594 | }
1595 | ],
1596 | "type": "light"
1597 | }
1598 |
--------------------------------------------------------------------------------
/public/assets/vsc-themes/poimandres.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "activityBar.activeBorder": "#a6accd",
4 | "activityBar.background": "#1b1e28",
5 | "activityBar.dropBorder": "#a6accd",
6 | "activityBar.foreground": "#a6accd",
7 | "activityBar.inactiveForeground": "#a6accd66",
8 | "activityBarBadge.background": "#303340",
9 | "activityBarBadge.foreground": "#e4f0fb",
10 | "badge.background": "#303340",
11 | "badge.foreground": "#e4f0fb",
12 | "breadcrumb.activeSelectionForeground": "#e4f0fb",
13 | "breadcrumb.background": "#00000000",
14 | "breadcrumb.focusForeground": "#e4f0fb",
15 | "breadcrumb.foreground": "#767c9dcc",
16 | "breadcrumbPicker.background": "#1b1e28",
17 | "button.background": "#303340",
18 | "button.foreground": "#ffffff",
19 | "button.hoverBackground": "#50647750",
20 | "button.secondaryBackground": "#a6accd",
21 | "button.secondaryForeground": "#ffffff",
22 | "button.secondaryHoverBackground": "#a6accd",
23 | "charts.blue": "#ADD7FF",
24 | "charts.foreground": "#a6accd",
25 | "charts.green": "#5DE4c7",
26 | "charts.lines": "#a6accd80",
27 | "charts.orange": "#89ddff",
28 | "charts.purple": "#f087bd",
29 | "charts.red": "#d0679d",
30 | "charts.yellow": "#fffac2",
31 | "checkbox.background": "#1b1e28",
32 | "checkbox.border": "#ffffff10",
33 | "checkbox.foreground": "#e4f0fb",
34 | "debugConsole.errorForeground": "#d0679d",
35 | "debugConsole.infoForeground": "#ADD7FF",
36 | "debugConsole.sourceForeground": "#a6accd",
37 | "debugConsole.warningForeground": "#fffac2",
38 | "debugConsoleInputIcon.foreground": "#a6accd",
39 | "debugExceptionWidget.background": "#d0679d",
40 | "debugExceptionWidget.border": "#d0679d",
41 | "debugIcon.breakpointCurrentStackframeForeground": "#fffac2",
42 | "debugIcon.breakpointDisabledForeground": "#7390AA",
43 | "debugIcon.breakpointForeground": "#d0679d",
44 | "debugIcon.breakpointStackframeForeground": "#5fb3a1",
45 | "debugIcon.breakpointUnverifiedForeground": "#7390AA",
46 | "debugIcon.continueForeground": "#ADD7FF",
47 | "debugIcon.disconnectForeground": "#d0679d",
48 | "debugIcon.pauseForeground": "#ADD7FF",
49 | "debugIcon.restartForeground": "#5fb3a1",
50 | "debugIcon.startForeground": "#5fb3a1",
51 | "debugIcon.stepBackForeground": "#ADD7FF",
52 | "debugIcon.stepIntoForeground": "#ADD7FF",
53 | "debugIcon.stepOutForeground": "#ADD7FF",
54 | "debugIcon.stepOverForeground": "#ADD7FF",
55 | "debugIcon.stopForeground": "#d0679d",
56 | "debugTokenExpression.boolean": "#89ddff",
57 | "debugTokenExpression.error": "#d0679d",
58 | "debugTokenExpression.name": "#e4f0fb",
59 | "debugTokenExpression.number": "#5fb3a1",
60 | "debugTokenExpression.string": "#89ddff",
61 | "debugTokenExpression.value": "#a6accd99",
62 | "debugToolBar.background": "#303340",
63 | "debugView.exceptionLabelBackground": "#d0679d",
64 | "debugView.exceptionLabelForeground": "#e4f0fb",
65 | "debugView.stateLabelBackground": "#303340",
66 | "debugView.stateLabelForeground": "#a6accd",
67 | "debugView.valueChangedHighlight": "#89ddff",
68 | "descriptionForeground": "#a6accdb3",
69 | "diffEditor.diagonalFill": "#a6accd33",
70 | "diffEditor.insertedTextBackground": "#50647715",
71 | "diffEditor.removedTextBackground": "#d0679d20",
72 | "dropdown.background": "#1b1e28",
73 | "dropdown.border": "#ffffff10",
74 | "dropdown.foreground": "#e4f0fb",
75 | "editor.background": "#1b1e28",
76 | "editor.findMatchBackground": "#ADD7FF40",
77 | "editor.findMatchBorder": "#ADD7FF",
78 | "editor.findMatchHighlightBackground": "#ADD7FF40",
79 | "editor.findRangeHighlightBackground": "#ADD7FF40",
80 | "editor.focusedStackFrameHighlightBackground": "#7abd7a4d",
81 | "editor.foldBackground": "#717cb40b",
82 | "editor.foreground": "#a6accd",
83 | "editor.hoverHighlightBackground": "#264f7840",
84 | "editor.inactiveSelectionBackground": "#717cb425",
85 | "editor.lineHighlightBackground": "#717cb425",
86 | "editor.lineHighlightBorder": "#00000000",
87 | "editor.linkedEditingBackground": "#d0679d4d",
88 | "editor.rangeHighlightBackground": "#ffffff0b",
89 | "editor.selectionBackground": "#717cb425",
90 | "editor.selectionHighlightBackground": "#00000000",
91 | "editor.selectionHighlightBorder": "#ADD7FF80",
92 | "editor.snippetFinalTabstopHighlightBorder": "#525252",
93 | "editor.snippetTabstopHighlightBackground": "#7c7c7c4d",
94 | "editor.stackFrameHighlightBackground": "#ffff0033",
95 | "editor.symbolHighlightBackground": "#89ddff60",
96 | "editor.wordHighlightBackground": "#ADD7FF20",
97 | "editor.wordHighlightStrongBackground": "#ADD7FF40",
98 | "editorBracketMatch.background": "#00000000",
99 | "editorBracketMatch.border": "#e4f0fb40",
100 | "editorCodeLens.foreground": "#a6accd",
101 | "editorCursor.foreground": "#a6accd",
102 | "editorError.foreground": "#d0679d",
103 | "editorGroup.border": "#00000030",
104 | "editorGroup.dropBackground": "#7390AA80",
105 | "editorGroupHeader.noTabsBackground": "#1b1e28",
106 | "editorGroupHeader.tabsBackground": "#1b1e28",
107 | "editorGutter.addedBackground": "#5fb3a140",
108 | "editorGutter.background": "#1b1e28",
109 | "editorGutter.commentRangeForeground": "#a6accd",
110 | "editorGutter.deletedBackground": "#d0679d40",
111 | "editorGutter.foldingControlForeground": "#a6accd",
112 | "editorGutter.modifiedBackground": "#ADD7FF20",
113 | "editorHint.foreground": "#7390AAb3",
114 | "editorHoverWidget.background": "#1b1e28",
115 | "editorHoverWidget.border": "#ffffff10",
116 | "editorHoverWidget.foreground": "#a6accd",
117 | "editorHoverWidget.statusBarBackground": "#202430",
118 | "editorIndentGuide.activeBackground": "#e3e4e229",
119 | "editorIndentGuide.background": "#303340",
120 | "editorInfo.foreground": "#ADD7FF",
121 | "editorInlineHint.background": "#a6accd",
122 | "editorInlineHint.foreground": "#1b1e28",
123 | "editorLightBulb.foreground": "#fffac2",
124 | "editorLightBulbAutoFix.foreground": "#ADD7FF",
125 | "editorLineNumber.activeForeground": "#a6accd",
126 | "editorLineNumber.foreground": "#767c9d50",
127 | "editorLink.activeForeground": "#ADD7FF",
128 | "editorMarkerNavigation.background": "#2d2d30",
129 | "editorMarkerNavigationError.background": "#d0679d",
130 | "editorMarkerNavigationInfo.background": "#ADD7FF",
131 | "editorMarkerNavigationWarning.background": "#fffac2",
132 | "editorOverviewRuler.addedForeground": "#5fb3a199",
133 | "editorOverviewRuler.border": "#00000000",
134 | "editorOverviewRuler.bracketMatchForeground": "#a0a0a0",
135 | "editorOverviewRuler.commonContentForeground": "#a6accd66",
136 | "editorOverviewRuler.currentContentForeground": "#5fb3a180",
137 | "editorOverviewRuler.deletedForeground": "#d0679d99",
138 | "editorOverviewRuler.errorForeground": "#d0679db3",
139 | "editorOverviewRuler.findMatchForeground": "#e4f0fb20",
140 | "editorOverviewRuler.incomingContentForeground": "#89ddff80",
141 | "editorOverviewRuler.infoForeground": "#ADD7FF",
142 | "editorOverviewRuler.modifiedForeground": "#89ddff99",
143 | "editorOverviewRuler.rangeHighlightForeground": "#89ddff99",
144 | "editorOverviewRuler.selectionHighlightForeground": "#a0a0a0cc",
145 | "editorOverviewRuler.warningForeground": "#fffac2",
146 | "editorOverviewRuler.wordHighlightForeground": "#a0a0a0cc",
147 | "editorOverviewRuler.wordHighlightStrongForeground": "#89ddffcc",
148 | "editorPane.background": "#1b1e28",
149 | "editorRuler.foreground": "#e4f0fb10",
150 | "editorSuggestWidget.background": "#1b1e28",
151 | "editorSuggestWidget.border": "#ffffff10",
152 | "editorSuggestWidget.foreground": "#a6accd",
153 | "editorSuggestWidget.highlightForeground": "#5DE4c7",
154 | "editorSuggestWidget.selectedBackground": "#00000050",
155 | "editorUnnecessaryCode.opacity": "#000000aa",
156 | "editorWarning.foreground": "#fffac2",
157 | "editorWhitespace.foreground": "#303340",
158 | "editorWidget.background": "#1b1e28",
159 | "editorWidget.border": "#a6accd",
160 | "editorWidget.foreground": "#a6accd",
161 | "errorForeground": "#d0679d",
162 | "extensionBadge.remoteBackground": "#303340",
163 | "extensionBadge.remoteForeground": "#e4f0fb",
164 | "extensionButton.prominentBackground": "#30334090",
165 | "extensionButton.prominentForeground": "#ffffff",
166 | "extensionButton.prominentHoverBackground": "#303340",
167 | "extensionIcon.starForeground": "#fffac2",
168 | "focusBorder": "#00000000",
169 | "foreground": "#a6accd",
170 | "gitDecoration.addedResourceForeground": "#5fb3a1",
171 | "gitDecoration.conflictingResourceForeground": "#d0679d",
172 | "gitDecoration.deletedResourceForeground": "#d0679d",
173 | "gitDecoration.ignoredResourceForeground": "#767c9d70",
174 | "gitDecoration.modifiedResourceForeground": "#ADD7FF",
175 | "gitDecoration.renamedResourceForeground": "#5DE4c7",
176 | "gitDecoration.stageDeletedResourceForeground": "#d0679d",
177 | "gitDecoration.stageModifiedResourceForeground": "#ADD7FF",
178 | "gitDecoration.submoduleResourceForeground": "#89ddff",
179 | "gitDecoration.untrackedResourceForeground": "#5DE4c7",
180 | "icon.foreground": "#a6accd",
181 | "imagePreview.border": "#303340",
182 | "input.background": "#ffffff05",
183 | "input.border": "#ffffff10",
184 | "input.foreground": "#e4f0fb",
185 | "input.placeholderForeground": "#a6accd60",
186 | "inputOption.activeBackground": "#00000000",
187 | "inputOption.activeBorder": "#00000000",
188 | "inputOption.activeForeground": "#ffffff",
189 | "inputValidation.errorBackground": "#1b1e28",
190 | "inputValidation.errorBorder": "#d0679d",
191 | "inputValidation.errorForeground": "#d0679d",
192 | "inputValidation.infoBackground": "#506477",
193 | "inputValidation.infoBorder": "#89ddff",
194 | "inputValidation.warningBackground": "#506477",
195 | "inputValidation.warningBorder": "#fffac2",
196 | "list.activeSelectionBackground": "#30334080",
197 | "list.activeSelectionForeground": "#e4f0fb",
198 | "list.deemphasizedForeground": "#767c9d",
199 | "list.dropBackground": "#506477",
200 | "list.errorForeground": "#d0679d",
201 | "list.filterMatchBackground": "#89ddff60",
202 | "list.focusBackground": "#30334080",
203 | "list.focusForeground": "#a6accd",
204 | "list.focusOutline": "#00000000",
205 | "list.highlightForeground": "#5fb3a1",
206 | "list.hoverBackground": "#30334080",
207 | "list.hoverForeground": "#e4f0fb",
208 | "list.inactiveSelectionBackground": "#30334080",
209 | "list.inactiveSelectionForeground": "#e4f0fb",
210 | "list.invalidItemForeground": "#fffac2",
211 | "list.warningForeground": "#fffac2",
212 | "listFilterWidget.background": "#303340",
213 | "listFilterWidget.noMatchesOutline": "#d0679d",
214 | "listFilterWidget.outline": "#00000000",
215 | "menu.background": "#1b1e28",
216 | "menu.foreground": "#e4f0fb",
217 | "menu.selectionBackground": "#303340",
218 | "menu.selectionForeground": "#7390AA",
219 | "menu.separatorBackground": "#767c9d",
220 | "menubar.selectionBackground": "#717cb425",
221 | "menubar.selectionForeground": "#a6accd",
222 | "merge.commonContentBackground": "#a6accd29",
223 | "merge.commonHeaderBackground": "#a6accd66",
224 | "merge.currentContentBackground": "#5fb3a133",
225 | "merge.currentHeaderBackground": "#5fb3a180",
226 | "merge.incomingContentBackground": "#89ddff33",
227 | "merge.incomingHeaderBackground": "#89ddff80",
228 | "minimap.errorHighlight": "#d0679d",
229 | "minimap.findMatchHighlight": "#ADD7FF",
230 | "minimap.selectionHighlight": "#e4f0fb40",
231 | "minimap.warningHighlight": "#fffac2",
232 | "minimapGutter.addedBackground": "#5fb3a180",
233 | "minimapGutter.deletedBackground": "#d0679d80",
234 | "minimapGutter.modifiedBackground": "#ADD7FF80",
235 | "minimapSlider.activeBackground": "#a6accd30",
236 | "minimapSlider.background": "#a6accd20",
237 | "minimapSlider.hoverBackground": "#a6accd30",
238 | "notebook.cellBorderColor": "#1b1e28",
239 | "notebook.cellInsertionIndicator": "#00000000",
240 | "notebook.cellStatusBarItemHoverBackground": "#ffffff26",
241 | "notebook.cellToolbarSeparator": "#303340",
242 | "notebook.focusedCellBorder": "#00000000",
243 | "notebook.focusedEditorBorder": "#00000000",
244 | "notebook.focusedRowBorder": "#00000000",
245 | "notebook.inactiveFocusedCellBorder": "#00000000",
246 | "notebook.outputContainerBackgroundColor": "#1b1e28",
247 | "notebook.rowHoverBackground": "#30334000",
248 | "notebook.selectedCellBackground": "#303340",
249 | "notebook.selectedCellBorder": "#1b1e28",
250 | "notebook.symbolHighlightBackground": "#ffffff0b",
251 | "notebookScrollbarSlider.activeBackground": "#a6accd25",
252 | "notebookScrollbarSlider.background": "#00000050",
253 | "notebookScrollbarSlider.hoverBackground": "#a6accd25",
254 | "notebookStatusErrorIcon.foreground": "#d0679d",
255 | "notebookStatusRunningIcon.foreground": "#a6accd",
256 | "notebookStatusSuccessIcon.foreground": "#5fb3a1",
257 | "notificationCenterHeader.background": "#303340",
258 | "notificationLink.foreground": "#ADD7FF",
259 | "notifications.background": "#1b1e28",
260 | "notifications.border": "#303340",
261 | "notifications.foreground": "#e4f0fb",
262 | "notificationsErrorIcon.foreground": "#d0679d",
263 | "notificationsInfoIcon.foreground": "#ADD7FF",
264 | "notificationsWarningIcon.foreground": "#fffac2",
265 | "panel.background": "#1b1e28",
266 | "panel.border": "#00000030",
267 | "panel.dropBorder": "#a6accd",
268 | "panelSection.border": "#1b1e28",
269 | "panelSection.dropBackground": "#7390AA80",
270 | "panelSectionHeader.background": "#303340",
271 | "panelTitle.activeBorder": "#a6accd",
272 | "panelTitle.activeForeground": "#a6accd",
273 | "panelTitle.inactiveForeground": "#a6accd99",
274 | "peekView.border": "#00000030",
275 | "peekViewEditor.background": "#a6accd05",
276 | "peekViewEditor.matchHighlightBackground": "#303340",
277 | "peekViewEditorGutter.background": "#a6accd05",
278 | "peekViewResult.background": "#a6accd05",
279 | "peekViewResult.fileForeground": "#ffffff",
280 | "peekViewResult.lineForeground": "#a6accd",
281 | "peekViewResult.matchHighlightBackground": "#303340",
282 | "peekViewResult.selectionBackground": "#717cb425",
283 | "peekViewResult.selectionForeground": "#ffffff",
284 | "peekViewTitle.background": "#a6accd05",
285 | "peekViewTitleDescription.foreground": "#a6accd60",
286 | "peekViewTitleLabel.foreground": "#ffffff",
287 | "pickerGroup.border": "#a6accd",
288 | "pickerGroup.foreground": "#89ddff",
289 | "problemsErrorIcon.foreground": "#d0679d",
290 | "problemsInfoIcon.foreground": "#ADD7FF",
291 | "problemsWarningIcon.foreground": "#fffac2",
292 | "progressBar.background": "#89ddff",
293 | "quickInput.background": "#1b1e28",
294 | "quickInput.foreground": "#a6accd",
295 | "quickInputList.focusBackground": "#a6accd10",
296 | "quickInputTitle.background": "#ffffff1b",
297 | "sash.hoverBorder": "#00000000",
298 | "scm.providerBorder": "#e4f0fb10",
299 | "scrollbar.shadow": "#00000000",
300 | "scrollbarSlider.activeBackground": "#a6accd25",
301 | "scrollbarSlider.background": "#00000080",
302 | "scrollbarSlider.hoverBackground": "#a6accd25",
303 | "searchEditor.findMatchBackground": "#ADD7FF50",
304 | "searchEditor.textInputBorder": "#ffffff10",
305 | "selection.background": "#a6accd",
306 | "settings.checkboxBackground": "#1b1e28",
307 | "settings.checkboxBorder": "#ffffff10",
308 | "settings.checkboxForeground": "#e4f0fb",
309 | "settings.dropdownBackground": "#1b1e28",
310 | "settings.dropdownBorder": "#ffffff10",
311 | "settings.dropdownForeground": "#e4f0fb",
312 | "settings.dropdownListBorder": "#e4f0fb10",
313 | "settings.focusedRowBackground": "#00000000",
314 | "settings.headerForeground": "#e4f0fb",
315 | "settings.modifiedItemIndicator": "#ADD7FF",
316 | "settings.numberInputBackground": "#ffffff05",
317 | "settings.numberInputBorder": "#ffffff10",
318 | "settings.numberInputForeground": "#e4f0fb",
319 | "settings.textInputBackground": "#ffffff05",
320 | "settings.textInputBorder": "#ffffff10",
321 | "settings.textInputForeground": "#e4f0fb",
322 | "sideBar.background": "#1b1e28",
323 | "sideBar.dropBackground": "#7390AA80",
324 | "sideBar.foreground": "#767c9d",
325 | "sideBarSectionHeader.background": "#1b1e28",
326 | "sideBarSectionHeader.foreground": "#a6accd",
327 | "sideBarTitle.foreground": "#a6accd",
328 | "statusBar.background": "#1b1e28",
329 | "statusBar.debuggingBackground": "#303340",
330 | "statusBar.debuggingForeground": "#ffffff",
331 | "statusBar.foreground": "#a6accd",
332 | "statusBar.noFolderBackground": "#1b1e28",
333 | "statusBar.noFolderForeground": "#a6accd",
334 | "statusBarItem.activeBackground": "#ffffff2e",
335 | "statusBarItem.errorBackground": "#d0679d",
336 | "statusBarItem.errorForeground": "#ffffff",
337 | "statusBarItem.hoverBackground": "#ffffff1f",
338 | "statusBarItem.prominentBackground": "#00000080",
339 | "statusBarItem.prominentForeground": "#a6accd",
340 | "statusBarItem.prominentHoverBackground": "#0000004d",
341 | "statusBarItem.remoteBackground": "#303340",
342 | "statusBarItem.remoteForeground": "#e4f0fb",
343 | "symbolIcon.arrayForeground": "#a6accd",
344 | "symbolIcon.booleanForeground": "#a6accd",
345 | "symbolIcon.classForeground": "#fffac2",
346 | "symbolIcon.colorForeground": "#a6accd",
347 | "symbolIcon.constantForeground": "#a6accd",
348 | "symbolIcon.constructorForeground": "#f087bd",
349 | "symbolIcon.enumeratorForeground": "#fffac2",
350 | "symbolIcon.enumeratorMemberForeground": "#ADD7FF",
351 | "symbolIcon.eventForeground": "#fffac2",
352 | "symbolIcon.fieldForeground": "#ADD7FF",
353 | "symbolIcon.fileForeground": "#a6accd",
354 | "symbolIcon.folderForeground": "#a6accd",
355 | "symbolIcon.functionForeground": "#f087bd",
356 | "symbolIcon.interfaceForeground": "#ADD7FF",
357 | "symbolIcon.keyForeground": "#a6accd",
358 | "symbolIcon.keywordForeground": "#a6accd",
359 | "symbolIcon.methodForeground": "#f087bd",
360 | "symbolIcon.moduleForeground": "#a6accd",
361 | "symbolIcon.namespaceForeground": "#a6accd",
362 | "symbolIcon.nullForeground": "#a6accd",
363 | "symbolIcon.numberForeground": "#a6accd",
364 | "symbolIcon.objectForeground": "#a6accd",
365 | "symbolIcon.operatorForeground": "#a6accd",
366 | "symbolIcon.packageForeground": "#a6accd",
367 | "symbolIcon.propertyForeground": "#a6accd",
368 | "symbolIcon.referenceForeground": "#a6accd",
369 | "symbolIcon.snippetForeground": "#a6accd",
370 | "symbolIcon.stringForeground": "#a6accd",
371 | "symbolIcon.structForeground": "#a6accd",
372 | "symbolIcon.textForeground": "#a6accd",
373 | "symbolIcon.typeParameterForeground": "#a6accd",
374 | "symbolIcon.unitForeground": "#a6accd",
375 | "symbolIcon.variableForeground": "#ADD7FF",
376 | "tab.activeBackground": "#30334080",
377 | "tab.activeForeground": "#e4f0fb",
378 | "tab.activeModifiedBorder": "#ADD7FF",
379 | "tab.border": "#00000000",
380 | "tab.inactiveBackground": "#1b1e28",
381 | "tab.inactiveForeground": "#767c9d",
382 | "tab.inactiveModifiedBorder": "#ADD7FF80",
383 | "tab.lastPinnedBorder": "#00000000",
384 | "tab.unfocusedActiveBackground": "#1b1e28",
385 | "tab.unfocusedActiveForeground": "#a6accd",
386 | "tab.unfocusedActiveModifiedBorder": "#ADD7FF40",
387 | "tab.unfocusedInactiveBackground": "#1b1e28",
388 | "tab.unfocusedInactiveForeground": "#a6accd80",
389 | "tab.unfocusedInactiveModifiedBorder": "#ADD7FF40",
390 | "terminal.ansiBlack": "#1b1e28",
391 | "terminal.ansiBlue": "#89ddff",
392 | "terminal.ansiBrightBlack": "#a6accd",
393 | "terminal.ansiBrightBlue": "#ADD7FF",
394 | "terminal.ansiBrightCyan": "#ADD7FF",
395 | "terminal.ansiBrightGreen": "#5DE4c7",
396 | "terminal.ansiBrightMagenta": "#f087bd",
397 | "terminal.ansiBrightRed": "#d0679d",
398 | "terminal.ansiBrightWhite": "#ffffff",
399 | "terminal.ansiBrightYellow": "#fffac2",
400 | "terminal.ansiCyan": "#89ddff",
401 | "terminal.ansiGreen": "#5DE4c7",
402 | "terminal.ansiMagenta": "#f087bd",
403 | "terminal.ansiRed": "#d0679d",
404 | "terminal.ansiWhite": "#ffffff",
405 | "terminal.ansiYellow": "#fffac2",
406 | "terminal.border": "#00000000",
407 | "terminal.foreground": "#a6accd",
408 | "terminal.selectionBackground": "#717cb425",
409 | "terminalCommandDecoration.defaultBackground": "#767c9d",
410 | "terminalCommandDecoration.errorBackground": "#d0679d",
411 | "terminalCommandDecoration.successBackground": "#5DE4c7",
412 | "testing.iconErrored": "#d0679d",
413 | "testing.iconFailed": "#d0679d",
414 | "testing.iconPassed": "#5DE4c7",
415 | "testing.iconQueued": "#fffac2",
416 | "testing.iconSkipped": "#7390AA",
417 | "testing.iconUnset": "#7390AA",
418 | "testing.message.error.decorationForeground": "#d0679d",
419 | "testing.message.error.lineBackground": "#d0679d33",
420 | "testing.message.hint.decorationForeground": "#7390AAb3",
421 | "testing.message.info.decorationForeground": "#ADD7FF",
422 | "testing.message.info.lineBackground": "#89ddff33",
423 | "testing.message.warning.decorationForeground": "#fffac2",
424 | "testing.message.warning.lineBackground": "#fffac233",
425 | "testing.peekBorder": "#d0679d",
426 | "testing.runAction": "#5DE4c7",
427 | "textBlockQuote.background": "#7390AA1a",
428 | "textBlockQuote.border": "#89ddff80",
429 | "textCodeBlock.background": "#00000050",
430 | "textLink.activeForeground": "#ADD7FF",
431 | "textLink.foreground": "#ADD7FF",
432 | "textPreformat.foreground": "#e4f0fb",
433 | "textSeparator.foreground": "#ffffff2e",
434 | "titleBar.activeBackground": "#1b1e28",
435 | "titleBar.activeForeground": "#a6accd",
436 | "titleBar.inactiveBackground": "#1b1e28",
437 | "titleBar.inactiveForeground": "#767c9d",
438 | "tree.indentGuidesStroke": "#303340",
439 | "tree.tableColumnsBorder": "#a6accd20",
440 | "welcomePage.progress.background": "#ffffff05",
441 | "welcomePage.progress.foreground": "#5fb3a1",
442 | "welcomePage.tileBackground": "#1b1e28",
443 | "welcomePage.tileHoverBackground": "#303340",
444 | "widget.shadow": "#00000030"
445 | },
446 | "displayName": "Poimandres",
447 | "name": "poimandres",
448 | "tokenColors": [
449 | {
450 | "scope": ["comment", "punctuation.definition.comment"],
451 | "settings": {
452 | "fontStyle": "italic",
453 | "foreground": "#767c9dB0"
454 | }
455 | },
456 | {
457 | "scope": "meta.parameters comment.block",
458 | "settings": {
459 | "fontStyle": "italic",
460 | "foreground": "#a6accd"
461 | }
462 | },
463 | {
464 | "scope": [
465 | "variable.other.constant.object",
466 | "variable.other.readwrite.alias",
467 | "meta.import variable.other.readwrite"
468 | ],
469 | "settings": {
470 | "foreground": "#ADD7FF"
471 | }
472 | },
473 | {
474 | "scope": ["variable.other", "support.type.object"],
475 | "settings": {
476 | "foreground": "#e4f0fb"
477 | }
478 | },
479 | {
480 | "scope": [
481 | "variable.other.object.property",
482 | "variable.other.property",
483 | "support.variable.property"
484 | ],
485 | "settings": {
486 | "foreground": "#e4f0fb"
487 | }
488 | },
489 | {
490 | "scope": [
491 | "entity.name.function.method",
492 | "string.unquoted",
493 | "meta.object.member"
494 | ],
495 | "settings": {
496 | "foreground": "#ADD7FF"
497 | }
498 | },
499 | {
500 | "scope": [
501 | "variable - meta.import",
502 | "constant.other.placeholder",
503 | "meta.object-literal.key-meta.object.member"
504 | ],
505 | "settings": {
506 | "foreground": "#e4f0fb"
507 | }
508 | },
509 | {
510 | "scope": ["keyword.control.flow"],
511 | "settings": {
512 | "foreground": "#5DE4c7c0"
513 | }
514 | },
515 | {
516 | "scope": ["keyword.operator.new", "keyword.control.new"],
517 | "settings": {
518 | "foreground": "#5DE4c7"
519 | }
520 | },
521 | {
522 | "scope": [
523 | "variable.language.this",
524 | "storage.modifier.async",
525 | "storage.modifier",
526 | "variable.language.super"
527 | ],
528 | "settings": {
529 | "foreground": "#5DE4c7"
530 | }
531 | },
532 | {
533 | "scope": [
534 | "support.class.error",
535 | "keyword.control.trycatch",
536 | "keyword.operator.expression.delete",
537 | "keyword.operator.expression.void",
538 | "keyword.operator.void",
539 | "keyword.operator.delete",
540 | "constant.language.null",
541 | "constant.language.boolean.false",
542 | "constant.language.undefined"
543 | ],
544 | "settings": {
545 | "foreground": "#d0679d"
546 | }
547 | },
548 | {
549 | "scope": [
550 | "variable.parameter",
551 | "variable.other.readwrite.js",
552 | "meta.definition.variable variable.other.constant",
553 | "meta.definition.variable variable.other.readwrite"
554 | ],
555 | "settings": {
556 | "foreground": "#e4f0fb"
557 | }
558 | },
559 | {
560 | "scope": ["constant.other.color"],
561 | "settings": {
562 | "foreground": "#ffffff"
563 | }
564 | },
565 | {
566 | "scope": ["invalid", "invalid.illegal"],
567 | "settings": {
568 | "foreground": "#d0679d"
569 | }
570 | },
571 | {
572 | "scope": ["invalid.deprecated"],
573 | "settings": {
574 | "foreground": "#d0679d"
575 | }
576 | },
577 | {
578 | "scope": ["keyword.control", "keyword"],
579 | "settings": {
580 | "foreground": "#a6accd"
581 | }
582 | },
583 | {
584 | "scope": ["keyword.operator", "storage.type"],
585 | "settings": {
586 | "foreground": "#91B4D5"
587 | }
588 | },
589 | {
590 | "scope": [
591 | "keyword.control.module",
592 | "keyword.control.import",
593 | "keyword.control.export",
594 | "keyword.control.default",
595 | "meta.import",
596 | "meta.export"
597 | ],
598 | "settings": {
599 | "foreground": "#5DE4c7"
600 | }
601 | },
602 | {
603 | "scope": ["Keyword", "Storage"],
604 | "settings": {
605 | "fontStyle": "italic"
606 | }
607 | },
608 | {
609 | "scope": ["keyword-meta.export"],
610 | "settings": {
611 | "foreground": "#ADD7FF"
612 | }
613 | },
614 | {
615 | "scope": ["meta.brace", "punctuation", "keyword.operator.existential"],
616 | "settings": {
617 | "foreground": "#a6accd"
618 | }
619 | },
620 | {
621 | "scope": [
622 | "constant.other.color",
623 | "meta.tag",
624 | "punctuation.definition.tag",
625 | "punctuation.separator.inheritance.php",
626 | "punctuation.definition.tag.html",
627 | "punctuation.definition.tag.begin.html",
628 | "punctuation.definition.tag.end.html",
629 | "punctuation.section.embedded",
630 | "keyword.other.template",
631 | "keyword.other.substitution",
632 | "meta.objectliteral"
633 | ],
634 | "settings": {
635 | "foreground": "#e4f0fb"
636 | }
637 | },
638 | {
639 | "scope": ["support.class.component"],
640 | "settings": {
641 | "foreground": "#5DE4c7"
642 | }
643 | },
644 | {
645 | "scope": [
646 | "entity.name.tag",
647 | "entity.name.tag",
648 | "meta.tag.sgml",
649 | "markup.deleted.git_gutter"
650 | ],
651 | "settings": {
652 | "foreground": "#5DE4c7"
653 | }
654 | },
655 | {
656 | "scope": "variable.function, source meta.function-call entity.name.function, source meta.function-call entity.name.function, source meta.method-call entity.name.function, meta.class meta.group.braces.curly meta.function-call variable.function, meta.class meta.field.declaration meta.function-call entity.name.function, variable.function.constructor, meta.block meta.var.expr meta.function-call entity.name.function, support.function.console, meta.function-call support.function, meta.property.class variable.other.class, punctuation.definition.entity.css",
657 | "settings": {
658 | "foreground": "#e4f0fbd0"
659 | }
660 | },
661 | {
662 | "scope": "entity.name.function, meta.class entity.name.class, meta.class entity.name.type.class, meta.class meta.function-call variable.function, keyword.other.important",
663 | "settings": {
664 | "foreground": "#ADD7FF"
665 | }
666 | },
667 | {
668 | "scope": ["source.cpp meta.block variable.other"],
669 | "settings": {
670 | "foreground": "#ADD7FF"
671 | }
672 | },
673 | {
674 | "scope": ["support.other.variable", "string.other.link"],
675 | "settings": {
676 | "foreground": "#5DE4c7"
677 | }
678 | },
679 | {
680 | "scope": [
681 | "constant.numeric",
682 | "support.constant",
683 | "constant.character",
684 | "constant.escape",
685 | "keyword.other.unit",
686 | "keyword.other",
687 | "string",
688 | "constant.language",
689 | "constant.other.symbol",
690 | "constant.other.key",
691 | "markup.heading",
692 | "markup.inserted.git_gutter",
693 | "meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js",
694 | "text.html.derivative"
695 | ],
696 | "settings": {
697 | "foreground": "#5DE4c7"
698 | }
699 | },
700 | {
701 | "scope": ["entity.other.inherited-class"],
702 | "settings": {
703 | "foreground": "#ADD7FF"
704 | }
705 | },
706 | {
707 | "scope": ["meta.type.declaration"],
708 | "settings": {
709 | "foreground": "#ADD7FF"
710 | }
711 | },
712 | {
713 | "scope": ["entity.name.type.alias"],
714 | "settings": {
715 | "foreground": "#a6accd"
716 | }
717 | },
718 | {
719 | "scope": ["keyword.control.as", "entity.name.type", "support.type"],
720 | "settings": {
721 | "foreground": "#a6accdC0"
722 | }
723 | },
724 | {
725 | "scope": [
726 | "entity.name",
727 | "support.orther.namespace.use.php",
728 | "meta.use.php",
729 | "support.other.namespace.php",
730 | "markup.changed.git_gutter",
731 | "support.type.sys-types"
732 | ],
733 | "settings": {
734 | "foreground": "#91B4D5"
735 | }
736 | },
737 | {
738 | "scope": [
739 | "support.class",
740 | "support.constant",
741 | "variable.other.constant.object"
742 | ],
743 | "settings": {
744 | "foreground": "#ADD7FF"
745 | }
746 | },
747 | {
748 | "scope": [
749 | "source.css support.type.property-name",
750 | "source.sass support.type.property-name",
751 | "source.scss support.type.property-name",
752 | "source.less support.type.property-name",
753 | "source.stylus support.type.property-name",
754 | "source.postcss support.type.property-name"
755 | ],
756 | "settings": {
757 | "foreground": "#ADD7FF"
758 | }
759 | },
760 | {
761 | "scope": [
762 | "entity.name.module.js",
763 | "variable.import.parameter.js",
764 | "variable.other.class.js"
765 | ],
766 | "settings": {
767 | "foreground": "#e4f0fb"
768 | }
769 | },
770 | {
771 | "scope": ["variable.language"],
772 | "settings": {
773 | "fontStyle": "italic",
774 | "foreground": "#ADD7FF"
775 | }
776 | },
777 | {
778 | "scope": ["entity.name.method.js"],
779 | "settings": {
780 | "fontStyle": "italic",
781 | "foreground": "#91B4D5"
782 | }
783 | },
784 | {
785 | "scope": [
786 | "meta.class-method.js entity.name.function.js",
787 | "variable.function.constructor"
788 | ],
789 | "settings": {
790 | "foreground": "#91B4D5"
791 | }
792 | },
793 | {
794 | "scope": ["entity.other.attribute-name"],
795 | "settings": {
796 | "fontStyle": "italic",
797 | "foreground": "#91B4D5"
798 | }
799 | },
800 | {
801 | "scope": [
802 | "text.html.basic entity.other.attribute-name.html",
803 | "text.html.basic entity.other.attribute-name"
804 | ],
805 | "settings": {
806 | "fontStyle": "italic",
807 | "foreground": "#5fb3a1"
808 | }
809 | },
810 | {
811 | "scope": ["entity.other.attribute-name.class"],
812 | "settings": {
813 | "foreground": "#5fb3a1"
814 | }
815 | },
816 | {
817 | "scope": ["source.sass keyword.control"],
818 | "settings": {
819 | "foreground": "#42675A"
820 | }
821 | },
822 | {
823 | "scope": ["markup.inserted"],
824 | "settings": {
825 | "foreground": "#ADD7FF"
826 | }
827 | },
828 | {
829 | "scope": ["markup.deleted"],
830 | "settings": {
831 | "foreground": "#506477"
832 | }
833 | },
834 | {
835 | "scope": ["markup.changed"],
836 | "settings": {
837 | "foreground": "#91B4D5"
838 | }
839 | },
840 | {
841 | "scope": ["string.regexp"],
842 | "settings": {
843 | "foreground": "#5fb3a1"
844 | }
845 | },
846 | {
847 | "scope": ["constant.character.escape"],
848 | "settings": {
849 | "foreground": "#5fb3a1"
850 | }
851 | },
852 | {
853 | "scope": ["*url*", "*link*", "*uri*"],
854 | "settings": {
855 | "fontStyle": "underline",
856 | "foreground": "#ADD7FF"
857 | }
858 | },
859 | {
860 | "scope": [
861 | "tag.decorator.js entity.name.tag.js",
862 | "tag.decorator.js punctuation.definition.tag.js"
863 | ],
864 | "settings": {
865 | "fontStyle": "italic",
866 | "foreground": "#42675A"
867 | }
868 | },
869 | {
870 | "scope": [
871 | "source.js constant.other.object.key.js string.unquoted.label.js"
872 | ],
873 | "settings": {
874 | "fontStyle": "italic",
875 | "foreground": "#5fb3a1"
876 | }
877 | },
878 | {
879 | "scope": [
880 | "source.json meta.structure.dictionary.json support.type.property-name.json"
881 | ],
882 | "settings": {
883 | "foreground": "#e4f0fb"
884 | }
885 | },
886 | {
887 | "scope": [
888 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
889 | ],
890 | "settings": {
891 | "foreground": "#ADD7FF"
892 | }
893 | },
894 | {
895 | "scope": [
896 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
897 | ],
898 | "settings": {
899 | "foreground": "#91B4D5"
900 | }
901 | },
902 | {
903 | "scope": [
904 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
905 | ],
906 | "settings": {
907 | "foreground": "#7390AA"
908 | }
909 | },
910 | {
911 | "scope": [
912 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
913 | ],
914 | "settings": {
915 | "foreground": "#e4f0fb"
916 | }
917 | },
918 | {
919 | "scope": [
920 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
921 | ],
922 | "settings": {
923 | "foreground": "#ADD7FF"
924 | }
925 | },
926 | {
927 | "scope": [
928 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
929 | ],
930 | "settings": {
931 | "foreground": "#91B4D5"
932 | }
933 | },
934 | {
935 | "scope": [
936 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
937 | ],
938 | "settings": {
939 | "foreground": "#7390AA"
940 | }
941 | },
942 | {
943 | "scope": [
944 | "source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"
945 | ],
946 | "settings": {
947 | "foreground": "#e4f0fb"
948 | }
949 | },
950 | {
951 | "scope": [
952 | "text.html.markdown",
953 | "punctuation.definition.list_item.markdown"
954 | ],
955 | "settings": {
956 | "foreground": "#e4f0fb"
957 | }
958 | },
959 | {
960 | "scope": ["text.html.markdown markup.inline.raw.markdown"],
961 | "settings": {
962 | "foreground": "#ADD7FF"
963 | }
964 | },
965 | {
966 | "scope": [
967 | "text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"
968 | ],
969 | "settings": {
970 | "foreground": "#91B4D5"
971 | }
972 | },
973 | {
974 | "scope": [
975 | "markdown.heading",
976 | "markup.heading | markup.heading entity.name",
977 | "markup.heading.markdown punctuation.definition.heading.markdown"
978 | ],
979 | "settings": {
980 | "foreground": "#e4f0fb"
981 | }
982 | },
983 | {
984 | "scope": ["markup.italic"],
985 | "settings": {
986 | "fontStyle": "italic",
987 | "foreground": "#7390AA"
988 | }
989 | },
990 | {
991 | "scope": ["markup.bold", "markup.bold string"],
992 | "settings": {
993 | "fontStyle": "bold",
994 | "foreground": "#7390AA"
995 | }
996 | },
997 | {
998 | "scope": [
999 | "markup.bold markup.italic",
1000 | "markup.italic markup.bold",
1001 | "markup.quote markup.bold",
1002 | "markup.bold markup.italic string",
1003 | "markup.italic markup.bold string",
1004 | "markup.quote markup.bold string"
1005 | ],
1006 | "settings": {
1007 | "fontStyle": "bold",
1008 | "foreground": "#7390AA"
1009 | }
1010 | },
1011 | {
1012 | "scope": ["markup.underline"],
1013 | "settings": {
1014 | "fontStyle": "underline",
1015 | "foreground": "#7390AA"
1016 | }
1017 | },
1018 | {
1019 | "scope": ["markup.strike"],
1020 | "settings": {
1021 | "fontStyle": "italic"
1022 | }
1023 | },
1024 | {
1025 | "scope": ["markup.quote punctuation.definition.blockquote.markdown"],
1026 | "settings": {
1027 | "foreground": "#5DE4c7"
1028 | }
1029 | },
1030 | {
1031 | "scope": ["markup.quote"],
1032 | "settings": {
1033 | "fontStyle": "italic"
1034 | }
1035 | },
1036 | {
1037 | "scope": ["string.other.link.title.markdown"],
1038 | "settings": {
1039 | "foreground": "#ADD7FF"
1040 | }
1041 | },
1042 | {
1043 | "scope": ["string.other.link.description.title.markdown"],
1044 | "settings": {
1045 | "foreground": "#ADD7FF"
1046 | }
1047 | },
1048 | {
1049 | "scope": ["constant.other.reference.link.markdown"],
1050 | "settings": {
1051 | "foreground": "#ADD7FF"
1052 | }
1053 | },
1054 | {
1055 | "scope": ["markup.raw.block"],
1056 | "settings": {
1057 | "foreground": "#ADD7FF"
1058 | }
1059 | },
1060 | {
1061 | "scope": ["markup.raw.block.fenced.markdown"],
1062 | "settings": {
1063 | "foreground": "#50647750"
1064 | }
1065 | },
1066 | {
1067 | "scope": ["punctuation.definition.fenced.markdown"],
1068 | "settings": {
1069 | "foreground": "#50647750"
1070 | }
1071 | },
1072 | {
1073 | "scope": [
1074 | "markup.raw.block.fenced.markdown",
1075 | "variable.language.fenced.markdown",
1076 | "punctuation.section.class.end"
1077 | ],
1078 | "settings": {
1079 | "foreground": "#91B4D5"
1080 | }
1081 | },
1082 | {
1083 | "scope": ["variable.language.fenced.markdown"],
1084 | "settings": {
1085 | "foreground": "#91B4D5"
1086 | }
1087 | },
1088 | {
1089 | "scope": ["meta.separator"],
1090 | "settings": {
1091 | "fontStyle": "bold",
1092 | "foreground": "#7390AA"
1093 | }
1094 | },
1095 | {
1096 | "scope": ["markup.table"],
1097 | "settings": {
1098 | "foreground": "#ADD7FF"
1099 | }
1100 | },
1101 | {
1102 | "scope": "token.info-token",
1103 | "settings": {
1104 | "foreground": "#89ddff"
1105 | }
1106 | },
1107 | {
1108 | "scope": "token.warn-token",
1109 | "settings": {
1110 | "foreground": "#fffac2"
1111 | }
1112 | },
1113 | {
1114 | "scope": "token.error-token",
1115 | "settings": {
1116 | "foreground": "#d0679d"
1117 | }
1118 | },
1119 | {
1120 | "scope": "token.debug-token",
1121 | "settings": {
1122 | "foreground": "#e4f0fb"
1123 | }
1124 | },
1125 | {
1126 | "scope": [
1127 | "entity.name.section.markdown",
1128 | "markup.heading.setext.1.markdown",
1129 | "markup.heading.setext.2.markdown"
1130 | ],
1131 | "settings": {
1132 | "fontStyle": "bold",
1133 | "foreground": "#e4f0fb"
1134 | }
1135 | },
1136 | {
1137 | "scope": "meta.paragraph.markdown",
1138 | "settings": {
1139 | "foreground": "#e4f0fbd0"
1140 | }
1141 | },
1142 | {
1143 | "scope": [
1144 | "punctuation.definition.from-file.diff",
1145 | "meta.diff.header.from-file"
1146 | ],
1147 | "settings": {
1148 | "foreground": "#506477"
1149 | }
1150 | },
1151 | {
1152 | "scope": "markup.inline.raw.string.markdown",
1153 | "settings": {
1154 | "foreground": "#7390AA"
1155 | }
1156 | },
1157 | {
1158 | "scope": "meta.separator.markdown",
1159 | "settings": {
1160 | "foreground": "#767c9d"
1161 | }
1162 | },
1163 | {
1164 | "scope": "markup.bold.markdown",
1165 | "settings": {
1166 | "fontStyle": "bold"
1167 | }
1168 | },
1169 | {
1170 | "scope": "markup.italic.markdown",
1171 | "settings": {
1172 | "fontStyle": "italic"
1173 | }
1174 | },
1175 | {
1176 | "scope": [
1177 | "beginning.punctuation.definition.list.markdown",
1178 | "punctuation.definition.list.begin.markdown",
1179 | "markup.list.unnumbered.markdown"
1180 | ],
1181 | "settings": {
1182 | "foreground": "#ADD7FF"
1183 | }
1184 | },
1185 | {
1186 | "scope": [
1187 | "string.other.link.description.title.markdown punctuation.definition.string.markdown",
1188 | "meta.link.inline.markdown string.other.link.description.title.markdown",
1189 | "string.other.link.description.title.markdown punctuation.definition.string.begin.markdown",
1190 | "string.other.link.description.title.markdown punctuation.definition.string.end.markdown",
1191 | "meta.image.inline.markdown string.other.link.description.title.markdown"
1192 | ],
1193 | "settings": {
1194 | "fontStyle": "",
1195 | "foreground": "#ADD7FF"
1196 | }
1197 | },
1198 | {
1199 | "scope": [
1200 | "meta.link.inline.markdown string.other.link.title.markdown",
1201 | "meta.link.reference.markdown string.other.link.title.markdown",
1202 | "meta.link.reference.def.markdown markup.underline.link.markdown"
1203 | ],
1204 | "settings": {
1205 | "fontStyle": "underline",
1206 | "foreground": "#ADD7FF"
1207 | }
1208 | },
1209 | {
1210 | "scope": [
1211 | "markup.underline.link.markdown",
1212 | "string.other.link.description.title.markdown"
1213 | ],
1214 | "settings": {
1215 | "foreground": "#5DE4c7"
1216 | }
1217 | },
1218 | {
1219 | "scope": ["fenced_code.block.language", "markup.inline.raw.markdown"],
1220 | "settings": {
1221 | "foreground": "#ADD7FF"
1222 | }
1223 | },
1224 | {
1225 | "scope": [
1226 | "punctuation.definition.markdown",
1227 | "punctuation.definition.raw.markdown",
1228 | "punctuation.definition.heading.markdown",
1229 | "punctuation.definition.bold.markdown",
1230 | "punctuation.definition.italic.markdown"
1231 | ],
1232 | "settings": {
1233 | "foreground": "#ADD7FF"
1234 | }
1235 | },
1236 | {
1237 | "scope": ["source.ignore", "log.error", "log.exception"],
1238 | "settings": {
1239 | "foreground": "#d0679d"
1240 | }
1241 | },
1242 | {
1243 | "scope": ["log.verbose"],
1244 | "settings": {
1245 | "foreground": "#a6accd"
1246 | }
1247 | }
1248 | ],
1249 | "type": "dark"
1250 | }
1251 |
--------------------------------------------------------------------------------