ometa-highlighter
Version:
Code highlighter based on Ometa/JS (little inspired by Pygments)
501 lines (500 loc) • 15.5 kB
JavaScript
{
"block": "ohl",
"mods": {
"lang": "xml"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-comment ohl-comment-preproc"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<?"
]
},
"xml version="1.0" encoding="utf-8"",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"?>"
]
}
]
},
"\n",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<"
]
},
"root",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
">"
]
}
]
},
"\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<"
]
},
"grass",
" ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-attribute"
},
"content": [
"type",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"="
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-string ohl-string-double"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
},
"nice",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
}
]
}
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"/>"
]
}
]
},
"\n\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<"
]
},
"tree",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
">"
]
}
]
},
"\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<"
]
},
"leaf",
" ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-attribute"
},
"content": [
"id",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"="
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-string ohl-string-double"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
},
"1",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
}
]
}
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"/>"
]
}
]
},
"\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<"
]
},
"branch",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
">"
]
}
]
},
"\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<"
]
},
"leaf",
" ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-attribute"
},
"content": [
"id",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"="
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-string ohl-string-double"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
},
"2",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
}
]
}
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"/>"
]
}
]
},
"\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"<"
]
},
"leaf",
" ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-attribute"
},
"content": [
"id",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"="
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-string ohl-string-double"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
},
"3",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"""
]
}
]
}
]
},
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"/>"
]
}
]
},
"\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"</"
]
},
"branch",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
">"
]
}
]
},
"\n ",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"</"
]
},
"tree",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
">"
]
}
]
},
"\n",
{
"tag": "span",
"attrs": {
"class": "ohl-name ohl-name-tag"
},
"content": [
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
"</"
]
},
"root",
{
"tag": "span",
"attrs": {
"class": "ohl-punctuation"
},
"content": [
">"
]
}
]
},
"\n"
]
}