Tweak syntax-highlighting for better output.

This commit is contained in:
KtorZ 2022-12-17 17:09:07 +01:00
parent 53eab4b3fd
commit 1055e342b1
No known key found for this signature in database
GPG Key ID: 33173CB6F77F4277
3 changed files with 66 additions and 55 deletions

View File

@ -1 +1 @@
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline} pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword,.hljs-operator{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string,.hljs-number{color:#98c379}.hljs-attr,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_,.hljs-title.function_,.hljs-title.invoke__{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}

View File

@ -1 +1 @@
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline} pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword,.hljs-operator{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string,.hljs-number{color:#50a14f}.hljs-attr,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_,.hljs-title.function_,.hljs-title.invoke__{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}

View File

@ -1,24 +1,13 @@
hljs.registerLanguage("aiken", function (hljs) { hljs.registerLanguage("aiken", function (hljs) {
const KEYWORDS = const KEYWORDS =
"as assert when is const fn if let use opaque pub assert check todo type"; "as assert when is const fn if let use opaque pub assert check todo type";
const STRING = { const COMMAS = {
className: "string", scope: "ponctuation",
variants: [{ begin: /"/, end: /"/ }], begin: "[, ]+",
contains: [hljs.BACKSLASH_ESCAPE],
relevance: 0,
};
const NAME = {
className: "variable",
begin: "\\b[a-z][a-z0-9_]*\\b",
relevance: 0,
};
const DISCARD_NAME = {
className: "comment",
begin: "\\b_[a-z][a-z0-9_]*\\b",
relevance: 0, relevance: 0,
}; };
const NUMBER = { const NUMBER = {
className: "number", scope: "number",
variants: [ variants: [
{ {
// binary // binary
@ -39,6 +28,49 @@ hljs.registerLanguage("aiken", function (hljs) {
], ],
relevance: 0, relevance: 0,
}; };
const STRING = {
scope: "string",
variants: [{ begin: /"/, end: /"/ }],
contains: [hljs.BACKSLASH_ESCAPE],
relevance: 0,
};
const BYTE_STRING = {
scope: "string",
variants: [{ begin: /#\[/, end: /\]/ }],
contains: [
{ ...NUMBER, scope: "string" },
COMMAS,
],
relevance: 0,
};
const IMPORTS = {
scope: "title",
variants: [{ begin: "/\.{/", end: "}" }],
contains: [
{
scope: "title",
begin: "[A-Za-z][A-Za-z0-9_]*\\w*",
relevance: 0,
},
COMMAS,
],
relevance: 0,
};
const NAME = {
scope: "variable",
begin: "\\b[a-z][a-z0-9_]*\\b",
relevance: 0,
};
const LABEL = {
begin: [/\b[a-z][a-z0-9_]*/, ":"],
beginScope: { 1: "symbol", 2: "operator" },
relevance: 1,
};
const DISCARD_NAME = {
scope: "comment",
begin: "\\b_[a-z][a-z0-9_]*\\b",
relevance: 0,
};
return { return {
name: "Aiken", name: "Aiken",
@ -46,68 +78,47 @@ hljs.registerLanguage("aiken", function (hljs) {
contains: [ contains: [
hljs.C_LINE_COMMENT_MODE, hljs.C_LINE_COMMENT_MODE,
STRING, STRING,
BYTE_STRING,
{ {
// bit string scope: "function",
begin: "<<",
end: ">>",
contains: [
{
className: "keyword",
beginKeywords:
"binary bytes int float bit_string bits utf8 utf16 utf32 " +
"utf8_codepoint utf16_codepoint utf32_codepoint signed unsigned " +
"big little native unit size",
},
KEYWORDS,
STRING,
NAME,
DISCARD_NAME,
NUMBER,
],
relevance: 10,
},
{
className: "function",
beginKeywords: "fn", beginKeywords: "fn",
end: "\\(", end: "\\(",
excludeEnd: true, excludeEnd: true,
contains: [ contains: [
{ {
className: "title", scope: "title.function",
begin: "[a-z][a-z0-9_]*\\w*", begin: "[a-z][a-z0-9_]*\\w*",
relevance: 0, relevance: 0,
}, },
], ],
}, },
{ {
className: "keyword", begin: [/[a-z][a-z0-9_]*/, /[ ]*\(/],
beginKeywords: "use", beginScope: { 1: "title.function.invoke", 2: "ponctuation" },
end: "\n",
excludeEnd: true,
contains: [
{
className: "title",
begin: "[a-z][a-z0-9_/]*\\w*",
relevance: 0,
},
],
}, },
{ {
className: "keyword", scope: "keyword",
beginKeywords: "use",
end: " ",
excludeEnd: true,
contains: [],
},
{
scope: "keyword",
beginKeywords: KEYWORDS, beginKeywords: KEYWORDS,
}, },
{ {
// Type names and constructors scope: "title",
className: "title",
begin: "\\b[A-Z][A-Za-z0-9]*\\b", begin: "\\b[A-Z][A-Za-z0-9]*\\b",
relevance: 0, relevance: 0,
}, },
{ {
className: "operator", scope: "operator",
begin: "[+\\-*/%!=<>&|.]+", begin: "[+\\-*/%!=<>&|.]+",
relevance: 0, relevance: 0,
}, },
NAME, IMPORTS,
LABEL,
DISCARD_NAME, DISCARD_NAME,
NUMBER, NUMBER,
], ],