├── 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 | ![Preview](./src/assets/images/mermaid-to-reactflow-converter-preview.gif) 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 | 126 | {/* arrow-end */} 127 | 135 | {/* source: https://www.svgrepo.com/svg/108052/arrow-down-filled-triangle */} 136 | 143 | 144 | 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 | --------------------------------------------------------------------------------