securityos/node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.js

166 lines
5.2 KiB
JavaScript
Raw Permalink Normal View History

2024-09-06 15:32:35 +00:00
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/
// src/basic-languages/restructuredtext/restructuredtext.ts
var conf = {
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">", notIn: ["string"] }
],
surroundingPairs: [
{ open: "(", close: ")" },
{ open: "[", close: "]" },
{ open: "`", close: "`" }
],
folding: {
markers: {
start: new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),
end: new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")
}
}
};
var language = {
defaultToken: "",
tokenPostfix: ".rst",
control: /[\\`*_\[\]{}()#+\-\.!]/,
escapes: /\\(?:@control)/,
empty: [
"area",
"base",
"basefont",
"br",
"col",
"frame",
"hr",
"img",
"input",
"isindex",
"link",
"meta",
"param"
],
alphanumerics: /[A-Za-z0-9]/,
simpleRefNameWithoutBq: /(?:@alphanumerics[-_+:.]*@alphanumerics)+|(?:@alphanumerics+)/,
simpleRefName: /(?:`@phrase`|@simpleRefNameWithoutBq)/,
phrase: /@simpleRefNameWithoutBq(?:\s@simpleRefNameWithoutBq)*/,
citationName: /[A-Za-z][A-Za-z0-9-_.]*/,
blockLiteralStart: /(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,
precedingChars: /(?:[ -:/'"<([{])/,
followingChars: /(?:[ -.,:;!?/'")\]}>]|$)/,
punctuation: /(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,
tokenizer: {
root: [
[/^(@punctuation{3,}$){1,1}?/, "keyword"],
[/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/, "keyword"],
[/([ ]::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
[/(::)\s*$/, "keyword", "@blankLineOfLiteralBlocks"],
{ include: "@tables" },
{ include: "@explicitMarkupBlocks" },
{ include: "@inlineMarkup" }
],
explicitMarkupBlocks: [
{ include: "@citations" },
{ include: "@footnotes" },
[
/^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,
[{ token: "", next: "subsequentLines" }, "keyword", "", ""]
],
[
/^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,
[{ token: "", next: "hyperlinks" }, "", "", "string.link", "", "", "string.link"]
],
[
/^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,
[{ token: "", next: "subsequentLines" }, "", "", "", "string.link"]
],
[/^(__\s+)(.+)/, ["", "string.link"]],
[
/^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,
[{ token: "", next: "subsequentLines" }, "", "string.link", "", "keyword", ""],
"@rawBlocks"
],
[/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/, ["", "string.link", ""]],
[/^(\.\.)([ ].*)$/, [{ token: "", next: "@comments" }, "comment"]]
],
inlineMarkup: [
{ include: "@citationsReference" },
{ include: "@footnotesReference" },
[/(@simpleRefName)(_{1,2})/, ["string.link", ""]],
[/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/, ["", "string.link", "", "string.link", "", "", ""]],
[/\*\*([^\\*]|\*(?!\*))+\*\*/, "strong"],
[/\*[^*]+\*/, "emphasis"],
[/(``)((?:[^`]|\`(?!`))+)(``)/, ["", "keyword", ""]],
[/(__\s+)(.+)/, ["", "keyword"]],
[/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/, ["", "keyword", "", "", ""]],
[/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/, ["", "", "", "keyword", ""]],
[/(`)([^`]+)(`)/, ""],
[/(_`)(@phrase)(`)/, ["", "string.link", ""]]
],
citations: [
[
/^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,
[{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
]
],
citationsReference: [[/(\[)(@citationName)(\]_)/, ["", "string.link", ""]]],
footnotes: [
[
/^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,
[{ token: "", next: "@subsequentLines" }, "string.link", ""]
],
[
/^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,
[{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
],
[
/^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,
[{ token: "", next: "@subsequentLines" }, "string.link", "", ""]
]
],
footnotesReference: [
[/(\[)([0-9]+)(\])(_)/, ["", "string.link", "", ""]],
[/(\[)(#@simpleRefName?)(\])(_)/, ["", "string.link", "", ""]],
[/(\[)(\*)(\])(_)/, ["", "string.link", "", ""]]
],
blankLineOfLiteralBlocks: [
[/^$/, "", "@subsequentLinesOfLiteralBlocks"],
[/^.*$/, "", "@pop"]
],
subsequentLinesOfLiteralBlocks: [
[/(@blockLiteralStart+)(.*)/, ["keyword", ""]],
[/^(?!blockLiteralStart)/, "", "@popall"]
],
subsequentLines: [
[/^[\s]+.*/, ""],
[/^(?!\s)/, "", "@pop"]
],
hyperlinks: [
[/^[\s]+.*/, "string.link"],
[/^(?!\s)/, "", "@pop"]
],
comments: [
[/^[\s]+.*/, "comment"],
[/^(?!\s)/, "", "@pop"]
],
tables: [
[/\+-[+-]+/, "keyword"],
[/\+=[+=]+/, "keyword"]
]
}
};
export {
conf,
language
};