From 7103601403d695f5342bf342b0987184ac1b8ff0 Mon Sep 17 00:00:00 2001 From: Jeff Baars Date: Mon, 18 Oct 2021 13:41:26 -0700 Subject: [PATCH] Added Solarized dark and light themes to code editor. --- src/ScriptEditor/ui/OptionsModal.tsx | 4 +- src/ScriptEditor/ui/themes.ts | 131 +++++++++++++++++++++++++++ 2 files changed, 134 insertions(+), 1 deletion(-) diff --git a/src/ScriptEditor/ui/OptionsModal.tsx b/src/ScriptEditor/ui/OptionsModal.tsx index 55ff9bd54..a4a3bbacb 100644 --- a/src/ScriptEditor/ui/OptionsModal.tsx +++ b/src/ScriptEditor/ui/OptionsModal.tsx @@ -45,7 +45,9 @@ export function OptionsModal(props: IProps): React.ReactElement { dark light monokai - + solarish-dark + solarish-light + diff --git a/src/ScriptEditor/ui/themes.ts b/src/ScriptEditor/ui/themes.ts index 982498113..374031880 100644 --- a/src/ScriptEditor/ui/themes.ts +++ b/src/ScriptEditor/ui/themes.ts @@ -63,4 +63,135 @@ export async function loadThemes(monaco: { editor: any }): Promise { "editor.selectionHighlightBorder": "#222218", }, }); + + monaco.editor.defineTheme("solarish-dark", { + base: "vs-dark", + inherit: true, + rules: [ + { + background: "002b36", + token: "", + }, + { + foreground: "586e75", + token: "comment", + }, + { + foreground: "b58900", + token: "string", + }, + { + token: "number", + foreground: "2aa198", + }, + { + token: "otherkeyvars", + foreground: "ae81ff", + }, + { + foreground: "93a1a1", + token: "function", + }, + { + foreground: "d33682", + token: "keyword", + }, + { + token: "storage.type.function.js", + foreground: "ae81ff", + }, + { + token: "ns", + foreground: "97d92b", + }, + { + token: "netscriptfunction", + foreground: "cb4b16", + }, + { + token: "otherkeywords", + foreground: "cb4b16", + }, + { + token: "this", + foreground: "fd971f", + }, + ], + colors: { + "editor.foreground": "#839496", + "editor.background": "#002b36", + "editor.selectionBackground": "#073642", + "editor.lineHighlightBackground": "#073642", + "editorCursor.foreground": "#F8F8F0", + "editorWhitespace.foreground": "#3B3A32", + "editorIndentGuide.activeBackground": "#9D550FB0", + "editor.selectionHighlightBorder": "#222218", + }, + }); + + monaco.editor.defineTheme("solarish-light", { + base: "vs", + inherit: true, + rules: [ + { + foreground: "657b83", + background: "fdf6e3", + token: "", + }, + { + foreground: "93a1a1", + token: "comment", + }, + { + foreground: "b58900", + token: "string", + }, + { + token: "number", + foreground: "2aa198", + }, + { + token: "otherkeyvars", + foreground: "ae81ff", + }, + { + foreground: "93a1a1", + token: "function", + }, + { + foreground: "d33682", + token: "keyword", + }, + { + token: "storage.type.function.js", + foreground: "ae81ff", + }, + { + token: "ns", + foreground: "97d92b", + }, + { + token: "netscriptfunction", + foreground: "cb4b16", + }, + { + token: "otherkeywords", + foreground: "cb4b16", + }, + { + token: "this", + foreground: "fd971f", + }, + ], + colors: { + "editor.foreground": "#657b83", + "editor.background": "#fdf6e3", + "editor.selectionBackground": "#eee8d5", + "editor.lineHighlightBackground": "#073642", + "editorCursor.foreground": "#657b83", + "editorWhitespace.foreground": "#3B3A32", + "editorIndentGuide.activeBackground": "#073642", + "editor.selectionHighlightBorder": "#073642", + }, + }); }