writing some very shady logic

This commit is contained in:
2023-12-15 16:15:18 +01:00
parent 0883e26f21
commit 32ae67b2c6
3 changed files with 17 additions and 10 deletions

View File

@ -2272,4 +2272,8 @@ export class UserAPI {
this.cueTimes[functionName] = this.app.clock.pulses_since_origin;
};
public theme = (color_scheme: string): void => {
this.app.readTheme(color_scheme);
console.log("Changing color scheme for: ", color_scheme)
}
}

View File

@ -8,8 +8,6 @@ import {
drawSelection,
highlightActiveLine,
dropCursor,
// rectangularSelection,
// crosshairCursor,
highlightActiveLineGutter,
} from "@codemirror/view";
import { Extension, EditorState } from "@codemirror/state";
@ -32,13 +30,12 @@ import { lintKeymap } from "@codemirror/lint";
import { Compartment } from "@codemirror/state";
import { Editor } from "./main";
import { EditorView } from "codemirror";
import { toposTheme } from "./themes/toposTheme";
import { javascript } from "@codemirror/lang-javascript";
import { inlineHoveringTips } from "./documentation/inlineHelp";
import { toposCompletions, soundCompletions } from "./documentation/inlineHelp";
import { javascriptLanguage } from "@codemirror/lang-javascript";
export const updateCodeMirrorTheme = (theme: {[key: string]: string}): Extension => {
export const getCodeMirrorTheme = (theme: {[key: string]: string}): Extension => {
const color0 = theme["color0"],
color1 = theme["color1"],
color2 = theme["color2"],
@ -300,7 +297,7 @@ export const installEditor = (app: Editor) => {
app.settings.completions ? [jsCompletions, toposSoundCompletions] : [],
),
editorSetup,
toposTheme,
getCodeMirrorTheme(app.getColorScheme("Tomorrow Night Burns")),
app.chosenLanguage.of(javascript()),
];
app.dynamicPlugins = new Compartment();

View File

@ -5,6 +5,7 @@ import { javascript } from "@codemirror/lang-javascript";
import { markdown } from "@codemirror/lang-markdown";
import { Extension } from "@codemirror/state";
import { outputSocket } from "./IO/OSC";
import { getCodeMirrorTheme } from "./EditorSetup";
import {
initializeSelectedUniverse,
AppSettings,
@ -572,19 +573,24 @@ export class Editor {
}
private updateInterfaceTheme(selected_theme: {[key: string]: string}): void {
// We will update CSS variables to change the theme
for (const [key, value] of Object.entries(selected_theme)) {
document.documentElement.style.setProperty(key, value);
document.documentElement.style.setProperty("--" + key, value);
}
}
private readTheme(theme_name: string): void {
getColorScheme(theme_name: string): {[key: string]: string} {
// Check if the theme exists in colors.json
let themes: Record<string, { [key: string]: any }> = colors;
return themes[theme_name];
}
readTheme(theme_name: string): void {
// Check if the theme exists in colors.json
let themes: Record<string, { [key: string]: any }> = colors;
let selected_theme = themes[theme_name];
if (selected_theme) {
if (selected_theme) {
this.updateInterfaceTheme(selected_theme);
updateCodeMirrorTheme(selected_theme);
let codeMirrorTheme = getCodeMirrorTheme(selected_theme);
}
}
}