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

Improve syntax highlighting #150

Conversation

CosmicHorrorDev
Copy link
Collaborator

@CosmicHorrorDev CosmicHorrorDev commented Jul 4, 2023

This fixes a couple of issues that both conveniently manifest in reqwest's README

  1. The default syntax definitions are missing a lot of common languages (including TOML)
  2. Fenced code blocks may have an info string like ```rust,ignore since some projects use the README for doc stuff. comrak doesn't recognized this as a Rust block although GitHub does

main

image

This PR

image

Yes the Rust highlighting is this basic for this example. It turns out that syntect is stuck using several year old syntax definitions for a lot of languages since Sublime Text has made changes to syntax definitions that would require significant changes to syntect

Part of this is also from the default dark theme. two-face is now getting pulled in which includes a lot more themes though, so I'll add those in a future PR

@CosmicHorrorDev CosmicHorrorDev added the C-bug Category: Something isn't working label Jul 4, 2023
@CosmicHorrorDev
Copy link
Collaborator Author

Gonna go ahead and slap the merge button for this one

There's still some followup work that I want to get through. Namely:

  • Adding a syntect-no-defaults feature flag to comrak that exposes the syntect adapter without pulling in syntect's default embedded assets (because we're not using them anymore)
  • Making use of two-face's extra themes as well since people would probably appreciate the extra customization

I don't think either of those should block merging though since this PR is an obvious improvement in terms of syntax highlighting

@CosmicHorrorDev CosmicHorrorDev merged commit cc3ae7f into Inlyne-Project:main Jul 11, 2023
4 checks passed
CosmicHorrorDev added a commit to CosmicHorrorDev/inlyne that referenced this pull request Nov 19, 2023
* Add failing test

* Use extended syntax definitions

* Add failing test

* Allow for comma as an info string delimiter
@CosmicHorrorDev CosmicHorrorDev mentioned this pull request Nov 19, 2023
8 tasks
CosmicHorrorDev added a commit that referenced this pull request Nov 23, 2023
* Some clean ups, fixes, config flag (#91)

* Refactor: Remove unneccesary CLI branching

* Refactor: Refactor configuration load function

* Feat: Add '--config' flag

* Refactor: Reduce passing of args and configuration

* Fix: Fix cli parsing of page width

* Clean: use 'display()' instead of debug print for path

* Clean: use Default for Keybindings

* Refactor: Use Keybindings in tests

* Doc: Fix 'page width' to 'page_width'

* Refactor: use interpolation style

* Refactor: Remove inline on Keybindings::new

* Refactor: Extract Keybindings Default implementation

* Refactor: Destructure Config and Args in opts

* Support bare relative links (#103)

* Attempt to reregister file watcher on file "removal" (#106)

* Add a test for all CLI options (#116)

* Add repology badge for package manager installation (#109)

* Make correct location of `inlyne.toml` file clearer (#122)

* Make correct location of `inlyne.toml` file clearer

* Fix missing backtick

* Interpreter testing (#132)

* Interpreter test tweaks (#138)

* Cleanup existing custom debug impls

* Add custom debug impls for `Element::Image(_)`

* Add a snapshot test for complex image elements

* More robust file watching (#147)

* The watcher should attempt to re-register on name changes

* Re-register watcher after longer delays

* Add a reminder for fixing watching after file changes

* Move file watcher into its own file

* Make file watcher testable

* Watcher follows file changes

* Test the file watcher

* Final test tweaks

* Swap back to the old delays

* Final final test tweaks

* Use a slightly longer delay

* Shorter poll interval for file watcher

* Follow through with rename

* Make file reloading less panic happy (#145)

* Rework panic happy file reloading

* Tweak logs

* The watcher should attempt to re-register on name changes

* Re-register watcher after longer delays

* Improve syntax highlighting (#150)

* Add failing test

* Use extended syntax definitions

* Add failing test

* Allow for comma as an info string delimiter

* Retry watcher test with increased delays (#155)

* Fix-up nested lists (#154)

* Add failing tests

* Handle nesting of lists

* Cleanup list prefix handling

* Dogfood new `smart-debug` crate (#156)

* Dont ignore locked mutex in debug impl (#166)

* fix: add missing `fontdb` feature flag (#169)

This solves an issue with the NixOS build where fonts are required at
runtime for inlyne to start. With the `fontconfig` feature flag inlyne
will use font-config to determine a font.

Partially resolves #164

* Add relevant keywords to `Cargo.toml` (#171)

* Use `human-panic` for a custom panic hook (#172)

* Use `human-panic` for a custom panic hook

* Indicate that the version is a "git release"

* `cargo upgragde`

* Update `two-face`

* `cargo update`

* Update simple dependencies

* Update `smart-debug`

* Update `resvg` & co.

* Update `rust-version` to v1.70.0

* Bump version to v0.3.2

---------

Co-authored-by: Gijs Burghoorn <g.burghoorn@gmail.com>
Co-authored-by: Nico Burns <nico@nicoburns.com>
Co-authored-by: AlphaKeks <85143381+AlphaKeks@users.noreply.github.com>
@CosmicHorrorDev CosmicHorrorDev deleted the improve-syntax-highlighting branch April 6, 2024 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant