124 lines
2.5 KiB
JavaScript
124 lines
2.5 KiB
JavaScript
"use strict";
|
|
function markdown(hljs) {
|
|
return {
|
|
aliases: ["md", "mkdown", "mkd"],
|
|
contains: [
|
|
// highlight headers
|
|
{
|
|
className: "section",
|
|
variants: [
|
|
{ begin: "^#{1,6}", end: "$" },
|
|
{ begin: "^.+?\\n[=-]{2,}$" }
|
|
]
|
|
},
|
|
// inline html
|
|
{
|
|
begin: "<",
|
|
end: ">",
|
|
subLanguage: "xml",
|
|
relevance: 0
|
|
},
|
|
// lists (indicators only)
|
|
{
|
|
className: "bullet",
|
|
begin: "^\\s*([*+-]|(\\d+\\.))\\s+"
|
|
},
|
|
// strong segments
|
|
{
|
|
className: "strong",
|
|
begin: "[*_]{2}.+?[*_]{2}"
|
|
},
|
|
// emphasis segments
|
|
{
|
|
className: "emphasis",
|
|
variants: [
|
|
{ begin: "\\*.+?\\*" },
|
|
{
|
|
begin: "_.+?_",
|
|
relevance: 0
|
|
}
|
|
]
|
|
},
|
|
// blockquotes
|
|
{
|
|
className: "quote",
|
|
begin: "^>\\s+",
|
|
end: "$"
|
|
},
|
|
// code snippets
|
|
{
|
|
className: "code",
|
|
variants: [
|
|
{
|
|
begin: "^```\\w*\\s*$",
|
|
end: "^```[ ]*$"
|
|
},
|
|
{
|
|
begin: "`.+?`"
|
|
},
|
|
{
|
|
begin: "^( {4}|\\t)",
|
|
end: "$",
|
|
relevance: 0
|
|
}
|
|
]
|
|
},
|
|
// horizontal rules
|
|
{
|
|
begin: "^[-\\*]{3,}",
|
|
end: "$"
|
|
},
|
|
// using links - title and link
|
|
{
|
|
begin: "\\[.+?\\][\\(\\[].*?[\\)\\]]",
|
|
returnBegin: true,
|
|
contains: [
|
|
{
|
|
className: "string",
|
|
begin: "\\[",
|
|
end: "\\]",
|
|
excludeBegin: true,
|
|
returnEnd: true,
|
|
relevance: 0
|
|
},
|
|
{
|
|
className: "link",
|
|
begin: "\\]\\(",
|
|
end: "\\)",
|
|
excludeBegin: true,
|
|
excludeEnd: true
|
|
},
|
|
{
|
|
className: "symbol",
|
|
begin: "\\]\\[",
|
|
end: "\\]",
|
|
excludeBegin: true,
|
|
excludeEnd: true
|
|
}
|
|
],
|
|
relevance: 10
|
|
},
|
|
{
|
|
begin: /^\[[^\n]+\]:/,
|
|
returnBegin: true,
|
|
contains: [
|
|
{
|
|
className: "symbol",
|
|
begin: /\[/,
|
|
end: /\]/,
|
|
excludeBegin: true,
|
|
excludeEnd: true
|
|
},
|
|
{
|
|
className: "link",
|
|
begin: /:\s*/,
|
|
end: /$/,
|
|
excludeBegin: true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
};
|
|
}
|
|
exports.markdown = markdown;
|