Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
pygments /
lexers /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2024-11-28 06:27
__init__.py
11
KB
-rw-r--r--
2022-01-06 20:12
_asy_builtins.py
26.65
KB
-rw-r--r--
2022-01-06 20:12
_cl_builtins.py
13.67
KB
-rw-r--r--
2022-01-06 20:12
_cocoa_builtins.py
102.72
KB
-rw-r--r--
2022-01-06 20:12
_csound_builtins.py
17.84
KB
-rw-r--r--
2022-01-06 20:12
_julia_builtins.py
11.6
KB
-rw-r--r--
2022-01-06 20:12
_lasso_builtins.py
131.36
KB
-rw-r--r--
2022-01-06 20:12
_lilypond_builtins.py
101.67
KB
-rw-r--r--
2022-01-06 20:12
_lua_builtins.py
8.08
KB
-rw-r--r--
2022-01-06 20:12
_mapping.py
62.33
KB
-rw-r--r--
2022-01-06 20:12
_mql_builtins.py
24.13
KB
-rw-r--r--
2022-01-06 20:12
_mysql_builtins.py
23.92
KB
-rw-r--r--
2022-01-06 20:12
_openedge_builtins.py
48.24
KB
-rw-r--r--
2022-01-06 20:12
_php_builtins.py
150.72
KB
-rw-r--r--
2022-01-06 20:12
_postgres_builtins.py
11.9
KB
-rw-r--r--
2022-01-06 20:12
_scilab_builtins.py
51.15
KB
-rw-r--r--
2022-01-06 20:12
_sourcemod_builtins.py
26.42
KB
-rw-r--r--
2022-01-06 20:12
_stan_builtins.py
10.21
KB
-rw-r--r--
2022-01-06 20:12
_stata_builtins.py
26.59
KB
-rw-r--r--
2022-01-06 20:12
_tsql_builtins.py
15.1
KB
-rw-r--r--
2022-01-06 20:12
_usd_builtins.py
1.62
KB
-rw-r--r--
2022-01-06 20:12
_vbscript_builtins.py
4.13
KB
-rw-r--r--
2022-01-06 20:12
_vim_builtins.py
55.73
KB
-rw-r--r--
2022-01-06 20:12
actionscript.py
11.31
KB
-rw-r--r--
2022-01-06 20:12
agile.py
876
B
-rw-r--r--
2022-01-06 20:12
algebra.py
7.59
KB
-rw-r--r--
2022-01-06 20:12
ambient.py
2.54
KB
-rw-r--r--
2022-01-06 20:12
amdgpu.py
1.57
KB
-rw-r--r--
2022-01-06 20:12
ampl.py
4.05
KB
-rw-r--r--
2022-01-06 20:12
apdlexer.py
26.04
KB
-rw-r--r--
2022-01-06 20:12
apl.py
3.32
KB
-rw-r--r--
2022-01-06 20:12
archetype.py
11.17
KB
-rw-r--r--
2022-01-06 20:12
arrow.py
3.47
KB
-rw-r--r--
2022-01-06 20:12
asc.py
1.54
KB
-rw-r--r--
2022-01-06 20:12
asm.py
40.19
KB
-rw-r--r--
2022-01-06 20:12
automation.py
19.34
KB
-rw-r--r--
2022-01-06 20:12
bare.py
2.97
KB
-rw-r--r--
2022-01-06 20:12
basic.py
27.22
KB
-rw-r--r--
2022-01-06 20:12
bdd.py
1.59
KB
-rw-r--r--
2022-01-06 20:12
bibtex.py
4.62
KB
-rw-r--r--
2022-01-06 20:12
boa.py
3.87
KB
-rw-r--r--
2022-01-06 20:12
business.py
27.4
KB
-rw-r--r--
2022-01-06 20:12
c_cpp.py
15.67
KB
-rw-r--r--
2022-01-06 20:12
c_like.py
28.45
KB
-rw-r--r--
2022-01-06 20:12
capnproto.py
2.17
KB
-rw-r--r--
2022-01-06 20:12
cddl.py
5.2
KB
-rw-r--r--
2022-01-06 20:12
chapel.py
4.89
KB
-rw-r--r--
2022-01-06 20:12
clean.py
6.24
KB
-rw-r--r--
2022-01-06 20:12
compiled.py
1.33
KB
-rw-r--r--
2022-01-06 20:12
configs.py
39.49
KB
-rw-r--r--
2022-01-06 20:12
console.py
4.05
KB
-rw-r--r--
2022-01-06 20:12
crystal.py
15.41
KB
-rw-r--r--
2022-01-06 20:12
csound.py
16.56
KB
-rw-r--r--
2022-01-06 20:12
css.py
31.15
KB
-rw-r--r--
2022-01-06 20:12
d.py
9.61
KB
-rw-r--r--
2022-01-06 20:12
dalvik.py
4.47
KB
-rw-r--r--
2022-01-06 20:12
data.py
23.96
KB
-rw-r--r--
2022-01-06 20:12
devicetree.py
3.92
KB
-rw-r--r--
2022-01-06 20:12
diff.py
5.04
KB
-rw-r--r--
2022-01-06 20:12
dotnet.py
28.47
KB
-rw-r--r--
2022-01-06 20:12
dsls.py
35.45
KB
-rw-r--r--
2022-01-06 20:12
dylan.py
10.16
KB
-rw-r--r--
2022-01-06 20:12
ecl.py
6.09
KB
-rw-r--r--
2022-01-06 20:12
eiffel.py
2.6
KB
-rw-r--r--
2022-01-06 20:12
elm.py
3.08
KB
-rw-r--r--
2022-01-06 20:12
elpi.py
5.83
KB
-rw-r--r--
2022-01-06 20:12
email.py
4.97
KB
-rw-r--r--
2022-01-06 20:12
erlang.py
18.76
KB
-rw-r--r--
2022-01-06 20:12
esoteric.py
10.17
KB
-rw-r--r--
2022-01-06 20:12
ezhil.py
3.27
KB
-rw-r--r--
2022-01-06 20:12
factor.py
19.12
KB
-rw-r--r--
2022-01-06 20:12
fantom.py
9.96
KB
-rw-r--r--
2022-01-06 20:12
felix.py
9.41
KB
-rw-r--r--
2022-01-06 20:12
floscript.py
2.6
KB
-rw-r--r--
2022-01-06 20:12
forth.py
6.99
KB
-rw-r--r--
2022-01-06 20:12
fortran.py
10.07
KB
-rw-r--r--
2022-01-06 20:12
foxpro.py
25.6
KB
-rw-r--r--
2022-01-06 20:12
freefem.py
26.43
KB
-rw-r--r--
2022-01-06 20:12
functional.py
674
B
-rw-r--r--
2022-01-06 20:12
futhark.py
3.64
KB
-rw-r--r--
2022-01-06 20:12
gcodelexer.py
826
B
-rw-r--r--
2022-01-06 20:12
gdscript.py
10.94
KB
-rw-r--r--
2022-01-06 20:12
go.py
3.65
KB
-rw-r--r--
2022-01-06 20:12
grammar_notation.py
7.83
KB
-rw-r--r--
2022-01-06 20:12
graph.py
3.77
KB
-rw-r--r--
2022-01-06 20:12
graphics.py
38.15
KB
-rw-r--r--
2022-01-06 20:12
graphviz.py
1.83
KB
-rw-r--r--
2022-01-06 20:12
gsql.py
3.68
KB
-rw-r--r--
2022-01-06 20:12
haskell.py
31.98
KB
-rw-r--r--
2022-01-06 20:12
haxe.py
30.21
KB
-rw-r--r--
2022-01-06 20:12
hdl.py
21.99
KB
-rw-r--r--
2022-01-06 20:12
hexdump.py
3.52
KB
-rw-r--r--
2022-01-06 20:12
html.py
19.34
KB
-rw-r--r--
2022-01-06 20:12
idl.py
14.87
KB
-rw-r--r--
2022-01-06 20:12
igor.py
29.87
KB
-rw-r--r--
2022-01-06 20:12
inferno.py
3.02
KB
-rw-r--r--
2022-01-06 20:12
installers.py
12.8
KB
-rw-r--r--
2022-01-06 20:12
int_fiction.py
55.32
KB
-rw-r--r--
2022-01-06 20:12
iolang.py
1.84
KB
-rw-r--r--
2022-01-06 20:12
j.py
4.4
KB
-rw-r--r--
2022-01-06 20:12
javascript.py
58.67
KB
-rw-r--r--
2022-01-06 20:12
jslt.py
3.61
KB
-rw-r--r--
2022-01-06 20:12
julia.py
11
KB
-rw-r--r--
2022-01-06 20:12
jvm.py
70.05
KB
-rw-r--r--
2022-01-06 20:12
kuin.py
10.5
KB
-rw-r--r--
2022-01-06 20:12
lilypond.py
8.26
KB
-rw-r--r--
2022-01-06 20:12
lisp.py
139.4
KB
-rw-r--r--
2022-01-06 20:12
make.py
7.26
KB
-rw-r--r--
2022-01-06 20:12
markup.py
26.11
KB
-rw-r--r--
2022-01-06 20:12
math.py
676
B
-rw-r--r--
2022-01-06 20:12
matlab.py
129.3
KB
-rw-r--r--
2022-01-06 20:12
maxima.py
2.65
KB
-rw-r--r--
2022-01-06 20:12
meson.py
4.33
KB
-rw-r--r--
2022-01-06 20:12
mime.py
7.36
KB
-rw-r--r--
2022-01-06 20:12
ml.py
34.47
KB
-rw-r--r--
2022-01-06 20:12
modeling.py
13.07
KB
-rw-r--r--
2022-01-06 20:12
modula2.py
51.82
KB
-rw-r--r--
2022-01-06 20:12
monte.py
6.14
KB
-rw-r--r--
2022-01-06 20:12
mosel.py
8.97
KB
-rw-r--r--
2022-01-06 20:12
ncl.py
62.46
KB
-rw-r--r--
2022-01-06 20:12
nimrod.py
5
KB
-rw-r--r--
2022-01-06 20:12
nit.py
2.66
KB
-rw-r--r--
2022-01-06 20:12
nix.py
3.91
KB
-rw-r--r--
2022-01-06 20:12
oberon.py
4.11
KB
-rw-r--r--
2022-01-06 20:12
objective.py
22.26
KB
-rw-r--r--
2022-01-06 20:12
ooc.py
2.91
KB
-rw-r--r--
2022-01-06 20:12
other.py
1.7
KB
-rw-r--r--
2022-01-06 20:12
parasail.py
2.65
KB
-rw-r--r--
2022-01-06 20:12
parsers.py
25.27
KB
-rw-r--r--
2022-01-06 20:12
pascal.py
31.84
KB
-rw-r--r--
2022-01-06 20:12
pawn.py
7.96
KB
-rw-r--r--
2022-01-06 20:12
perl.py
38.16
KB
-rw-r--r--
2022-01-06 20:12
php.py
12.25
KB
-rw-r--r--
2022-01-06 20:12
pointless.py
1.92
KB
-rw-r--r--
2022-01-06 20:12
pony.py
3.17
KB
-rw-r--r--
2022-01-06 20:12
praat.py
11.99
KB
-rw-r--r--
2022-01-06 20:12
procfile.py
1.19
KB
-rw-r--r--
2022-01-06 20:12
prolog.py
12.09
KB
-rw-r--r--
2022-01-06 20:12
promql.py
4.63
KB
-rw-r--r--
2022-01-06 20:12
python.py
51.49
KB
-rw-r--r--
2022-01-06 20:12
qvt.py
5.93
KB
-rw-r--r--
2022-01-06 20:12
r.py
6.02
KB
-rw-r--r--
2022-01-06 20:12
rdf.py
15.42
KB
-rw-r--r--
2022-01-06 20:12
rebol.py
18.16
KB
-rw-r--r--
2022-01-06 20:12
resource.py
2.83
KB
-rw-r--r--
2022-01-06 20:12
ride.py
4.93
KB
-rw-r--r--
2022-01-06 20:12
rita.py
1.16
KB
-rw-r--r--
2022-01-06 20:12
rnc.py
1.92
KB
-rw-r--r--
2022-01-06 20:12
roboconf.py
2
KB
-rw-r--r--
2022-01-06 20:12
robotframework.py
17.99
KB
-rw-r--r--
2022-01-06 20:12
ruby.py
22.14
KB
-rw-r--r--
2022-01-06 20:12
rust.py
7.99
KB
-rw-r--r--
2022-01-06 20:12
sas.py
9.2
KB
-rw-r--r--
2022-01-06 20:12
savi.py
4.24
KB
-rw-r--r--
2022-01-06 20:12
scdoc.py
2.19
KB
-rw-r--r--
2022-01-06 20:12
scripting.py
68.41
KB
-rw-r--r--
2022-01-06 20:12
sgf.py
2
KB
-rw-r--r--
2022-01-06 20:12
shell.py
35.06
KB
-rw-r--r--
2022-01-06 20:12
sieve.py
2.24
KB
-rw-r--r--
2022-01-06 20:12
slash.py
8.28
KB
-rw-r--r--
2022-01-06 20:12
smalltalk.py
7.02
KB
-rw-r--r--
2022-01-06 20:12
smithy.py
2.6
KB
-rw-r--r--
2024-11-22 22:44
smv.py
2.71
KB
-rw-r--r--
2022-01-06 20:12
snobol.py
2.67
KB
-rw-r--r--
2022-01-06 20:12
solidity.py
3.1
KB
-rw-r--r--
2022-01-06 20:12
sophia.py
3.29
KB
-rw-r--r--
2022-01-06 20:12
special.py
3.37
KB
-rw-r--r--
2022-01-06 20:12
spice.py
2.06
KB
-rw-r--r--
2022-01-06 20:12
sql.py
33.42
KB
-rw-r--r--
2022-01-06 20:12
srcinfo.py
1.63
KB
-rw-r--r--
2022-01-06 20:12
stata.py
6.26
KB
-rw-r--r--
2022-01-06 20:12
supercollider.py
3.61
KB
-rw-r--r--
2022-01-06 20:12
tcl.py
5.27
KB
-rw-r--r--
2022-01-06 20:12
teal.py
3.41
KB
-rw-r--r--
2022-01-06 20:12
templates.py
69.96
KB
-rw-r--r--
2022-01-06 20:12
teraterm.py
9.65
KB
-rw-r--r--
2022-01-06 20:12
testing.py
10.52
KB
-rw-r--r--
2022-01-06 20:12
text.py
1006
B
-rw-r--r--
2022-01-06 20:12
textedit.py
7.44
KB
-rw-r--r--
2022-01-06 20:12
textfmts.py
14.8
KB
-rw-r--r--
2022-01-06 20:12
theorem.py
19.15
KB
-rw-r--r--
2022-01-06 20:12
thingsdb.py
4.13
KB
-rw-r--r--
2022-01-06 20:12
tnt.py
10.27
KB
-rw-r--r--
2022-01-06 20:12
trafficscript.py
1.48
KB
-rw-r--r--
2022-01-06 20:12
typoscript.py
8.01
KB
-rw-r--r--
2022-01-06 20:12
unicon.py
18.08
KB
-rw-r--r--
2022-01-06 20:12
urbi.py
5.9
KB
-rw-r--r--
2022-01-06 20:12
usd.py
3.37
KB
-rw-r--r--
2022-01-06 20:12
varnish.py
7.07
KB
-rw-r--r--
2022-01-06 20:12
verification.py
3.82
KB
-rw-r--r--
2022-01-06 20:12
web.py
894
B
-rw-r--r--
2022-01-06 20:12
webassembly.py
5.56
KB
-rw-r--r--
2022-01-06 20:12
webidl.py
10.23
KB
-rw-r--r--
2022-01-06 20:12
webmisc.py
39.07
KB
-rw-r--r--
2022-01-06 20:12
whiley.py
3.89
KB
-rw-r--r--
2022-01-06 20:12
x10.py
1.84
KB
-rw-r--r--
2022-01-06 20:12
xorg.py
865
B
-rw-r--r--
2022-01-06 20:12
yang.py
4.42
KB
-rw-r--r--
2022-01-06 20:12
zig.py
3.85
KB
-rw-r--r--
2022-01-06 20:12
Save
Rename
""" pygments.lexers.dylan ~~~~~~~~~~~~~~~~~~~~~ Lexers for the Dylan language. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from pygments.lexer import Lexer, RegexLexer, bygroups, do_insertions, default from pygments.token import Text, Comment, Operator, Keyword, Name, String, \ Number, Punctuation, Generic, Literal, Whitespace __all__ = ['DylanLexer', 'DylanConsoleLexer', 'DylanLidLexer'] class DylanLexer(RegexLexer): """ For the `Dylan <http://www.opendylan.org/>`_ language. .. versionadded:: 0.7 """ name = 'Dylan' aliases = ['dylan'] filenames = ['*.dylan', '*.dyl', '*.intr'] mimetypes = ['text/x-dylan'] flags = re.IGNORECASE builtins = { 'subclass', 'abstract', 'block', 'concrete', 'constant', 'class', 'compiler-open', 'compiler-sideways', 'domain', 'dynamic', 'each-subclass', 'exception', 'exclude', 'function', 'generic', 'handler', 'inherited', 'inline', 'inline-only', 'instance', 'interface', 'import', 'keyword', 'library', 'macro', 'method', 'module', 'open', 'primary', 'required', 'sealed', 'sideways', 'singleton', 'slot', 'thread', 'variable', 'virtual'} keywords = { 'above', 'afterwards', 'begin', 'below', 'by', 'case', 'cleanup', 'create', 'define', 'else', 'elseif', 'end', 'export', 'finally', 'for', 'from', 'if', 'in', 'let', 'local', 'otherwise', 'rename', 'select', 'signal', 'then', 'to', 'unless', 'until', 'use', 'when', 'while'} operators = { '~', '+', '-', '*', '|', '^', '=', '==', '~=', '~==', '<', '<=', '>', '>=', '&', '|'} functions = { 'abort', 'abs', 'add', 'add!', 'add-method', 'add-new', 'add-new!', 'all-superclasses', 'always', 'any?', 'applicable-method?', 'apply', 'aref', 'aref-setter', 'as', 'as-lowercase', 'as-lowercase!', 'as-uppercase', 'as-uppercase!', 'ash', 'backward-iteration-protocol', 'break', 'ceiling', 'ceiling/', 'cerror', 'check-type', 'choose', 'choose-by', 'complement', 'compose', 'concatenate', 'concatenate-as', 'condition-format-arguments', 'condition-format-string', 'conjoin', 'copy-sequence', 'curry', 'default-handler', 'dimension', 'dimensions', 'direct-subclasses', 'direct-superclasses', 'disjoin', 'do', 'do-handlers', 'element', 'element-setter', 'empty?', 'error', 'even?', 'every?', 'false-or', 'fill!', 'find-key', 'find-method', 'first', 'first-setter', 'floor', 'floor/', 'forward-iteration-protocol', 'function-arguments', 'function-return-values', 'function-specializers', 'gcd', 'generic-function-mandatory-keywords', 'generic-function-methods', 'head', 'head-setter', 'identity', 'initialize', 'instance?', 'integral?', 'intersection', 'key-sequence', 'key-test', 'last', 'last-setter', 'lcm', 'limited', 'list', 'logand', 'logbit?', 'logior', 'lognot', 'logxor', 'make', 'map', 'map-as', 'map-into', 'max', 'member?', 'merge-hash-codes', 'min', 'modulo', 'negative', 'negative?', 'next-method', 'object-class', 'object-hash', 'odd?', 'one-of', 'pair', 'pop', 'pop-last', 'positive?', 'push', 'push-last', 'range', 'rank', 'rcurry', 'reduce', 'reduce1', 'remainder', 'remove', 'remove!', 'remove-duplicates', 'remove-duplicates!', 'remove-key!', 'remove-method', 'replace-elements!', 'replace-subsequence!', 'restart-query', 'return-allowed?', 'return-description', 'return-query', 'reverse', 'reverse!', 'round', 'round/', 'row-major-index', 'second', 'second-setter', 'shallow-copy', 'signal', 'singleton', 'size', 'size-setter', 'slot-initialized?', 'sort', 'sort!', 'sorted-applicable-methods', 'subsequence-position', 'subtype?', 'table-protocol', 'tail', 'tail-setter', 'third', 'third-setter', 'truncate', 'truncate/', 'type-error-expected-type', 'type-error-value', 'type-for-copy', 'type-union', 'union', 'values', 'vector', 'zero?'} valid_name = '\\\\?[\\w!&*<>|^$%@\\-+~?/=]+' def get_tokens_unprocessed(self, text): for index, token, value in RegexLexer.get_tokens_unprocessed(self, text): if token is Name: lowercase_value = value.lower() if lowercase_value in self.builtins: yield index, Name.Builtin, value continue if lowercase_value in self.keywords: yield index, Keyword, value continue if lowercase_value in self.functions: yield index, Name.Builtin, value continue if lowercase_value in self.operators: yield index, Operator, value continue yield index, token, value tokens = { 'root': [ # Whitespace (r'\s+', Whitespace), # single line comment (r'//.*?\n', Comment.Single), # lid header (r'([a-z0-9-]+)(:)([ \t]*)(.*(?:\n[ \t].+)*)', bygroups(Name.Attribute, Operator, Whitespace, String)), default('code') # no header match, switch to code ], 'code': [ # Whitespace (r'\s+', Whitespace), # single line comment (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)), # multi-line comment (r'/\*', Comment.Multiline, 'comment'), # strings and characters (r'"', String, 'string'), (r"'(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\\'\n])'", String.Char), # binary integer (r'#b[01]+', Number.Bin), # octal integer (r'#o[0-7]+', Number.Oct), # floating point (r'[-+]?(\d*\.\d+(e[-+]?\d+)?|\d+(\.\d*)?e[-+]?\d+)', Number.Float), # decimal integer (r'[-+]?\d+', Number.Integer), # hex integer (r'#x[0-9a-f]+', Number.Hex), # Macro parameters (r'(\?' + valid_name + ')(:)' r'(token|name|variable|expression|body|case-body|\*)', bygroups(Name.Tag, Operator, Name.Builtin)), (r'(\?)(:)(token|name|variable|expression|body|case-body|\*)', bygroups(Name.Tag, Operator, Name.Builtin)), (r'\?' + valid_name, Name.Tag), # Punctuation (r'(=>|::|#\(|#\[|##|\?\?|\?=|\?|[(){}\[\],.;])', Punctuation), # Most operators are picked up as names and then re-flagged. # This one isn't valid in a name though, so we pick it up now. (r':=', Operator), # Pick up #t / #f before we match other stuff with #. (r'#[tf]', Literal), # #"foo" style keywords (r'#"', String.Symbol, 'keyword'), # #rest, #key, #all-keys, etc. (r'#[a-z0-9-]+', Keyword), # required-init-keyword: style keywords. (valid_name + ':', Keyword), # class names ('<' + valid_name + '>', Name.Class), # define variable forms. (r'\*' + valid_name + r'\*', Name.Variable.Global), # define constant forms. (r'\$' + valid_name, Name.Constant), # everything else. We re-flag some of these in the method above. (valid_name, Name), ], 'comment': [ (r'[^*/]+', Comment.Multiline), (r'/\*', Comment.Multiline, '#push'), (r'\*/', Comment.Multiline, '#pop'), (r'[*/]', Comment.Multiline) ], 'keyword': [ (r'"', String.Symbol, '#pop'), (r'[^\\"]+', String.Symbol), # all other characters ], 'string': [ (r'"', String, '#pop'), (r'\\([\\abfnrtv"\']|x[a-f0-9]{2,4}|[0-7]{1,3})', String.Escape), (r'[^\\"\n]+', String), # all other characters (r'\\\n', String), # line continuation (r'\\', String), # stray backslash ] } class DylanLidLexer(RegexLexer): """ For Dylan LID (Library Interchange Definition) files. .. versionadded:: 1.6 """ name = 'DylanLID' aliases = ['dylan-lid', 'lid'] filenames = ['*.lid', '*.hdp'] mimetypes = ['text/x-dylan-lid'] flags = re.IGNORECASE tokens = { 'root': [ # Whitespace (r'\s+', Whitespace), # single line comment (r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)), # lid header (r'(.*?)(:)([ \t]*)(.*(?:\n[ \t].+)*)', bygroups(Name.Attribute, Operator, Whitespace, String)), ] } class DylanConsoleLexer(Lexer): """ For Dylan interactive console output like: .. sourcecode:: dylan-console ? let a = 1; => 1 ? a => 1 This is based on a copy of the RubyConsoleLexer. .. versionadded:: 1.6 """ name = 'Dylan session' aliases = ['dylan-console', 'dylan-repl'] filenames = ['*.dylan-console'] mimetypes = ['text/x-dylan-console'] _line_re = re.compile('.*?\n') _prompt_re = re.compile(r'\?| ') def get_tokens_unprocessed(self, text): dylexer = DylanLexer(**self.options) curcode = '' insertions = [] for match in self._line_re.finditer(text): line = match.group() m = self._prompt_re.match(line) if m is not None: end = m.end() insertions.append((len(curcode), [(0, Generic.Prompt, line[:end])])) curcode += line[end:] else: if curcode: yield from do_insertions(insertions, dylexer.get_tokens_unprocessed(curcode)) curcode = '' insertions = [] yield match.start(), Generic.Output, line if curcode: yield from do_insertions(insertions, dylexer.get_tokens_unprocessed(curcode))