summaryrefslogtreecommitdiff
path: root/pygments/styles
diff options
context:
space:
mode:
authorAniket Teredesai <50461557+icy-comet@users.noreply.github.com>2022-07-27 17:54:28 +0530
committerGitHub <noreply@github.com>2022-07-27 14:24:28 +0200
commit4dba17e13412b61b6926a2420e5d0e2511db7f96 (patch)
treebb521f156b6cb0b4198e6ee3ee5e127fb649f65e /pygments/styles
parent670429bdc531542a557d528705b643d4abd16a7c (diff)
downloadpygments-git-4dba17e13412b61b6926a2420e5d0e2511db7f96.tar.gz
Add GitHub's Dark Style (#2192)
Diffstat (limited to 'pygments/styles')
-rw-r--r--pygments/styles/__init__.py1
-rw-r--r--pygments/styles/gh_dark.py107
2 files changed, 108 insertions, 0 deletions
diff --git a/pygments/styles/__init__.py b/pygments/styles/__init__.py
index 95ff03e3..be704b4c 100644
--- a/pygments/styles/__init__.py
+++ b/pygments/styles/__init__.py
@@ -61,6 +61,7 @@ STYLE_MAP = {
'lilypond' : 'lilypond::LilyPondStyle',
'nord': 'nord::NordStyle',
'nord-darker': 'nord::NordDarkerStyle',
+ 'github-dark': 'gh_dark::GhDarkStyle'
}
diff --git a/pygments/styles/gh_dark.py b/pygments/styles/gh_dark.py
new file mode 100644
index 00000000..445a2ded
--- /dev/null
+++ b/pygments/styles/gh_dark.py
@@ -0,0 +1,107 @@
+"""
+ pygments.styles.gh_dark
+ ~~~~~~~~~~~~~~~~~~~~~~~
+
+ Github's Dark-Colorscheme based theme for Pygments
+ Colors extracted from https://github.com/primer/primitives
+
+ :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.style import Style
+from pygments.token import (Keyword, Name, Comment, Error, Number,
+ Operator, Generic, Text, Literal, String, Token)
+
+
+# vars are defined to match the defs in
+# - [GitHub's VS Code theme](https://github.com/primer/github-vscode-theme) and
+# - [Primer styles](https://github.com/primer/primitives)
+RED_2 = "#ffa198"
+RED_3 = "#ff7b72"
+RED_9 = "#490202"
+ORANGE_2 = "#ffa657"
+ORANGE_3 = "#f0883e"
+GREEN_1 = "#7ee787"
+GREEN_2 = "#56d364"
+GREEN_7 = "#0f5323"
+BLUE_1 = "#a5d6ff"
+BLUE_2 = "#79c0ff"
+PURPLE_2 = "#d2a8ff"
+GRAY_3 = "#8b949e"
+GRAY_4 = "#6e7681"
+FG_SUBTLE = "#6e7681"
+FG_DEFAULT = "#c9d1d9"
+BG_DEFAULT = "#0d1117"
+DANGER_FG = "#f85149"
+
+
+class GhDarkStyle(Style):
+ """
+ Github's Dark-Colorscheme based theme for Pygments
+ """
+
+ background_color = BG_DEFAULT
+
+ # has transparency in VS Code theme as `colors.codemirror.activelineBg`
+ highlight_color = GRAY_4
+
+ line_number_special_color = FG_DEFAULT
+ line_number_special_background_color = FG_SUBTLE
+
+ line_number_color = GRAY_4
+ line_number_background_color = BG_DEFAULT
+
+ styles = {
+ Token: FG_DEFAULT,
+
+ Error: DANGER_FG,
+
+ Keyword: RED_3,
+ Keyword.Constant: BLUE_2,
+ Keyword.Pseudo: BLUE_2,
+
+ Name: FG_DEFAULT,
+ Name.Class: "bold "+ORANGE_3,
+ Name.Constant: "bold "+BLUE_2,
+ Name.Decorator: 'bold '+PURPLE_2,
+ Name.Entity: ORANGE_2,
+ Name.Exception: "bold "+ORANGE_3,
+ Name.Function: 'bold '+PURPLE_2,
+ Name.Label: "bold "+BLUE_2,
+ Name.Namespace: RED_3,
+ Name.Property: BLUE_2,
+ Name.Tag: GREEN_1,
+ Name.Variable: BLUE_2,
+
+ Literal: BLUE_1,
+ Literal.Date: BLUE_2,
+ String: BLUE_1,
+ String.Affix: BLUE_2,
+ String.Delimiter: BLUE_2,
+ String.Escape: BLUE_2,
+ String.Heredoc: BLUE_2,
+ String.Regex: BLUE_2,
+ Number: BLUE_1,
+
+ Comment: 'italic '+GRAY_3,
+ Comment.Preproc: "bold " + GRAY_3,
+ Comment.Special: "bold italic " + GRAY_3,
+
+ Operator: 'bold ' + RED_3,
+
+ Generic: FG_DEFAULT,
+ Generic.Deleted: f"bg:{RED_9} {RED_2}",
+ Generic.Emph: "italic",
+ Generic.Error: RED_2,
+ Generic.Heading: "bold "+BLUE_2,
+ Generic.Inserted: f'bg:{GREEN_7} {GREEN_2}',
+ Generic.Output: GRAY_3,
+ Generic.Prompt: GRAY_3,
+ Generic.Strong: "bold",
+ Generic.Subheading: BLUE_2,
+ Generic.Traceback: RED_3,
+ Generic.Underline: "underline",
+
+ Text.Whitespace: FG_SUBTLE,
+ }