This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
24
unikernel/duniverse/dune_/doc/exts/cram_lexer.py
Normal file
24
unikernel/duniverse/dune_/doc/exts/cram_lexer.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
from pygments.lexer import DelegatingLexer, RegexLexer, bygroups, default
|
||||
from pygments.lexers.shell import BashLexer
|
||||
from pygments.token import Generic, Other, Comment
|
||||
|
||||
|
||||
class CramBaseLexer(RegexLexer):
|
||||
tokens = {
|
||||
"root": [
|
||||
(r"( \$ )(.*\n)", bygroups(Generic.Prompt, Other.Code), "continuations"),
|
||||
(r"^ .*\n", Generic.Output),
|
||||
(r"^.*\n", Comment.Multiline),
|
||||
],
|
||||
"continuations": [
|
||||
(r"( > )(.*\n)", bygroups(Generic.Prompt, Other.Code)),
|
||||
default("#pop"),
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
class CramLexer(DelegatingLexer):
|
||||
name = "cram"
|
||||
|
||||
def __init__(self, **options):
|
||||
super().__init__(BashLexer, CramBaseLexer, Other.Code, **options)
|
||||
36
unikernel/duniverse/dune_/doc/exts/dune_lexer.py
Normal file
36
unikernel/duniverse/dune_/doc/exts/dune_lexer.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
from pygments.token import Comment, Punctuation, Text, Name, String, Generic
|
||||
from pygments.lexer import RegexLexer
|
||||
|
||||
|
||||
def after_paren(r):
|
||||
return r"(?<=\()(%s)" % r
|
||||
|
||||
|
||||
class DuneLexer(RegexLexer):
|
||||
name = "dune"
|
||||
|
||||
atom = r'[^\s()"]+'
|
||||
|
||||
tokens = {
|
||||
"root": [
|
||||
(r";.*$", Comment.Single),
|
||||
(r"(\(|\))", Punctuation),
|
||||
# pforms (%{var} and %{fun:arg}
|
||||
(r"%{[^}]+}", String.Backtick),
|
||||
(r":[-\w]+", String.Symbol),
|
||||
# placeholders like <arg> and ... that appear in docs
|
||||
(r"<[-\w ]+>", Generic.Emph),
|
||||
(r"\.\.\.", Generic.Emph),
|
||||
(r'"\\\|', String.Double, "string-multiline"),
|
||||
(r'"', String, "string"),
|
||||
# instead of hardcoding "builtin" names,
|
||||
# highlight the first atom in a list differently
|
||||
(after_paren(atom), Name.Function),
|
||||
(atom, Name),
|
||||
(r"\s+", Text),
|
||||
],
|
||||
"string": [
|
||||
(r'(\\\\|\\"|[^"])*"', String, "#pop"),
|
||||
],
|
||||
"string-multiline": [(r"[^\n]*\n", String, "#pop")],
|
||||
}
|
||||
26
unikernel/duniverse/dune_/doc/exts/opam_lexer.py
Normal file
26
unikernel/duniverse/dune_/doc/exts/opam_lexer.py
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
from pygments.lexer import RegexLexer
|
||||
from pygments.token import (
|
||||
Keyword,
|
||||
Number,
|
||||
Punctuation,
|
||||
String,
|
||||
Text,
|
||||
Whitespace,
|
||||
)
|
||||
|
||||
|
||||
ident = r"[-\w]+"
|
||||
|
||||
|
||||
class OpamLexer(RegexLexer):
|
||||
name = "opam"
|
||||
tokens = {
|
||||
"root": [
|
||||
(r"\d\.\d", Number),
|
||||
(r"^" + ident + ":", Keyword),
|
||||
(ident, Text),
|
||||
(r"[\[\]{}>=]", Punctuation),
|
||||
(r"\s+", Whitespace),
|
||||
(r'"[^\"]*"', String),
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue