ai-content-maker/.venv/Lib/site-packages/numba/misc/dump_style.py

85 lines
2.2 KiB
Python
Raw Normal View History

2024-05-03 04:18:51 +03:00
try:
from pygments.styles.default import DefaultStyle
except ImportError:
msg = "Please install pygments to see highlighted dumps"
raise ImportError(msg)
import numba.core.config
from pygments.styles.manni import ManniStyle
from pygments.styles.monokai import MonokaiStyle
from pygments.styles.native import NativeStyle
from pygments.lexer import RegexLexer, include, bygroups, words
from pygments.token import Text, Name, String, Punctuation, Keyword, \
Operator, Number
from pygments.style import Style
class NumbaIRLexer(RegexLexer):
"""
Pygments style lexer for Numba IR (for use with highlighting etc).
"""
name = 'Numba_IR'
aliases = ['numba_ir']
filenames = ['*.numba_ir']
identifier = r'\$[a-zA-Z0-9._]+'
fun_or_var = r'([a-zA-Z_]+[a-zA-Z0-9]*)'
tokens = {
'root' : [
(r'(label)(\ [0-9]+)(:)$',
bygroups(Keyword, Name.Label, Punctuation)),
(r' = ', Operator),
include('whitespace'),
include('keyword'),
(identifier, Name.Variable),
(fun_or_var + r'(\()',
bygroups(Name.Function, Punctuation)),
(fun_or_var + r'(\=)',
bygroups(Name.Attribute, Punctuation)),
(fun_or_var, Name.Constant),
(r'[0-9]+', Number),
# <built-in function some>
(r'<[^>\n]*>', String),
(r'[=<>{}\[\]()*.,!\':]|x\b', Punctuation)
],
'keyword':[
(words((
'del', 'jump', 'call', 'branch',
), suffix=' '), Keyword),
],
'whitespace': [
(r'(\n|\s)', Text),
],
}
def by_colorscheme():
"""
Get appropriate style for highlighting according to
NUMBA_COLOR_SCHEME setting
"""
styles = DefaultStyle.styles.copy()
styles.update({
Name.Variable: "#888888",
})
custom_default = type('CustomDefaultStyle', (Style, ), {'styles': styles})
style_map = {
'no_color' : custom_default,
'dark_bg' : MonokaiStyle,
'light_bg' : ManniStyle,
'blue_bg' : NativeStyle,
'jupyter_nb' : DefaultStyle,
}
return style_map[numba.core.config.COLOR_SCHEME]