82 Commits

Author SHA1 Message Date
narpfel
a7038e1263 Fix terminal colours in light theme (#8342)
The light theme uses the terminal colours intended for the dark themes.
This makes some colours, especially yellow, hard to read.

Example:
Currently:
<img width="677" height="208" alt="before"
src="https://github.com/user-attachments/assets/ddac0e15-fe45-4130-a524-0ace9448e000"
/>

With this PR:
<img width="677" height="208" alt="after"
src="https://github.com/user-attachments/assets/5e4340d8-c14f-4128-914c-032af3df109e"
/>

I believe this was regressed in #7970/#7971 where an `@import` of
`ansi-dark.scss` nested in a `[data-theme='dark']` selector was changed
to an unconditional `@use`, overriding the colours specified for the
default theme.
2025-12-20 13:56:25 +02:00
Matt Godbolt
08169313c5 Increase contrast by not using a mid-grey background (#8122)
...for non-block code. Closes #8120
2025-09-22 12:46:07 -05:00
Ofek
ce3e976acd Fix #8013: Pinkify opt-pipeline view (#8016) 2025-08-09 20:59:49 +03:00
Matt Godbolt
c29ad46f3a [Not Live; disabled by default] Add Claude Explain feature for AI-powered assembly explanations (#7749)
Add Claude Explain feature for AI-powered code explanations

This PR introduces Claude Explain, a new feature that provides AI-powered explanations of compiler output directly within Compiler Explorer.

Key features:

Claude Explain functionality:
  - New explain view pane
  - Explains compiler output with full context of source code and compilation output
  - Configurable audience level and explanation type
  - Response caching to improve performance and reduce API calls
  - Usage statistics display showing requests used and token counts

User experience:
  - Consent flow on first use explaining data handling and privacy
  - AI disclaimer banner warning about potential LLM inaccuracies
  - Respects "no-ai" directive in source code for users who don't want AI processing

Privacy and security:
  - Data sent to Anthropic's Claude API as documented in privacy policy
  - No data used for model training
  - Clear consent required before first use
  - Support for opting out via "no-ai" directive

The feature is marked as beta and can be enabled via configuration.

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-05 09:31:48 -05:00
Matt Godbolt
12ae4246a0 SCSS Migration Phase 2: Complete @import to @use conversion (#7971)
## Summary

This PR completes Phase 2 of the SCSS migration to prepare for Dart Sass
3.0.0 compatibility. This phase focused on converting the complex
conditional theme system from deprecated `@import` statements to modern
`@use` statements.

## What Changed

### 🎯 Major Achievements
- **Eliminated 43+ SCSS deprecation warnings** (down from 45+ to only 2
remaining)
- **96% reduction** in deprecation warnings
- **Converted all SCSS-to-SCSS imports** from `@import` to `@use`
- **Modernized all color functions**: `lighten()`, `darken()`,
`adjust-color()`, `transparentize()`, `opacify()` → `color.scale()` and
`color.adjust()`
- **Implemented CSS custom properties** for theme variable sharing
- **Fixed theme isolation** - themes now properly scope their styles

### 🔧 Technical Changes
- Added `@use` statements for all theme files at top of `explorer.scss`
- Wrapped all theme file contents in `html[data-theme='...']` selectors
- Added CSS custom properties (`:root { --lighter: #{$lighter}; }`) for
theme variables
- Scoped custom golden-layout themes within their respective theme
selectors
- Removed all conditional `@import` statements for SCSS files

### 📁 Files Modified
- `static/styles/explorer.scss` - Added theme `@use` statements, removed
conditional imports
- `static/styles/themes/pink-theme.scss` - Scoped all styles, added CSS
custom properties
- `static/styles/themes/one-dark-theme.scss` - Scoped all styles, added
CSS custom properties
- `static/styles/themes/dark-theme.scss` - Scoped all styles
- `static/styles/themes/default-theme.scss` - Scoped all styles
- `static/styles/themes/custom-golden-layout-themes/pink.scss` - Scoped
to pink theme
- `static/styles/themes/custom-golden-layout-themes/one-dark.scss` -
Scoped to one-dark theme

## Remaining Issues (Phase 3)

⚠️ **2 deprecation warnings remain** - these will eventually break in
Dart Sass 3.0.0:

```
Line 1161: @import '~golden-layout/src/css/goldenlayout-light-theme';
Line 1168: @import '~golden-layout/src/css/goldenlayout-dark-theme';
```

These are external CSS imports from the golden-layout library that
cannot be converted to `@use` because:
1. They're CSS files, not SCSS files
2. They use webpack's `~` syntax for node_modules resolution
3. They're conditionally imported based on theme

**Phase 3 will need to address these** by either:
- Converting to regular CSS `@import` at top level
- Using webpack's CSS importing mechanism
- Including CSS files directly in HTML
- Finding alternative golden-layout integration approach

## Testing

-  Webpack build succeeds with only 2 expected warnings
-  Visual testing confirms themes work correctly
-  Pink theme now shows proper light golden-layout theme (was showing
dark before)
-  All theme styles properly isolated - no global style conflicts
-  CSS custom properties working for theme variables

## Build Output

Current warnings (only external CSS imports remain):
```
WARNING: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0
Line 1161: @import '~golden-layout/src/css/goldenlayout-light-theme';
Line 1168: @import '~golden-layout/src/css/goldenlayout-dark-theme';
```

All other webpack warnings are performance-related (bundle sizes), not
SCSS deprecations.

## Migration Progress

-  **Phase 1**: Basic color function and simple import conversions
(merged)
-  **Phase 2**: Complex conditional theme system conversion (this PR)  
- 🔄 **Phase 3**: External CSS import resolution (future work)

This PR makes Compiler Explorer's SCSS mostly compatible with Dart Sass
3.0.0, with only 2 external library imports remaining to be addressed.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-31 11:42:28 -05:00
Matt Godbolt
506575bb3e SCSS Migration Phase 1: Modernize color functions and @import statements (#7970)
## Summary

**Phase 1 of systematic SCSS modernization** to prepare for Dart Sass
3.0.0 compatibility. This PR eliminates **all deprecated color function
warnings** and converts straightforward `@import` statements to modern
`@use` syntax.

## What This PR Accomplishes

###  **All Color Function Deprecations Eliminated** (11 instances)
- `adjust-color()` → `color.adjust()` (5 instances in `colours.scss`)
- `lighten()` → `color.scale($lightness: +%)` (2 instances in
`dark-theme.scss`)
- `darken()` → `color.scale($lightness: -%)` (4 instances across themes)
- Added `@use 'sass:color'` imports to all theme files

###  **@import to @use Conversion** (4 instances)
- Internal SCSS-to-SCSS imports converted to modern `@use` syntax
- `ansi-dark.scss` imports in theme files
- Custom golden layout theme imports
- All `@use` statements properly moved to top of files per SCSS
requirements

###  **Zero Visual Changes**
- All themes render identically to before
- Extensive testing across all 4 themes (default, dark, pink, one-dark)
- Build process unchanged, functionality preserved

## Technical Approach

**5 incremental commits** with systematic validation at each step:
1. Add `@use 'sass:color'` imports (preparation)
2. Convert `colours.scss` color functions 
3. Convert `dark-theme.scss` color functions
4. Convert remaining theme color functions
5. Convert internal SCSS `@import` to `@use`

Each commit was individually tested for build success and visual
consistency.

## What This PR Does NOT Include

This is **Phase 1 only** - the following complex migrations are
intentionally deferred to **Phase 2**:

### 🔄 **Remaining for Phase 2: Architectural Changes**
- **Complex conditional theme system** in `explorer.scss` (lines
1157-1180)
  - Currently uses HTML attribute-based conditional `@import` statements
- Requires architectural redesign (CSS variables or separate entry
points)
- **CSS imports from node_modules** (FontAwesome, Golden Layout)
  - Kept as `@import` due to webpack compatibility requirements
- **Theme switching mechanism** updates if needed

### 📊 **Migration Progress**
-  **Phase 1**: Color functions + simple imports (this PR)
- 🔄 **Phase 2**: Conditional theme system redesign  
- 🔄 **Phase 3**: Final cleanup and optimization

## Deprecation Warning Reduction

**Before this PR**: 45+ deprecation warnings
**After this PR**: ~15 deprecation warnings (only complex `@import`
statements remain)

All remaining warnings are the challenging conditional imports that
require Phase 2 architectural work.

## Testing

-  Build succeeds: `npm run webpack`, `npm run ts-check`, `npm run
lint`
-  All themes render correctly: default, dark, pink, one-dark
-  No visual regressions or functional changes
-  Theme switching works identically
-  Form controls, scrollbars, and all UI elements maintain proper
styling

## Benefits

1. **Future-proofing**: Ready for Dart Sass 3.0.0 color function changes
2. **Maintainability**: Modern, namespaced color functions are clearer
3. **Performance**: Modern `@use` system loads modules once vs `@import`
duplication
4. **Incremental approach**: Safe, testable changes with easy rollback
if needed

## Follow-up Work

This establishes the foundation for **Phase 2**, which will tackle the
complex conditional theme system. The architectural decisions for Phase
2 can now be made independently without blocking this foundational
modernization.

Closes part of #7112

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-30 15:09:10 -05:00
Jacob Panov
f2fb988af6 Fix SCSS deprecation warnings in theme files (#7968)
Fixed the SCSS deprecation warnings in three themes - default, one-dark,
and pink.

- Replaced deprecated lighten() and darken() functions with
color.adjust()
- Add @use 'sass:color' imports to all theme files
- Add standard background-clip property alongside
-webkit-background-clip for CSS compatibility
- Fixes the warnings for the files mentioned in #7112: 45 SCSS
deprecation warnings

I tried the automatic migrator mentioned in #7112 and here's how it
went:

What worked perfectly:
Color function migration: npx sass-migrator color successfully converted
all deprecated color functions:

lighten($color, 10%) → color.adjust($color, $lightness: 10%)
darken($color, 15%) → color.adjust($color, $lightness: -15%)

Individual theme file migration: npx sass-migrator module worked well
for standalone theme files like:
static/styles/themes/default-theme.scss
static/styles/themes/pink-theme.scss
static/styles/themes/one-dark-theme.scss

Automatic @use imports: The migrator correctly added @use 'sass:color';
imports at the top of files

However, the migrator couldn't handle:
Complex nested import structures: The conditional theme loading system
in static/styles/explorer.scss was too complex for automatic migration.

and Conditional @import statements in explorer.scss: The migrator failed
on lines like: &[data-theme='pink'] {
    @import 'themes/pink-theme';
}

Therefore the migrator can be used in conjunction with manual editing of
files.
2025-07-30 10:21:39 -05:00
aabhinavg1
ef416b71ea Fix social share link colors for better readability (#7903) 2025-07-09 09:46:51 +00:00
narpfel
c9c8f35677 Add cursor: pointer to some clickable texts (#7863)
Before #7797, elements such as “Toggle full version output” in the
compiler version popup or the share buttons (“Short Link” etc.) would
change the cursor to a pointer on hover (like normal links do), but this
was lost when they were switched to use `link-primary`.

This PR restores the previous behaviour.
2025-06-25 10:54:12 +09:00
Jeremy Rifkin
bb08a6042a Add option for how parents are placed in control flow layout (#7850)
This PR implements this part of the cutter graph layout algorithm:

![image](https://github.com/user-attachments/assets/134e1717-ba24-4e22-bd83-b64b5333fb96)


![image](https://github.com/user-attachments/assets/27c35f4f-73c8-487d-bb2c-cf9ac57787e8)


![image](https://github.com/user-attachments/assets/661a1afe-4e1e-42fd-8b9d-5ca38a2e8a18)
2025-06-22 13:55:53 -05:00
Matt Godbolt
7d4555f252 Fix dropdown menus showing double arrows (#7765)
## Summary

Fixes issue #7684 where dropdown menus displayed two arrows instead of
one, particularly visible in light theme.

## Root Cause

The double arrows were caused by conflicts between:
1. **TomSelect's Bootstrap 5 theme** - provides automatic dropdown
arrows via `background-image`
2. **Custom legacy CSS** - was adding duplicate arrows using `::after`
pseudo-elements
3. **Bootstrap 4 leftovers** - manual `<b class="caret">` elements in
templates

## Changes

- **Removed conflicting custom TomSelect arrow CSS** from
`explorer.scss`
- **Removed leftover `#[b.caret]` element** from font-size dropdown
template
- **Fixed theme background properties** - changed `background` to
`background-color` to preserve TomSelect's arrow images
- **Added reusable SCSS function** `dropdown-arrow-svg()` for generating
themed dropdown arrows
- **Updated dark themes** to override arrow colors using TomSelect's
exact CSS selector for precision

## Test Plan

- [x] Verify all dropdown menus show only one arrow in default/light
theme
- [x] Test dropdown arrows are visible and correctly colored in all
themes:
  - [x] Default theme: dark gray arrow
  - [x] Pink theme: dark gray arrow  
  - [x] Dark theme: light gray arrow
  - [x] One-dark theme: medium gray arrow
- [x] Confirm dropdown functionality works correctly across all themes
- [x] Check that font-size dropdown works properly without manual caret
element

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-06-09 11:00:11 -05:00
Jeremy Rifkin
df6791ba53 Fix motd close button color on dark mode (#7753)
A hack :)
2025-06-01 22:17:51 -05:00
Abril Rincón Blanco
6ff184857d Fix conformance compiler output title not showing (#7651)
Closes
https://github.com/compiler-explorer/compiler-explorer/issues/7648

In Boostrap 5, `disabled` buttons now have `pointer-events: none`
([Changelog here](https://getbootstrap.com/docs/5.0/migration/#buttons))
which disables the `title` contents popping up.

This PR fixes it by making it a default `badge`, which keeps the same
layout as buttons, but is not clickable by default, much better than
having a `disabled` button never meant to be clicked.

It also slightly changes the padding of the buttons to give them some
breathing space, and fixes a dark background on the pink theme (Found
while testing that all themes worked properly with the `badge`)


![image](https://github.com/user-attachments/assets/a9cb3637-9540-414f-93bd-ef98b7145c7f)
2025-05-12 12:53:43 -05:00
Matt Godbolt
d51ec96944 Reinstate and restyle load/save button (#7642)
Not quite sure what happened here: the display: none came from change
ef7db1af1d and we can't quite work out how
it was working then.

Fixes #7641
2025-05-01 15:14:15 -05:00
Matt Godbolt
637564f389 Migrate to Bootstrap 5 (#7582)
This PR completes the migration from Bootstrap 4 to Bootstrap 5.3.5
following the plan outlined in
[docs/Bootstrap5Migration.md](https://github.com/compiler-explorer/compiler-explorer/blob/mg/bootstrap5/docs/Bootstrap5Migration.md).

## Migration Process

We followed a phased approach as documented in the migration plan:

1. **Phase 1: Dependency Updates and Basic Setup**
   - Updated Bootstrap from 4.6.2 to 5.3.5
   - Added @popperjs/core dependency (replacing Popper.js)
   - Updated Tom Select theme from bootstrap4 to bootstrap5

2. **Phase 2: Global CSS Class Migration**
   - Updated directional utility classes (ml/mr → ms/me)
- Updated floating utility classes (float-left/right → float-start/end)
   - Updated text alignment classes (text-left/right → text-start/end)

3. **Phase 3: HTML Attribute Updates**
- Updated data attributes to use Bootstrap 5 prefixes (data-bs-toggle,
data-bs-target, etc.)
   - Fixed tab navigation issues

4. **Phase 4: JavaScript API Compatibility Layer**
   - Created bootstrap-utils.ts compatibility layer
- Updated component initialization for modals, dropdowns, popovers, etc.

5. **Phase 5: Component Migration**
- Updated and tested specific components (modals, dropdowns, toasts,
etc.)
   - Fixed styling issues in cards and button groups

6. **Phase 6: Form System Updates**
   - Updated form control classes to Bootstrap 5 standards
   - Updated checkbox/radio markup patterns
   - Simplified input groups

7. **Phase 7: Navbar Structure Updates**
   - Updated navbar structure with container-fluid
   - Fixed responsive behavior

8. **Phase 8: SCSS Variables and Theming**
   - Added custom CSS fixes for navbar alignment
   - Verified theme compatibility

9. **Phase 9: Accessibility Improvements**
   - Updated sr-only to visually-hidden
   - Added proper ARIA attributes
   - Enhanced screen reader support

## Key Changes

- No more jQuery dependency in Bootstrap 5
- New prefix for data attributes (data-bs-*)
- Improved accessibility with ARIA attributes
- Updated positioning classes (start/end instead of left/right)
- Simplified input group structure

## Test Plan

1. **Navigation Testing**
   - Verify all dropdown menus open and close properly
   - Test mobile menu responsiveness
   - Check tab navigation in settings dialog

2. **Component Testing**
- Verify all modals open and close correctly (settings, share,
load/save)
   - Test tooltips and popovers
   - Check form controls in different dialogs

3. **Layout Testing**
   - Test responsiveness on different screen sizes
   - Verify proper alignment of elements
   - Check dark mode compatibility

4. **Specific Features to Test**
   - Compiler selection and options
   - Share dialog functionality
   - Settings dialog
   - Tree view (IDE mode)
   - Font selection dropdown

5. **Browser Testing**
   - Test in Chrome, Firefox, Safari
   - Test in mobile browsers

## Note on Further Improvements

After this migration is stable, we could consider Phase 12: removing
jQuery dependency entirely, as Bootstrap 5 no longer requires it. This
would be a separate effort.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-04-24 12:10:37 -05:00
Abril Rincón Blanco
9822030e01 Fix goldenlayout dropdowns z-index fight with Monaco's minimaps (#7478)
Fixes a z-index fight among goldenlayout's dropdowns and the editor's
minimap, which both had a z-index of 5 - Let goldenlayout's win by 1 now

Closes
https://github.com/compiler-explorer/compiler-explorer/issues/7473
2025-03-09 18:57:56 +01:00
Ofek
55cf8f519c Fix depracation warnings (#7395)
Sass `transparentize` is deprecated:
https://sass-lang.com/documentation/breaking-changes/color-functions/
2025-02-14 22:19:38 +02:00
Luka Prebil Grintal
81d18c4c4b Add Bluesky to link sharing options and other menu (#7126)
Adds intent link for sharing a Compiler Explorer link to Bluesky. Also
adds a link to the [Compiler Explorer Bluesky
profile](https://bsky.app/profile/compiler-explorer.com) into the
`Other` menu.

<details>
<summary><b>Screenshots of the new links:</b></summary>
<img width="1239" alt="image"
src="https://github.com/user-attachments/assets/2db4a9ee-a0db-4b32-b317-a671d4744b24">
<img width="244" alt="image"
src="https://github.com/user-attachments/assets/5ebcee95-00b8-4219-b057-842f431bed92">

Shared post
<img width="628" alt="image"
src="https://github.com/user-attachments/assets/57f8c264-5590-4cef-ad00-215af5008512">
</details>

I added the `via @compiler-explorer.com` to be the same as twitter, but
since bsky does not fully support tagging yet, it gives the user a
dropdown to select the compiler explorer user, which seems kinda janky.
I left it in for now, but can remove it until bsky supports tagging
automatically.
2024-11-26 13:48:12 -06:00
narpfel
02b574b4a9 Show that pane is already open when disabling the button to create a new pane (#7002)
When a new pane (such as the LLVM IR view) is opened using a button in
the “Add new...” or “Add tool...” menu, the button is disabled. This can
be confusing when the pane is not visible (e. g. when it is in a tab in
the background), because it can also be interpreted as “this is not
supported“.

This PR adds an `[already open]` to the button when it is disabled.
2024-10-24 21:24:54 +03:00
Ofek
a99edaf5bf Fix opt-remarks / stack-usage font size in all themes - not just default (#6751)
Leftover from PR #6671
2024-08-04 16:11:37 +03:00
Ofek
b8a3a12371 Stop fixing stack-usage/opt-remarks font size (#6671)
Setting font-size in css does not respond to resizing:

![badresize](https://github.com/compiler-explorer/compiler-explorer/assets/73080/ab19084c-c494-4932-a94c-17733e8da2e5)

I suspect (1) this is a monaco limitation (based on
[this](https://github.com/microsoft/monaco-editor/discussions/3717#discussioncomment-5190536)),
and (2) they're not keen on improving their font control (based on
[this](https://github.com/microsoft/monaco-editor/issues/2242#issuecomment-1433466832)).

Reverting the css fontsize makes it behave properly:

![goodresize](https://github.com/compiler-explorer/compiler-explorer/assets/73080/f337bd99-9239-4a0f-8a1d-9b96f52265ce)


@RubenRBS Sorry, I too preferred your idea of smaller decoration text.
2024-06-29 18:10:19 +02:00
Patrick Quist
cdb59644cc Add build info for libraries (#6639) 2024-06-29 00:03:09 +02:00
Partouf
88e94c9e90 fix toast notication z-index 2024-06-21 02:59:31 +02:00
Jeremy Rifkin
03cbf20c92 Update ansi dark colors (#6573)
This PR tweaks some of the ansi colors for dark themes. It's fairly
subtle overall, I mainly:
- Decreased brightnesses of green/cyan/yellow
- Desaturated purple/blue/red and made them a bit lighter
- Switched white to a slightly off-white

| old | new |
|---|---|
|
![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/edc17a12-fb8f-44e8-8111-f771d3591df0)
|
![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/b36e7244-f354-447a-841d-f0f17d99ed93)
|

Old:

![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/76e05892-3984-48fb-8e90-2a36f2e71107)

New:

![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/d7573514-2307-440a-babf-bed5c646e8fe)
2024-06-15 12:10:09 -05:00
Jeremy Rifkin
7db4a4d253 Horizontal scroll the entire execution pane (#6606)
Fixes #6210
2024-06-14 20:40:41 -05:00
Jeremy Rifkin
c5b2ed0520 Use improved ansi colors for one dark pro (#6572)
![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/a18aceb9-b1e2-410c-8a8d-663ef063fdc6)
2024-06-09 13:07:03 -05:00
Ofek
2687f6a309 Make stack-usage display inline, same as opt-view (#6469)
Following the intention declaration
[here](https://github.com/compiler-explorer/compiler-explorer/pull/6393#issuecomment-2076787747):


![image](https://github.com/compiler-explorer/compiler-explorer/assets/73080/4c239691-07ac-4ab3-9745-43cf67dd5679)
2024-05-14 10:56:24 +03:00
Jeremy
c508d202d9 Update tooltip arrow color in one dark theme 2024-05-05 12:27:18 -05:00
Jeremy
aa7fc9bd82 Fix un-needed scrollbars on tooltips 2024-05-05 12:23:38 -05:00
Ofek
f59bad3a7e Opt remarks: replace hover-over-sidebar display with inline text (#6393)
![inlineoptrem](https://github.com/compiler-explorer/compiler-explorer/assets/73080/6c306b3f-2256-4578-b1d3-beaa1494a083)
2024-04-25 12:37:57 +03:00
Matthew Guidry
f710f316cd Correct several colors in one dark (#6341)
Fixed:
- Dropdown menu disabled color
- Dropdown menu active color
- General panel background color
- Separator line for minimap
- Output text-count color
- Remove pure white across theme
- Fix custom-select in popout
2024-04-10 20:23:10 -05:00
Matthew Guidry
102b253f57 Add one dark theme (#6324)
Adds a new theme based on the One Dark theme from the Atom text editor.
Adds a new line highlighting theme "Soft Dark Rainbow" that works better
with the One Dark theme.
2024-04-06 23:30:39 -05:00
Jeremy Rifkin
c2fa676a8e Create the real dark mode (#6309) 2024-03-31 19:41:51 -05:00
Jeremy Rifkin
c34b85c320 Ansi color theming (#5848) 2024-03-20 22:01:36 -05:00
Matt Godbolt
3cfffa68d2 Add a new sponsor: ThinkCell. Thank you! (#6213) 2024-03-02 15:45:25 -06:00
Ofek
f8dd324af3 Fix #5847 : allow equal-chars while parsing env vars (#5882) 2023-12-15 21:50:21 +02:00
Matt Godbolt
1c23ecc2aa Attempts at getting the sponsors less clippy. Shifts the community motd to the left though 2023-12-13 22:49:20 -06:00
J. Ryan Stinnett
f0e1d5d264 Add Racket optimisation pipeline (#5836)
This adds a Racket optimisation pipeline view by reusing the existing
LLVM-focused optimisation pipeline UI. A Racket-specific pass parser
translates its output into passes for the UI to present.

This new Racket optimisation pipeline view is currently only enabled for
Racket nightly, as it depends on [recent
changes](https://github.com/racket/racket/pull/4842) to Racket's
compiler output to function.

This also extends the opt pipeline view to allow customising the
function selector label as well as the options and filters for each
compiler where needed.


![image](https://github.com/compiler-explorer/compiler-explorer/assets/279572/f540b41e-fd55-4375-bb2d-a0bb977530b3)

---------

Co-authored-by: Matt Godbolt <matt@godbolt.org>
2023-12-11 19:35:45 -06:00
J. Ryan Stinnett
c3e1b04c31 Rename opt pipeline without LLVM prefix (#5828)
This prepares for future work that will reuse the opt pipeline view
outside of the LLVM ecosystem by renaming related components to remove
the LLVM prefix.

The pass dumper keep its LLVM prefix, as it is assumed this part is
likely to be customised for each compiler ecosystem.

The historical component name has been preserved in the component list
as an alias to keep old links working.
2023-12-03 11:33:42 -05:00
Patrick Quist
455d92916a Execution with heaptrack (#5644) 2023-11-07 23:59:40 +01:00
Rubén Rincón Blanco
45baa0b2a6 Fix z-index of toasts in Boostreap 4 (#5719) 2023-11-07 14:52:03 +01:00
Patrick Quist
0e85d8c388 Fix link datetime layout (#5263) 2023-07-18 02:26:35 +02:00
Patrick Quist
9b983d6965 Load and show creation_date of shortlink (#5236) 2023-07-17 23:36:36 +02:00
Matt Godbolt
87024e2239 Bump latest deps (#5252) 2023-07-10 21:31:04 -05:00
Jeremy Rifkin
4260313e13 Common utilities and type work (#5200)
This PR refactors some common utilities out of lib/ and into shared/ and
eliminates some use of underscore.js, as well as general type
improvements done along the way.
2023-06-28 20:13:10 -04:00
Jeremy Rifkin
9b69146add Move all styles to static/styles (#5210) 2023-06-28 08:06:45 -04:00
Jeremy Rifkin
e267286553 Support user site templates (#5180)
Long overdue
![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/d8a56216-d6b0-459a-8539-9f519c023b92)
![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/133da5e6-2717-464a-a5fc-5983a3f75014)
2023-06-19 22:33:40 -04:00
Jeremy Rifkin
c779507000 Create a print view (#5161)
This PR adds a print view for CE

Closes #4617


![image](https://github.com/compiler-explorer/compiler-explorer/assets/51220084/92e5ceab-10cc-4289-a742-592e379627ef)

At the moment syntax highlighting isn't working. I think we need a way
to get style definitions from monaco. I've opened an issue at
https://github.com/microsoft/monaco-editor/issues/4031. For the CFG
pane, using the monaco classes "just works", but for some reason when
@media print is applied those definitions go away. We'd want to always
use light mode colors anyway.
2023-06-19 22:13:45 -04:00
Jeremy Rifkin
7a5d21338c Fix color scheme flash on page load for pink theme (#5174)
Updating the logic in #4488
2023-06-18 15:32:34 -04:00
Jeremy Rifkin
8c292050fd Fix word wrapping for compiler filters (#5147) 2023-06-14 15:43:23 +02:00