Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Style's font size in egui_extras::syntax_highlighting #5090

Merged
merged 3 commits into from
Sep 10, 2024

Conversation

lampsitter
Copy link
Contributor

@lampsitter lampsitter commented Sep 8, 2024

The syntax highlighting font size was always hardcoded to 12 or 10 depending on what case it was hitting (so not consistent). This is particularly noticeable when you increase the font size to something larger for the rest of the ui.

With this the default monospace font size is used by default.

Since the issue is closely related to #3549 I decided to implement the ability to use override_font_id too.

Visualized

Default monospace is set to 15 in all the pictures

Before/After without syntect:
normal

Before/after with syntect:
syntect

Font override after without/with syntect (monospace = 20):
override

Breaking changes

  • CodeTheme::dark and CodeTheme::light takes in the font size
  • CodeTheme::from_memory takes in Style
  • highlight function takes in Style

@lampsitter lampsitter force-pushed the font-size-hardcoding branch 2 times, most recently from 97e6a54 to 4b5ba62 Compare September 8, 2024 11:02
/// let theme = CodeTheme::dark(12.0);
/// # });
/// ```
pub fn dark(font_size: f32) -> Self {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added doc example to ease the impact of the breaking change

@lampsitter lampsitter marked this pull request as ready for review September 8, 2024 11:20
@emilk emilk added egui_extras style visuals and theming labels Sep 10, 2024
@emilk emilk merged commit f4697bc into emilk:master Sep 10, 2024
21 of 22 checks passed
@lampsitter lampsitter deleted the font-size-hardcoding branch September 10, 2024 14:47
hacknus pushed a commit to hacknus/egui that referenced this pull request Oct 30, 2024
<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to test and add commits to your PR.
* Remember to run `cargo fmt` and `cargo clippy`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->
* Closes emilk#3549
* [X] I have followed the instructions in the PR template

The syntax highlighting font size was always hardcoded to 12 or 10
depending on what case it was hitting (so not consistent). This is
particularly noticeable when you increase the font size to something
larger for the rest of the ui.

With this the default monospace font size is used by default.

Since the issue is closely related to emilk#3549 I decided to implement the
ability to use override_font_id too.

## Visualized

Default monospace is set to 15 in all the pictures

Before/After without syntect:

![normal](https://github.com/user-attachments/assets/0d058720-47ff-49e7-af77-30d48f5e138c)


Before/after _with_ syntect:

![syntect](https://github.com/user-attachments/assets/e5c380fe-ced1-40ee-b4b1-c26cec18a840)

Font override after without/with syntect (monospace = 20):

![override](https://github.com/user-attachments/assets/efd1b759-3f97-4673-864a-5a18afc64099)

### Breaking changes

- `CodeTheme::dark` and `CodeTheme::light` takes in the font size
- `CodeTheme::from_memory` takes in `Style`
- `highlight` function takes in `Style`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
egui_extras style visuals and theming
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use Style{override_font_id} to specify the font for syntax_highlighting::highlight()
2 participants