| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- # Copyright (c) Jupyter Development Team.
- # Distributed under the terms of the Modified BSD License.
- from pygments.style import Style
- from pygments.token import (
- Comment, Error, Generic, Keyword, Literal, Name, Number, Operator, Other,
- Punctuation, String, Text, Whitespace)
- class JupyterStyle(Style):
- """
- A pygments style using JupyterLab CSS variables.
- The goal is to mimick JupyterLab's codemirror theme.
- Known impossibilities:
- - With pygments, the dot in `foo.bar` is considered an Operator (class: 'o'),
- while in codemirror, it is bare text.
- - With pygments, in both `from foo import bar`, and `foo.bar`, "bar" is
- considered a Name (class: 'n'), while in coremirror, the latter is a property.
- Available CSS variables are
- --jp-mirror-editor-keyword-color
- --jp-mirror-editor-atom-color
- --jp-mirror-editor-number-color
- --jp-mirror-editor-def-color
- --jp-mirror-editor-variable-color
- --jp-mirror-editor-variable-2-color
- --jp-mirror-editor-variable-3-color
- --jp-mirror-editor-punctuation-color
- --jp-mirror-editor-property-color
- --jp-mirror-editor-operator-color
- --jp-mirror-editor-comment-color
- --jp-mirror-editor-string-color
- --jp-mirror-editor-string-2-color
- --jp-mirror-editor-meta-color
- --jp-mirror-editor-qualifier-color
- --jp-mirror-editor-builtin-color
- --jp-mirror-editor-bracket-color
- --jp-mirror-editor-tag-color
- --jp-mirror-editor-attribute-color
- --jp-mirror-editor-header-color
- --jp-mirror-editor-quote-color
- --jp-mirror-editor-link-color
- --jp-mirror-editor-error-color
- """
- default_style = ''
- background_color = 'var(--jp-cell-editor-background)'
- highlight_color = 'var(--jp-cell-editor-active-background)'
- styles = {
- Text: 'var(--jp-mirror-editor-variable-color)', # no class
- Whitespace: '', # class: 'w'
- Error: 'var(--jp-mirror-editor-error-color)', # class: 'err'
- Other: '', # class: 'x'
- Comment: 'italic var(--jp-mirror-editor-comment-color)', # class: 'c'
- #Comment.Multiline: '', # class: 'cm'
- #Comment.Preproc: '', # class: 'cp'
- #Comment.Single: '', # class: 'c1'
- #Comment.Special: '', # class: 'cs'
- Keyword: 'bold var(--jp-mirror-editor-keyword-color)', # class: 'k'
- #Keyword.Constant: '', # class: 'kc'
- #Keyword.Declaration: '', # class: 'kd'
- #Keyword.Namespace: '', # class: 'kn'
- #Keyword.Pseudo: '', # class: 'kp'
- #Keyword.Reserved: '', # class: 'kr'
- #Keyword.Type: '', # class: 'kt'
- Operator: 'bold var(--jp-mirror-editor-operator-color)', # class: 'o'
- Operator.Word: '', # class: 'ow'
- Literal: '', # class: 'l'
- Literal.Date: '', # class: 'ld'
- String: 'var(--jp-mirror-editor-string-color)',
- #String.Backtick: '', # class: 'sb'
- #String.Char: '', # class: 'sc'
- #String.Doc: '', # class: 'sd'
- #String.Double: '', # class: 's2'
- #String.Escape: '', # class: 'se'
- #String.Heredoc: '', # class: 'sh'
- #String.Interpol: '', # class: 'si'
- #String.Other: '', # class: 'sx'
- #String.Regex: '', # class: 'sr'
- #String.Single: '', # class: 's1'
- #String.Symbol: '', # class: 'ss'
- Number: 'var(--jp-mirror-editor-number-color)', # class: 'm'
- #Number.Float: '', # class: 'mf'
- #Number.Hex: '', # class: 'mh'
- #Number.Integer: '', # class: 'mi'
- #Number.Integer.Long: '', # class: 'il'
- #Number.Oct: '', # class: 'mo'
- Name: '', # class: 'n'
- #Name.Attribute: '', # class: 'na'
- #Name.Builtin: '', # class: 'nb'
- #Name.Builtin.Pseudo: '', # class: 'bp'
- #Name.Class: '', # class: 'nc'
- #Name.Constant: '', # class: 'no'
- #Name.Decorator: '', # class: 'nd'
- #Name.Entity: '', # class: 'ni'
- #Name.Exception: '', # class: 'ne'
- #Name.Function: '', # class: 'nf'
- #Name.Property: '', # class 'py'
- #Name.Label: '', # class: 'nl'
- #Name.Namespace: '', # class: 'nn'
- #Name.Other: '', # class: 'nx'
- #Name.Tag: '', # class: 'nt'
- #Name.Variable: '', # class: 'nv'
- #Name.Variable.Class: '', # class: 'vc'
- #Name.Variable.Global: '', # class: 'vg'
- #Name.Variable.Instance: '', # class: 'vi'
- Generic: '', # class: 'g'
- #Generic.Deleted: '', # class: 'gd',
- #Generic.Emph: 'italic', # class: 'ge'
- #Generic.Error: '', # class: 'gr'
- #Generic.Heading: '', # class: 'gh'
- #Generic.Inserted: '', # class: 'gi'
- #Generic.Output: '', # class: 'go'
- #Generic.Prompt: '', # class: 'gp'
- #Generic.Strong: '', # class: 'gs'
- #Generic.Subheading: '', # class: 'gu'
- #Generic.Traceback: '', # class: 'gt'
- Punctuation: 'var(--jp-mirror-editor-punctuation-color)' # class: 'p'
- }
|