Add syntax highlighting for different runtimes in function history for timer & http functions

This commit is contained in:
Peter Stockings
2025-11-30 00:26:33 +11:00
parent 6c55eaa930
commit bb20146143
5 changed files with 15 additions and 7 deletions

View File

@@ -7,6 +7,7 @@ const FunctionHistory = {
vnode.state.rightVersion = versions[0];
vnode.state.editor = null;
vnode.state.aceDiffer = null;
vnode.state.runtime = vnode.attrs.runtime || "node"; // Add runtime support
// Listen for theme changes
vnode.state.themeListener = (e) => {
@@ -152,7 +153,8 @@ const FunctionHistory = {
if (!vnode.state.editor) {
vnode.state.editor = ace.edit("editor-history");
vnode.state.editor.setTheme(theme);
vnode.state.editor.session.setMode("ace/mode/javascript");
const editorMode = vnode.state.runtime === "python" ? "ace/mode/python" : "ace/mode/javascript";
vnode.state.editor.session.setMode(editorMode);
vnode.state.editor.setReadOnly(true);
} else {
vnode.state.editor.setTheme(theme);
@@ -167,9 +169,10 @@ const FunctionHistory = {
if (vnode.state.aceDiffer) {
vnode.state.aceDiffer.destroy();
}
const diffMode = vnode.state.runtime === "python" ? "ace/mode/python" : "ace/mode/javascript";
vnode.state.aceDiffer = new AceDiff({
element: "#diff-container",
mode: "ace/mode/javascript",
mode: diffMode,
theme: theme,
left: { content: leftVersion.script, editable: false },
right: { content: rightVersion.script, editable: false },