Fix CodeMirror in dark mode Release-Notes: skip Google-Bug-Id: b/274854578 Change-Id: Ie6dbebae79441e9813a2993541994a2db44de1cb
diff --git a/web/element/extensions.ts b/web/element/extensions.ts index ea18ffc..1f59c35 100644 --- a/web/element/extensions.ts +++ b/web/element/extensions.ts
@@ -36,11 +36,20 @@ import {language} from './language'; import {EditPreferencesInfo} from './codemirror-element'; -const oneLight = () => - EditorView.theme({ - '&': {background: 'white'}, - '.cm-lineNumbers': {'background-color': '#f1f3f4'}, - }); +const colorTheme = (dark: boolean) => + EditorView.theme( + { + '&': { + color: 'var(--primary-text-color)', + 'background-color': 'var(--background-color-primary)', + }, + '.cm-gutters': { + color: 'var(--deemphasized-text-color)', + 'background-color': 'var(--background-color-secondary)', + }, + }, + {dark} + ); const trailingspace = () => EditorView.theme({ @@ -89,7 +98,7 @@ prefs?: EditPreferencesInfo, fileType?: string, fileContent?: string, - _darkMode?: boolean + darkMode?: boolean ) => { // This uses the preference to detect whether // to use 'tabs' when you use the tab button @@ -123,7 +132,7 @@ trailingspace(), tabsOrSpaces(), fixedHeightEditor(height), - oneLight(), + colorTheme(darkMode ?? false), ]; if (!prefs) return codeExtensions;