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..3e8300997 100644 --- a/src/ScriptEditor/ui/themes.ts +++ b/src/ScriptEditor/ui/themes.ts @@ -63,4 +63,159 @@ 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: "00afaf", + token: "string", + }, + { + token: "number", + foreground: "00afaf", + }, + { + token: "otherkeyvars", + foreground: "268bd2", + }, + { + foreground: "268bd2", + token: "function", + }, + { + foreground: "859900", + token: "keyword", + }, + { + token: "storage.type.function.js", + foreground: "cb4b16", + }, + { + token: "ns", + foreground: "cb4b16", + }, + { + token: "netscriptfunction", + foreground: "268bd2", + }, + { + token: "otherkeywords", + foreground: "268bd2", + }, + { + token: "type.identifier.js", + foreground: "b58900", + }, + { + token: "delimiter.square.js", + foreground: "0087ff", + }, + { + token: "delimiter.bracket.js", + foreground: "0087ff", + }, + { + token: "this", + foreground: "cb4b16", + }, + ], + colors: { + "editor.foreground": "#839496", + "editor.background": "#002b36", + "editor.selectionBackground": "#073642", + "editor.lineHighlightBackground": "#073642", + "editorCursor.foreground": "#819090", + "editorWhitespace.foreground": "#073642", + "editorIndentGuide.activeBackground": "#9D550FB0", + "editor.selectionHighlightBorder": "#222218", + }, + }); + + monaco.editor.defineTheme("solarish-light", { + base: "vs", + inherit: true, + rules: [ + { + foreground: "657b83", + background: "fdf6e3", + token: "", + }, + { + foreground: "586e75", + token: "comment", + }, + { + foreground: "2aa198", + token: "string", + }, + { + token: "number", + foreground: "2aa198", + }, + { + token: "otherkeyvars", + foreground: "268bd2", + }, + { + foreground: "268bd2", + token: "function", + }, + { + foreground: "859900", + token: "keyword", + }, + { + token: "storage.type.function.js", + foreground: "bc4b16", + }, + { + token: "ns", + foreground: "cb4b16", + }, + { + token: "netscriptfunction", + foreground: "268bd2", + }, + { + token: "otherkeywords", + foreground: "268bd2", + }, + { + token: "type.identifier.js", + foreground: "b58900", + }, + { + token: "delimiter.square.js", + foreground: "0087ff", + }, + { + token: "delimiter.bracket.js", + foreground: "0087ff", + }, + { + token: "this", + foreground: "cb4b16", + }, + ], + colors: { + "editor.foreground": "#657b83", + "editor.background": "#fdf6e3", + "editor.selectionBackground": "#eee8d5", + "editor.lineHighlightBackground": "#eee8d5", + "editorCursor.foreground": "#657b83", + "editorWhitespace.foreground": "#eee8d5", + "editorIndentGuide.activeBackground": "#eee8d5", + "editor.selectionHighlightBorder": "#073642", + }, + }); }