This commit is contained in:
2026-04-10 15:06:59 +02:00
parent 3031b7153b
commit e5a4711004
7806 changed files with 1918528 additions and 335 deletions

View File

@@ -0,0 +1,84 @@
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]