Skip to content

edit editor background color#993

Open
hatemhosny wants to merge 2 commits into
developfrom
ui-fixes
Open

edit editor background color#993
hatemhosny wants to merge 2 commits into
developfrom
ui-fixes

Conversation

@hatemhosny

@hatemhosny hatemhosny commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Editor now includes rainbow bracket highlighting for improved code readability.
  • Style

    • Refined dark and light editor themes (syntax, gutters, tooltips, highlights) for more consistent visuals across editors.
    • Updated Prism and console theme colors for better contrast and line presentation.

@netlify

netlify Bot commented Jun 11, 2026

Copy link
Copy Markdown

Deploy Preview for livecodes ready!

Name Link
🔨 Latest commit 5feec17
🔍 Latest deploy log https://app.netlify.com/projects/livecodes/deploys/6a2b1af8ceaccb0008692977
😎 Deploy Preview https://deploy-preview-993--livecodes.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 11, 2026

Copy link
Copy Markdown

Deploying livecodes with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5feec17
Status: ✅  Deploy successful!
Preview URL: https://e661f9bb.livecodes.pages.dev
Branch Preview URL: https://ui-fixes.livecodes.pages.dev

View logs

@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 1.1 MB

ℹ️ View Unchanged
Filename Size Change
build/404.html 1.45 kB 0 B
build/app.html 250 B 0 B
build/index.html 1.54 kB -1 B (-0.07%)
build/livecodes/app.css 23.7 kB +133 B (+0.57%)
build/livecodes/app.js 113 kB +96 B (+0.09%)
build/livecodes/assets.js 8.66 kB +27 B (+0.31%)
build/livecodes/assets/noop.js 18 B 0 B
build/livecodes/assets/templates/diagrams-starter.html 2.19 kB 0 B
build/livecodes/backup.js 3.74 kB 0 B
build/livecodes/blockly.js 15.1 kB +24 B (+0.16%)
build/livecodes/broadcast.js 1.19 kB 0 B
build/livecodes/bundle-types.js 4.41 kB 0 B
build/livecodes/code-to-image.js 11 kB +126 B (+1.16%)
build/livecodes/codejar.js 19.4 kB +109 B (+0.56%)
build/livecodes/codemirror.js 16.9 kB -29 B (-0.17%)
build/livecodes/compile.page.js 2.46 kB 0 B
build/livecodes/compile.worker.js 15.2 kB -42 B (-0.28%)
build/livecodes/compiler-utils.js 3.16 kB -12 B (-0.38%)
build/livecodes/custom-editor-utils.js 198 B 0 B
build/livecodes/deploy.js 6.91 kB 0 B
build/livecodes/editor-settings.js 22.1 kB +116 B (+0.53%)
build/livecodes/embed-ui.js 5.51 kB -2 B (-0.04%)
build/livecodes/embed.js 91.4 kB +125 B (+0.14%)
build/livecodes/export.js 3.91 kB 0 B
build/livecodes/firebase.js 22.7 kB 0 B
build/livecodes/format.worker.js 14.4 kB -14 B (-0.1%)
build/livecodes/google-fonts.js 7.12 kB 0 B
build/livecodes/headless.js 79.8 kB -12 B (-0.02%)
build/livecodes/i18n-ar-language-info.json 5.34 kB 0 B
build/livecodes/i18n-ar-translation.json 9.34 kB 0 B
build/livecodes/i18n-bn-language-info.json 5.76 kB 0 B
build/livecodes/i18n-bn-translation.json 9.68 kB 0 B
build/livecodes/i18n-de-language-info.json 5.4 kB 0 B
build/livecodes/i18n-de-translation.json 9.47 kB 0 B
build/livecodes/i18n-en-language-info.json 4.63 kB 0 B
build/livecodes/i18n-en-translation.json 8.06 kB 0 B
build/livecodes/i18n-es-language-info.json 5.12 kB 0 B
build/livecodes/i18n-es-translation.json 9.19 kB 0 B
build/livecodes/i18n-fa-language-info.json 5.52 kB 0 B
build/livecodes/i18n-fa-translation.json 9.5 kB 0 B
build/livecodes/i18n-fr-language-info.json 5.31 kB 0 B
build/livecodes/i18n-fr-translation.json 9.45 kB 0 B
build/livecodes/i18n-hi-language-info.json 5.93 kB 0 B
build/livecodes/i18n-hi-translation.json 9.99 kB 0 B
build/livecodes/i18n-hu-language-info.json 5.29 kB 0 B
build/livecodes/i18n-hu-translation.json 9.38 kB 0 B
build/livecodes/i18n-id-language-info.json 4.87 kB 0 B
build/livecodes/i18n-id-translation.json 8.71 kB 0 B
build/livecodes/i18n-it-language-info.json 5.17 kB 0 B
build/livecodes/i18n-it-translation.json 9.26 kB 0 B
build/livecodes/i18n-ja-language-info.json 5.72 kB 0 B
build/livecodes/i18n-ja-translation.json 9.64 kB 0 B
build/livecodes/i18n-nl-language-info.json 5.07 kB 0 B
build/livecodes/i18n-nl-translation.json 8.91 kB 0 B
build/livecodes/i18n-pt-language-info.json 5.16 kB 0 B
build/livecodes/i18n-pt-translation.json 9.38 kB 0 B
build/livecodes/i18n-ru-language-info.json 5.7 kB 0 B
build/livecodes/i18n-ru-translation.json 10.3 kB 0 B
build/livecodes/i18n-tr-language-info.json 5.3 kB 0 B
build/livecodes/i18n-tr-translation.json 9.29 kB 0 B
build/livecodes/i18n-ur-language-info.json 5.97 kB 0 B
build/livecodes/i18n-ur-translation.json 9.81 kB 0 B
build/livecodes/i18n-zh-CN-language-info.json 5.01 kB 0 B
build/livecodes/i18n-zh-CN-translation.json 8.67 kB 0 B
build/livecodes/i18n.js 20.4 kB -41 B (-0.2%)
build/livecodes/import-src.js 17.9 kB +37 B (+0.21%)
build/livecodes/import.js 16.3 kB -37 B (-0.23%)
build/livecodes/index.js 5.46 kB +7 B (+0.13%)
build/livecodes/lang-art-template-compiler.js 1.68 kB 0 B
build/livecodes/lang-assemblyscript-compiler.js 290 B 0 B
build/livecodes/lang-assemblyscript-script.js 386 B 0 B
build/livecodes/lang-astro-compiler.js 2.37 kB 0 B
build/livecodes/lang-clio-compiler.js 1.58 kB 0 B
build/livecodes/lang-commonlisp-script.js 123 B 0 B
build/livecodes/lang-cpp-script.js 1.96 kB 0 B
build/livecodes/lang-cpp-wasm-script.js 2.88 kB 0 B
build/livecodes/lang-csharp-wasm-script.js 2.21 kB 0 B
build/livecodes/lang-diagrams-compiler-esm.js 5.11 kB 0 B
build/livecodes/lang-dot-compiler.js 1.69 kB 0 B
build/livecodes/lang-ejs-compiler.js 1.66 kB 0 B
build/livecodes/lang-eta-compiler.js 1.68 kB 0 B
build/livecodes/lang-fennel-compiler.js 1.64 kB 0 B
build/livecodes/lang-gleam-compiler.js 3.12 kB 0 B
build/livecodes/lang-go-wasm-script.js 3.29 kB 0 B
build/livecodes/lang-haml-compiler.js 1.69 kB 0 B
build/livecodes/lang-handlebars-compiler.js 1.99 kB 0 B
build/livecodes/lang-imba-compiler.js 147 B 0 B
build/livecodes/lang-java-script.js 4.09 kB 0 B
build/livecodes/lang-jinja-compiler.js 1.67 kB 0 B
build/livecodes/lang-julia-script.js 3.32 kB 0 B
build/livecodes/lang-liquid-compiler.js 1.71 kB 0 B
build/livecodes/lang-lua-wasm-script.js 205 B 0 B
build/livecodes/lang-malina-compiler.js 2.98 kB 0 B
build/livecodes/lang-markdown-compiler.js 1.7 kB 0 B
build/livecodes/lang-markdown-script.js 1.47 kB 0 B
build/livecodes/lang-minizinc-script.js 2.09 kB 0 B
build/livecodes/lang-mustache-compiler.js 1.68 kB 0 B
build/livecodes/lang-nunjucks-compiler.js 2 kB 0 B
build/livecodes/lang-perl-script.js 268 B 0 B
build/livecodes/lang-php-wasm-script.js 347 B 0 B
build/livecodes/lang-postgresql-compiler-esm.js 1.76 kB 0 B
build/livecodes/lang-prolog-script.js 204 B 0 B
build/livecodes/lang-pug-compiler.js 371 B 0 B
build/livecodes/lang-python-wasm-script.js 1.89 kB 0 B
build/livecodes/lang-r-script-esm.js 2.47 kB 0 B
build/livecodes/lang-rescript-compiler-esm.js 2.19 kB 0 B
build/livecodes/lang-rescript-formatter.js 1.55 kB 0 B
build/livecodes/lang-riot-compiler.js 2.85 kB 0 B
build/livecodes/lang-ruby-wasm-script.js 1.75 kB 0 B
build/livecodes/lang-scss-compiler.js 1.85 kB 0 B
build/livecodes/lang-solid-compiler.js 263 B 0 B
build/livecodes/lang-sql-compiler.js 1.67 kB 0 B
build/livecodes/lang-sql-script.js 2.08 kB 0 B
build/livecodes/lang-svelte-compiler.js 4.72 kB 0 B
build/livecodes/lang-tcl-script.js 1.86 kB 0 B
build/livecodes/lang-teal-compiler.js 1.75 kB 0 B
build/livecodes/lang-twig-compiler.js 1.68 kB 0 B
build/livecodes/lang-vento-compiler.js 1.73 kB 0 B
build/livecodes/lang-vue-compiler.js 6.13 kB 0 B
build/livecodes/lang-vue2-compiler.js 3.5 kB 0 B
build/livecodes/lang-wat-compiler.js 348 B 0 B
build/livecodes/lang-wat-script.js 1.98 kB 0 B
build/livecodes/language-info.js 7.92 kB +1 B (+0.01%)
build/livecodes/monaco.js 22.3 kB -8 B (-0.04%)
build/livecodes/open.js 6.24 kB -7 B (-0.11%)
build/livecodes/processor-lightningcss-compiler.js 1.91 kB 0 B
build/livecodes/processor-postcss-compiler.js 2.06 kB 0 B
build/livecodes/processor-tailwindcss-compiler.js 5.29 kB 0 B
build/livecodes/processor-unocss-compiler.js 355 B 0 B
build/livecodes/processor-windicss-compiler.js 450 B 0 B
build/livecodes/quill.css 697 B 0 B
build/livecodes/quill.js 5.86 kB 0 B
build/livecodes/resources.js 3.43 kB 0 B
build/livecodes/result-utils.js 1.17 kB 0 B
build/livecodes/share.js 3.84 kB -2 B (-0.05%)
build/livecodes/snippets.js 6.08 kB -4 B (-0.07%)
build/livecodes/sync-ui.js 3.29 kB +1 B (+0.03%)
build/livecodes/sync.js 3.56 kB 0 B
build/livecodes/sync.worker.js 29.8 kB 0 B
build/livecodes/templates.js 27 kB 0 B
build/sdk/livecodes.js 4.39 kB 0 B
build/sdk/livecodes.umd.js 5.21 kB 0 B
build/sdk/package.json 456 B 0 B
build/sdk/preact.js 4.75 kB 0 B
build/sdk/react.js 4.75 kB 0 B
build/sdk/solid.js 4.92 kB 0 B
build/sdk/svelte.js 4.37 kB 0 B
build/sdk/vue.js 4.78 kB 0 B
build/sdk/web-components.js 5.81 kB 0 B

compressed-size-action

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Dark and light theme color/CSS values were updated across Prism, CodeMirror, Monaco, and console styles. CodeMirror gained rainbow-bracket integration with importmap, vendor URL bump, and build externals; package.json had formatting-only config changes.

Changes

Dark Theme Palette Update

Layer / File(s) Summary
Prism syntax highlighting theme
src/livecodes/editor/codejar/prism-themes.ts
Prism livecodes-dark and livecodes-light base64-encoded CSS payloads updated to adjust syntax token styling and line presentation.
CodeMirror theme adjustments
src/livecodes/editor/codemirror/codemirror-themes.ts
liveCodesDarkTheme and liveCodesLightTheme styling updated: editor background, panel borders, active line, gutters, and tooltip properties.
Monaco theme adjustments
src/livecodes/editor/monaco/monaco-themes.ts
liveCodesDark palette updated across token base/background, editor surfaces, range highlight, gutter, overview ruler, minimap, widgets (editor/suggest/hover), sticky scroll, peek view, dropdown, and marker navigation; liveCodesLight bracket highlight color adjusted.
Console and CodeMirror scoping in SCSS
src/livecodes/styles/app.scss
Added #console .luna-console-theme-dark background and refactored CodeMirror console styles into a .cm-editor scope; added rainbow-bracket token color rules and scoped ghost-text styles.

CodeMirror rainbow-brackets integration

Layer / File(s) Summary
CodeMirror extension wiring
src/livecodes/editor/codemirror/codemirror.ts, src/livecodes/html/app.html
Imported and registered rainbowbrackets() in the editor extension list and added importmap entry for rainbowbrackets.
Build externals and vendor URL
scripts/build.js, src/livecodes/vendors.ts
Marked rainbowbrackets as external in esbuild baseOptions and updated codeMirrorBaseUrl to @live-codes/codemirror@0.4.0/build/.
package.json config formatting
package.json
Reformatted Prettier and Jest array entries into multi-line arrays without changing values.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • live-codes/livecodes#987: Both PRs update livecodes-dark/livecodes-light Prism payloads and corresponding editor theme implementations.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'edit editor background color' is narrow in scope and refers to only one aspect of a broader changeset that includes theme updates across multiple editor systems, SCSS styling overrides, CodeMirror extensions, and vendor version updates. Consider a more descriptive title that encompasses the broader theme and styling updates, such as 'Update editor themes and styling with color palette changes and rainbow bracket support' or 'Refactor editor background colors and integrate rainbow bracket highlighting'.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ui-fixes

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Stylelint (17.12.0)
src/livecodes/styles/app.scss

ConfigurationError: Could not find "stylelint-config-sass-guidelines". Do you need to install the package or use the "configBasedir" option?
at getModulePath (file:///usr/local/lib/node_modules/stylelint/lib/utils/getModulePath.mjs:29:9)
at loadExtendedConfig (file:///usr/local/lib/node_modules/stylelint/lib/augmentConfig.mjs:285:21)
at extendConfig (file:///usr/local/lib/node_modules/stylelint/lib/augmentConfig.mjs:252:25)
at augmentConfigBasic (file:///usr/local/lib/node_modules/stylelint/lib/augmentConfig.mjs:85:26)
at augmentConfigFull (file:///usr/local/lib/node_modules/stylelint/lib/augmentConfig.mjs:138:30)
at getConfigForFile (file:///usr/local/lib/node_modules/stylelint/lib/getConfigForFile.mjs:102:32)
at async resolveOptionValue (file:///usr/local/lib/node_modules/stylelint/lib/utils/resolveOptionValue.mjs:27:24)
at async standalone (file:///usr/local/lib/node_modules/stylelint/lib/standalone.mjs:127:22)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes — visual refinement of the dark editor theme across all three editors (Prism/CodeJar, CodeMirror, Monaco) and the console, lightening the main background from #16191d to #181c20 with corresponding adjustments to panels, gutters, widgets, and line highlights.

  • Prism/CodeJar — dark theme background #16191d#181c20 in the base64-encoded CSS data URI; light theme re-encoded with CRLF line endings (no color change).
  • CodeMirror — background, gutters, and panel borders updated; active line styling changed from cyan overlay to dark semi-transparent + solid outline; tooltip styled with background, border-radius, and padding.
  • Monaco — editor surface, gutter, minimap, overview ruler border, suggest widget, and several overlay elements updated to #181c20; widget/hover/dropdown bodies use the old darker #16191d for visual layering; line highlight and sticky scroll colors adjusted.
  • Console — added background-color: hsl(214, 14%, 11%) for .luna-console-theme-dark.

The two-layer approach (editor surface at #181c20, floating overlays at #16191d) is consistent and well-documented in comments. No drift, stale references, or inconsistencies found.

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) | 𝕏

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
30.2% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes — added rainbow bracket highlighting across editors and restructured CodeMirror SCSS, atop the prior background-color refinement.

  • Added rainbowbrackets CodeMirror extension — imported with @ts-ignore and activated as a default extension in codemirror.ts:30,298
  • Updated vendor and build config@live-codes/codemirror bumped 0.3.4 → 0.4.0 in vendors.ts:93; rainbowbrackets added to esbuild externals in scripts/build.js:90 and import map in app.html:41
  • Monaco bracket foreground3 refresh#c9b8ff#ee82ee (dark) and #6b4fc4#9d159d (light) in monaco-themes.ts, aligning with the SCSS bracket palette
  • CodeMirror tooltip polish — added borderRadius and padding to both dark and light tooltip themes; dark tooltip bg #111b2c#16191d in codemirror-themes.ts
  • SCSS restructure — nested all CodeMirror styles (.cm-wrap, .cm-scroller, #console-input, rainbow brackets, Codeium ghost text) under .cm-editor; added rainbow bracket CSS classes .rainbow-bracket-red through -violet with dark-palette colors
  • package.json formatting — prettier and jest config arrays expanded to multi-line, resolveJsonModule: true added

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) | 𝕏

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/livecodes/styles/app.scss`:
- Around line 2004-2006: The rule for .cm-ghostText:hover uses a hardcoded light
color (`#eee`); replace it with a theme-aware CSS variable (e.g. background:
var(--ghost-hover-bg, rgba(0,0,0,0.06))) or reference the editor hover
background variable (e.g. var(--vscode-editor-hoverBackground)) so dark themes
get appropriate color, and if needed add a dark-theme selector (e.g. .theme-dark
or [data-theme="dark"]) to provide a dark-specific fallback value; update
.cm-ghostText:hover to use that variable instead of `#eee` and ensure the variable
is defined in your theme tokens.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: dfe0e621-4fd2-4966-b3d6-fbe1024300b1

📥 Commits

Reviewing files that changed from the base of the PR and between 617baf5 and 5feec17.

📒 Files selected for processing (8)
  • package.json
  • scripts/build.js
  • src/livecodes/editor/codemirror/codemirror-themes.ts
  • src/livecodes/editor/codemirror/codemirror.ts
  • src/livecodes/editor/monaco/monaco-themes.ts
  • src/livecodes/html/app.html
  • src/livecodes/styles/app.scss
  • src/livecodes/vendors.ts
✅ Files skipped from review due to trivial changes (1)
  • package.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/livecodes/editor/codemirror/codemirror-themes.ts
  • src/livecodes/editor/monaco/monaco-themes.ts

Comment on lines +2004 to +2006
.cm-ghostText:hover {
background: #eee;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Hardcoded light color breaks dark theme consistency.

The ghost text hover background uses #eee (light gray), which will have poor contrast and appear out of place in dark theme. Since this PR specifically updates dark theme colors across the application, this hardcoded value is inconsistent with the theming approach.

Use a CSS variable or conditional styling:

🎨 Proposed fix using CSS variable
  .cm-ghostText:hover {
-   background: `#eee`;
+   background: var(--btn-bg-active);
  }

Or with conditional styling:

  .cm-ghostText:hover {
-   background: `#eee`;
+   background: var(--input-bg-active);
  }
+}
+
+:root.light .cm-editor {
+  .cm-ghostText:hover {
+    background: `#eee`;
  }
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.cm-ghostText:hover {
background: #eee;
}
.cm-ghostText:hover {
background: var(--btn-bg-active);
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/livecodes/styles/app.scss` around lines 2004 - 2006, The rule for
.cm-ghostText:hover uses a hardcoded light color (`#eee`); replace it with a
theme-aware CSS variable (e.g. background: var(--ghost-hover-bg,
rgba(0,0,0,0.06))) or reference the editor hover background variable (e.g.
var(--vscode-editor-hoverBackground)) so dark themes get appropriate color, and
if needed add a dark-theme selector (e.g. .theme-dark or [data-theme="dark"]) to
provide a dark-specific fallback value; update .cm-ghostText:hover to use that
variable instead of `#eee` and ensure the variable is defined in your theme
tokens.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant