{"id":15411662,"url":"https://github.com/dirkster99/avalonedithighlightingthemes","last_synced_at":"2025-10-06T00:04:39.729Z","repository":{"id":40763615,"uuid":"191795819","full_name":"Dirkster99/AvalonEditHighlightingThemes","owner":"Dirkster99","description":"Implements a sample implementation for using Highlightings with different (Light/Dark) WPF themes","archived":false,"fork":false,"pushed_at":"2020-05-24T16:47:35.000Z","size":2294,"stargazers_count":59,"open_issues_count":2,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-06T00:03:46.478Z","etag":null,"topics":["avalonedit","dark-theme","highlighting","light-theme"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dirkster99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-13T16:15:09.000Z","updated_at":"2025-08-20T19:14:03.000Z","dependencies_parsed_at":"2022-07-09T11:00:22.355Z","dependency_job_id":null,"html_url":"https://github.com/Dirkster99/AvalonEditHighlightingThemes","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Dirkster99/AvalonEditHighlightingThemes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dirkster99%2FAvalonEditHighlightingThemes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dirkster99%2FAvalonEditHighlightingThemes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dirkster99%2FAvalonEditHighlightingThemes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dirkster99%2FAvalonEditHighlightingThemes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dirkster99","download_url":"https://codeload.github.com/Dirkster99/AvalonEditHighlightingThemes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dirkster99%2FAvalonEditHighlightingThemes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278537774,"owners_count":26003250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avalonedit","dark-theme","highlighting","light-theme"],"created_at":"2024-10-01T16:49:49.626Z","updated_at":"2025-10-06T00:04:39.712Z","avatar_url":"https://github.com/Dirkster99.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status](https://ci.appveyor.com/api/projects/status/s19eint5cqhjxh5h/branch/master?svg=true)](https://ci.appveyor.com/project/Dirkster99/avalonedithighlightingthemes/branch/master) [![Release](https://img.shields.io/github/release/Dirkster99/AvalonEditHighlightingThemes.svg)](https://github.com/Dirkster99/AvalonEditHighlightingThemes/releases/latest) [![NuGet](https://img.shields.io/nuget/dt/Dirkster.HL.svg)](http://nuget.org/packages/Dirkster.HL)\n\n![Net4](https://badgen.net/badge/Framework/.Net\u0026nbsp;4/blue) ![NetCore3](https://badgen.net/badge/Framework/NetCore\u0026nbsp;3/blue)\n\n# AvalonEditHighlightingThemes\nImplements a sample implementation for using Highlightings with different (Light/Dark) WPF themes\n\n# ThemedHighlightingManager for AvalonEdit\n\nThis [AvalonEdit](https://github.com/icsharpcode/AvalonEdit) extension implements its own highlighting manager that extends the classic way of handling highlighting definitions (see also [Dirkster99/AvalonEdit-Samples](https://github.com/Dirkster99/AvalonEdit-Samples)).\n\nThe inital release contains 5 highlighting themes:\n- Dark\n- Light\n- True Blue-Light\n- True Blue-Dark\n- VS 2019-Dark\n\nbut you can easily define more themes. Just create a pull request with the [XSHTD file](https://github.com/Dirkster99/AvalonEditHighlightingThemes/tree/master/source/HL/Resources/Themes) at this site.\n\nThe standard highlighting in AvalonEdit is dependent on the currently viewed type\nof text (eg C# or SQL), but a highlighting definition designed for a **Light** WPF theme may look [ugly](https://github.com/Dirkster99/AvalonEditHighlightingThemes/wiki/Highlighting-without-a-Theme) if viewed with a **Dark**\nWPF theme, and vice versa. This is why the **ThemedHighlightingManager** extension associates each highlighting definition\nwith:\n\n- A WPF Theme (Light, Dark) and\n- A type of text (C#, SQL etc)\n\nThis approach is very similar to the implementation in [Notepad++](https://github.com/notepad-plus-plus/notepad-plus-plus) except Notepad++ uses a plain [xml file](https://lonewolfonline.net/notepad-colour-schemes/) to configure a highlighting theme whereas the **ThemedHighlightingManager** uses an [XSHTD file](https://github.com/Dirkster99/AvalonEditHighlightingThemes/tree/master/source/HL/Resources/Themes) to do the same. But at the end of the day, its XML in both projects, and cloning a highlighting theme from Notepad++ is almost too easy (thats how similar both implementations are).\n\nAssuming that an application already use a WPF theming/management library, such as:\n- [MahApps.Metro](https://github.com/MahApps/MahApps.Metro),\n- [MLib](https://github.com/Dirkster99/MLib), or\n- [MUI](https://github.com/firstfloorsoftware/mui)\n\nenables an applications author to switch highlighting definitions to a matching color palette whenever the user\nswitches a given WPF theme. See [AvalonEdit-Samples](https://github.com/Dirkster99/AvalonEdit-Samples)\nand [Ähnlich](https://github.com/Dirkster99/Aehnlich) for detailed sample implementations.\n\n# Themes\n![](screenshots/Themes.png)\n\n## True Blue Light Theme\n![](screenshots/TrueBlue_Light.png)\n\n## VS 2019 Dark\n![](screenshots/VS2019_Dark.png)\n\n## Dark Theme\n![](screenshots/Dark.png)\n\n## Light Theme\n![](screenshots/Light.png)\n\n## True Blue Dark Theme\n![](screenshots/TrueBlue_Dark.png)\n\n# Concept\n## WPF Theme\n\nA WPF theme is a way of styling and theming WPF controls. This is usually implemented in a seperate library, such as:\n- [MahApps.Metro](https://github.com/MahApps/MahApps.Metro),\n- [MLib](https://github.com/Dirkster99/MLib), or\n- [MUI](https://github.com/firstfloorsoftware/mui)\n\nand takes advantage of WPFs way of defining and using themes ('Dark', 'Light', 'True Blue'...) with XAML resources etc.\n\n## Generic Highlighting Theme\n\nA Generic highlighting theme is a classic collection of AvalonEdit V2 highlighting definitions\n(collection of xshd files). In this project, there is only one such theme, the **'Light'** highlighting\ntheme. This theme is defined in a classic collection of xshd resource files at \n[HL.Resources.Light](https://github.com/Dirkster99/AvalonEditHighlightingThemes/tree/master/source/HL/Resources/Light).\n\n## Derived Highlighting Theme\n\nA derived highlighting theme is a highlighting theme that makes use of a\n[Generic Highlighting Theme](#Generic-Highlighting-Theme) and overwrites\nformattings defined in named colors by incorporating an additional xsh**t**d file.\n\nThis approach re-uses the highlighting patterns of the generic theme but applies\ndifferent colors and formattings to better support:\n\n- different background colors of different WPF themes or\n- different taste towards different color schemes by different users\n\nThis project has multiple derived highlighting themes\n\n- 'Dark'\n- 'True Blue'\n- 'VS 2019 Dark'\n\nwhich are based on the highlighting patterns of the 'Light' generic highlighting theme.\n\n## Data Design - Extension with Themable Highlighting\n\n![](screenshots/HighlightingManagerV2.png)\n\n## Data Design - Classic Highlighting Manager V6.01\n\n![](screenshots/ClassicHighlighting.png)\n\n## Other AvalonEdit Demo Projects:\n\nMore demo projects may be listed at the [AvalonEdit's Wiki page](https://github.com/icsharpcode/AvalonEdit/wiki/Samples-and-Articles)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirkster99%2Favalonedithighlightingthemes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdirkster99%2Favalonedithighlightingthemes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirkster99%2Favalonedithighlightingthemes/lists"}