From 2f7d629527c3910f2bd49017cff4b1014ea1f979 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 15:51:08 +0300 Subject: [PATCH 01/18] Fix computation for Unit --- rzk/src/Rzk/TypeCheck.hs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rzk/src/Rzk/TypeCheck.hs b/rzk/src/Rzk/TypeCheck.hs index 186aad73c..8eee829bc 100644 --- a/rzk/src/Rzk/TypeCheck.hs +++ b/rzk/src/Rzk/TypeCheck.hs @@ -1257,6 +1257,11 @@ whnfT tt = performing (ActionWHNF tt) $ case tt of UniverseCubeT{} -> nfTope tt UniverseTopeT{} -> nfTope tt + -- CubeUnitT{} -> pure cubeUnitStarT -- compute an expression of 1 cube to its only point + TypeUnitT{} -> pure unitT -- compute an expression of Unit type to unit + -- FIXME: next line is ad hoc, should be improved! + TypeRestrictedT _info TypeUnitT{} _rs -> pure unitT -- compute an expression of Unit type to unit + -- check if we have cube point term (if so, compute NF) typeOf_tt -> typeOf typeOf_tt >>= \case UniverseCubeT{} -> nfTope tt From 1329874f71f105b7fdce4bf60fd131c4df0321ed Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 20:54:40 +0300 Subject: [PATCH 02/18] Fix generate_svgs.py to work on macOS --- docs/generate_svgs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/generate_svgs.py b/docs/generate_svgs.py index 83eb817dc..459b63f29 100644 --- a/docs/generate_svgs.py +++ b/docs/generate_svgs.py @@ -31,7 +31,7 @@ def on_page_markdown(md: str, page: Page, config: MkDocsConfig, files: Files) -> for (fenced_block, code) in code_blocks: previous_snippets.append(code.replace('#lang rzk-1', '')) full_code = '\n'.join(previous_snippets).encode() - process = subprocess.run('rzk typecheck', capture_output=True, input=full_code) + process = subprocess.run(['rzk', 'typecheck'], capture_output=True, input=full_code) if process.returncode != 0: continue output = process.stderr.decode() From 8ba1c55b802cc679871465344973759e54a8e3fd Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 20:55:08 +0300 Subject: [PATCH 03/18] Fix links to *.rzk.md in mkdocs.yml --- docs/mkdocs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 20e250b9f..e26a77c8c 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -3,10 +3,10 @@ nav: - General: - About: index.md - rzk-1 Language: - - Introduction: rzk-1/introduction.md - - Sections and Variables: rzk-1/sections.md - - Rendering Diagrams: rzk-1/render.md - - Weak tope disjunction elimination: rzk-1/recId.md + - Introduction: rzk-1/introduction.rzk.md + - Sections and Variables: rzk-1/sections.rzk.md + - Rendering Diagrams: rzk-1/render.rzk.md + - Weak tope disjunction elimination: rzk-1/recId.rzk.md - Tools: - Syntax Highlighting: tools/highlight.md - IDE support: tools/ide.md From 46b72af70eb625522b91d9b444c73d5f3595d7e5 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 22:35:19 +0300 Subject: [PATCH 04/18] Switch to Material theme for MkDocs --- docs/custom_theme/css/gruvbox-light.css | 108 -- .../css/highlightjs-11.7.0.min.css | 10 - docs/custom_theme/css/highlightjs-copy.css | 53 - docs/custom_theme/js/highlight-11.7.0.min.js | 1202 ----------------- docs/custom_theme/js/highlightjs-copy.min.js | 2 - docs/custom_theme/js/rzk.js | 163 --- docs/custom_theme/main.html | 27 - docs/docs/rzk-1/sections.rzk.md | 4 +- docs/docs/versions.json | 5 + docs/mkdocs.yml | 54 +- docs/overrides/assets/css/rzk-render.css | 4 + .../assets/images/android-chrome-192x192.png | Bin 0 -> 30228 bytes .../assets/images/android-chrome-512x512.png | Bin 0 -> 148686 bytes .../assets/images/apple-touch-icon.png | Bin 0 -> 27315 bytes .../overrides/assets/images/favicon-16x16.png | Bin 0 -> 745 bytes .../overrides/assets/images/favicon-32x32.png | Bin 0 -> 1816 bytes docs/overrides/assets/images/favicon.ico | Bin 0 -> 15406 bytes 17 files changed, 62 insertions(+), 1570 deletions(-) delete mode 100644 docs/custom_theme/css/gruvbox-light.css delete mode 100644 docs/custom_theme/css/highlightjs-11.7.0.min.css delete mode 100644 docs/custom_theme/css/highlightjs-copy.css delete mode 100644 docs/custom_theme/js/highlight-11.7.0.min.js delete mode 100644 docs/custom_theme/js/highlightjs-copy.min.js delete mode 100644 docs/custom_theme/js/rzk.js delete mode 100644 docs/custom_theme/main.html create mode 100644 docs/docs/versions.json create mode 100644 docs/overrides/assets/css/rzk-render.css create mode 100644 docs/overrides/assets/images/android-chrome-192x192.png create mode 100644 docs/overrides/assets/images/android-chrome-512x512.png create mode 100644 docs/overrides/assets/images/apple-touch-icon.png create mode 100644 docs/overrides/assets/images/favicon-16x16.png create mode 100644 docs/overrides/assets/images/favicon-32x32.png create mode 100644 docs/overrides/assets/images/favicon.ico diff --git a/docs/custom_theme/css/gruvbox-light.css b/docs/custom_theme/css/gruvbox-light.css deleted file mode 100644 index ff45468eb..000000000 --- a/docs/custom_theme/css/gruvbox-light.css +++ /dev/null @@ -1,108 +0,0 @@ -/* - -Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) - -*/ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #fbf1c7; -} - -.hljs, -.hljs-subst { - color: #3c3836; -} - -/* Gruvbox Red */ -.hljs-deletion, -.hljs-formula, -.hljs-keyword, -.hljs-link, -.hljs-selector-tag { - color: #9d0006; -} - -/* Gruvbox Blue */ -.hljs-built_in, -.hljs-emphasis, -.hljs-name, -.hljs-quote, -.hljs-strong, -.hljs-title, -.hljs-variable { - color: #076678; -} - -/* Gruvbox Yellow */ -.hljs-attr, -.hljs-params, -.hljs-template-tag, -.hljs-type { - color: #b57614; -} - -/* Gruvbox Purple */ -.hljs-builtin-name, -.hljs-doctag, -.hljs-literal, -.hljs-number { - color: #8f3f71; -} - -/* Gruvbox Orange */ -.hljs-code, -.hljs-meta, -.hljs-regexp, -.hljs-selector-id, -.hljs-template-variable { - color: #af3a03; -} - -/* Gruvbox Green */ -.hljs-addition, -.hljs-meta-string, -.hljs-section, -.hljs-selector-attr, -.hljs-selector-class, -.hljs-string, -.hljs-symbol { - color: #79740e; -} - -/* Gruvbox Aqua */ -.hljs-attribute, -.hljs-bullet, -.hljs-class, -.hljs-function, -.hljs-function .hljs-keyword, -.hljs-meta-keyword, -.hljs-selector-pseudo, -.hljs-tag { - color: #427b58; -} - -/* Gruvbox Gray */ -.hljs-comment { - color: #928374; -} - -/* Gruvbox Purple */ -.hljs-link_label, -.hljs-literal, -.hljs-number { - color: #8f3f71; -} - -.hljs-comment, -.hljs-emphasis { - font-style: italic; -} - -.hljs-section, -.hljs-strong, -.hljs-tag { - font-weight: bold; -} diff --git a/docs/custom_theme/css/highlightjs-11.7.0.min.css b/docs/custom_theme/css/highlightjs-11.7.0.min.css deleted file mode 100644 index 96af2848f..000000000 --- a/docs/custom_theme/css/highlightjs-11.7.0.min.css +++ /dev/null @@ -1,10 +0,0 @@ -pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! - Theme: GitHub - Description: Light theme as seen on github.com - Author: github.com - Maintainer: @Hirse - Updated: 2021-05-15 - - Outdated base version: https://github.com/primer/github-syntax-light - Current colors taken from GitHub's CSS -*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0} diff --git a/docs/custom_theme/css/highlightjs-copy.css b/docs/custom_theme/css/highlightjs-copy.css deleted file mode 100644 index 580db7584..000000000 --- a/docs/custom_theme/css/highlightjs-copy.css +++ /dev/null @@ -1,53 +0,0 @@ -.hljs-copy-wrapper { - position: relative; - overflow: hidden; -} -.hljs-copy-wrapper:hover .hljs-copy-button, -.hljs-copy-button:focus { - transform: translateX(0); -} -.hljs-copy-button { - position: absolute; - transform: translateX(calc(100% + 1.125em)); - top: 1em; - right: 1em; - width: 2rem; - height: 2rem; - text-indent: -9999px; /* Hide the inner text */ - color: #282828; - border-radius: 0.25rem; - border: 1px solid #ffffff22; - background-color: #2d2b57; - background-color: var(--hljs-theme-background); - background-image: url('data:image/svg+xml;utf-8,'); - background-repeat: no-repeat; - background-position: center; - transition: background-color 200ms ease, transform 200ms ease-out; -} -.hljs-copy-button:hover { - border-color: #28282844; -} -.hljs-copy-button:active { - border-color: #28282866; -} -.hljs-copy-button[data-copied="true"] { - text-indent: 0px; /* Shows the inner text */ - width: auto; - background-image: none; -} -@media (prefers-reduced-motion) { - .hljs-copy-button { - transition: none; - } -} - -/* visually-hidden */ -.hljs-copy-alert { - clip: rect(0 0 0 0); - clip-path: inset(50%); - height: 1px; - overflow: hidden; - position: absolute; - white-space: nowrap; - width: 1px; -} diff --git a/docs/custom_theme/js/highlight-11.7.0.min.js b/docs/custom_theme/js/highlight-11.7.0.min.js deleted file mode 100644 index e5d6afd8e..000000000 --- a/docs/custom_theme/js/highlight-11.7.0.min.js +++ /dev/null @@ -1,1202 +0,0 @@ -/*! - Highlight.js v11.7.0 (git: 82688fad18) - (c) 2006-2022 undefined and other contributors - License: BSD-3-Clause - */ -var hljs=function(){"use strict";var e={exports:{}};function n(e){ -return e instanceof Map?e.clear=e.delete=e.set=()=>{ -throw Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=()=>{ -throw Error("set is read-only") -}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((t=>{var a=e[t] -;"object"!=typeof a||Object.isFrozen(a)||n(a)})),e} -e.exports=n,e.exports.default=n;class t{constructor(e){ -void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} -ignoreMatch(){this.isMatchIgnored=!0}}function a(e){ -return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") -}function i(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] -;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t} -const r=e=>!!e.scope||e.sublanguage&&e.language;class s{constructor(e,n){ -this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ -this.buffer+=a(e)}openNode(e){if(!r(e))return;let n="" -;n=e.sublanguage?"language-"+e.language:((e,{prefix:n})=>{if(e.includes(".")){ -const t=e.split(".") -;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") -}return`${n}${e}`})(e.scope,{prefix:this.classPrefix}),this.span(n)} -closeNode(e){r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ -this.buffer+=``}}const o=(e={})=>{const n={children:[]} -;return Object.assign(n,e),n};class l{constructor(){ -this.rootNode=o(),this.stack=[this.rootNode]}get top(){ -return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ -this.top.children.push(e)}openNode(e){const n=o({scope:e}) -;this.add(n),this.stack.push(n)}closeNode(){ -if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ -for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} -walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ -return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), -n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ -"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ -l._collapse(e)})))}}class c extends l{constructor(e){super(),this.options=e} -addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())} -addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root -;t.sublanguage=!0,t.language=n,this.add(t)}toHTML(){ -return new s(this,this.options).value()}finalize(){return!0}}function d(e){ -return e?"string"==typeof e?e:e.source:null}function g(e){return m("(?=",e,")")} -function u(e){return m("(?:",e,")*")}function b(e){return m("(?:",e,")?")} -function m(...e){return e.map((e=>d(e))).join("")}function p(...e){const n=(e=>{ -const n=e[e.length-1] -;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} -})(e);return"("+(n.capture?"":"?:")+e.map((e=>d(e))).join("|")+")"} -function _(e){return RegExp(e.toString()+"|").exec("").length-1} -const h=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ -;function f(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t -;let a=d(e),i="";for(;a.length>0;){const e=h.exec(a);if(!e){i+=a;break} -i+=a.substring(0,e.index), -a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], -"("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} -const E="[a-zA-Z]\\w*",y="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",N="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",O={ -begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'", -illegal:"\\n",contains:[O]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", -contains:[O]},M=(e,n,t={})=>{const a=i({scope:"comment",begin:e,end:n, -contains:[]},t);a.contains.push({scope:"doctag", -begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", -end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) -;const r=p("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) -;return a.contains.push({begin:m(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),a -},S=M("//","$"),A=M("/\\*","\\*/"),C=M("#","$");var T=Object.freeze({ -__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:E,UNDERSCORE_IDENT_RE:y, -NUMBER_RE:w,C_NUMBER_RE:N,BINARY_NUMBER_RE:v, -RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", -SHEBANG:(e={})=>{const n=/^#![ ]*\// -;return e.binary&&(e.begin=m(n,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:n, -end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, -BACKSLASH_ESCAPE:O,APOS_STRING_MODE:k,QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:{ -begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ -},COMMENT:M,C_LINE_COMMENT_MODE:S,C_BLOCK_COMMENT_MODE:A,HASH_COMMENT_MODE:C, -NUMBER_MODE:{scope:"number",begin:w,relevance:0},C_NUMBER_MODE:{scope:"number", -begin:N,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:v,relevance:0}, -REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, -end:/\/[gimuy]*/,illegal:/\n/,contains:[O,{begin:/\[/,end:/\]/,relevance:0, -contains:[O]}]}]},TITLE_MODE:{scope:"title",begin:E,relevance:0}, -UNDERSCORE_TITLE_MODE:{scope:"title",begin:y,relevance:0},METHOD_GUARD:{ -begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ -"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ -n.data._beginMatch!==e[1]&&n.ignoreMatch()}})});function R(e,n){ -"."===e.input[e.index-1]&&n.ignoreMatch()}function D(e,n){ -void 0!==e.className&&(e.scope=e.className,delete e.className)}function I(e,n){ -n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", -e.__beforeBegin=R,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, -void 0===e.relevance&&(e.relevance=0))}function L(e,n){ -Array.isArray(e.illegal)&&(e.illegal=p(...e.illegal))}function B(e,n){ -if(e.match){ -if(e.begin||e.end)throw Error("begin & end are not supported with match") -;e.begin=e.match,delete e.match}}function $(e,n){ -void 0===e.relevance&&(e.relevance=1)}const z=(e,n)=>{if(!e.beforeMatch)return -;if(e.starts)throw Error("beforeMatch cannot be used with starts") -;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] -})),e.keywords=t.keywords,e.begin=m(t.beforeMatch,g(t.begin)),e.starts={ -relevance:0,contains:[Object.assign(t,{endsParent:!0})] -},e.relevance=0,delete t.beforeMatch -},F=["of","and","for","in","not","or","if","then","parent","list","value"] -;function U(e,n,t="keyword"){const a=Object.create(null) -;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ -Object.assign(a,U(e[t],n,t))})),a;function i(e,t){ -n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") -;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ -return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ -console.error(e)},H=(e,...n)=>{console.log("WARN: "+e,...n)},q=(e,n)=>{ -P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) -},Z=Error();function G(e,n,{key:t}){let a=0;const i=e[t],r={},s={} -;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=_(n[e-1]) -;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function W(e){(e=>{ -e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, -delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ -_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope -}),(e=>{if(Array.isArray(e.begin)){ -if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), -Z -;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), -Z;G(e,e.begin,{key:"beginScope"}),e.begin=f(e.begin,{joinWith:""})}})(e),(e=>{ -if(Array.isArray(e.end)){ -if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), -Z -;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), -Z;G(e,e.end,{key:"endScope"}),e.end=f(e.end,{joinWith:""})}})(e)}function Q(e){ -function n(n,t){ -return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) -}class t{constructor(){ -this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} -addRule(e,n){ -n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), -this.matchAt+=_(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) -;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(f(e,{joinWith:"|" -}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex -;const n=this.matcherRe.exec(e);if(!n)return null -;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] -;return n.splice(0,t),Object.assign(n,a)}}class a{constructor(){ -this.rules=[],this.multiRegexes=[], -this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ -if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t -;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), -n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ -return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ -this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ -const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex -;let t=n.exec(e) -;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ -const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} -return t&&(this.regexIndex+=t.position+1, -this.regexIndex===this.count&&this.considerAll()),t}} -if(e.compilerExtensions||(e.compilerExtensions=[]), -e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") -;return e.classNameAliases=i(e.classNameAliases||{}),function t(r,s){const o=r -;if(r.isCompiled)return o -;[D,B,W,z].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), -r.__beforeBegin=null,[I,L,$].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null -;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), -l=r.keywords.$pattern, -delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=U(r.keywords,e.case_insensitive)), -o.keywordPatternRe=n(l,!0), -s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), -r.end&&(o.endRe=n(o.end)), -o.terminatorEnd=d(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), -r.illegal&&(o.illegalRe=n(r.illegal)), -r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>i(e,{ -variants:null},n)))),e.cachedVariants?e.cachedVariants:X(e)?i(e,{ -starts:e.starts?i(e.starts):null -}):Object.isFrozen(e)?i(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) -})),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new a -;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" -}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" -}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function X(e){ -return!!e&&(e.endsWithParent||X(e.starts))}class V extends Error{ -constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} -const J=a,Y=i,ee=Symbol("nomatch");var ne=(n=>{ -const a=Object.create(null),i=Object.create(null),r=[];let s=!0 -;const o="Could not find the language '{}', did you forget to load/include a language module?",l={ -disableAutodetect:!0,name:"Plain text",contains:[]};let d={ -ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, -languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", -cssSelector:"pre code",languages:null,__emitter:c};function _(e){ -return d.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" -;"object"==typeof n?(a=e, -t=n.ignoreIllegals,i=n.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."), -q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), -i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};x("before:highlight",r) -;const s=r.result?r.result:f(r.language,r.code,t) -;return s.code=r.code,x("after:highlight",s),s}function f(e,n,i,r){ -const l=Object.create(null);function c(){if(!k.keywords)return void M.addText(S) -;let e=0;k.keywordPatternRe.lastIndex=0;let n=k.keywordPatternRe.exec(S),t="" -;for(;n;){t+=S.substring(e,n.index) -;const i=w.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,k.keywords[a]);if(r){ -const[e,a]=r -;if(M.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(A+=a),e.startsWith("_"))t+=n[0];else{ -const t=w.classNameAliases[e]||e;M.addKeyword(n[0],t)}}else t+=n[0] -;e=k.keywordPatternRe.lastIndex,n=k.keywordPatternRe.exec(S)}var a -;t+=S.substring(e),M.addText(t)}function g(){null!=k.subLanguage?(()=>{ -if(""===S)return;let e=null;if("string"==typeof k.subLanguage){ -if(!a[k.subLanguage])return void M.addText(S) -;e=f(k.subLanguage,S,!0,x[k.subLanguage]),x[k.subLanguage]=e._top -}else e=E(S,k.subLanguage.length?k.subLanguage:null) -;k.relevance>0&&(A+=e.relevance),M.addSublanguage(e._emitter,e.language) -})():c(),S=""}function u(e,n){let t=1;const a=n.length-1;for(;t<=a;){ -if(!e._emit[t]){t++;continue}const a=w.classNameAliases[e[t]]||e[t],i=n[t] -;a?M.addKeyword(i,a):(S=i,c(),S=""),t++}}function b(e,n){ -return e.scope&&"string"==typeof e.scope&&M.openNode(w.classNameAliases[e.scope]||e.scope), -e.beginScope&&(e.beginScope._wrap?(M.addKeyword(S,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), -S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),k=Object.create(e,{parent:{ -value:k}}),k}function m(e,n,a){let i=((e,n)=>{const t=e&&e.exec(n) -;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new t(e) -;e["on:end"](n,a),a.isMatchIgnored&&(i=!1)}if(i){ -for(;e.endsParent&&e.parent;)e=e.parent;return e}} -if(e.endsWithParent)return m(e.parent,n,a)}function p(e){ -return 0===k.matcher.regexIndex?(S+=e[0],1):(R=!0,0)}function _(e){ -const t=e[0],a=n.substring(e.index),i=m(k,e,a);if(!i)return ee;const r=k -;k.endScope&&k.endScope._wrap?(g(), -M.addKeyword(t,k.endScope._wrap)):k.endScope&&k.endScope._multi?(g(), -u(k.endScope,e)):r.skip?S+=t:(r.returnEnd||r.excludeEnd||(S+=t), -g(),r.excludeEnd&&(S=t));do{ -k.scope&&M.closeNode(),k.skip||k.subLanguage||(A+=k.relevance),k=k.parent -}while(k!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:t.length} -let h={};function y(a,r){const o=r&&r[0];if(S+=a,null==o)return g(),0 -;if("begin"===h.type&&"end"===r.type&&h.index===r.index&&""===o){ -if(S+=n.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) -;throw n.languageName=e,n.badRule=h.rule,n}return 1} -if(h=r,"begin"===r.type)return(e=>{ -const n=e[0],a=e.rule,i=new t(a),r=[a.__beforeBegin,a["on:begin"]] -;for(const t of r)if(t&&(t(e,i),i.isMatchIgnored))return p(n) -;return a.skip?S+=n:(a.excludeBegin&&(S+=n), -g(),a.returnBegin||a.excludeBegin||(S=n)),b(a,e),a.returnBegin?0:n.length})(r) -;if("illegal"===r.type&&!i){ -const e=Error('Illegal lexeme "'+o+'" for mode "'+(k.scope||"")+'"') -;throw e.mode=k,e}if("end"===r.type){const e=_(r);if(e!==ee)return e} -if("illegal"===r.type&&""===o)return 1 -;if(T>1e5&&T>3*r.index)throw Error("potential infinite loop, way more iterations than matches") -;return S+=o,o.length}const w=v(e) -;if(!w)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') -;const N=Q(w);let O="",k=r||N;const x={},M=new d.__emitter(d);(()=>{const e=[] -;for(let n=k;n!==w;n=n.parent)n.scope&&e.unshift(n.scope) -;e.forEach((e=>M.openNode(e)))})();let S="",A=0,C=0,T=0,R=!1;try{ -for(k.matcher.considerAll();;){ -T++,R?R=!1:k.matcher.considerAll(),k.matcher.lastIndex=C -;const e=k.matcher.exec(n);if(!e)break;const t=y(n.substring(C,e.index),e) -;C=e.index+t} -return y(n.substring(C)),M.closeAllNodes(),M.finalize(),O=M.toHTML(),{ -language:e,value:O,relevance:A,illegal:!1,_emitter:M,_top:k}}catch(t){ -if(t.message&&t.message.includes("Illegal"))return{language:e,value:J(n), -illegal:!0,relevance:0,_illegalBy:{message:t.message,index:C, -context:n.slice(C-100,C+100),mode:t.mode,resultSoFar:O},_emitter:M};if(s)return{ -language:e,value:J(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:k} -;throw t}}function E(e,n){n=n||d.languages||Object.keys(a);const t=(e=>{ -const n={value:J(e),illegal:!1,relevance:0,_top:l,_emitter:new d.__emitter(d)} -;return n._emitter.addText(e),n})(e),i=n.filter(v).filter(k).map((n=>f(n,e,!1))) -;i.unshift(t);const r=i.sort(((e,n)=>{ -if(e.relevance!==n.relevance)return n.relevance-e.relevance -;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 -;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,c=s -;return c.secondBest=o,c}function y(e){let n=null;const t=(e=>{ -let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" -;const t=d.languageDetectRe.exec(n);if(t){const n=v(t[1]) -;return n||(H(o.replace("{}",t[1])), -H("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} -return n.split(/\s+/).find((e=>_(e)||v(e)))})(e);if(_(t))return -;if(x("before:highlightElement",{el:e,language:t -}),e.children.length>0&&(d.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), -console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), -console.warn("The element with unescaped HTML:"), -console.warn(e)),d.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) -;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) -;e.innerHTML=r.value,((e,n,t)=>{const a=n&&i[n]||t -;e.classList.add("hljs"),e.classList.add("language-"+a) -})(e,t,r.language),e.result={language:r.language,re:r.relevance, -relevance:r.relevance},r.secondBest&&(e.secondBest={ -language:r.secondBest.language,relevance:r.secondBest.relevance -}),x("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function N(){ -"loading"!==document.readyState?document.querySelectorAll(d.cssSelector).forEach(y):w=!0 -}function v(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} -function O(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ -i[e.toLowerCase()]=n}))}function k(e){const n=v(e) -;return n&&!n.disableAutodetect}function x(e,n){const t=e;r.forEach((e=>{ -e[t]&&e[t](n)}))} -"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ -w&&N()}),!1),Object.assign(n,{highlight:h,highlightAuto:E,highlightAll:N, -highlightElement:y, -highlightBlock:e=>(q("10.7.0","highlightBlock will be removed entirely in v12.0"), -q("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{d=Y(d,e)}, -initHighlighting:()=>{ -N(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, -initHighlightingOnLoad:()=>{ -N(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") -},registerLanguage:(e,t)=>{let i=null;try{i=t(n)}catch(n){ -if(K("Language definition for '{}' could not be registered.".replace("{}",e)), -!s)throw n;K(n),i=l} -i.name||(i.name=e),a[e]=i,i.rawDefinition=t.bind(null,n),i.aliases&&O(i.aliases,{ -languageName:e})},unregisterLanguage:e=>{delete a[e] -;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, -listLanguages:()=>Object.keys(a),getLanguage:v,registerAliases:O, -autoDetection:k,inherit:Y,addPlugin:e=>{(e=>{ -e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ -e["before:highlightBlock"](Object.assign({block:n.el},n)) -}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ -e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)} -}),n.debugMode=()=>{s=!1},n.safeMode=()=>{s=!0 -},n.versionString="11.7.0",n.regex={concat:m,lookahead:g,either:p,optional:b, -anyNumberOfTimes:u};for(const n in T)"object"==typeof T[n]&&e.exports(T[n]) -;return Object.assign(n,T),n})({});const te=e=>({IMPORTANT:{scope:"meta", -begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ -scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, -FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, -ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", -contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ -scope:"number", -begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", -relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/} -}),ae=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ie=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],re=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],se=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],oe=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),le=re.concat(se) -;var ce="\\.([0-9](_*[0-9])*)",de="[0-9a-fA-F](_*[0-9a-fA-F])*",ge={ -className:"number",variants:[{ -begin:`(\\b([0-9](_*[0-9])*)((${ce})|\\.)?|(${ce}))[eE][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:`\\b([0-9](_*[0-9])*)((${ce})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ -begin:`(${ce})[fFdD]?\\b`},{begin:"\\b([0-9](_*[0-9])*)[fFdD]\\b"},{ -begin:`\\b0[xX]((${de})\\.?|(${de})?\\.(${de}))[pP][+-]?([0-9](_*[0-9])*)[fFdD]?\\b` -},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${de})[lL]?\\b`},{ -begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], -relevance:0};function ue(e,n,t){return-1===t?"":e.replace(n,(a=>ue(e,n,t-1)))} -const be="[A-Za-z$_][0-9A-Za-z$_]*",me=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],pe=["true","false","null","undefined","NaN","Infinity"],_e=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],he=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],fe=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ee=["arguments","this","super","console","window","document","localStorage","module","global"],ye=[].concat(fe,_e,he) -;function we(e){const n=e.regex,t=be,a={begin:/<[A-Za-z0-9\\._:-]+/, -end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ -const t=e[0].length+e.index,a=e.input[t] -;if("<"===a||","===a)return void n.ignoreMatch();let i -;">"===a&&(((e,{after:n})=>{const t="",k={ -match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)], -keywords:"async",className:{1:"keyword",3:"title.function"},contains:[_]} -;return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ -PARAMS_CONTAINS:p,CLASS_REFERENCE:f},illegal:/#(?![$_A-z])/, -contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ -label:"use_strict",className:"meta",relevance:10, -begin:/^\s*['"]use (strict|asm)['"]/ -},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,d,g,u,{match:/\$\d+/},o,f,{ -className:"attr",begin:t+n.lookahead(":"),relevance:0},k,{ -begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", -keywords:"return throw case",relevance:0,contains:[u,e.REGEXP_MODE,{ -className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{ -className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ -className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, -excludeEnd:!0,keywords:i,contains:p}]}]},{begin:/,/,relevance:0},{match:/\s+/, -relevance:0},{variants:[{begin:"<>",end:""},{ -match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, -"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ -begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},E,{ -beginKeywords:"while if switch catch for"},{ -begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", -returnBegin:!0,label:"func.def",contains:[_,e.inherit(e.TITLE_MODE,{begin:t, -className:"title.function"})]},{match:/\.\.\./,relevance:0},N,{match:"\\$"+t, -relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, -contains:[_]},y,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, -className:"variable.constant"},h,v,{match:/\$[(.]/}]}} -const Ne=e=>m(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ve=["Protocol","Type"].map(Ne),Oe=["init","self"].map(Ne),ke=["Any","Self"],xe=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Me=["false","nil","true"],Se=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ae=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],Ce=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Te=p(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Re=p(Te,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),De=m(Te,Re,"*"),Ie=p(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Le=p(Ie,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Be=m(Ie,Le,"*"),$e=m(/[A-Z]/,Le,"*"),ze=["autoclosure",m(/convention\(/,p("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",m(/objc\(/,Be,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],Fe=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] -;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ -begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} -;Object.assign(t,{className:"variable",variants:[{ -begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ -className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},r={ -begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, -end:/(\w+)/,className:"string"})]}},s={className:"string",begin:/"/,end:/"/, -contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(s);const o={begin:/\$?\(\(/, -end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] -},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 -}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, -contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ -name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, -keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"], -literal:["true","false"], -built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] -},contains:[l,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,r,{match:/(\/[a-z._-]+)+/},s,{ -className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}, -grmr_c:e=>{const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] -}),a="[a-zA-Z_]\\w*::",i="(decltype\\(auto\\)|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ -className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ -match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{ -begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ -className:"number",variants:[{begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" -},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" -},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{ -className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={ -className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0 -},d=n.optional(a)+e.IDENT_RE+"\\s*\\(",g={ -keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], -type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"], -literal:"true false NULL", -built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" -},u=[l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],b={variants:[{begin:/=/,end:/;/},{ -begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], -keywords:g,contains:u.concat([{begin:/\(/,end:/\)/,keywords:g, -contains:u.concat(["self"]),relevance:0}]),relevance:0},m={ -begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, -keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", -keywords:g,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(c,{ -className:"title.function"})],relevance:0},{relevance:0,match:/,/},{ -className:"params",begin:/\(/,end:/\)/,keywords:g,relevance:0, -contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/,keywords:g, -relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}] -},r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C",aliases:["h"],keywords:g, -disableAutodetect:!0,illegal:"=]/,contains:[{ -beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:l, -strings:s,keywords:g}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ -contains:[{begin:/\\\n/}] -}),a="[a-zA-Z_]\\w*::",i="(?!struct)(decltype\\(auto\\)|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ -className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{ -begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ -className:"number",variants:[{begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" -},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" -},contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{ -className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={ -className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0 -},d=n.optional(a)+e.IDENT_RE+"\\s*\\(",g={ -type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], -keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], -literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], -_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] -},u={className:"function.dispatch",relevance:0,keywords:{ -_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] -}, -begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) -},b=[u,l,r,t,e.C_BLOCK_COMMENT_MODE,o,s],m={variants:[{begin:/=/,end:/;/},{ -begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], -keywords:g,contains:b.concat([{begin:/\(/,end:/\)/,keywords:g, -contains:b.concat(["self"]),relevance:0}]),relevance:0},p={className:"function", -begin:"("+i+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, -keywords:g,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", -keywords:g,relevance:0},{begin:d,returnBegin:!0,contains:[c],relevance:0},{ -begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,o]},{ -relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:g, -relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,s,o,r,{begin:/\(/,end:/\)/, -keywords:g,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,s,o,r]}] -},r,t,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", -aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:g,illegal:"",keywords:g,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:g},{ -match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], -className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ -keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), -built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], -literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ -begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ -begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] -},r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, -keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, -end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ -},e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ -begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, -contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) -;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], -o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ -illegal:/\n/})];const g={variants:[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},u={begin:"<",end:">",contains:[{beginKeywords:"in out"},t] -},b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ -begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], -keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, -contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ -begin:"\x3c!--|--\x3e"},{begin:""}]}] -}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", -end:"$",keywords:{ -keyword:"if else elif endif define undef warning error line region endregion pragma checksum" -}},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, -illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" -},t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", -relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", -begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ -className:"string",begin:/"/,end:/"/}]},{ -beginKeywords:"new return throw await else",relevance:0},{className:"function", -begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, -end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ -beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", -relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, -contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", -begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, -contains:[g,a,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ -const n=e.regex,t=te(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ -name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ -keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, -contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ -},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 -},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 -},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ -begin:":("+re.join("|")+")"},{begin:":(:)?("+se.join("|")+")"}] -},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b"},{ -begin:/:/,end:/[;}{]/, -contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ -begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" -},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, -excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", -relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ -},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ -$pattern:/[a-z-]+/,keyword:"and or not only",attribute:ie.join(" ")},contains:[{ -begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ -className:"selector-tag",begin:"\\b("+ae.join("|")+")\\b"}]}},grmr_diff:e=>{ -const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ -className:"meta",relevance:10, -match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) -},{className:"comment",variants:[{ -begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), -end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ -className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, -end:/$/}]}},grmr_go:e=>{const n={ -keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], -type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], -literal:["true","false","iota","nil"], -built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] -};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{const n=e.regex;return{name:"GraphQL",aliases:["gql"], -case_insensitive:!0,disableAutodetect:!1,keywords:{ -keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], -literal:["true","false","null"]}, -contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ -scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", -begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, -end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ -scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), -relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ -className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ -begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, -end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ -begin:/\$\{(.*?)\}/}]},r={className:"literal", -begin:/\bon|off|true|false|yes|no\b/},s={className:"string", -contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ -begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] -},o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 -},l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ -name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, -contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ -begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), -className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ -const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+ue("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ -keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"], -literal:["false","true","null"], -type:["char","boolean","long","float","int","byte","short","double"], -built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ -begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, -end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} -;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, -relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ -begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, -className:"string",contains:[e.BACKSLASH_ESCAPE] -},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ -match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ -1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ -begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", -3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", -3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -beginKeywords:"new throw return else",relevance:0},{ -begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ -2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, -end:/\)/,keywords:i,relevance:0, -contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ge,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ge,r]}},grmr_javascript:we, -grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", -beginKeywords:n.join(" ")};return{name:"JSON",keywords:{literal:n},contains:[{ -className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{ -match:/[{}[\],:]/,className:"punctuation",relevance:0 -},e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], -illegal:"\\S"}},grmr_kotlin:e=>{const n={ -keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", -built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", -literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" -},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ -className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", -variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", -illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, -contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ -className:"meta", -begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" -},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, -end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] -},l=ge,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ -variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, -contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], -{name:"Kotlin",aliases:["kt","kts"],keywords:n, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", -begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", -begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", -begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", -returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, -keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, -endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, -endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 -},e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ -begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ -3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, -illegal:"extends implements",contains:[{ -beginKeywords:"public protected internal private constructor" -},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, -excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, -excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", -end:"$",illegal:"\n"},l]}},grmr_less:e=>{ -const n=te(e),t=le,a="([\\w-]+|@\\{[\\w-]+\\})",i=[],r=[],s=e=>({ -className:"string",begin:"~?"+e+".*?"+e}),o=(e,n,t)=>({className:e,begin:n, -relevance:t}),l={$pattern:/[a-z-]+/,keyword:"and or not only", -attribute:ie.join(" ")},c={begin:"\\(",end:"\\)",contains:r,keywords:l, -relevance:0} -;r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s("'"),s('"'),n.CSS_NUMBER_MODE,{ -begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", -excludeEnd:!0} -},n.HEXCOLOR,c,o("variable","@@?[\\w-]+",10),o("variable","@\\{[\\w-]+\\}"),o("built_in","~?`[^`]*?`"),{ -className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0 -},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const d=r.concat({ -begin:/\{/,end:/\}/,contains:i}),g={beginKeywords:"when",endsWithParent:!0, -contains:[{beginKeywords:"and not"}].concat(r)},u={begin:a+"\\s*:", -returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ -},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+oe.join("|")+")\\b", -end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:r}}] -},b={className:"keyword", -begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", -starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:r,relevance:0}},m={ -className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{ -begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:d}},p={variants:[{ -begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:a,end:/\{/}],returnBegin:!0, -returnEnd:!0,illegal:"[<='$\"]",relevance:0, -contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,o("keyword","all\\b"),o("variable","@\\{[\\w-]+\\}"),{ -begin:"\\b("+ae.join("|")+")\\b",className:"selector-tag" -},n.CSS_NUMBER_MODE,o("selector-tag",a,0),o("selector-id","#"+a),o("selector-class","\\."+a,0),o("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ -className:"selector-pseudo",begin:":("+re.join("|")+")"},{ -className:"selector-pseudo",begin:":(:)?("+se.join("|")+")"},{begin:/\(/, -end:/\)/,relevance:0,contains:d},{begin:"!important"},n.FUNCTION_DISPATCH]},_={ -begin:`[\\w-]+:(:)?(${t.join("|")})`,returnBegin:!0,contains:[p]} -;return i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,m,_,u,p,g,n.FUNCTION_DISPATCH), -{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:i}}, -grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] -},i=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[",t,{contains:[a], -relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, -literal:"true false nil", -keyword:"and break do else elseif end for goto if in local not or repeat return then until while", -built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" -},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", -contains:[e.inherit(e.TITLE_MODE,{ -begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", -begin:"\\(",endsWithParent:!0,contains:i}].concat(i) -},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", -begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ -className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{ -const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ -className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, -contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] -},r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ -className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ -endsWithParent:!0,illegal:/`]+/}]}]}]};return{ -name:"HTML, XML", -aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], -case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ -className:"meta",begin://,contains:[i,r,o,s]}]}] -},e.COMMENT(//,{relevance:10}),{begin://, -relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, -relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ -end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ -end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ -className:"tag",begin:/<>|<\/>/},{className:"tag", -begin:n.concat(//,/>/,/\s/)))), -end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ -className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ -className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} -},grmr_markdown:e=>{const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml", -relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ -begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, -relevance:2},{ -begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), -relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ -begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ -},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, -returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", -excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", -end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], -variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] -},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ -begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] -}),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) -;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) -})),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ -className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ -begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", -contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", -end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, -end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ -begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ -begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", -contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ -begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ -className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ -className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},grmr_objectivec:e=>{ -const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, -keyword:["@interface","@class","@protocol","@implementation"]};return{ -name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], -keywords:{"variable.language":["this","super"],$pattern:n, -keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], -literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], -built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], -type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] -},illegal:"/,end:/$/,illegal:"\\n" -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", -begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, -contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, -relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ -$pattern:/[\w.]+/, -keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" -},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, -end:/\}/},s={variants:[{begin:/\$\d/},{ -begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") -},{begin:/[$%@][^\s\w{]/,relevance:0}] -},o=[e.BACKSLASH_ESCAPE,i,s],l=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],c=(e,a,i="\\1")=>{ -const r="\\1"===i?i:n.concat(i,a) -;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) -},d=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),g=[s,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ -endsWithParent:!0}),r,{className:"string",contains:o,variants:[{ -begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", -end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ -begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", -relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", -contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ -begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number", -begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b", -relevance:0},{ -begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", -keywords:"split return print reverse grep",relevance:0, -contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ -begin:c("s|tr|y",n.either(...l,{capture:!0}))},{begin:c("s|tr|y","\\(","\\)")},{ -begin:c("s|tr|y","\\[","\\]")},{begin:c("s|tr|y","\\{","\\}")}],relevance:2},{ -className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ -begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...l,{capture:!0 -}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{ -begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub", -end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{ -begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$", -subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}] -}];return i.contains=g,r.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:a, -contains:g}},grmr_php:e=>{ -const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={ -scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{ -begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null -}),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ -illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s) -}),o,e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/, -contains:e.QUOTE_STRING_MODE.contains.concat(s)})]},d={scope:"number", -variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{ -begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ -begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ -begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" -}],relevance:0 -},g=["false","null","true"],u=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={ -keyword:u,literal:(e=>{const n=[];return e.forEach((e=>{ -n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) -})),n})(g),built_in:b},p=e=>e.map((e=>e.replace(/\|\d+$/,""))),_={variants:[{ -match:[/new/,n.concat(l,"+"),n.concat("(?!",p(b).join("\\b|"),"\\b)"),i],scope:{ -1:"keyword",4:"title.class"}}]},h=n.concat(a,"\\b(?!\\()"),f={variants:[{ -match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" -}},{match:[/::/,/class/],scope:{2:"variable.language"}},{ -match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", -3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], -scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", -3:"variable.language"}}]},E={scope:"attr", -match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},y={relevance:0, -begin:/\(/,end:/\)/,keywords:m,contains:[E,r,f,e.C_BLOCK_COMMENT_MODE,c,d,_] -},w={relevance:0, -match:[/\b/,n.concat("(?!fn\\b|function\\b|",p(u).join("\\b|"),"|",p(b).join("\\b|"),"\\b)"),a,n.concat(l,"*"),n.lookahead(/(?=\()/)], -scope:{3:"title.function.invoke"},contains:[y]};y.contains.push(w) -;const N=[E,f,e.C_BLOCK_COMMENT_MODE,c,d,_];return{case_insensitive:!1, -keywords:m,contains:[{begin:n.concat(/#\[\s*/,i),beginScope:"meta",end:/]/, -endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{ -begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]}, -contains:["self",...N]},...N,{scope:"meta",match:i}] -},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ -scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, -keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, -contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ -begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ -begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,w,f,{ -match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},_,{ -scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, -excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" -},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", -begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m, -contains:["self",r,f,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{ -beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", -illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ -beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ -beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, -contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ -beginKeywords:"use",relevance:0,end:";",contains:[{ -match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]} -},grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ -begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", -end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 -},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, -skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, -contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", -aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ -const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ -$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, -built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], -literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], -type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] -},r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, -end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ -className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, -contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ -begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, -end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, -relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ -begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, -end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, -contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, -contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ -className:"number",relevance:0,variants:[{ -begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ -begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ -begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` -},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` -}]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, -contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ -className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, -end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, -contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ -name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, -illegal:/(<\/|->|\?)|=>/,contains:[r,u,{begin:/\bself\b/},{beginKeywords:"if", -relevance:0},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{ -1:"keyword",3:"title.function"},contains:[m]},{variants:[{ -match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], -scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ -className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, -grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", -starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ -begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ -const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) -;return{name:"R",keywords:{$pattern:t, -keyword:"function if in break next repeat else for while", -literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", -built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" -},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, -starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), -endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ -scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 -}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] -}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], -variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', -relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ -1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, -match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ -2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, -match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ -match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", -contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ -const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ -"variable.constant":["__FILE__","__LINE__","__ENCODING__"], -"variable.language":["self","super"], -keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], -built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], -literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={ -begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s] -}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10 -}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, -end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], -variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ -begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ -begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, -end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ -begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ -begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ -begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ -begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ -begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), -contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, -contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", -relevance:0,variants:[{ -begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ -begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" -},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ -begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ -begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ -className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, -keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ -match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", -4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{ -2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{ -1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, -className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ -match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ -begin:e.IDENT_RE+"::"},{className:"symbol", -begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", -begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", -begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ -className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, -relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", -keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], -illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ -begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", -end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) -;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} -},{className:"meta.prompt", -begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", -starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", -aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, -contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, -grmr_rust:e=>{const n=e.regex,t={className:"title.function.invoke",relevance:0, -begin:n.concat(/\b/,/(?!let\b)/,e.IDENT_RE,n.lookahead(/\s*\(/)) -},a="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],r=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] -;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:r, -keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"], -literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}}, -grmr_scss:e=>{const n=te(e),t=se,a=re,i="@[a-z-]+",r={className:"variable", -begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", -case_insensitive:!0,illegal:"[=/|']", -contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ -className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ -className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 -},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", -begin:"\\b("+ae.join("|")+")\\b",relevance:0},{className:"selector-pseudo", -begin:":("+a.join("|")+")"},{className:"selector-pseudo", -begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, -contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", -begin:"\\b("+oe.join("|")+")\\b"},{ -begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" -},{begin:/:/,end:/[;}{]/,relevance:0, -contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] -},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ -begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, -keyword:"and or not only",attribute:ie.join(" ")},contains:[{begin:i, -className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" -},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] -},n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", -aliases:["console","shellsession"],contains:[{className:"meta.prompt", -begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, -subLanguage:"bash"}}]}),grmr_sql:e=>{ -const n=e.regex,t=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=r,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={ -begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} -;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ -$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t -;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) -})(l,{when:e=>e.length<3}),literal:a,type:i, -built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] -},contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, -keyword:l.concat(s),literal:a,type:i}},{className:"type", -begin:n.either("double precision","large object","with timezone","without timezone") -},c,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{ -begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{ -begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"operator", -begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}, -grmr_swift:e=>{const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{ -contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={match:[/\./,p(...ve,...Oe)], -className:{2:"keyword"}},r={match:m(/\./,p(...xe)),relevance:0 -},s=xe.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ -className:"keyword", -match:p(...xe.filter((e=>"string"!=typeof e)).concat(ke).map(Ne),...Oe)}]},l={ -$pattern:p(/\b\w+/,/#\w+/),keyword:s.concat(Ae),literal:Me},c=[i,r,o],d=[{ -match:m(/\./,p(...Ce)),relevance:0},{className:"built_in", -match:m(/\b/,p(...Ce),/(?=\()/)}],u={match:/->/,relevance:0},b=[u,{ -className:"operator",relevance:0,variants:[{match:De},{match:`\\.(\\.|${Re})+`}] -}],_="([0-9a-fA-F]_*)+",h={className:"number",relevance:0,variants:[{ -match:"\\b(([0-9]_*)+)(\\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\\b"},{ -match:`\\b0x(${_})(\\.(${_}))?([pP][+-]?(([0-9]_*)+))?\\b`},{ -match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},f=(e="")=>({ -className:"subst",variants:[{match:m(/\\/,e,/[0\\tnr"']/)},{ -match:m(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),E=(e="")=>({className:"subst", -match:m(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),y=(e="")=>({className:"subst", -label:"interpol",begin:m(/\\/,e,/\(/),end:/\)/}),w=(e="")=>({begin:m(e,/"""/), -end:m(/"""/,e),contains:[f(e),E(e),y(e)]}),N=(e="")=>({begin:m(e,/"/), -end:m(/"/,e),contains:[f(e),y(e)]}),v={className:"string", -variants:[w(),w("#"),w("##"),w("###"),N(),N("#"),N("##"),N("###")]},O={ -match:m(/`/,Be,/`/)},k=[O,{className:"variable",match:/\$\d+/},{ -className:"variable",match:`\\$${Le}+`}],x=[{match:/(@|#(un)?)available/, -className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Fe, -contains:[...b,h,v]}]}},{className:"keyword",match:m(/@/,p(...ze))},{ -className:"meta",match:m(/@/,Be)}],M={match:g(/\b[A-Z]/),relevance:0,contains:[{ -className:"type", -match:m(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Le,"+") -},{className:"type",match:$e,relevance:0},{match:/[?!]+/,relevance:0},{ -match:/\.\.\./,relevance:0},{match:m(/\s+&\s+/,g($e)),relevance:0}]},S={ -begin://,keywords:l,contains:[...a,...c,...x,u,M]};M.contains.push(S) -;const A={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ -match:m(Be,/\s*:/),keywords:"_|0",relevance:0 -},...a,...c,...d,...b,h,v,...k,...x,M]},C={begin://,contains:[...a,M] -},T={begin:/\(/,end:/\)/,keywords:l,contains:[{ -begin:p(g(m(Be,/\s*:/)),g(m(Be,/\s+/,Be,/\s*:/))),end:/:/,relevance:0, -contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Be}] -},...a,...c,...b,h,v,...x,M,A],endsParent:!0,illegal:/["']/},R={ -match:[/func/,/\s+/,p(O.match,Be,De)],className:{1:"keyword",3:"title.function" -},contains:[C,T,n],illegal:[/\[/,/%/]},D={ -match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, -contains:[C,T,n],illegal:/\[|%/},I={match:[/operator/,/\s+/,De],className:{ -1:"keyword",3:"title"}},L={begin:[/precedencegroup/,/\s+/,$e],className:{ -1:"keyword",3:"title"},contains:[M],keywords:[...Se,...Me],end:/}/} -;for(const e of v.variants){const n=e.contains.find((e=>"interpol"===e.label)) -;n.keywords=l;const t=[...c,...d,...b,h,v,...k];n.contains=[...t,{begin:/\(/, -end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:l, -contains:[...a,R,D,{beginKeywords:"struct protocol class extension enum actor", -end:"\\{",excludeEnd:!0,keywords:l,contains:[e.inherit(e.TITLE_MODE,{ -className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c] -},I,L,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0 -},...c,...d,...b,h,v,...k,...x,M,A]}},grmr_typescript:e=>{ -const n=we(e),t=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],a={ -beginKeywords:"namespace",end:/\{/,excludeEnd:!0, -contains:[n.exports.CLASS_REFERENCE]},i={beginKeywords:"interface",end:/\{/, -excludeEnd:!0,keywords:{keyword:"interface extends",built_in:t}, -contains:[n.exports.CLASS_REFERENCE]},r={$pattern:be, -keyword:me.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]), -literal:pe,built_in:ye.concat(t),"variable.language":Ee},s={className:"meta", -begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},o=(e,n,t)=>{ -const a=e.contains.findIndex((e=>e.label===n)) -;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} -;return Object.assign(n.keywords,r), -n.exports.PARAMS_CONTAINS.push(s),n.contains=n.contains.concat([s,a,i]), -o(n,"shebang",e.SHEBANG()),o(n,"use_strict",{className:"meta",relevance:10, -begin:/^\s*['"]use strict['"]/ -}),n.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(n,{ -name:"TypeScript",aliases:["ts","tsx"]}),n},grmr_vbnet:e=>{ -const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ -className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ -begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ -begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] -},o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] -}),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) -;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, -classNameAliases:{label:"symbol"},keywords:{ -keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", -built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", -type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", -literal:"true false nothing"}, -illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ -className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, -end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, -variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ -},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ -begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ -className:"label",begin:/^\w+:/},o,l,{className:"meta", -begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, -end:/$/,keywords:{ -keyword:"const disable else elseif enable end externalsource if region then"}, -contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) -;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, -keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] -},contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], -className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ -match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ -begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", -3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, -className:"type"},{className:"keyword", -match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ -},{className:"number",relevance:0, -match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ -}]}},grmr_yaml:e=>{ -const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ -className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ -},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", -variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ -variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={ -end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/, -end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", -contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ -begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ -begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", -relevance:10},{className:"string", -begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ -begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, -relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", -begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t -},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", -begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", -relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ -className:"number", -begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" -},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,a],c=[...l] -;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, -aliases:["yml"],contains:l}}});const je=ne;for(const e of Object.keys(Ue)){ -const n=e.replace("grmr_","").replace("_","-");je.registerLanguage(n,Ue[e])} -return je}() -;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); diff --git a/docs/custom_theme/js/highlightjs-copy.min.js b/docs/custom_theme/js/highlightjs-copy.min.js deleted file mode 100644 index a1ef2516d..000000000 --- a/docs/custom_theme/js/highlightjs-copy.min.js +++ /dev/null @@ -1,2 +0,0 @@ -// https://unpkg.com/highlightjs-copy@1.0.3/dist/highlightjs-copy.min.js -class CopyButtonPlugin{constructor(options={}){self.hook=options.hook;self.callback=options.callback}"after:highlightElement"({el,text}){let button=Object.assign(document.createElement("button"),{innerHTML:"Copy",className:"hljs-copy-button"});button.dataset.copied=false;el.parentElement.classList.add("hljs-copy-wrapper");el.parentElement.appendChild(button);el.parentElement.style.setProperty("--hljs-theme-background",window.getComputedStyle(el).backgroundColor);button.onclick=function(){if(!navigator.clipboard)return;let newText=text;if(hook&&typeof hook==="function"){newText=hook(text,el)||text}navigator.clipboard.writeText(newText).then(function(){button.innerHTML="Copied!";button.dataset.copied=true;let alert=Object.assign(document.createElement("div"),{role:"status",className:"hljs-copy-alert",innerHTML:"Copied to clipboard"});el.parentElement.appendChild(alert);setTimeout(()=>{button.innerHTML="Copy";button.dataset.copied=false;el.parentElement.removeChild(alert);alert=null},2e3)}).then(function(){if(typeof callback==="function")return callback(newText,el)})}}} diff --git a/docs/custom_theme/js/rzk.js b/docs/custom_theme/js/rzk.js deleted file mode 100644 index c4c93ea5e..000000000 --- a/docs/custom_theme/js/rzk.js +++ /dev/null @@ -1,163 +0,0 @@ -/* -Language: rzk -Author: Nikolai Kudasov -Category: functional -Website: https://github.com/fizruk/highlightjs-rzk -*/ -hljs.registerLanguage('rzk', - function (hljs) { - const COMMENT = { - variants: [ - hljs.COMMENT('--', '$'), - ] - }; - const TYPE = { - begin: /(\b(CUBE|TOPE|U|๐’ฐ|Sigma|1|2|๐Ÿ™|๐Ÿš)\b|(โˆ‘|ฮฃ))/, - className: "type" - }; - const SHAPE = { - begin: /((\*_1|โ‹†)|\b(0_2|1_2|TOP|BOT)\b|(===|<=|\\\/ | \/\\|โŠค|โŠฅ))/, - className: "number" - }; - const BUILTIN = { - begin: /\b(recOR|recโˆจ|recBOT|recโŠฅ|idJ|refl|first|second|ฯ€โ‚|ฯ€โ‚‚)\b/, - className: "title.class" - }; - const IDENT_RE = /[^\-\?\!\.\\;:,#\"\]\[\)\(\}\{><\| \t\n\r][^\.\\;:,#\"\]\[\)\(\}\{><\| \t\n\r]*/; - const MANY_IDENT_RE = /[^\-\?\!\.\\;:,#\"\]\[\)\(\}\{><\| \t\n\r][^\.\\;:,#\"\]\[\)\(\}\{><\|]*/; - const POINT_VAR = { - begin: [ - /\{/, - /\s*/, - IDENT_RE, - /\s*:\s*/, - /[^\}|]+/, - /\s+\|\s+/, - /[^\}|]+/, - /\}/ - ], - className: { - 3: "variable", - // 5: "type", - 7: "number" - }, - contains: [COMMENT, TYPE, SHAPE, BUILTIN] - }; - const CONTEXTS = { - variants: [ - { - begin: /\b(as)\b/, - className: "keyword" - }, - { - begin: [ - /\(/, - /\s*/, - MANY_IDENT_RE, - /\s+:/ - ], - className: { 3: "variable" }, - }, - { - begin: /_\{/, - end: /\}/, - scope: "string" - } - ], - contains: [ - 'self', COMMENT, POINT_VAR, TYPE, SHAPE, BUILTIN - ] - }; - return { - name: 'rzk', - aliases: ['rzk'], - illegal: ' - - - - - - - - - - - - - - {{ super() }} -{% endblock %} diff --git a/docs/docs/rzk-1/sections.rzk.md b/docs/docs/rzk-1/sections.rzk.md index 930796679..1aca2a316 100644 --- a/docs/docs/rzk-1/sections.rzk.md +++ b/docs/docs/rzk-1/sections.rzk.md @@ -2,7 +2,7 @@ Sections and variables allow to simplify definitions by factoring out common assumptions. -!!! hint "Coq-style variables" +!!! info "Coq-style variables" `rzk` implements variables similarly to `Variable` command in Coq. An important difference is that `rzk` does not allow definitions to use variables implicitly and adds `uses (...)` annotations to ensure such dependencies are not accidental. @@ -123,4 +123,4 @@ Now, once outside of the section, `composeโ‚„` and `twiceโ‚„` obtain correspondi ``` !!! warning "Lack of indentation" - `rzk` currently does not support indentation, so all definitions and commands inside a section (including nested sections) have to start at the beginning of a line. \ No newline at end of file + `rzk` currently does not support indentation, so all definitions and commands inside a section (including nested sections) have to start at the beginning of a line. diff --git a/docs/docs/versions.json b/docs/docs/versions.json new file mode 100644 index 000000000..a2db560ac --- /dev/null +++ b/docs/docs/versions.json @@ -0,0 +1,5 @@ +[ + {"version": "v0.5", "title": "v0.5", "aliases": ["latest"]}, + {"version": "develop", "title": "develop", "aliases": []}, + {"version": "v0.4.1.1", "title": "v0.4.1.1", "aliases": []} +] diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index e26a77c8c..8d490cc0a 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -1,4 +1,8 @@ site_name: "rzk: an experimental proof assistant for syntheric โˆž-categories" +repo_url: https://github.com/fizruk/rzk +repo_name: fizruk/rzk +edit_uri: edit/develop/docs/docs/ + nav: - General: - About: index.md @@ -17,14 +21,58 @@ nav: markdown_extensions: - admonition + - pymdownx.details - mdx_math + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + - toc: + permalink: true theme: - name: readthedocs - highlightjs: false # we override default hightlightjs in custom_theme/ - custom_dir: custom_theme/ + name: material + custom_dir: overrides + favicon: assets/images/favicon.png + logo: assets/images/favicon-32x32.png + icon: + repo: fontawesome/brands/github + edit: material/pencil + view: material/eye + features: + - content.code.copy + - content.action.edit + - navigation.footer + - toc.integrate + palette: + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + primary: white + scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + primary: black + scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode + extra_css: - https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/default.min.css + - assets/css/rzk-render.css + +extra: + version: + provider: mike + +plugins: + - mike hooks: - generate_svgs.py diff --git a/docs/overrides/assets/css/rzk-render.css b/docs/overrides/assets/css/rzk-render.css new file mode 100644 index 000000000..f75c9a5c5 --- /dev/null +++ b/docs/overrides/assets/css/rzk-render.css @@ -0,0 +1,4 @@ +.rzk-render { + float: right; + clear: both; +} diff --git a/docs/overrides/assets/images/android-chrome-192x192.png b/docs/overrides/assets/images/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..f788e2a29cdb0d63d2c298a1b2f75089e89d0ab3 GIT binary patch literal 30228 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 literal 0 HcmV?d00001 diff --git a/docs/overrides/assets/images/android-chrome-512x512.png b/docs/overrides/assets/images/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d60488bab0cc21179d9456b9fa79212d658de0 GIT binary patch literal 148686 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

L?RMcf2ur(D*GI<-b|?f{haC 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 H%tHS^*Q$7R literal 0 HcmV?d00001 diff --git a/docs/overrides/assets/images/apple-touch-icon.png b/docs/overrides/assets/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..db6b8958fe881adbcd47de943c1a73c13824baa3 GIT binary patch literal 27315 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 Cynapq literal 0 HcmV?d00001 diff --git a/docs/overrides/assets/images/favicon-16x16.png b/docs/overrides/assets/images/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..a96453dcd406f0fbb6df4425bcfd004d96715ee1 GIT binary patch literal 745 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&Rm5z!dE1;uvBf zn4GXcEkGbZU_(%W0mH159&2`IG8)w;=RMRV0(pPVJq`N_+6$EQDsTqn$# z8n>fwX(Y~(WjhTmB&VkkQ@^}7oESeiGe~LbR;LM+%i4&CrB2QY)YYuk!eZJmp>wTX&?)H24ewEB&@K6-^ zv;X6_Ys|);wbqGwio$k${~lkDi`}h%PFZi?%O78&a#^#J{mSgtUY-3*rgCS*J5J71 zT6VQHpUi|^^ymEf|K;%Iop1jCGt%HXah%!pKUV>V#!`zg{fQ4IcT|0S^=hZW^_D16 z*42{n_ICUDFSX_|9GjR|Nr~_`^BNV%;&=8=4vMW z`Tzd*^YZUe>tiD8Wm6d3GNeDR>TG#Y8T;_Lps@Y#Pi}|qaCeI}i9BL@p_lL_!06?! zpYP69UE5zTv1A8}a$#mm=VFNoOW(XXcl^Yffeb_UHcZuh(|%dUe}D^v~{p z9|I4spC4a$vbg(KcfqF*dux7vlHQb-Vm6tLdA&hEgJ`6{k!i^f#94wQF7~eL%dulP X(R4gTe~DWM4f&g@O( literal 0 HcmV?d00001 diff --git a/docs/overrides/assets/images/favicon-32x32.png b/docs/overrides/assets/images/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..4e67e099c8c143900e0c53dade56b9ee279c9152 GIT binary patch literal 1816 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 E3t5|ZhX4Qo literal 0 HcmV?d00001 From 10f63379ac2084754c22829c835d430f234440de Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 23:01:34 +0300 Subject: [PATCH 05/18] Update mkdocs.yml workflow and dependencies --- .github/workflows/mkdocs.yml | 19 +++++++++++++++++++ docs/requirements.txt | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index cff1cdb07..cad229758 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -10,6 +10,19 @@ on: workflow_dispatch: + with: + python-version: 3.x + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - uses: actions/cache@v3 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + - run: pip install mkdocs-material + - run: mkdocs gh-deploy --force + + jobs: mkdocs: runs-on: ubuntu-latest @@ -17,12 +30,18 @@ jobs: - name: ๐Ÿ“ฅ Checkout repository uses: actions/checkout@v3 + - name: ๐Ÿงฐ Set up Python + - uses: actions/setup-python@v4 + - name: ๐Ÿ”จ Install rzk proof assistant uses: jaxxstorm/action-install-gh-release@v1.10.0 with: repo: fizruk/rzk rename-to: rzk + - name: ๐Ÿ”จ Install Pygments lexer for rzk + run: pip install rzk/RzkLexer + - name: ๐Ÿ”จ Build MkDocs uses: Tiryoh/actions-mkdocs@v0 with: diff --git a/docs/requirements.txt b/docs/requirements.txt index 5885f5e86..5ced0d010 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,2 @@ -mkdocs +mkdocs-material python-markdown-math From 7b5c739e3a86877cc57c23e35e90b3850b5e4bcf Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 23:04:41 +0300 Subject: [PATCH 06/18] Fix mkdocs.yml --- .github/workflows/mkdocs.yml | 17 +++-------------- docs/requirements.txt | 1 + 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index cad229758..08e1ea70b 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -10,19 +10,6 @@ on: workflow_dispatch: - with: - python-version: 3.x - - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - - uses: actions/cache@v3 - with: - key: mkdocs-material-${{ env.cache_id }} - path: .cache - restore-keys: | - mkdocs-material- - - run: pip install mkdocs-material - - run: mkdocs gh-deploy --force - - jobs: mkdocs: runs-on: ubuntu-latest @@ -31,13 +18,15 @@ jobs: uses: actions/checkout@v3 - name: ๐Ÿงฐ Set up Python - - uses: actions/setup-python@v4 + uses: actions/setup-python@v4 - name: ๐Ÿ”จ Install rzk proof assistant uses: jaxxstorm/action-install-gh-release@v1.10.0 with: repo: fizruk/rzk + tag: latest # FIXME: should use the version from the same Git commit rename-to: rzk + chmod: 0755 - name: ๐Ÿ”จ Install Pygments lexer for rzk run: pip install rzk/RzkLexer diff --git a/docs/requirements.txt b/docs/requirements.txt index 5ced0d010..d63500147 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,3 @@ mkdocs-material +mike python-markdown-math From 393064b0daadddf7da7fb110008c7f94b3aff207 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 23:27:07 +0300 Subject: [PATCH 07/18] Fix logging in generate_svgs.py --- docs/generate_svgs.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/generate_svgs.py b/docs/generate_svgs.py index 459b63f29..453739f41 100644 --- a/docs/generate_svgs.py +++ b/docs/generate_svgs.py @@ -12,17 +12,19 @@ svg_element = re.compile(r'^()', flags=re.MULTILINE | re.DOTALL) rzk_installed = True +logger.info('Checking if rzk is available (to render SVG diagrams)') try: # Capture output to prevent logging usage subprocess.run('rzk', capture_output=True) except FileNotFoundError: - logger.warn('Rzk executable not found') + logger.warning('rzk executable not found (will not generate diagrams)') rzk_installed = False def on_page_markdown(md: str, page: Page, config: MkDocsConfig, files: Files) -> str: if not page.file.src_uri.endswith('.rzk.md'): return md if not rzk_installed: return md + logger.info('Inserting SVG diagrams in ' + page.file.src_uri) # Some snippets can depend on terms defined in previous snippets, so we need to store them all previous_snippets = ['#lang rzk-1\n#set-option "render" = "svg"\n\n'] # Since each snippet will contain previous ones, the previously printed SVGs should not be repeated From 803d742e2c51d1011c2fb867fcbff0f4140fb8dd Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Wed, 21 Jun 2023 23:37:38 +0300 Subject: [PATCH 08/18] Drop Tiryoh/actions-mkdocs --- .github/workflows/mkdocs.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index 08e1ea70b..4e8ae6fad 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -19,6 +19,9 @@ jobs: - name: ๐Ÿงฐ Set up Python uses: actions/setup-python@v4 + with: + python-version: '3.9' + cache: 'pip' # caching pip dependencies - name: ๐Ÿ”จ Install rzk proof assistant uses: jaxxstorm/action-install-gh-release@v1.10.0 @@ -31,13 +34,11 @@ jobs: - name: ๐Ÿ”จ Install Pygments lexer for rzk run: pip install rzk/RzkLexer + - name: ๐Ÿ”จ Install MkDocs Material and mike + run: pip install -r docs/requirements.txt + - name: ๐Ÿ”จ Build MkDocs - uses: Tiryoh/actions-mkdocs@v0 - with: - mkdocs_version: 'latest' # option - #mkdocs_version: '1.1' # option - requirements: 'docs/requirements.txt' # option - configfile: 'docs/mkdocs.yml' # option + run: mkdocs build --config-file docs/mkdocs.yml - name: ๐Ÿ”จ Copy MkDocs files run: | @@ -47,7 +48,7 @@ jobs: if: ${{ github.ref_name != 'main' }} uses: JamesIves/github-pages-deploy-action@v4 with: - github_token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.GITHUB_TOKEN }} folder: dist target-folder: ${{ github.ref_name }} clean: false @@ -57,7 +58,7 @@ jobs: if: ${{ github.ref_name == 'main' }} uses: JamesIves/github-pages-deploy-action@v4 with: - github_token: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.GITHUB_TOKEN }} folder: dist clean: false single-commit: true From 4564e1373ce30970c36c3dc05eab661897e782e8 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 22 Jun 2023 00:17:55 +0300 Subject: [PATCH 09/18] Update appearance, fix versions in docs --- docs/docs/versions.json | 5 ----- docs/mkdocs.yml | 6 +++++- .../overrides/assets/images/logo-1000x1000.png | Bin 0 -> 260610 bytes docs/root/versions.json | 9 +++++++++ 4 files changed, 14 insertions(+), 6 deletions(-) delete mode 100644 docs/docs/versions.json create mode 100644 docs/overrides/assets/images/logo-1000x1000.png create mode 100644 docs/root/versions.json diff --git a/docs/docs/versions.json b/docs/docs/versions.json deleted file mode 100644 index a2db560ac..000000000 --- a/docs/docs/versions.json +++ /dev/null @@ -1,5 +0,0 @@ -[ - {"version": "v0.5", "title": "v0.5", "aliases": ["latest"]}, - {"version": "develop", "title": "develop", "aliases": []}, - {"version": "v0.4.1.1", "title": "v0.4.1.1", "aliases": []} -] diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 8d490cc0a..0e01db3a9 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -37,7 +37,7 @@ theme: name: material custom_dir: overrides favicon: assets/images/favicon.png - logo: assets/images/favicon-32x32.png + logo: assets/images/logo-1000x1000.png icon: repo: fontawesome/brands/github edit: material/pencil @@ -46,6 +46,10 @@ theme: - content.code.copy - content.action.edit - navigation.footer + - navigation.tabs + - navigation.tabs.sticky + - navigation.sections + - navigation.path - toc.integrate palette: # Palette toggle for light mode diff --git a/docs/overrides/assets/images/logo-1000x1000.png b/docs/overrides/assets/images/logo-1000x1000.png new file mode 100644 index 0000000000000000000000000000000000000000..243fbe683f3342e5c55323de2f68d30deebf0980 GIT binary patch literal 260610 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 z z!NNz?a`OpktSu(PB!-^wKX3qPJV-3yp(}(^50lfWnAHJ#)H--UGpY7g{!4?NwsZ{H7BX{8<(M?$WNu{d+RMctQBfw^Et zo#eI|2tvceCPer+#6k@INJfo17i&lrAAq*8A-K>LIO8oeG;DOBgECF7@#h-ll3D75 zf>rzh7UrqxQ3<=8JnT|6Xw0C}kv2Gk_=!T@m`Zdddt^Y^0B)BZ8xtDm64Ox=XEey@ zr1IHLa5d^V@_@hks?x0{_u?T~k1n2-`(Lpdp_A=puv$f#V$8>n$4#5~0eQeI{><@Ml#Z$~K$~BiO5r{HC8r zv%u>z-Wepg(3?5R@@Txb!1Pj!5s*Dn*ieQUu4sVxz#8_udbKNX(WXsX)}^0b_ocLa zO{KStg&FtY3Dhs{t(WQI%?F#%(9@%_o#i`rY)e<)_|>#!>jsdqql$iO@PE0lLm>Oe z%k8coj?eQirRM-3V?>C@9@H!BL}z7E<@gVMA;alJLps)3L1G@d!nQz!Ruf|!j4{#) zCOx3adMKGPjndiBxWD12==B4ek@S4hs>7zaE6@(SrRg-n#f%*i!1IN_h+5@!*x{n9WKmUBb#-?Su zYvFyip|BO7tG=y?T7bds>uR96h-w341z$c%RQ@;(ptawcSYCK-wH5(ssYjy8 zKwaWjffZ-t#>BtTr@Yb!#ga`#xIkG=TPTYM5iD1S*l!J>oQ{*O# zv=ShC(UJ!R6XUXsMEsHt)g7XPBRMgm>7k!;3K@?ek6z4$c9 zOgP)kr1pb2P!cTzh;%uQr2ImM>k1l4^MmNa0<((>sEerVztHd2ZrHdM4}|+-T8amB zb|F1BWy+Kjo(E5$o(Z4u{`!__)!N1B4}bnIqf<8&ea%uE{|7)w5TKJ3H|#7`{~vpA z0(Vz+-G?4)KtdpdKnM`R78rvuHiPk4+j%&pP2BtvH|fu<)22-`)a^@Oo2E(I*Y>rg zY2q|V)4pbC8YeFuoHTJr9LH@v^D{Ocv4LPSnn?%^fP|1h1DfFdhqd-O_mlM9`+brj`1pb^Rh04mZrS6IZsNpR$)J@Uc^rQG(s z>1U510>gOy+JY4I!@Pa5L7H%(jL-w07@?OUQ3pqIsorpCCl4|QcBwwXg27yO#vw9G z)_qH3h7sy#NgAc3FYr(gx!%0v&sgt%ZhQB+FHH2s|1`A~#|iOW4IE6B$s$m{gFacD zN~$7I5jc(!xbMFEcvpgtcbzw#8_(f)cP~BXl5Y8_XU0VrmrP%ExzmViy)VeVn8$X7 z7t)Y3g`GUuGLz>NCCwN1Ar;)%C6FgAtJ*x;y10`jIW-nlL`KF#1 z{vI~*!gT||rZz_OP4-RhHyJ}q1ZRnH#CWA2Z9)hpgOauAv|)Xn(c!~ z&S}ZxM9z?Jxd7DwJijdHF$r3FA>Ht)N19H}*Ces#m|88pz$aCL6mUCzH9X{~p8&$K zf;k|F*4HVj_ya`aBme=$v>gE(${0cR>-T*3Y5dy3(@(E6@c8q$L1aengpG$RiP;{3 zx`RI3U!n4^B2W=f1ePpW@=qrTg&%XzcldF|#1+vOQD~2}iAK4+cJq>q4Lq;1zKZsB z7}oVyTG9+YsmAa{ntfuVOkBI!$Kj0uMbJrGg9|x`ppwUiTm5Ds=)sd1WW?tN07rvu z7^H^*%BmfZhEu?OiI|2Hcqr9dytbZPhwJ$@~+cvtM zkNDq0eCQh0s~n#Q@Qsp*z66Wk=>APS?yeH^kMn`ee%^Ra@zv!F)GX|okkbSrTZO&8 z9lDxu#uXDf{OA9a2_8x61X$=%Fy|*Zw83L|?)l`<1A&EbtUq$VlFMXE21L|t&4Jlt zk!J{vDb}EE6Q{KT*fi;fd1^}x04;v9OI`9@E3T#t;y1Km6FC6s(MI5FT+|0`=X2Y- z4oz?3Er|OyW2HF+3ggeh z`1ftSIzco)g>vq&CR(VEw1rM4sG1)X!a*DP`im=@WKdKc>6jpikvT0fiL&J~oc|sG zc*H^xq{ZZ?$Yj%?L~?zxlkHFl5si=Q2ZzTF?FIxP22JX*{;0=3h_VlMt{+FtXDdNW z2HcCL@u6%x7SU@%K!f+Z)CY?)x8b`7Hg5W63}S4>$1C_mMwOE+0+pbjWG{FPw<0iC zBk%)1@B^Ql#P>V#?YIYUca|4xZw%sksf%P>DN*tIoEK-eeX-5Wip6;**Cn*`dM%FR z!S<#muD}$Bur>@<)rHy3)Ig8Wx~j81yx7}P`cJ`TTk_dUd)B272}g-+gA4uC0RwH0 zUGhPvEAEp|2_d*c;h>OgBx&?E+)bwC;eb?)(sRnrL+ z@7P5EcR~L)tnHh`;>Yi}vD>->-|^__6Y~bsz!OMwLv8Rm_jrgIe9wO>56je<9J7(S zp)U!L`}Nb?Bu{+8QeIxEBl|=P^Q|7P6ZxA1;J~77^TYKAE960h>rbc&EYqZVUCTNE zLJC~MLOAVARTmEAL6->X7C$NbG#o!E>BGQ{kufHq_%hEHjZ3rRPpSRhO}{YHFNE8= zeEITAHgDd%LqI3jiFZAJXp$j6|H6UpW1s)!?pgenyb9xwf0`BX`X^3K3%)ct$N1Xi z`pMTlYwGcpbcy+|P6DG2eN8(`^M5GOhr}`oXR2}nHe}l;e|XT0)=z**zXA8_g;16= zfV`v}=`tqGp|t_ky3(gX6#AP!_kzYq5ZVkAvTgmL9k%6wF$JuqPT({f)a4;S+D;yY zqR`eOkKWqd@r@5BXHOYz zU|+Xp`OCX=@HyvxV-Z(LU5$MaWs?Vss_63?t1^&n7irMQrhKUO7h)^nJZeju1dyZ$ zrT!XDgHl4}wl@@^51RZ}opKGmZ43kgzw%$x9@t8kXvU5}i#i-53eP%Xd?Ft5)B{Lg zTEq(BWV0J>+2H1dB;unjU9{)To8R4qpT`?lcJJQJ&pv-)oLupbegvL<_E{$9yrc8i z##uXnFTq;3<)QAXSG=j4_cGoO$cf@PqaIG0Bkb@vyJv!rV&I;oV1ZOkq;`vNl!coP+$0J+m^(_J_NuqDrNbP#b?(kDn{c5mHIIN z>swi{1W6#92vZ~?5}?Vy5KB?12>^^?0j3NJ!ExERk?udRw_E?jz1^!XdRsSt-U82Gy{Pf`6YYFy+e?NQkgqGnR1YR# zd;MrwufL}RyE*qlF({l3w1A@5UsWT8E1_bW>R7?{(M}(;7JK9*XF&;!timQmIi#Gk zQWY48f!?nkaphWadkT~YG#FEWiYykml#nZE(2Ps!WlgFi#inld6nApdX^DdC0SJ`1 zTc2Lree$M%+wtRF6Bd4(>WqFKVM5#zn*$N3JLq%ZMJg970u=#A0C!@3dXiY&p~uJK zQj3eEFQDym>I-Mj)&-PY?QPJoJOolDuilW694_Njcbj^!(R!gD_$ioB(gBY;Dr~1v zIv_0KTPt;~5NfGUUA7@a9Lf&&B($QwKyYGBqEEdaqyR_yWDiPiK$0YX!#>+GpSU!k zjY=;~2jl}t# zI46dk^!$l7CPL0TO^Td9?1Vfea}JWk`Q{nKI`ze&B!yA4g_rp-FGhvc5GLYktc{&zFz7Ktnt_9K$+9ZW_j@9b<_scy>G@Bq%pK$UyY&Lxn zsmJx_4$ssNQPt@;C0Qg3&{ThN+q&-eap#!fsUWxCJczOmpC!#1r{T>|r zxzMp?3qF_p$uIsoUQ;{;meP3bH1|O8>&MqUn5aF6z{!b_uXWZCji!~TGn@fKFj}B6 zWN3>;x+JTE(@%{oG3q0R}p3f~9$gI_0TPKZj!{Ep^qTGf@I2^n;Gd zcxhXP2&_Uk*d#Yxvb_`#kKEL!d?-;zdS0V#{1Ly@VR!fLr;(ihLbo5^lQUtt0dnKN zq-8>|5}SJws148Dd(Fz@ioi)5f$OioK0eeseF(n!_`Tg;+)3w!IWM5Tlu{2AUNL#S zjV5JSbRo|Uc`2kTch89JlCb;DM8A=?BmsO;_l3JrZNAw@L#&V=Zd~k^HZIXrWmHp| zeW}Oh9V~5Z!ba~tglJ2C(eA+;i?(qi&n5=;sT^?v*EZ5fz{-T>WQTn^5F~HH9N7i) z7j&7h=zWF?7t03JUG)D0ak&WI(+DCvp>>5qiu0Ju`dnd{n|rW0I` zD{3DzIIZlA6b7#_qnfq5aON@ ze*O76@;_hmc&#a+7oEs47yL30{$_)7sQFJ7lwMyQocejvPaoT+JlWQP6WO+k=$hjc zgH3zywsZr#>7(zq0odkJAuwz6LLdELkzqLM<6qh&*)lpe>=r+1fk(k`PEZ!Ne6$Ia z>&N&#BUcY8=_4I(?XZ*Bd-m??KJn?F>vrzsgJ2Vt2O#w`6G@iP2^)cW#QlVQX=`8= zffFwR_uO+2pACBzj%l+xeg^%5GtTeMJ^dVAhx5Xj_2|`^7g=rs951!eq^vINB=AsS zo$bCwN?yK4xw?eMg&Q3ISM3dm_2idD!84j^AfnH9k84kOw&c{7CDVUuru)JiiU%WQ z?H@NhH0zq;S%zN3$i%X2P|~SEo%THzsyMdP;~n(dALA3#)0YDW4lIDg|C(N^xW_O8 z{1UAHiQ~s6vH1|*G<(I$S9QyloE75zhL-bV>iW~9jYYzF;@O_(ST})0ZeKj{JXdp0 z#>@@Dw5J-1!j~;|1eJ4|nu*`H(%Jwp{sI`wn7PK~e%eVeFEZQWdceQ5Wv>tMHzk4O z5u~E8aZm|G?W_}MpqFDvd(z=)YJtv!NEAPUpMv6}*E1+v@mTxCNX}38JLgkF_6!Jr zisQXg8HegWx%H85!Tg2Ys+E^%UPuP7N&ot_m*3MMUjOX$a~c}bvz3wQ2a=}0k1QoHi2&Bp2zSnfe@ExRNB+(ql~|@^!N3?%5Br#2!e9 zFHrEJZuT18?h76OLI%%?d5`L`rGD*=`r`0a>)%X~!lcFU`4u89I_1lt$wwfO=s+HyLSNa_q367T-IBFk`<-=Qy~z zNO3DoIn!Pn7i7^Lx=-oc@JLJqo`UXXvvEjU;X@xLOUbjT3hakqAHLqNWlPTNZeREH z?m7H4*O>B#Yp=cb{hKyz;s&P5?1(@0`~EXP zb9A6LV+Wuz#I@yKY{XIwz<+U<4PJlB4%biWdd4)(zM;9rZp;hx`|F2+N9M0Zt>1J*&eY}(sVq6i+!H058i3{L zAj-gfuOEq!iKD-usGYc@!>9jAu?LnTM$p+rJN4Pil984@$%7N)Ow?Ys=aKdT*3M@? z|Et})3EqHC4AgJI@!+6e&66|&^@#gP`oh<+D*|&h0`Gg@`@T7e@Au#*Yo6POqz@No zUUJk39}H1W|P4F9pIHl+-m zbP>o5G;i#)=bEryBWZvbY>Q)Xw#5b(ZK0j8ZgY*Lj06LN;)C_49-%BF|JaTJh)O{I zM@@1cKT8XbGQ_ol+T?27Y@no#=bwMRyX6~y+bll%+eCJEF( zgV0Tr2vX*=xBl1e{cBkmWRah@)%6!a$6 z7gz5B@}k?*yaA!Cp|hX*x;Q5@F502(%Xi~h-u4GW(SJl7dgW*yB+crV@Ywftv}pA*`_2V>XwB2CR!d#uW#TOM2t^Cjj@Rz zV_LdsY4=rpPI-dDpIiIg3FJ!T*hSz4JktC>_Uzg74`Fibo`OmG`llZ0UVGuS_!fWO zBk)A@{6UX%T%8yI=d%bDjke}E=bV$4HoYWbywD~EM@R_UIyspWlJd08BNm%Q*rz2x zT2{%o$%NCF+XF1Cd-aN)`J2@2!O$VA_ww_%?1D_+mxI_lfOYGgxG9|mT0V5 zdP{17ocdq->VN6({nn=~Hre@O5c_+RiI&vK5P`abelonuHO7j-2^N8iF1qN~CmGTm z@e^LWoVJa_L2V-G%G$2;dCk@}ys={=OHtCa>s3pAws?^y-BijoYS^a$3dq_hxhJW# zsm*yBRxMQPOV#M!GNp|Gf(OL4hu+-Ssn|HBz1}VR$bLEi1;t7v+oIY)#X1JIp7@ZU zZT#=`!La*+Zyg{E$A2!~L^*#MbMLX`U3ko$&qr68MG=T^>VDItEBsp8B+VltdIIH~N_o#8EAt#GF|SPTsT2S$&9SLy2-yD!Yvmf&I zim+)549)*uPrR@>6w}{@7`y*QKvx1rP1*q2?2%Z62NH_)O%m;Cd~L|`*nX0!uHzJK zR?p$7hCjIZKXmu4`DRBHkvSC;Fsg&+Kae&1wJta#IGI?x+1VscqVjDkYw9@a#HqZ3{H0P^;nR*i?s3@GX~!sRL$nJZKQqC=Cw* z6t;t&u8`>X3AuafnN8jAeCFr64O?dX(bvzy!W-AFU5n2WRheM~_$7LmPpZQt{gYq( zPu+d`H3ZH>zILOpJ6~thT&v5eBnD^sRX~E3P0;8_>Z{XihVN-Je5Re`v^aPGp>9m^+yug* zuK&KqNr^VXF43ub%U6E0yXXEH-8tWlCy-uy_uY5T=$ja0cvYRi5g7Y8+6g@N8d^o5 zA}~iIfXCcv};ozo407tOPmEbm@^CLaxSp%M!>sO_3=iV=CyrVx(gn`BMD`)+-y zNjNvWO*N<~fvp5VSX6Td5O|Qx!B9!Ia3VMDTb39C;8p;9>ywftZMYVKr36Z;#AxPI zl`L{qr#)>}f=)EjRT~LsdhXKmX~S~#Q>et~6+?jp#?9kge%kWxiw}Llyy?$Zf&HJR z7b)&>iohMP`wARaPh$Vc?Hlpi+S|HI&*zsp;(h_=2^2L~VqOr(^NAdFJYix&<&4bv zC4Hc<9?s5O8wLlb>GyJyfud#6zyc&rlMNluYBEO4s11A2^xa6PumOFGxn@T;Bnj}B&h??#Bc8wbD5zsie? z0E5m)n*2?4>lU4|q&x4NOJtF+tLLL$Wc2V_vxy^L|C|uyHHIb$=S9qa>ZsS( z6n7ERT<$T^;ruW4Xz)_=@j%tB#lUYX?o!s`SOXPhA^I%Md$}Toa+VAYH=A* z+ZbtMU_R~0hrrDEQMB>Hk;G|^LHP4u`i<`X2R;jHGb)$h<3Uf%NTY;LiU?GKep0;5 zHOPvf5mpimIbNJu z$YR^I`39vxNbWOp002M$NklUNPS;w~AKF9%p?52SYw}GiK5VUt|x0lBNGp zU4)-oTf22__w=r@Kb^dC_3G8Xf}e4k=<(1|AFFo^BEX-*`%5@hPGakc?d!W8yPxS^ zwd#tT7MwLPHwNoxWMai^_XKKY*!9G1q<;N~6nZfa+ZqQ?BmwlgbST$aEQpbHKw9zx zd7#Xu05s9lR<2pEKiicUPmLJE;Mxepe*Fq{u>L|K2H-G_{{3=X><$&_Gryzb%Xk0p z?o+q@PIut>8Ryvl9%%d}jTwE#dkm$j(Fklrm!B*6Yop}D_ttItX15<-fV%oTteKo6 zZTffyq_*Z~n^z&kxq^v6a_XBRvL{#oNWaZCOBquLy?#KaUDdKf9nR;t?f@&-H|gfG zj%zB3t$<4b_}Q-?kU;B)WCX7i2{r-wX|_fXQ1Usi{{o{CF=>U((e*=j9ILFuR|#V+ z;j#A5ed*V`Z_WI>8{P=$iN0WyK2$lmB2bUGpIonZjkY3i!bIS%yY6}ngBkmCJ`Znw zwA;3OyRN@H@jA?_t?CvHUf6NuhJtcxQ??1AkpMj{@lwzmg|I{QfvtozW=c|%_HCXr zdC-bC5(B#p1WXy1svx6FHL#ND0jP&l(#=g7C}{jrw05%-`mGQ4pd_BXNS8njd2h_9 z&`U~Pz8Hw6Y5$tluQy@LdHwqJ{JdV3*%^TY=bUp6zrbk9_sNX``!I z!nu)CbGUvur-MFd#2PV$^Nu2U9De=v2wZ=f{-H$M!}%*e$wNuHy6Gh7UL_Kt6b0Q8 zFe&c0I@pqhver3iqC+b68*)=fBdU8bdO&o@@qaMFyk&U?Z_mEn-A8e^?~8YTRP-61 z{yyaSZPS&U&oFS)i1RM`d#B+a#Jc_7k9VKOFCy%JelKUQCLm{sW`JIQ&Vj+a5-(4L zqqGa>o@bAB5{F#P%aoN0K|?Xt#Ujnx37j)Qh!|K9FXpZ&$|frmbykdxMY6Z7kn3YXl; z7lBI9Prlc@MqCj%AtHbaD6g{ra+1N^fjbT=)WAiRRW!8$8QnC1BY~(Xk0!78-t6Pu za}p>ctYFFjPh|KUB0&j#Z5+r6E-G#Ya)Tmh&{$JM8wGXPCy@oxXpj1BPM#A_PRbV5 z2A{6J=#D#tVMap)loCMS~rUEvV3yJjW&+!;K7IqVOZ^UxDAPUpRju zspHD~ArM;QM2ml{BY-DccEIMPI3|9|;ck3W^^N#)rF{qR)e@R|m_4XDH)0xU9(j&R zAZ7sPPYQWjaz^ICNy0XZ*38HRq#kWhDhm3vmuq~8Er!JCTdW`SQ#;qAK;^W+4M;uG zXfkZL-OvBF{u}@*2z{z8QnSd<^gxan-2NL|?XbIf+xqUmf9hwuZ>{I25oTPz8ydfY zW9Y(+K}z9}5%>_O6F=%sgl|3imF|x|`7_(2^+Q>zB>*}xf5VD6GD{H^8ljlihvaQI_{L<1GKrk({W=r~rRbbw1rYXGsY!Fh z2_WH+p#f*j9^00cJL>u5wP6o@Cb)!MgD6{}&v*zAGJE#y=>FHI{!O&1Wu#~y!p*<{)0)zbH~O=&>@@`TWtn#Wp5W;UU%3Ocyxla`0zV{<_jF|+|;lgcjg2~F-R zl4{?`CzXX9k5MfdAx`)dwP4Y9e55#nnYKc`@gynVh;Dtg!aUo}R@`a6pUVmW8yol4{W-t`yf9Lz2{lYKhGq)J~DsMIcWW9 z;(`wGJgnKDxh96|F9mZ>kFGx&;p)ltLtqj-S#$l-7G;JtEhc}cPW`k+DC!I#g(JdH zUtm00zUi|c81z7;{r%$K7NMI?SsZsh{Q2&KpZ>Y-=^alt`h<;rkh=m0KfX}q=tbbS z06n85{YiW*=tCd>SKX#3AJ8=Ly71hX>Zay|<_I{NAC}OZihj= zrWU<%u`RFlXR(Gp^09x>J+b*)$)2?46DYqnsc^}iyb-9+pr5?2eT}>#Fy|w%VZ(-9 z7z8&o)Bc|9GkB-_^%q>(orW*hnR?mvcH0{QZ3=X;W@vOdcO6a1qRmibX9$=Rb~vX%cA@~m*l>H! zrw0VcVleU93>9(Bax?J{b|9uNg+13Pa!`@JIaBAq)*IB@`bmJaA3S0X*NbUv9FHcU>Z2L~-j3zh>3`p(R`%ib zz3-7Pbo1ve?9N|-FOO?;#9_d3{eVd{z^h>@8P!w46`bqPG1JtG` z@9+Nir}*RoFF`XZ{{YgzJR^+~K4~LR3HnL<($~N%0w+cU=FgwM85{DkpGiLbl+(Ib zp1mfo)!G;^0&z)i!N?7SYF(MNtB{~B^Ejyvjg;>J$+ZM|xdBNX(zKyTi)jOW?<;~2 z1+gf{_5f3aerF*hZYKCY{h__IX^7|%6i2V#w+YbnB?nCkN);YtO~BZ#1S%<0ipODf z+B93^S37{&PG`_ue%jgHSJ!?Sk2>?F-L&QHH{5W;`{Nt^rxh&bagD%cSpO`JADYyQ z=kOWnZ$5f!w{qF4?yRLNbNWfWpFe@7Nr?%Ra|r#BISesQvElm3b^xNXGS9+S&9)>2 zkUGW&BkZLub+IP0Px(|AN`kSLx&b5~Sd^2PM0k>55T!;5!P$W+HpB@&bcwxw^8?+D zpa11<{mg$tjcB*5S+nNaZQHi-jg~6ME&_byi^pG?+~f=0V~^k6J^9ol-G%s7goO(i z4d!B-LZamy6*lJ>C$s;L@Wl!Ta;8}~=OCCNEC8I z?W9d9hMGXp*7c4Oqz?e(U*L{7Kvy{yo!D@h(gi;#w4dNXBj>&cZ|*+xx&P4Z+dt!9 z7W_%5|G#0js*1qa2vmYTHbf;*5vT~v<_Ns)ZEt&Q-MV%EWSo!B;x78z*Sxuj@tT_# zXJ3ff_gyCmQ6S$k*9HJ5(2~?|1gs}8UC48{Ky<$YPdrjhah*1$Ej?OK2@3bN+6E-q zsMEgDgd*Cg_2klnVe#g}_K0OUVsd;c%@!JsM!q*;l%)tu*6xj-b4(sT^zo0hHhw76 zz6$Dj;BCWCZ>`5?Wyh2SU;5IQK6K!~fh}X?ihcYe@F-mP5{|zk*Yt4{CFwa5G$~ON&J9zyJh_pvVBdEn*(~q`g4ndW^mFY?z{rVZ$8bO7Q z)xtV;?T1GZwn)nXfW*H?U;f&E>%Ml!hd@q$j5WcT$@#yZK(0h80xbfSptn#|qasid zn2QlWa?ZE1d8gr=>HOchcUSki^Dgg}E;=1zyukXRoGte9va1VrUW9e!Co&}be<0^; zxanZV1wA(&X(O~*$!gjWAy3*Qgg4q8gf?yFF$4fjB?kcHmOKZG6~#t3AOj|K@K63i zQ2OkJeM!nTPwbJG!xX`r6%gGs_Gpi4K~Zg+0SIP}xo@6|k0N}19e;Uf`hw(~*RcOR zy;N~$Ndz8-AN;E0ADoFl>u~3H{ZkKj7p;7Cw`k#F%`?sz6;8Ur{Ll55b1UZ|#fJ0K z%2Upq*a6m>)B{=Tfi+QjF>>3QBifzhoOwkv~qHcP<4zB+@@F@EyZu*7pk#)C*#EhyR zfb<7uq*1~Z0YqTp1z*vs2vh_r0<$#&r<`)iMkH(8R8CtKV}pO`ii;uBU#z)-Xd46V zEWjPsd7&n<=-3dTX4Cn&0oa!wh*?VrYKPv05U{s}mi6cjz_baG5pO8Whl1EJ#xZ1D z1F(K>UeYF62NmKf2KF^|=yyO##p4)ghd-i&-1`_Y2~ncExFt*x`fz}?f`c+`1JdBe5WUiNk(gSBIDi+yw=uokeN!11Fqf#0_CDLwMO0(S-V z$opWfv^gpoPF|FwYc6Qus&K>J+Bp%26A-kV+f>bx^V4(Iwrn3lV6vTSsh{(y&DvI_ z6JSk8`px}*ZBs3MpicgM3385v$ouh=PoMwhpL8F?oxWYqy{M_@6YVo+P&hOOZ0_Unl}VtBPU%&iU;5eyas0QAPbAE+Jdc|Ouf7@CC_k4GQ8|b1JZWGRq+n=fZ=og5gd&Vlc?F|b zCgoS(kN|BqC_boL?E5<-?(9$ZKtLGd@{OX`tk*F*l`u!hiEs2+3@K-hJtYfN*{xz! zmrw4SE55XSyK`}J;|B8i3d-s-LuzLYw`;Fxs`?dj$VBGwLkMSIOKAMn7h6&SlNSw` zOC`xDpOtMk%4|EDxt>d04h#7@l0FyArzEh#)~wgtX8qxaA5~=EeRX}8DaCY#bwhIG zJaeDsW%<{tmh510SQ)re=)X8zfCwb}W3E-o;M(^=-|IDBSUvose|VQwcvrq?#Owya zQLU~}gV`(1N`<;kfHW85;VP;f{=(rMqGVWvm(Go3G(rcH5dAI7qEih+b{Dl?-m*Yp z)OM_m?>>A4ST`vUBPf1*V(dkXQR)HJg1yY~ydaRo7>`$AempVF&1i8t2s0`RzthO+ zvRIn-r|hpI43^2Uw!K1&Z8IY)rDrEE^)Bz2wQ1gnwH`uco#6guUo_XLqv6UvC=2%5 zxXiOIf+by1rF-7wz8s`B)0dN#kg6CbtjwEmo5B1d>qi7wM-|rUs^C;#!Mn;v z(NRHJyT$>1LA5ZME9{mdNQYhLLQ332O46~Moxa<#B4=~Ne1 z$}EEWOusNl486@&y%jB8j`UIT{f1$E{_I+FT+b|D`_lRDHJc6qVs!2yoBuBd+p8}@2q8ya1}ni z(Q4&q)f4}DY8%JLT1#xRSiZu`?kXg3qjq?>>gp3S@n zC4%I0#+^T8Xk1|Rt=5tvxJoSSPkL-b!qoj_>~cMvR`A{w@HOM4FA4x7F4^KN+zVT? z7}5fYetC;NceV~;yr=WDMOb!UON>oaUh+L%sI*Q3En{R+u)&9pBT$i#1Jr5oWM1xY zD6Z!J=_u{W&1cw#rwiu3nufJ`v2t%tV+t0s6@*(&q`>OBk zrPSc1r#lvv8PAh=QIo?jC4TOVWVs1={=j*)WJh&Pru!OYL*Nth#r3miOuyX2%+0{ z#0nMP(^)H$8|0Q~GTueg@#B(BTa@ls%_7qCc(T|Z*A$Q+1wh{j6ih;cdOr%@{Xl-7 z<5AxqZQI8YPS!*=xhN$i!@y661$fT7%S*4s><}Hd+y`u+aZlwF#Dw*FOGz6eGX&m% zFl_4&bwrKxNmff6vE2~<7%H9oUshh@7Ojw+Lk<;Ukjq*Msmx!OHnZTTO5{LJn}cJ4s$sX*zaUd;RkW{O4R`c{Q?bV7rG>1^xs zr^(f}<2q|)Gg$iZhO8?yiq|8tWbre6&bI%zF6BEAfUKjeioEDBVnI zR|<#U4nU?*tp`OHAWMNIt#LY-YTAmPVA#^~9v=RF@_Ko+TE*+Cb(xnh{Z?vW1$F7c zAAB$>V`Y?RC&gEo3(CkK1S!Sdj*I{3XSs-RoLx`EAchk$wZs?@Kspcz9bmOB6jMvP z8S^jQ!)n1vzyc%*sBt!OFNEVW%6jBsMbkVSrn0w2xL^fR-_E2v|L}erhl-}N1W_bK zbJs5Q4Sw`h6JK|5yHmw~&OC{rjliTo)$zSpYU3bL)NOT3+x@;rrWR9Nyk`>NsFT1_ znIQf%^Q~~_F~O>foN~uV{BsdQtmW7v&mBcV2K!mbJXy~Vx6M7d<&)<}$efex-w6_1GgwEn?e14?!;C)ScdgQIT1^HI!OY%1OHim@F- zeQ#WI;-|^YQBvjiS$R4D1C_;WS)7N}-Q7}0>^{>Ly( z03#yQ1yBkaP5@bv@nY)oZzM{DG(|y))2d(b6&f@+({|t`PrR)KRlf5ZvDL z%*_^EZgmGs9O#;gvTb;gJ><1CzSE+9?L&&Qyp4PF)9mk@{)=9l@l^toj{7UwJ=G_twlZHeZJ+&5FCBGuqF90+`fKFF zeooF3Nm#QxRG`kiZR`p>!w^R8+|U!qbx)<3IrS1LfJ>>XSC+e{&-^KKbkJqos)Nb3MuTf-zec!M=F~$AR*H?hA_Y(Kb?**nI_4XFe(crnm zYLDs&Ep+oO1@!)-7(jN_Z)bt@`*n*xN`Z_Ht7ZwtS?#((b8GsZ(Is}LJD%H{Q=N92 z2J8Oa39rFF*3Fi$+Rk&&6#e#}!0fnw67*Bqx9_(da4Ni#FNs!sKhSx&~sO8MX6L|@k49?x9X=I@bei@7%%bc5%7rkz-NGq}-!=*CNp)CACrqZRdwg@TyNnv4+nH$!w-9)y!40N?h#{&ZAO2<=topBm_Pn|C{B1e z9)+H$o!YPKeYTrR^D+A~J6V@!zkl8Dpu)~pxaW)MMdb)RpkS{>yjnfZ%#ZYs|ET)v z{>AkdXi$A`E9xZa9yta29vC(|BB=b#G?z08U3`>WO~J{HV*dhMz6p9Aq<3{p5W1qRWsxrI)6Eatva@m_?aEW`mj0bL4 zjE*h8kYBhWlm}%gk*g)SP`NX#WN>)hV^%-G*(j-JNiE%|g0KR53W&&{Zyz}*E|J2} z!UUVAFfT{~tDj9neKOeo2+1R9LJE|v{5Uv04Q#rk^6O8|3Fu*rN}}~|!2p-bS@)dVvhbb173~W9YGHb5(3@WJyY;AZ#E@Dw z(ahiS%UWZHr`1*9$|D1cbBwk7dC{}WgB`W<(i=_;&zmsM}Wx=hnKS`0U@DomBI@eGWwOYg(CxE|9cSC+t027w@E^(i|-BeL{lc zprY>?M*0TlJ{09W@J$Bw#6|(-xUhqR6A5g7xA0oKs$$;xo(|) zA2wt^1lyXIo_Z}rV^QilVwE!KwefI9(+e!J)7jhhxKrC*)JuG2mYd@)BK{4hX2>NJ zZHkt|U_LC7*ZCfEArb%A-&{zYB^?e6&?{2pcy!6xa}3-km8T=qYEIJf+OwlMp@qVZ z4or+pf*?hLLZUndbN%D`utZYPP#wc!D6f zMLb3=@`LM`s2(BDDOk*oD98Wgn#%(+B;J{5mkdX)`A2%GmT&jMzoU(G_gR{XdZ@uK(2-_gQ#9 zQNLq>;gG7^$PMiGhhcliIbY|Y6o5{Sllh`4#|uC9@`N2DxaP?G#+7qI z$CcmIBe%GtcQo!@`Ad|x*_(C$Ce zUEexxB1GBhcPcbK78NC4U4N9MemjnU06rvkM3TIH#E;4H68?@h9s+ls)j<0f7S@Bp zySP^`qMw*@Yn#eX-8Wxt7zw$JaX};Y6f;uhH~^CtZ^f7e1B{}WL(MrHnzUqnmZR<- zHU#A_*H#!J4l{AyQbks?mvl8MNOr6nCM;H*q}aj+g$P7u@NgY{2waklr(B|$cH%J* zV3s_efhKW9)I4b2z(VnO_tZ~I$u@FDDp zYy2@zHGuC(H{YS=J$EsOI#;%Y&Ap1)y1v~wozuSOBrD2}L*>JM^hvUMo!y9?5AP2GQy6_k zT`37uGIO7WpO*=J`M(c^5%_yD@pM@J7J0Fxx>Z2IC0HwLCM4Pc!rqkFM|!hf5(klH zR-(CKLcWOulQ-_?s4P*DnQf}cD0gjp>=~n*QS(%bNbT@RK@B*2IFGbSP#rni2kKM% zxsZ>Gl~oJDTK0%#E#Q}g5UahcF;#S$SYMK7tR3xxRT@+M!t4&OlY%jT4l`lA{T0%5 zUM{0@n$(g=(%47zSq&U0Gs$kTv0-(@Rk{MYDI+)p_)>@nkE z5@v>D?1e;@JK#HmR`WTM#0aC`jO>jz!gODG>a_SePK|9>EmXg5e=Sn~poR}}ARiWN zj!0S0vr#7a52ul&-0>-_;^p^}xz1N8pKWoUZ8YLz!cd2|-O$!7PZ~_uqNMh^qr$95 z27eP+3UqN3*fck(4&$;!2#$C)ieDI%Nk){lhe1B)kvn5EJ)EW8HJQIMqV0YYpP2D9 z&Mk$a`frY6kR&+GXzVU?RqLVvT>#cryiN_b3*TGF7~P*Gdo0p)`;KT9*(d zX0PREMLz37fNizq@riMeD9)5&$y$D#v^YYU9w1blkpRXib3KT}mj$T_Aphq{TFIE-Tb9;PT~JsqlTa8!Dm; z#1`dldd_d~k`tXCQ~7#}Pp~OllI?N0w075Vmj&_mcGgemX|;tRTjyAde|WCk2?QrTIZ%IUFDE$I%mcmlVZU#uot%@Z1jL32U^RMU&wIC-S$;SV}TdhpOxFrX3+g+D43rCcWGp>(ij zAKn)9!*vp$+JAj5N1*f=`T0AA^yiMkD#pq7H-UCRS4OcXvN;`3h6F7>p9>=Uk==32 zHxeJp6E3e%2qNwdpS#l)-RCY?z8aJh5Jnqf`Zrk4@xdB$Y`Jk%=Xn(**gCynM7LZQ znY;d8>x|i&(s+9|7|gIcH^l^{oF?8-k3T0WT^sPcISpsbbNT)HT?2;>;WL=VEwoCm^+g}{;`r&9>M1}3n z^Oxe5TA=T}sq>>0P8Q+^n3KB>HixdSot&c17zf*UU>nrdoH#evmd{R01Q^dH_+HGC5yKC(NF_K}IA=3&6ElsTj#` zM5W#50baD3R$u2L**5u+&;6m#58(D-7{A;^M?arU^S**$Bh|EOZv2P`($aT&8F4|lq+&Ny{5B|ya z?benNME0~ohZf$ndGCVni`lP)FJ5j1KGARI1=G3Zvj@8Gd^LYFr`ySUdPzis7p#m1 z{DiiS`*SXMF?jLxGIz4Z}zzXJb^)Abpsww~&wePOzBUyDq5WY6Qb zrHGH0|F#Wc%+2}I>BGBYa;3~{_gzXPaMjw*h=p{lM zk?&Cq7m-!>GkO||1}mr0h4w*VINMEOA-02J!ifkGl4*Ke52UW7H7Q=Hd=SbT)grEc zhAo)JN-AjB9cEOflg6($NX`>d2%;=eATLnLbrYO2>{s))FL1hEf7nF}y=Z~iub(mJ zkr_tjs%Lg<1Sq*43<{QPPhRiGP-1FOrXO@B_#Loy;y{Ug6xeAuL)We^e0+3~+f1e| zPk#;@Hv%mG@1ejP`@Kk`fUZE@#v2S2uY%{>t8xA}9Q>uuE$$9Od5X<%QlJo>$p5(@ z$JyZ$(DhoA^;`~`MUjOn{uG^Hvi^DE9X|`hz~06#wC}I_qV9Elp5&c|vHGXaACLA$ zTw?J+NDRKo*FDIs8qyZdCrIP~CG#;!pOlU}1YJJN;{z(5wE=QOuQ~rmSVDou13wv@ zrx}#r=gE$BNP=lKSu;er$Ro-jmp=)pUS|n#Sw&iQ$7V9STi&V*9KKE{!?25y-#meB)5ayX0{z;M*LVY3fUKJhROdk7X3K;P@WL>igYk*?aY-r(w4b5h<8V9xR512iy zuQD?e&N{5~eiw55`D4bbkT%m6Igj>jCkQXMY{6m@QqW~2ZqF=!)V?+ro#~L{chqX< z1&9|(E_zrhnr10N{>zlM$Eh);yl=;G0K%vBaah%||9dN_9!d4?n=;+fh6dkdTO_hB zYwIyB!jDw|#akz(CPSNbOsc8^I4sO41JSIF2uySCQ&T}_HJ~f6X}i=ROF<~Bo$$FE z=a5@)WGjG)g-GQ%DT}cSm@;Ikg~ARcjt&eRqJOCgSpJnyO1Rt2CO6YpF{W;Ufm`v#xZ_GmB zr;JYQ5c>z0_r~B>z@_jLafT}^Pp;3S5k1x6MFdp$yl{~ZI z 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 Da|4Jk literal 0 HcmV?d00001 diff --git a/docs/root/versions.json b/docs/root/versions.json new file mode 100644 index 000000000..9cca7f165 --- /dev/null +++ b/docs/root/versions.json @@ -0,0 +1,9 @@ +[ + {"version": "develop", "title": "develop", "aliases": []}, + {"version": "v0.5", "title": "v0.5", "aliases": ["latest"]}, + {"version": "v0.4.1.1", "title": "v0.4.1.1", "aliases": []}, + {"version": "v0.4.0", "title": "v0.4.0", "aliases": []}, + {"version": "v0.3.0", "title": "v0.3.0", "aliases": []}, + {"version": "v0.2.0", "title": "v0.2.0", "aliases": []}, + {"version": "v0.1.0", "title": "v0.1.0", "aliases": []} +] From 2bc0bdeb3c7c8144aadf483038992bd837ea8365 Mon Sep 17 00:00:00 2001 From: Abdelrahman Abounegm Date: Mon, 26 Jun 2023 23:38:43 +0300 Subject: [PATCH 10/18] Replace the custom svg hook with a plugin on PyPI --- docs/generate_svgs.py | 48 ------------------------------------------- docs/mkdocs.yml | 4 +--- docs/requirements.txt | 1 + 3 files changed, 2 insertions(+), 51 deletions(-) delete mode 100644 docs/generate_svgs.py diff --git a/docs/generate_svgs.py b/docs/generate_svgs.py deleted file mode 100644 index 453739f41..000000000 --- a/docs/generate_svgs.py +++ /dev/null @@ -1,48 +0,0 @@ -import re -import logging -import subprocess - -from mkdocs.structure.pages import Page -from mkdocs.structure.files import Files -from mkdocs.config.defaults import MkDocsConfig - - -logger = logging.getLogger('mkdocs') -rzk_code_block = re.compile(r'(^```\s*rzk[^\n]*\s+(.*?)\s+^```)', flags=re.MULTILINE | re.DOTALL) -svg_element = re.compile(r'^()', flags=re.MULTILINE | re.DOTALL) -rzk_installed = True - -logger.info('Checking if rzk is available (to render SVG diagrams)') -try: - # Capture output to prevent logging usage - subprocess.run('rzk', capture_output=True) -except FileNotFoundError: - logger.warning('rzk executable not found (will not generate diagrams)') - rzk_installed = False - - -def on_page_markdown(md: str, page: Page, config: MkDocsConfig, files: Files) -> str: - if not page.file.src_uri.endswith('.rzk.md'): return md - if not rzk_installed: return md - logger.info('Inserting SVG diagrams in ' + page.file.src_uri) - # Some snippets can depend on terms defined in previous snippets, so we need to store them all - previous_snippets = ['#lang rzk-1\n#set-option "render" = "svg"\n\n'] - # Since each snippet will contain previous ones, the previously printed SVGs should not be repeated - previous_svgs: set[str] = set() - code_blocks = rzk_code_block.findall(md) - for (fenced_block, code) in code_blocks: - previous_snippets.append(code.replace('#lang rzk-1', '')) - full_code = '\n'.join(previous_snippets).encode() - process = subprocess.run(['rzk', 'typecheck'], capture_output=True, input=full_code) - if process.returncode != 0: continue - - output = process.stderr.decode() - svgs: list[str] = svg_element.findall(output) - # One snippet might have more than one diagram, so we shouldn't just use svgs[-1] - # However, there is probably a more efficient way than iterating over all matches everytime - for svg in svgs: - if svg in previous_svgs: continue - previous_svgs.add(svg) - md = md.replace(fenced_block, svg + '\n\n' + fenced_block) - - return md diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 0e01db3a9..23d52da89 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -77,6 +77,4 @@ extra: plugins: - mike - -hooks: - - generate_svgs.py + - rzk diff --git a/docs/requirements.txt b/docs/requirements.txt index d63500147..d9d4ed28d 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,3 +1,4 @@ mkdocs-material mike python-markdown-math +mkdocs-plugin-rzk==0.1.2 From 06786cebd3bdb4ecf6f65ce7b51f64066b5d7610 Mon Sep 17 00:00:00 2001 From: Abdelrahman Abounegm Date: Mon, 26 Jun 2023 23:44:08 +0300 Subject: [PATCH 11/18] Bring the diagram in front of the snippet in zoom When hovering on the diagram, it could be hidden behind the snippet if big enough. This brings it back on top --- docs/overrides/assets/css/rzk-render.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/overrides/assets/css/rzk-render.css b/docs/overrides/assets/css/rzk-render.css index f75c9a5c5..0b1743a4a 100644 --- a/docs/overrides/assets/css/rzk-render.css +++ b/docs/overrides/assets/css/rzk-render.css @@ -1,4 +1,6 @@ .rzk-render { float: right; clear: both; + position: relative; + z-index: 1; } From 99cf721ad28c2f2f7ad2b0dfba4adba62332fa83 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 29 Jun 2023 10:33:51 +0300 Subject: [PATCH 12/18] Use mike to deploy versioned docs --- .github/workflows/binaries.yml | 2 +- .github/workflows/ghcjs.yml | 9 ++++--- .github/workflows/haddock.yml | 2 +- .github/workflows/mkdocs.yml | 30 +++++++-------------- docs/docs/getting-started/install.md | 18 +++++++++++++ docs/docs/getting-started/quickstart.rzk.md | 11 ++++++++ docs/mkdocs.yml | 6 ++++- docs/root/versions.json | 9 ------- try-rzk/{playground.html => index.html} | 0 9 files changed, 51 insertions(+), 36 deletions(-) create mode 100644 docs/docs/getting-started/install.md create mode 100644 docs/docs/getting-started/quickstart.rzk.md delete mode 100644 docs/root/versions.json rename try-rzk/{playground.html => index.html} (100%) diff --git a/.github/workflows/binaries.yml b/.github/workflows/binaries.yml index eaeaa4e86..dbe190636 100644 --- a/.github/workflows/binaries.yml +++ b/.github/workflows/binaries.yml @@ -53,7 +53,7 @@ jobs: tar -cavf program.tar.gz * shell: bash - - name: Upload assets + - name: ๐Ÿš€ Upload assets id: upload-release-asset uses: actions/upload-release-asset@v1 env: diff --git a/.github/workflows/ghcjs.yml b/.github/workflows/ghcjs.yml index 6b44059d4..0caf90f7b 100644 --- a/.github/workflows/ghcjs.yml +++ b/.github/workflows/ghcjs.yml @@ -63,23 +63,24 @@ jobs: mkdir -p dist/result/bin cp -r ${{ env.store }}$(realpath result)/bin/try-rzk.jsexe/ dist/result/bin/. chmod -R +w dist/ - cp try-rzk/playground.html dist/. + cp try-rzk/index.html dist/. - - name: "๐Ÿ“˜ Publish JS \"binaries\" (${{ github.ref_name }})" + - name: "๐Ÿš€ Publish JS \"binaries\" (${{ github.ref_name }})" if: ${{ github.ref_name != 'main' && github.event_name == 'push' }} uses: JamesIves/github-pages-deploy-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} folder: dist - target-folder: ${{ github.ref_name }} + target-folder: ${{ github.ref_name }}/playground clean: false single-commit: true - - name: "๐Ÿ“˜ Publish JS \"binaries\"" + - name: "๐Ÿš€ Publish JS \"binaries\"" if: ${{ github.ref_name == 'main' && github.event_name == 'push' }} uses: JamesIves/github-pages-deploy-action@v4 with: token: ${{ secrets.GITHUB_TOKEN }} folder: dist + target-folder: playground clean: false single-commit: true diff --git a/.github/workflows/haddock.yml b/.github/workflows/haddock.yml index d0cfd8bb7..89ebdde75 100644 --- a/.github/workflows/haddock.yml +++ b/.github/workflows/haddock.yml @@ -53,7 +53,7 @@ jobs: mkdir -p dist/haddock mv $(stack path --local-doc-root)/* dist/haddock - - name: ๐Ÿ“˜ Publish Haddock Documentation + - name: ๐Ÿš€ Publish Haddock Documentation uses: JamesIves/github-pages-deploy-action@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index 4e8ae6fad..d448e365b 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -37,28 +37,18 @@ jobs: - name: ๐Ÿ”จ Install MkDocs Material and mike run: pip install -r docs/requirements.txt - - name: ๐Ÿ”จ Build MkDocs - run: mkdocs build --config-file docs/mkdocs.yml - - - name: ๐Ÿ”จ Copy MkDocs files + - name: โš™๏ธ Configure Git user run: | - mkdir -p dist/ && cp -r docs/root/* docs/site dist/. + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot]" - - name: ๐Ÿ“˜ Publish Generated MkDocs (${{ github.ref_name }}) + - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}) if: ${{ github.ref_name != 'main' }} - uses: JamesIves/github-pages-deploy-action@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - folder: dist - target-folder: ${{ github.ref_name }} - clean: false - single-commit: true + run: | + mike deploy --rebase --force --push --config-file docs/mkdocs.yml ${{ github.ref_name }} - - name: ๐Ÿ“˜ Publish Generated MkDocs + - name: ๐Ÿš€ Deploy with mike (latest) if: ${{ github.ref_name == 'main' }} - uses: JamesIves/github-pages-deploy-action@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - folder: dist - clean: false - single-commit: true + run: | + mike deploy --rebase --force --push --config-file docs/mkdocs.yml latest + diff --git a/docs/docs/getting-started/install.md b/docs/docs/getting-started/install.md new file mode 100644 index 000000000..b95aa2f47 --- /dev/null +++ b/docs/docs/getting-started/install.md @@ -0,0 +1,18 @@ +# How to install Rzk + +!!! warning "Work-in-progress" + Documentation is a work in progress. + +## VS Code extension with binaries (recommended) + +## Install binaries + +### Download from GitHub + +## Install from sources + +### Stack + +### cabal-install + +### Nix diff --git a/docs/docs/getting-started/quickstart.rzk.md b/docs/docs/getting-started/quickstart.rzk.md new file mode 100644 index 000000000..09bdc7d97 --- /dev/null +++ b/docs/docs/getting-started/quickstart.rzk.md @@ -0,0 +1,11 @@ +# Quick introduction into Rzk + +!!! warning "Work-in-progress" + Documentation is a work in progress. + +This is a literate `rzk` file: + +```rzk +#lang rzk-1 +``` + diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 23d52da89..a3ad39b57 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -6,7 +6,10 @@ edit_uri: edit/develop/docs/docs/ nav: - General: - About: index.md - - rzk-1 Language: + - Getting Started: + - Install: getting-started/install.md + - Quickstart: getting-started/quickstart.rzk.md + - Reference: - Introduction: rzk-1/introduction.rzk.md - Sections and Variables: rzk-1/sections.rzk.md - Rendering Diagrams: rzk-1/render.rzk.md @@ -18,6 +21,7 @@ nav: - Related Projects: - sHoTT: related/sHoTT.md - simple-topes: related/simple-topes.md + - Playground: playground/ markdown_extensions: - admonition diff --git a/docs/root/versions.json b/docs/root/versions.json deleted file mode 100644 index 9cca7f165..000000000 --- a/docs/root/versions.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - {"version": "develop", "title": "develop", "aliases": []}, - {"version": "v0.5", "title": "v0.5", "aliases": ["latest"]}, - {"version": "v0.4.1.1", "title": "v0.4.1.1", "aliases": []}, - {"version": "v0.4.0", "title": "v0.4.0", "aliases": []}, - {"version": "v0.3.0", "title": "v0.3.0", "aliases": []}, - {"version": "v0.2.0", "title": "v0.2.0", "aliases": []}, - {"version": "v0.1.0", "title": "v0.1.0", "aliases": []} -] diff --git a/try-rzk/playground.html b/try-rzk/index.html similarity index 100% rename from try-rzk/playground.html rename to try-rzk/index.html From 460237a65e1c96f7dd1c5641e2c25555c1373cf4 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 29 Jun 2023 11:25:12 +0300 Subject: [PATCH 13/18] Do not deploy docs for main, deploy tags as latest --- .github/workflows/mkdocs.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index d448e365b..af32f4110 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -2,7 +2,7 @@ name: Build and Deploy MkDocs to GitHub Pages on: push: - branches: [ main, develop ] + branches: [ develop ] tags: [ v* ] paths: - .github/workflows/mkdocs.yml @@ -42,13 +42,13 @@ jobs: git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" - - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}) - if: ${{ github.ref_name != 'main' }} + - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}, latest) + if: ${{ github.ref_name != 'develop' }} run: | - mike deploy --rebase --force --push --config-file docs/mkdocs.yml ${{ github.ref_name }} + mike deploy --rebase --force --push --config-file docs/mkdocs.yml ${{ github.ref_name }} latest - - name: ๐Ÿš€ Deploy with mike (latest) - if: ${{ github.ref_name == 'main' }} + - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}) + if: ${{ github.ref_name == 'develop' }} run: | - mike deploy --rebase --force --push --config-file docs/mkdocs.yml latest + mike deploy --rebase --force --push --config-file docs/mkdocs.yml ${{ github.ref_name }} From 4ab3a5990c2b0e894e84aaeec0f4a2b27d598434 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 29 Jun 2023 12:44:47 +0300 Subject: [PATCH 14/18] Do not rebase when deploying with mike --- .github/workflows/mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index af32f4110..507a96cad 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -45,10 +45,10 @@ jobs: - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}, latest) if: ${{ github.ref_name != 'develop' }} run: | - mike deploy --rebase --force --push --config-file docs/mkdocs.yml ${{ github.ref_name }} latest + mike deploy --push --config-file docs/mkdocs.yml ${{ github.ref_name }} latest - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}) if: ${{ github.ref_name == 'develop' }} run: | - mike deploy --rebase --force --push --config-file docs/mkdocs.yml ${{ github.ref_name }} + mike deploy --push --config-file docs/mkdocs.yml ${{ github.ref_name }} From 655b61a76ef2266e87c053588bcc28f0af146d89 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 29 Jun 2023 12:49:27 +0300 Subject: [PATCH 15/18] Rebase but do not force push --- .github/workflows/mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index 507a96cad..c45788790 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -45,10 +45,10 @@ jobs: - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}, latest) if: ${{ github.ref_name != 'develop' }} run: | - mike deploy --push --config-file docs/mkdocs.yml ${{ github.ref_name }} latest + mike deploy --rebase --push --config-file docs/mkdocs.yml ${{ github.ref_name }} latest - name: ๐Ÿš€ Deploy with mike (${{ github.ref_name }}) if: ${{ github.ref_name == 'develop' }} run: | - mike deploy --push --config-file docs/mkdocs.yml ${{ github.ref_name }} + mike deploy --rebase --push --config-file docs/mkdocs.yml ${{ github.ref_name }} From a52e75741ef7ab531f4cfcbfb598ed4fe1116423 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 29 Jun 2023 12:52:18 +0300 Subject: [PATCH 16/18] Use fetch-depth: 0 --- .github/workflows/mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index c45788790..20eadab0c 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -16,6 +16,8 @@ jobs: steps: - name: ๐Ÿ“ฅ Checkout repository uses: actions/checkout@v3 + with: + fetch-depth: 0 - name: ๐Ÿงฐ Set up Python uses: actions/setup-python@v4 From ea2d176be5ce92b61b4f05c8c7c8ddb34cff6a78 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 29 Jun 2023 14:27:58 +0300 Subject: [PATCH 17/18] Update documentation --- docs/docs/examples/RS17.rzk | 103 -------- docs/docs/examples/bugs.rzk | 139 ---------- docs/docs/examples/default_snippet.rzk | 25 -- docs/docs/examples/emily.rzk | 143 ----------- docs/docs/examples/recId.rzk | 141 ---------- docs/docs/{rzk-1 => examples}/recId.rzk.md | 0 docs/docs/examples/section4.rzk.md | 20 -- docs/docs/examples/short.rzk.md | 15 -- docs/docs/examples/test.rzk.md | 242 ------------------ docs/docs/getting-started/install.md | 43 +++- .../getting-started/publishing-with-mkdocs.md | 4 + docs/docs/related/yoneda.md | 28 ++ docs/docs/tools/continuous.md | 5 +- docs/mkdocs.yml | 14 +- docs/overrides/javascript/mathjax.js | 17 ++ 15 files changed, 103 insertions(+), 836 deletions(-) delete mode 100644 docs/docs/examples/RS17.rzk delete mode 100644 docs/docs/examples/bugs.rzk delete mode 100644 docs/docs/examples/default_snippet.rzk delete mode 100644 docs/docs/examples/emily.rzk delete mode 100644 docs/docs/examples/recId.rzk rename docs/docs/{rzk-1 => examples}/recId.rzk.md (100%) delete mode 100644 docs/docs/examples/section4.rzk.md delete mode 100644 docs/docs/examples/short.rzk.md delete mode 100644 docs/docs/examples/test.rzk.md create mode 100644 docs/docs/getting-started/publishing-with-mkdocs.md create mode 100644 docs/docs/related/yoneda.md create mode 100644 docs/overrides/javascript/mathjax.js diff --git a/docs/docs/examples/RS17.rzk b/docs/docs/examples/RS17.rzk deleted file mode 100644 index d21aea4b3..000000000 --- a/docs/docs/examples/RS17.rzk +++ /dev/null @@ -1,103 +0,0 @@ -#lang rzk-1 - --- Prerequisites (HoTT definitions) - -#def prod : (A : U) -> (B : U) -> U - := \A -> \B -> โˆ‘ (x : A), B - -#def isweq : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \A -> \B -> \f -> โˆ‘ (g : (_ : B) -> A), prod ((x : A) -> g (f x) =_{A} x) ((y : B) -> f (g y) =_{B} y) - -#def weq : (A : U) -> (B : U) -> U - := \A -> \B -> โˆ‘ (f : (_ : A) -> B), isweq A B f - --- Section 3 - --- Simplices - -#def ฮ”ยน : (t : 2) -> TOPE - := \(t : 2) -> TOP - -#def ฮ”ยฒ : (t : 2 * 2) -> TOPE - := \(t, s) -> s <= t - -#def ฮ”ยณ : (t : 2 * 2 * 2) -> TOPE - := \((t1, t2), t3) -> t3 <= t2 /\ t2 <= t1 - --- Boundaries - -#def โˆ‚ฮ”ยน : (t : 2) -> TOPE - := \(t : 2) -> 0_2 === t \/ 1_2 === t - -#def โˆ‚ฮ”ยฒ : (t : 2 * 2) -> TOPE - := \(t, s) -> (0_2 === s /\ s <= t) \/ (s === t) \/ (s <= t /\ t === 1_2) - --- Connection squares - -#def V : (A : U) -> - (f : <{t : 2 | TOP} -> A[BOT |-> recBOT]>) -> - <{ts : 2 * 2 | TOP} -> A[BOT |-> recBOT]> - := \A -> \f -> - \(t, s) -> recOR(t <= s, s <= t, f s, f t) - -#def ฮ› : (A : U) -> - (f : <{t : 2 | TOP} -> A[BOT |-> recBOT]>) -> - <{ts : 2 * 2 | TOP} -> A[BOT |-> recBOT]> - := \A -> \f -> - \(t, s) -> recOR(t <= s, s <= t, f t, f s) - --- Products of shapes - -#def shapeProd : (I : CUBE) -> (J : CUBE) -> - (psi : (t : I) -> TOPE) -> - (chi : (s : J) -> TOPE) -> - (ts : I * J) -> TOPE - := \I -> \J -> \psi -> \chi -> - \(t, s) -> psi t /\ chi s - -#def ฮ”ยนร—ฮ”ยน : (t : 2 * 2) -> TOPE - := shapeProd 2 2 ฮ”ยน ฮ”ยน - -#def ฮ”ยฒร—ฮ”ยน : (t : 2 * 2 * 2) -> TOPE - := shapeProd (2 * 2) 2 ฮ”ยฒ ฮ”ยน - --- Section 4 - --- [RS17, Theorem 4.1] -#def flip-ext-fun - : (I : CUBE) -> - (psi : (t : I) -> TOPE) -> - (phi : {(t : I) | psi t} -> TOPE) -> - (X : U) -> - (Y : <{t : I | psi t} -> (x : X) -> U >) -> - (f : <{t : I | phi t} -> (x : X) -> Y t x >) -> - weq <{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]> - ((x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) - := \I -> \psi -> \phi -> \X -> \Y -> \f -> - (\k -> \x -> \{t : I | psi t} -> k t x, - (\k -> \{t : I | psi t} -> \x -> (k x) t, - (\k -> refl_{k}, - \k -> refl_{k}))) - --- [RS17, Theorem 4.2 (part 1)] -#def uncurry-ext-weq - : (I : CUBE) -> - (J : CUBE) -> - (psi : (t : I) -> TOPE) -> - (phi : {(t : I) | psi t} -> TOPE) -> - (zeta : (s : J) -> TOPE) -> - (chi : {(s : J) | zeta s} -> TOPE) -> - (X : <{t : I | psi t} -> <{s : J | zeta s} -> U > >) -> - (f : <{(t, s) : I * J | (phi t /\ zeta s) \/ (psi t /\ chi s)} -> X t s >) -> - weq <{t : I | psi t} -> - <{s : J | zeta s} -> X t s [ chi s |-> f (t, s) ]> - [ phi t |-> \{s : J | zeta s} -> f (t, s) ]> - <{(t, s) : I * J | psi t /\ zeta s} -> X t s - [ (phi t /\ zeta s) \/ (psi t /\ chi s) |-> f (t, s) ]> - := \I -> \J -> \psi -> \phi -> \zeta -> \chi -> \X -> \f -> - (\k -> \(t, s) -> k t s, - (\k -> \{t : I | psi t} -> \{s : J | zeta s} -> k (t, s), - (\k -> refl_{k}, \k -> refl_{k}))) - --- #def uncurry_ext : (I : CUBE) -> (J : CUBE) -> (psi : (t : I) -> TOPE) -> (zeta : (s : J) -> TOPE) -> (X : <{t : I | psi t} -> <{s : J | zeta s} -> U> >) -> (chi : {(t : I) | psi t} -> TOPE) -> (phi : {(s : J) | zeta s} -> TOPE) -> (f : <{(t, s) : I * J | psi t /\ zeta s} -> X t s >) -> (_ : <{t : I | psi t} -> <{s : J | zeta s} -> X t s [chi s |-> f (t, s)]> [phi t |-> \s -> f (t, s)]>) -> <{(t, s) : I * J | psi t /\ zeta s} -> X t s [(phi t /\ zeta s) \/ (psi t /\ chi s) |-> f (t, s)]> --- := \I -> \J -> \psi -> \zeta -> \X -> \chi -> \phi -> \f -> \k -> \(t, s) -> k t s diff --git a/docs/docs/examples/bugs.rzk b/docs/docs/examples/bugs.rzk deleted file mode 100644 index 165287611..000000000 --- a/docs/docs/examples/bugs.rzk +++ /dev/null @@ -1,139 +0,0 @@ -#lang rzk-1 - -#def ฮ”ยน : (t : 2) -> TOPE - := \(t : 2) -> TOP - -#def โˆ‚ฮ”ยน : (t : 2) -> TOPE - := \(t : 2) -> (t === 0_2 \/ t === 1_2) - -#def ฮ”ยฒ : (t : 2 * 2) -> TOPE - := \(t, s) -> s <= t - -#def โˆ‚ฮ”ยฒ : (t : 2 * 2) -> TOPE - := \(t, s) -> (s === 0_2 \/ t === 1_2 \/ s === t) - -#def hom : (A : U) -> (t : A) -> (y : A) -> U - := \A -> \x -> \y -> <{t : 2 | ฮ”ยน t } -> A [ โˆ‚ฮ”ยน t |-> recOR(t === 0_2, t === 1_2, x, y) ]> - --- #def hom2 --- : (A : U) --- -> (t : A) -> (y : A) -> (z : A) --- -> (f : hom A t y) --- -> (g : hom A y z) --- -> (h : hom A t z) --- -> U --- := \A -> \t -> \y -> \z -> \f -> \g -> \h -> --- <{(t, s) : 2 * 2 | t <= s} -> A --- [ t === 0_2 \/ s === 1_2 \/ t === s |-> --- recOR(s === 1_2, t === 0_2 \/ t === s, f t, recOR(t === 0_2, t === s, g s, h s)) ]> - - -#def iscontr : (A : U) -> U - := \A -> โˆ‘ (a : A), (x : A) -> a =_{A} x - -#def iscontr : (A : U) -> U - := \A -> โˆ‘ (a : A), (x : A) -> a =_{A} x - -#def prod : (A : U) -> (B : U) -> U - := \A -> \B -> โˆ‘ (x : A), B - -#def isweq : (A : U) -> (B : U) -> (f : (x : A) -> B) -> U - := \A -> \B -> \f -> โˆ‘ (g : (x : B) -> A), prod ((x : A) -> g (f x) =_{A} x) ((y : B) -> f (g y) =_{B} y) - -#def weq : (A : U) -> (B : U) -> U - := \A -> \B -> โˆ‘ (f : (x : A) -> B), isweq A B f - -#def bugtype : U - := (A : (x : U) -> U) -> weq ((t : U) -> A t) U - -#def bug2 - : (r : bugtype) -> bugtype - := \r -> r - --- #def relfunext2 : U --- := --- (I : CUBE) -> --- (psi : (t : I) -> TOPE) -> --- (A : <{t : I | psi t} -> U >) -> --- (f : <{t : I | psi t} -> A t >) -> --- (g : <{t : I | psi t} -> A t >) -> --- weq (f =_{<{t : I | psi t} -> A t >} g) --- <{t : I | psi t} -> f t =_{A t} g t > --- --- #def bug : (r : relfunext2) -> relfunext2 --- := \r -> r - --- #def relfunext2 : U --- := --- (I : CUBE) -> --- (psi : (t : I) -> TOPE) -> --- (phi : (t : I) -> TOPE) -> --- (A : <{t : I | psi t} -> U >) -> --- (a : <{t : I | psi t /\ phi t} -> A t >) -> --- (f : <{t : I | psi t} -> A t [ psi t /\ phi t |-> a t ]>) -> --- (g : <{t : I | psi t} -> A t [ psi t /\ phi t |-> a t ]>) -> --- weq (f =_{<{t : I | psi t} -> A t [ psi t /\ phi t |-> a t ]>} g) --- <{t : I | psi t} -> f t =_{A t} g t [ psi t /\ phi t |-> refl_{f t} ]> --- --- #def bug : (r : relfunext2) -> U --- := \r -> U --- --- #def relfunext : U --- := --- (I : CUBE) -> --- (psi : (t : I) -> TOPE) -> --- (phi : (t : I) -> TOPE) -> --- (A : <{t : I | psi t} -> U >) -> --- (iscontrA : <{t : I | psi t} -> iscontr (A t) >) -> --- (a : <{t : I | psi t /\ phi t} -> A t >) -> --- <{t : I | psi t} -> A t [ psi t /\ phi t |-> a t]> - --- f =_{ใ€ˆ{t : I | psi t} โ†’ (f =_{ใ€ˆ{tโ‚ : I | psi tโ‚} โ†’ (f =_{ใ€ˆ{tโ‚‚ : I | psi tโ‚‚} โ†’ A tโ‚‚[ ((psi tโ‚‚) โˆง (phi tโ‚‚)) โ†ฆ a tโ‚‚ ]ใ€‰} g) tโ‚[ ((psi tโ‚) โˆง (phi tโ‚)) โ†ฆ a tโ‚ ]ใ€‰} g) t[ ((psi t) โˆง (phi t)) โ†ฆ a t ]ใ€‰} g) - --- #def restrict --- : (I : CUBE) -> --- (psi : (t : I) -> TOPE) -> --- (phi : (t : I) -> TOPE) -> --- (A : (t : I) -> U) -> --- (a : <{t : I | psi t} -> A t >) -> --- <{t : I | psi t /\ phi t} -> A t > --- := \I -> \psi -> \phi -> \A -> \a -> --- \t -> a t --- --- #def restricts-path --- : (r : relfunext2) -> --- (I : CUBE) -> --- (psi : (t : I) -> TOPE) -> --- (phi : (t : I) -> TOPE) -> --- (A : (t : I) -> U) -> --- (a_psi : <{t : I | psi t} -> A t >) -> --- (a_phi : <{t : I | phi t} -> A t >) -> --- (e : <{t : I | psi t /\ phi t} -> a_psi t =_{A t} a_phi t >) -> --- U --- -- ((\t -> a_psi t) t =_{<{t : I | psi t /\ psi t} -> A t >} (\t -> a_phi t)) --- -- <{t : I | psi t} -> f t =_{A t} g t [ psi t /\ phi t |-> refl_{f t} ]> --- -- restrict I psi phi A a_psi --- -- =_{ <{t : I | psi t /\ phi t} -> A t > } --- -- restrict I phi psi A a_phi --- := --- \r -> --- \I -> \psi -> \phi -> \A -> \a_psi -> \a_phi -> \e -> --- r -- I --- -- (\t -> psi t /\ phi t) --- -- (\t -> BOT) --- -- (\t -> A t) --- -- (\t -> recBOT) --- -- (\t -> a_psi t) --- -- (\t -> a_phi t) --- --- #def recOR-id --- : (I : CUBE) -> --- (psi : (t : I) -> TOPE) -> --- (phi : (t : I) -> TOPE) -> --- (A : (t : I) -> U) -> --- (a_psi : <{t : I | psi t} -> A t >) -> --- (a_phi : <{t : I | phi t} -> A t >) -> --- (e : <{t : I | psi t /\ phi t} -> a_psi t =_{A t} a_phi t >) -> --- <{t : I | psi t \/ phi t} -> A t > --- := \I -> \psi -> \phi -> \A -> \a_psi -> \a_phi -> \e -> --- \t -> recOR(psi t, phi t, a_psi'', a_phi'') diff --git a/docs/docs/examples/default_snippet.rzk b/docs/docs/examples/default_snippet.rzk deleted file mode 100644 index 05e5fa699..000000000 --- a/docs/docs/examples/default_snippet.rzk +++ /dev/null @@ -1,25 +0,0 @@ -#lang rzk-1 - --- [RS17, Definition 5.1] --- An arrow in A from x to y. -#def hom (A : U) (x y : A) : U - := (t : 2) -> A [ - t === 0_2 |-> x, - t === 1_2 |-> y - ] - --- [RS17, Equation 8.1] --- A dependent arrow in the type family C --- over the arrow f in A from x to y. -#def dhom - (A : U) - (x y : A) - (f : hom A x y) - (C : A -> U) - (u : C x) - (v : C y) - : U - := (t : 2) -> C (f t) [ - t === 0_2 |-> u, - t === 1_2 |-> v - ] diff --git a/docs/docs/examples/emily.rzk b/docs/docs/examples/emily.rzk deleted file mode 100644 index 50fc6ee8b..000000000 --- a/docs/docs/examples/emily.rzk +++ /dev/null @@ -1,143 +0,0 @@ -#lang rzk-1 - --- some path algebra that we need here - --- path reversal -#def rev : (A : U) -> (x : A) -> (y : A) -> (p : x =_{A} y) -> y =_{A} x - := \(A : U) -> \(x : A) -> \(y : A) -> \(p : x =_{A} y) - -> idJ(A, x, \z -> \(_ : x =_{A} z) -> z =_{A} x, refl_{x : A}, y, p) - --- path composition by induction on the second path -#def concat : (A : U) -> (x : A) -> (y : A) -> (z : A) -> (p : x =_{A} y) -> (q : y =_{A} z) -> (x =_{A} z) - := \A -> \x -> \y -> \z -> \p -> \q -> idJ(A, y, \(w : A) -> \(_ : y =_{A} w) -> (x =_{A} w), p, z, q) - --- application of functions to paths -#def ap : (A : U) -> (B : U) -> (x : A) -> (y : A) -> (f : (x : A) -> B) -> (p : x =_{A} y) -> (f x =_{B} f y) - := \A -> \B -> \x -> \y -> \f -> \p -> idJ(A, x, \(y' : A) -> \(_ : x =_{A} y') -> (f x =_{B} f y'), refl_{f x : B}, y, p) - --- transport in a type family along a path in the base -#def transport : (A : U) -> (B : (a : A) -> U) -> (x : A) -> (y : A) -> (p : x =_{A} y) -> (u : B x) -> B y - := \A -> \B -> \x -> \y -> \p -> \u -> idJ(A, x, \(y' : A) -> \(_ : x =_{A} y') -> B y', u, y, p) - --- for later use a higher transport -#def transport2 : (A : U) -> (B : (a : A) -> U) -> (x : A) -> (y : A) -> (p : x =_{A} y) -> (q : x =_{A} y) - -> (H : p =_{x =_{A} y} q) -> (u : B x) -> (transport A B x y p u) =_{B y} (transport A B x y q u) - := \A -> \B -> \x -> \y -> \p -> \q -> \H -> \u -> idJ(x =_{A} y, p, \q' -> \H' -> (transport A B x y p u) =_{B y} (transport A B x y q' u), refl_{transport A B x y p u : B y}, q, H) - --- homotopies - -#def homotopy : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (g : (_ : A) -> B) -> U - := \A -> \B -> \f -> \g -> (a : A) -> (f a =_{B} g a) - -#def homotopy-rev : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (g : (_ : A) -> B) - -> (_ : homotopy A B f g) -> homotopy A B g f - := \A -> \B -> \f -> \g -> \H -> \a -> rev B (f a) (g a) (H a) - -#def homotopy-composition : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (g : (_ : A) -> B) -> (h : (_ : A) -> B) - -> (H : homotopy A B f g) -> (K : homotopy A B g h) -> homotopy A B f h - := \A -> \B -> \f -> \g -> \h -> \H -> \K -> \a -> concat B (f a) (g a) (h a) (H a) (K a) - --- homotopies of dependent functions -#def dhomotopy : (A : U) -> (B : (a : A) -> U) -> (f : (a : A) -> B a) -> (g : (a : A) -> B a) -> U - := \A -> \B -> \f -> \g -> (a : A) -> (f a =_{B a} g a) - -#def dhomotopy-rev : (A : U) -> (B : (a : A) -> U) -> (f : (a : A) -> B a) -> (g : (a : A) -> B a) - -> (_ : dhomotopy A B f g) -> dhomotopy A B g f - := \A -> \B -> \f -> \g -> \H -> \a -> rev (B a) (f a) (g a) (H a) - --- we define this in the path composition order -#def dhomotopy-composition : (A : U) -> (B : (a : A) -> U) -> (f : (a : A) -> B a) -> (g : (a : A) -> B a) -> (h : (a : A) -> B a) - -> (H : dhomotopy A B f g) -> (K : dhomotopy A B g h) -> dhomotopy A B f h - := \A -> \B -> \f -> \g -> \h -> \H -> \K -> \a -> concat (B a) (f a) (g a) (h a) (H a) (K a) - --- for simplicity, we define these for non-dependent functions --- for some reason this fails with dhomotopy used for non-dependent functions -#def homotopy-postwhisker - : (A : U) -> - (B : U) -> - (C : U) -> - (f : (_ : A) -> B) -> - (g : (_ : A) -> B) -> - (H : homotopy A B f g) -> - (h : (_ : B) -> C) -> - homotopy A C (\(x : A) -> h (f x)) (\(x : A) -> h (g x)) - := \A -> \B -> \C -> \f -> \g -> \H -> \h -> \a -> ap B C (f a) (g a) h (H a) - --- FAILURE --- #def fails-homotopy-postwhisker --- : (A : U) -> (B : U) -> (C : U) -> (f : (_ : A) -> B) -> (g : (_ : A) -> B) --- -> (H : dhomotopy A B f g) --- -> (h : (_ : B) -> C) --- -> dhomotopy A C (\(x : A) -> h (f x)) (\(x : A) -> h (g x)) --- := \A -> \B -> \C -> \f -> \g -> \H -> \h -> \a -> ap B C (f a) (g a) h (H a) - -#def homotopy-prewhisker : (A : U) -> (B : U) -> (C : U) -> (f : (_ : B) -> C) -> (g : (_ : B) -> C) - -> (H : homotopy B C f g) -> (h : (_ : A) -> B) -> homotopy A C (\(x : A) -> f (h x)) (\(x : A) -> g (h x)) - := \A -> \B -> \C -> \f -> \g -> \H -> \h -> \a -> H (h a) - --- FAILURE --- #def fails-homotopy-prewhisker : (A : U) -> (B : U) -> (C : U) -> (f : (_ : B) -> C) -> (g : (_ : B) -> C) --- -> (H : dhomotopy B C f g) -> (h : (_ : A) -> B) -> dhomotopy A C (\(x : A) -> f (h x)) (\(x : A) -> g (h x)) --- := \A -> \B -> \C -> \f -> \g -> \H -> \h -> \a -> H (h a) - -#def isContr : (A : U) -> U - := \(A : U) -> โˆ‘ (x : A), (y : A) -> x =_{A} y - -#def contraction-center : (A : U) -> (_ : isContr A) -> A - := \(A : U) -> \Aiscontr -> (first Aiscontr) - -#def contracting-htpy : (A : U) -> (Aiscontr : isContr A) -> (z : A) -> (contraction-center A Aiscontr) =_{A} z - := \A -> \Aiscontr -> second Aiscontr - -#def prod : (A : U) -> (B : U) -> U - := \(A : U) -> \(B : U) -> โˆ‘ (x : A), B - --- defined to illustrate the syntax for terms in sigma types -#def diagonal : (A : U) -> (_ : A) -> prod A A - := \A -> \a -> (a , a) - -#def hasSection : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \A -> \B -> \f -> โˆ‘ (s : (_ : B) -> A), (b : B) -> (f (s b)) =_{B} b - -#def hasRetraction : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \A -> \B -> \f -> โˆ‘ (r : (_ : B) -> A), (a : A) -> (r (f a)) =_{A} a - --- incoherent equivalences -#def hasInverse : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \(A : U) -> \(B : U) -> \(f : (_ : A) -> B) -> โˆ‘ (g : (_ : B) -> A), (prod ((x : A) -> (g (f x)) =_{A} x)) ((y : B) -> (f (g y)) =_{B} y) - --- equivalences are bi-invertible maps -#def isEquiv : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \(A : U) -> \(B : U) -> \(f : (_ : A) -> B) -> prod (hasRetraction A B f) (hasSection A B f) - -#def isEquiv-section : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (_ : isEquiv A B f) -> (_ : B) -> A - := \A -> \B -> \f -> \fisequiv -> (first (second fisequiv)) - -#def isEquiv-retraction : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (_ : isEquiv A B f) -> (_ : B) -> A - := \A -> \B -> \f -> \fisequiv -> (first (first fisequiv)) - -#def isEquiv-htpic-inverses : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (fisequiv : isEquiv A B f) - -> homotopy B A (isEquiv-section A B f fisequiv) (isEquiv-retraction A B f fisequiv) - := \A -> \B -> \f -> \fisequiv -> homotopy-composition B A (isEquiv-section A B f fisequiv) (\x -> (isEquiv-retraction A B f fisequiv) (f ((isEquiv-section A B f fisequiv) x))) (isEquiv-retraction A B f fisequiv) - (homotopy-rev B A (\x -> ((isEquiv-retraction A B f fisequiv) (f ((isEquiv-section A B f fisequiv) x)))) (isEquiv-section A B f fisequiv) - (homotopy-prewhisker B A A(\x -> (isEquiv-retraction A B f fisequiv) (f x)) (\x -> x) (second (first fisequiv)) (isEquiv-section A B f fisequiv))) - (homotopy-postwhisker B B A (\x -> f ((isEquiv-section A B f fisequiv) x)) (\x -> x) (second (second fisequiv)) (isEquiv-retraction A B f fisequiv)) - -#def hasInverse-isEquiv : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (_ : hasInverse A B f) -> isEquiv A B f - := \A -> \B -> \f -> \fhasinverse -> ((first fhasinverse, first (second fhasinverse)), (first fhasinverse, second (second fhasinverse))) - -#def isEquiv-hasInverse : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (_ : isEquiv A B f) -> hasInverse A B f - := \A -> \B -> \f -> \fisequiv -> (first (second fisequiv), - (homotopy-composition A A (\x -> ((isEquiv-section A B f fisequiv) (f x))) (\x -> ((isEquiv-retraction A B f fisequiv) (f x))) (\x -> x) (homotopy-prewhisker A B A (isEquiv-section A B f fisequiv) (isEquiv-retraction A B f fisequiv) (isEquiv-htpic-inverses A B f fisequiv) f) second (first fisequiv) , second (second fisequiv))) - -#def hasInverse-inverse : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> (_ : hasInverse A B f) -> (_ : B) -> A - := \A -> \B -> \f -> \fhasinverse -> first (fhasinverse) - -#def weird-but-fine : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \A -> \B -> \f - -> โˆ‘ (fhasinverse : (hasInverse A B f)), (hasInverse-inverse A B f fhasinverse) =_{(_ : B) -> A} (hasInverse-inverse A B f fhasinverse) - --- FAILURE -#def weird-but-fails : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \A -> \B -> \f - -> โˆ‘ (fhasinverse : (hasInverse A B f)), (hasInverse-inverse A B f fhasinverse) =_{(_ : B) -> A} (first (fhasinverse)) diff --git a/docs/docs/examples/recId.rzk b/docs/docs/examples/recId.rzk deleted file mode 100644 index d50b8bd87..000000000 --- a/docs/docs/examples/recId.rzk +++ /dev/null @@ -1,141 +0,0 @@ -#lang rzk-1 - --- A is contractible there exists x : A such that for any y : A we have x = y. -#def iscontr (A : U) : U - := โˆ‘ (a : A), (x : A) -> a =_{A} x - --- A is a proposition if for any x, y : A we have x = y -#def isaprop (A : U) : U - := (x : A) -> (y : A) -> x =_{A} y - --- A is a set if for any x, y : A the type x =_{A} y is a proposition -#def isaset (A : U) : U - := (x : A) -> (y : A) -> isaprop (x =_{A} y) - --- Non-dependent product of A and B -#def prod (A : U) (B : U) : U - := โˆ‘ (x : A), B - --- A function f : A -> B is an equivalence --- if there exists g : B -> A --- such that for all x : A we have g (f x) = x --- and for all y : B we have f (g y) = y -#def isweq (A : U) (B : U) (f : A -> B) : U - := โˆ‘ (g : B -> A), prod ((x : A) -> g (f x) =_{A} x) ((y : B) -> f (g y) =_{B} y) - --- Equivalence of types A and B -#def weq (A : U) (B : U) : U - := โˆ‘ (f : A -> B), isweq A B f - --- Transport along a path -#def transport - (A : U) - (C : A -> U) - (x y : A) - (p : x =_{A} y) - : C x -> C y - := \cx -> idJ(A, x, (\z q -> C z), cx, y, p) - --- [RS17, Axiom 4.6] Relative function extensionality. -#def relfunext : U - := (I : CUBE) - -> (psi : I -> TOPE) - -> (phi : psi -> TOPE) - -> (A : psi -> U) - -> ((t : psi) -> iscontr (A t)) - -> (a : (t : phi) -> A t) - -> (t : psi) -> A t [ phi t |-> a t] - --- [RS17, Proposition 4.8] A (weaker) formulation of function extensionality. -#def relfunext2 : U - := (I : CUBE) - -> (psi : I -> TOPE) - -> (phi : psi -> TOPE) - -> (A : psi -> U) - -> (a : (t : phi) -> A t) - -> (f : (t : psi) -> A t [ phi t |-> a t ]) - -> (g : (t : psi) -> A t [ phi t |-> a t ]) - -> weq (f = g) - ((t : psi) -> (f t =_{A t} g t) [ phi t |-> refl ]) - --- Restrict extension type to a subshape. -#def restrict - (I : CUBE) - (psi : I -> TOPE) - (phi : I -> TOPE) - (A : {t : I | psi t \/ phi t} -> U) - (a : {t : I | psi t} -> A t) - : {t : I | psi t /\ phi t} -> A t - := \t -> a t - --- Reformulate extension type as an extension of a restriction. -#def ext-of-restrict - (I : CUBE) - (psi : I -> TOPE) - (phi : I -> TOPE) - (A : {t : I | psi t \/ phi t} -> U) - (a : {t : I | psi t} -> A t) - : (t : psi) -> A t [ psi t /\ phi t |-> restrict I psi phi A a t ] - := a - --- Transform extension of an identity into an identity of restrictions. -#def restricts-path - (r : relfunext2) - (I : CUBE) - (psi : I -> TOPE) - (phi : I -> TOPE) - (A : {t : I | psi t \/ phi t} -> U) - (a_psi : (t : psi) -> A t) - (a_phi : (t : phi) -> A t) - (e : {t : I | psi t /\ phi t} -> a_psi t = a_phi t) - : restrict I psi phi A a_psi = restrict I phi psi A a_phi - := (first (second (r I - (\t -> psi t /\ phi t) - (\t -> BOT) - (\t -> A t) - (\t -> recBOT) - (\t -> a_psi t) - (\t -> a_phi t)))) e - --- A weaker version of recOR, demanding only a path between a and b: --- recOR(psi, phi, a, b) demands that for psi /\ phi we have a == b (definitionally) --- (recId psi phi a b e) demands that e is the proof that a = b (intensionally) for psi /\ phi -#def recId - (r : relfunext2) - (I : CUBE) - (psi : I -> TOPE) - (phi : I -> TOPE) - (A : {t : I | psi t \/ phi t} -> U) - (a_psi : (t : psi) -> A t) - (a_phi : (t : phi) -> A t) - (e : {t : I | psi t /\ phi t} -> a_psi t = a_phi t) - : {t : I | psi t \/ phi t} -> A t - := \t -> recOR( - psi t |-> transport - ({s : I | psi s /\ phi s} -> A s) - (\ra -> (s : psi) -> A s [ psi s /\ phi s |-> ra s ]) - (restrict I psi phi A a_psi) - (restrict I phi psi A a_phi) - (restricts-path r I psi phi A a_psi a_phi e) - (ext-of-restrict I psi phi A a_psi) - t, - phi t |-> ext-of-restrict I phi psi A a_phi t - ) - --- If two extension types are equal along two subshapes, --- then they are also equal along their union. -#def id-along-border - (r : relfunext2) - (I : CUBE) - (psi : I -> TOPE) - (phi : I -> TOPE) - (A : {t : I | psi t \/ phi t} -> U) - (a b : {t : I | psi t \/ phi t} -> A t) - (e_psi : (t : psi) -> a t = b t) - (e_phi : (t : phi) -> a t = b t) - (border-is-a-set : {t : I | psi t /\ phi t} -> isaset (A t)) - : {t : I | psi t \/ phi t} -> a t = b t - := recId r I psi phi - (\t -> a t = b t) - e_psi e_phi - (\t -> border-is-a-set t (a t) (b t) (e_psi t) (e_phi t)) diff --git a/docs/docs/rzk-1/recId.rzk.md b/docs/docs/examples/recId.rzk.md similarity index 100% rename from docs/docs/rzk-1/recId.rzk.md rename to docs/docs/examples/recId.rzk.md diff --git a/docs/docs/examples/section4.rzk.md b/docs/docs/examples/section4.rzk.md deleted file mode 100644 index 61479da07..000000000 --- a/docs/docs/examples/section4.rzk.md +++ /dev/null @@ -1,20 +0,0 @@ -# RS17, Section 4 - -```rzk -prod : (A : U) -> (B : U) -> U - := \(A : U) -> \(B : U) -> โˆ‘ (x : A), B - -isweq : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \(A : U) -> \(B : U) -> \(f : (_ : A) -> B) -> โˆ‘ (g : (_ : B) -> A), (prod ((x : A) -> (g (f x)) =_{A} x)) ((y : B) -> (f (g y)) =_{B} y) - -weq : (A : U) -> (B : U) -> U - := \(A : U) -> \(B : U) -> โˆ‘ (f : (_ : A) -> B), ((isweq A) B) f -``` - -## Theorem 4.1 - -```rzk -RS17:Thm:4_1 : (I : CUBE) -> (psi : (t : I) -> TOPE) -> (phi : {t : I | psi t} -> TOPE) -> (X : U) -> (Y : <{t : I | psi t} -> (x : X) -> U [BOT |-> recBOT]>) -> (f : <{t : I | phi t} -> (x : X) -> Y t x [BOT |-> recBOT]>) -> weq (<{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>) ((x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) - := \(I : CUBE) -> \(psi : (t : I) -> TOPE) -> \(phi : {t : I | psi t} -> TOPE) -> \(X : U) -> \(Y : <{t : I | psi t} -> (x : X) -> U [BOT |-> recBOT]>) -> \(f : <{t : I | phi t} -> (x : X) -> Y t x [BOT |-> recBOT]>) -> (\(g : <{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>) -> \(x : X) -> \{t : I | psi t} -> g t x, (\(g : (x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) -> \{t : I | psi t} -> \(x : X) -> g x t, (\(g : <{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>) -> refl_{g : <{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>}, \(g : (x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) -> refl_{g : (x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>}))) -``` - diff --git a/docs/docs/examples/short.rzk.md b/docs/docs/examples/short.rzk.md deleted file mode 100644 index 717e228fa..000000000 --- a/docs/docs/examples/short.rzk.md +++ /dev/null @@ -1,15 +0,0 @@ -# Short test (RS17, Theorem 4.1) - -```rzk -prod : (A : U) -> (B : U) -> U - := \(A : U) -> \(B : U) -> โˆ‘ (x : A), B - -isweq : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \(A : U) -> \(B : U) -> \(f : (_ : A) -> B) -> โˆ‘ (g : (_ : B) -> A), (prod ((x : A) -> (g (f x)) =_{A} x)) ((y : B) -> (f (g y)) =_{B} y) - -weq : (A : U) -> (B : U) -> U - := \(A : U) -> \(B : U) -> โˆ‘ (f : (_ : A) -> B), ((isweq A) B) f - -RS17:Thm:4_1 : (I : CUBE) -> (psi : (t : I) -> TOPE) -> (phi : {t : I | psi t} -> TOPE) -> (X : U) -> (Y : <(t : I | psi t) -> (x : X) -> U [BOT |-> recBOT]>) -> (f : <(t : I | phi t) -> (x : X) -> Y t x [BOT |-> recBOT]>) -> weq (<(t : I | psi t) -> (x : X) -> Y t x [phi t |-> f t]>) ((x : X) -> <(t : I | psi t) -> Y t x [phi t |-> f t x]>) - := \(I : CUBE) -> \(psi : (t : I) -> TOPE) -> \(phi : {t : I | psi t} -> TOPE) -> \(X : U) -> \(Y : <(t : I | psi t) -> (x : X) -> U [BOT |-> recBOT]>) -> \(f : <(t : I | phi t) -> (x : X) -> Y t x [BOT |-> recBOT]>) -> (\(g : <(t : I | psi t) -> (x : X) -> Y t x [phi t |-> f t]>) -> \(x : X) -> \{t : I | psi t} -> g t x, (\(g : (x : X) -> <(t : I | psi t) -> Y t x [phi t |-> f t x]>) -> \{t : I | psi t} -> \(x : X) -> g x t, (\(g : <(t : I | psi t) -> (x : X) -> Y t x [phi t |-> f t]>) -> refl_{g : <(t : I | psi t) -> (x : X) -> Y t x [phi t |-> f t]>}, \(g : (x : X) -> <(t : I | psi t) -> Y t x [phi t |-> f t x]>) -> refl_{g : (x : X) -> <(t : I | psi t) -> Y t x [phi t |-> f t x]>}))) -``` diff --git a/docs/docs/examples/test.rzk.md b/docs/docs/examples/test.rzk.md deleted file mode 100644 index 1ffe89417..000000000 --- a/docs/docs/examples/test.rzk.md +++ /dev/null @@ -1,242 +0,0 @@ -# Examples - -Here are some super basic examples of declarations embedded in Markdown file. - -Identity function: - -```rzk -id : (A : U) -> (_ : A) -> A - := \(B : U) -> \(x : B) -> x -``` - -Church-encoded booleans with `id` used to make type look more complicated: - -```rzk -false : (id U) ((A : U) -> (_x : A) -> (_y : A) -> A) - := \(F : U) -> \(x : F) -> \(_ : F) -> x - -true : (A : U) -> (_ : A) -> (_ : A) -> A - := \(C : U) -> \(_ : C) -> \(y : C) -> y -``` - -Dependent sums: - -```rzk -prod : (A : U) -> (B : U) -> U - := \(A : U) -> \(B : U) -> โˆ‘ (x : A), B - -pair : (A : U) -> U - := \(A : U) -> (prod A) A - -ex1 : pair ((A : U) -> U) - := ( id U, (id ((B : U) -> U)) (id U) ) - -ex2 : (A : U) -> U - := first ex1 - -ex3 : (A : U) -> U - := second ex1 - -ex4 : U - := โˆ‘ (A : U), pair A - -ex5 : ex4 - := (U, (U, U)) - -ex6 : ex4 - := ((B : U) -> (x : B) -> B, (id, id)) -``` - -Identity types: - -```rzk -iscontr : (A : U) -> U - := \(A : U) -> โˆ‘ (x : A), (y : A) -> x =_{A} y - -isaprop : (A : U) -> U - := \(A : U) -> (x : A) -> (y : A) -> x =_{A} y - -invpath : (A : U) -> (x : A) -> (y : A) -> (p : x =_{A} y) -> y =_{A} x - := \(A : U) -> \(x : A) -> \(y : A) -> \(p : x =_{A} y) -> idJ(A, x, \(z : A) -> \(_ : x =_{A} z) -> z =_{A} x, refl_{x : A}, y, p) - -ex7 : (A : U) -> (x : A) -> refl_{x : A} =_{x =_{A} x} ((((invpath A) x) x) refl_{x : A}) - := \(A : U) -> \(x : A) -> refl_{refl_{x : A} : x =_{A} x} -``` - -Equivalence: - -```rzk -isweq : (A : U) -> (B : U) -> (f : (_ : A) -> B) -> U - := \(A : U) -> \(B : U) -> \(f : (_ : A) -> B) -> โˆ‘ (g : (_ : B) -> A), (prod ((x : A) -> (g (f x)) =_{A} x)) ((y : B) -> (f (g y)) =_{B} y) - -weq : (A : U) -> (B : U) -> U - := \(A : U) -> \(B : U) -> โˆ‘ (f : (_ : A) -> B), ((isweq A) B) f - -idweq : (A : U) -> (weq A) A - := \(A : U) -> ( id A , ( id A, ( \(x : A) -> refl_{x : A}, \(x : A) -> refl_{x : A} ) ) ) -``` - -Cubes and topes: - -```rzk -ex8 : CUBE - := 1 - -ex9 : CUBE - := 1 * 1 - -ex10 : (I : CUBE) -> (t : I * I) -> I * I - := \(I : CUBE) -> \(t : I * I) -> (second t, first t) - -ex11 : (t : 1 * 1) -> TOPE - := \(t : 1 * 1) -> (second t) === (first t) -``` - -Constraints: - -```rzk -ex12 : (I : CUBE) -> <{t : I | BOT} -> U[BOT |-> recBOT]> - := \(I : CUBE) -> \{t : I | BOT} -> recBOT - -ex13 : (I : CUBE) -> (A : U) -> <{t : I | BOT} -> A[BOT |-> recBOT]> - := \(I : CUBE) -> \(A : U) -> \{t : I | BOT} -> recBOT - -ex14 : (I : CUBE) -> (phi : (t : I) -> TOPE) -> (psi : (t : I) -> TOPE) -> (A : U) -> (a : <{t : I | phi t \/ psi t} -> A[BOT |-> recBOT]>) -> <{t : I | psi t \/ phi t} -> A[BOT |-> recBOT]> - := \(I : CUBE) -> \(phi : (t : I) -> TOPE) -> \(psi : (t : I) -> TOPE) -> \(A : U) -> \(a : <{t : I | phi t \/ psi t} -> A[BOT |-> recBOT]>) -> \{t : I | phi t \/ psi t} -> a t -``` - -### RS17, Section 4 - -#### Theorem 4.1 - -```rzk -RS17:Thm:4_1 : (I : CUBE) -> (psi : (t : I) -> TOPE) -> (phi : {t : I | psi t} -> TOPE) -> (X : U) -> (Y : <{t : I | psi t} -> (x : X) -> U [BOT |-> recBOT]>) -> (f : <{t : I | phi t} -> (x : X) -> Y t x [BOT |-> recBOT]>) -> weq (<{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>) ((x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) - := \(I : CUBE) -> \(psi : (t : I) -> TOPE) -> \(phi : {t : I | psi t} -> TOPE) -> \(X : U) -> \(Y : <{t : I | psi t} -> (x : X) -> U [BOT |-> recBOT]>) -> \(f : <{t : I | phi t} -> (x : X) -> Y t x [BOT |-> recBOT]>) -> (\(g : <{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>) -> \(x : X) -> \{t : I | psi t} -> g t x, (\(g : (x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) -> \{t : I | psi t} -> \(x : X) -> g x t, (\(g : <{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>) -> refl_{g : <{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>}, \(g : (x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) -> refl_{g : (x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>}))) -``` - -Here's a version that's a bit nicer to read, but is not supported at the moment: - -``` -RS17:Thm:4_1 - : (I : CUBE) - -> (psi : I -> TOPE) - -> (phi : {t : I | psi t} -> TOPE) - -> (Y : <{t : I | psi t} -> (x : X) -> U>) - -> (f : <{t : I | phi t} -> (x : X) -> Y t x>) - -> weq (<{t : I | psi t} -> (x : X) -> Y t x [phi t |-> f t]>) - ((x : X) -> <{t : I | psi t} -> Y t x [phi t |-> f t x]>) - := \ I psi phi Y f -> - (g, (h, (\_ -> refl, \_ -> refl))) - where - g = \k x t -> k t x - h = \k t x -> k x t -``` - -#### Theorem 4.2 - -``` -RS17:Thm:4_2a - : (I : CUBE) - -> (J : CUBE) - - -> (psi : (t : I) -> TOPE) - -> (zeta : (s : J) -> TOPE) - - -> (phi : {t : I | psi t} -> TOPE) - -> (chi : {s : J | zeta s} -> TOPE) - - -> (X : <{t : I | psi t} -> <{s : J | zeta s} -> U[BOT |-> recBOT]> [BOT |-> recBOT]>) - -> (f : <{ts : I * J | (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts))} -> X (first ts) (second ts) [BOT |-> recBOT]>) - -> weq - - (x : X) -> - {t : I | psi t} -> - - phi : {t : I | psi t} -> TOPE - t : I | psi |- phi - - <{t : I | psi t} -> A t [ phi t |-> a t ] > - - <{t : 2 | TOP} -> A - [ t === 0 \/ t === 1 |-> recOR (t === 0) (t === 1) a b ]> - - <{u : I | psi u} -> - <{s : J | zeta s} -> X u s [chi s |-> f (u, s)]> - [phi u |-> \{s : J | zeta s} -> f (u, s)]> - - <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> X (first ts) (second ts) [ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts]> - - (f, (g, (fg, gf))) - - := \(I : CUBE) -> \(J : CUBE) -> \(psi : (t : I) -> TOPE) -> \(zeta : (s : J) -> TOPE) -> \(phi : {t : I | psi t} -> TOPE) -> \(chi : {s : J | zeta s} -> TOPE) -> \(X : <{t : I | psi t} -> <{s : J | zeta s} -> U[BOT |-> recBOT]> [BOT |-> recBOT]>) -> \(f : <{ts : I * J | (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts))} -> X (first ts) (second ts) [BOT |-> recBOT]>) -> - - ( - \(k : <{t : I | psi t} -> <{s : J | zeta s} -> (X t) s[ chi s |-> f (t, s) ]> [ phi t |-> \{s : J | zeta s} -> f (t, s) ]>) -> - - \{ts : I * J | psi (first ts) /\ zeta (second ts)} -> - k (first ts) (second ts) - - , (\(k : <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> X (first ts) (second ts)[ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts ]>) -> \{t : I | psi t} -> \{s : J | zeta s} -> k (t, s), (\(k : <{t : I | psi t} -> <{s : J | zeta s} -> X t s[ chi s |-> f (t, s) ]>[ phi t |-> \{s : J | zeta s} โ†’ f (t, s) ]>) -> refl_{k : <{t : I | psi t} -> <{s : J | zeta s} -> X t s[ chi s |-> f (t, s) ]>[ phi t |-> \{s : J | zeta s} โ†’ f (t, s) ]>}, \(k : <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> (X (first ts)) (second ts)[ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts ]>) -> refl_{k : <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> (X (first ts)) (second ts)[ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts ]>}))) -``` - -```rzk -RS17:Thm:4_2a : (I : CUBE) -> (J : CUBE) -> (psi : (t : I) -> TOPE) -> (zeta : (s : J) -> TOPE) -> (phi : {t : I | psi t} -> TOPE) -> (chi : {s : J | zeta s} -> TOPE) -> (X : <{t : I | psi t} -> <{s : J | zeta s} -> U[BOT |-> recBOT]> [BOT |-> recBOT]>) -> (f : <{ts : I * J | (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts))} -> X (first ts) (second ts) [BOT |-> recBOT]>) -> weq <{t : I | psi t} -> <{s : J | zeta s} -> X t s [chi s |-> f (t, s)]> [phi t |-> \{s : J | zeta s} -> f (t, s)]> <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> X (first ts) (second ts) [ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts]> - := \(I : CUBE) -> \(J : CUBE) -> \(psi : (t : I) -> TOPE) -> \(zeta : (s : J) -> TOPE) -> \(phi : {t : I | psi t} -> TOPE) -> \(chi : {s : J | zeta s} -> TOPE) -> \(X : <{t : I | psi t} -> <{s : J | zeta s} -> U[BOT |-> recBOT]> [BOT |-> recBOT]>) -> \(f : <{ts : I * J | (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts))} -> X (first ts) (second ts) [BOT |-> recBOT]>) -> (\(k : <{t : I | psi t} -> <{s : J | zeta s} -> (X t) s[ chi s |-> f (t, s) ]> [ phi t |-> \{s : J | zeta s} -> f (t, s) ]>) -> \{ts : I * J | psi (first ts) /\ zeta (second ts)} -> k (first ts) (second ts), (\(k : <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> X (first ts) (second ts)[ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts ]>) -> \{t : I | psi t} -> \{s : J | zeta s} -> k (t, s), (\(k : <{t : I | psi t} -> <{s : J | zeta s} -> X t s[ chi s |-> f (t, s) ]>[ phi t |-> \{s : J | zeta s} โ†’ f (t, s) ]>) -> refl_{k : <{t : I | psi t} -> <{s : J | zeta s} -> X t s[ chi s |-> f (t, s) ]>[ phi t |-> \{s : J | zeta s} โ†’ f (t, s) ]>}, \(k : <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> (X (first ts)) (second ts)[ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts ]>) -> refl_{k : <{ts : I * J | psi (first ts) /\ zeta (second ts)} -> (X (first ts)) (second ts)[ (phi (first ts) /\ zeta (second ts)) \/ (psi (first ts) /\ chi (second ts)) |-> f ts ]>}))) -``` - -#### Theorem 4.3 - -```rzk -RS17:Thm:4_3 : (I : CUBE) -> (psi : (t : I) -> TOPE) -> (phi : {t : I | psi t} -> TOPE) -> (X : <{t : I | psi t} -> U [BOT |-> recBOT]>) -> (Y : <{t : I | psi t} -> (x : X t) -> U [BOT |-> recBOT]>) -> (a : <{t : I | phi t} -> X t [BOT |-> recBOT]>) -> (b : <{t : I | phi t} -> Y t (a t) [BOT |-> recBOT]>) -> weq <{t : I | psi t} -> โˆ‘ (x : X t), Y t x [phi t |-> (a t, b t)]> (โˆ‘ (f : <{t : I | psi t} -> X t [phi t |-> a t]>), <{t : I | psi t} -> Y t (f t) [phi t |-> b t]>) - := \(I : CUBE) -> \(psi : (t : I) -> TOPE) -> \(phi : {t : I | psi t} -> TOPE) -> \(X : <{t : I | psi t} -> U [BOT |-> recBOT]>) -> \(Y : <{t : I | psi t} -> (x : X t) -> U [BOT |-> recBOT]>) -> \(a : <{t : I | phi t} -> X t [BOT |-> recBOT]>) -> \(b : <{t : I | phi t} -> Y t (a t) [BOT |-> recBOT]>) -> (\(k : <{t : I | psi t} -> โˆ‘ (x : X t), Y t x[ phi t |-> (a t, b t) ]>) -> (\{t : I | psi t} -> first (k t), \{t : I | psi t} -> second (k t)), (\(k : โˆ‘ (f : <{t : I | psi t} -> X t[ phi t |-> a t ]>), <{t : I | psi t} -> Y t (f t)[ phi t |-> b t ]>) -> \{t : I | psi t} -> ((first k) t, (second k) t), (\(k : <{t : I | psi t} -> โˆ‘ (x : X t), Y t x[ phi t |-> (a t, b t) ]>) -> refl_{k : <{t : I | psi t} -> โˆ‘ (x : X t), Y t x[ phi t |-> (a t, b t) ]>}, \(k : โˆ‘ (f : <{t : I | psi t} -> X t[ phi t |-> a t ]>), <{t : I | psi t} -> Y t (f t)[ phi t |-> b t ]>) -> refl_{k : โˆ‘ (f : <{t : I | psi t} -> X t[ phi t |-> a t ]>), <{t : I | psi t} -> Y t (f t)[ phi t |-> b t ]>}))) -``` - -#### Theorem 4.4 - - - - - - - - - - - - - - - - - - - - - - - -### Typechecking Markdown files - -You can typecheck this file directly: - -``` -rzk typecheck examples/test.md -``` - -The result should look something like this - -``` -Everything is ok! - -Free variables and their known types: - true : ( A : ๐’ฐ ) โ†’ ( _ : A ) โ†’ ( _โ‚ : A ) โ†’ A - false : ( A : ๐’ฐ ) โ†’ ( _x : A ) โ†’ ( _y : A ) โ†’ A - id : ( A : ๐’ฐ ) โ†’ ( _ : A ) โ†’ A -Type holes and their instantiations: - ?Aโ‚‚ := _ - ?(H)โ‚ƒ := ๐’ฐ - ?Aโ‚ := _ - ?(H)โ‚‚ := ๐’ฐ - ?Uโ‚ := ๐’ฐ - ?(H)โ‚ := ๐’ฐ -``` diff --git a/docs/docs/getting-started/install.md b/docs/docs/getting-started/install.md index b95aa2f47..c62b9baae 100644 --- a/docs/docs/getting-started/install.md +++ b/docs/docs/getting-started/install.md @@ -1,18 +1,55 @@ # How to install Rzk -!!! warning "Work-in-progress" - Documentation is a work in progress. - ## VS Code extension with binaries (recommended) +!!! warning "Work-in-progress" + We plan to make installation from a VS Code extension as recommended to simplify user experience. See [https://github.com/fizruk/vscode-rzk/issues/21](https://github.com/fizruk/vscode-rzk/issues/21) for details and current status. + ## Install binaries ### Download from GitHub +You can download and use binaries (at least for some platforms) directly for one of the latest releases on GitHub at https://github.com/fizruk/rzk/releases. If your platform is not represented, please consider leaving an issue at https://github.com/fizruk/rzk/issues/new. + ## Install from sources +You can install `rzk` from sources. You can get the latest "stable" release from Hackage or build from the `develop` branch on GitHub. + ### Stack +To build and install with Stack from Hackage: + +```sh +stack install rzk +``` + +To build and install with Stack from sources on GitHub: + +```sh +git clone https://github.com/fizruk/rzk.git +cd rzk +git checkout develop +stack build && stack install +``` + ### cabal-install +To build and install with `cabal-install` from Hackage: + +```sh +cabal v2-install rzk +``` + +To build and install with `cabal-install` from sources on GitHub: + +```sh +git clone https://github.com/fizruk/rzk.git +cd rzk +git checkout develop +cabal v2-build && cabal v2-install +``` + ### Nix + +!!! warning "Work-in-progress" + To be done. diff --git a/docs/docs/getting-started/publishing-with-mkdocs.md b/docs/docs/getting-started/publishing-with-mkdocs.md new file mode 100644 index 000000000..6e9bdfba2 --- /dev/null +++ b/docs/docs/getting-started/publishing-with-mkdocs.md @@ -0,0 +1,4 @@ +# Building and publishing Rzk formalisations with MkDocs + +!!! warning "Work-in-progress" + Guide will be here soon. For now, please, check out https://github.com/emilyriehl/yoneda for an example with GitHub Actions. diff --git a/docs/docs/related/yoneda.md b/docs/docs/related/yoneda.md new file mode 100644 index 000000000..a29e91c1b --- /dev/null +++ b/docs/docs/related/yoneda.md @@ -0,0 +1,28 @@ +# Yoneda lemma for โˆž-categories + +This is a formalization library for simplicial Homotopy Type Theory (sHoTT) with +the aim of proving the Yoneda lemma for โˆž-categories following the paper +"[A type theory for synthetic โˆž-categories](https://higher-structures.math.cas.cz/api/files/issues/Vol1Iss1/RiehlShulman)" +[^1]. This formalization project could be regarded as a companion to the article +"[Could โˆž-category theory be taught to undergraduates?](https://www.ams.org/journals/notices/202305/noti2692/noti2692.html)" +[^2]. + +The formalizations are implemented using [`rzk`](https://github.com/fizruk/rzk), +an experimental proof assistant for a variant of type theory with shapes +developed by [Nikolai Kudasov](https://fizruk.github.io/). Formalizations were +contributed by [Fredrik Bakke](https://github.com/fredrik-bakke), +[Nikolai Kudasov](https://fizruk.github.io/), +[Emily Riehl](https://emilyriehl.github.io/), and +[Jonathan Weinberger](https://sites.google.com/view/jonathanweinberger). + +See more about the project at . + +[^1]: Emily Riehl & Michael Shulman. A type theory for synthetic โˆž-categories. + Higher Structures 1(1), 147-224. 2017. + +[^2]: Emily Riehl. Could โˆž-category theory be taught to undergraduates? Notices of + the AMS. May 2023. + + + + diff --git a/docs/docs/tools/continuous.md b/docs/docs/tools/continuous.md index a9ec3389c..2f87cc063 100644 --- a/docs/docs/tools/continuous.md +++ b/docs/docs/tools/continuous.md @@ -1,6 +1,5 @@ # Continuous Verification with `rzk` -## GitHub Actions +## GitHub Action -!!! warning "Work-in-progress" - GitHub Actions for rzk is in under development and will be released soon. +See . See also for an example usage of the action. diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index a3ad39b57..9c50dc6ab 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -13,18 +13,21 @@ nav: - Introduction: rzk-1/introduction.rzk.md - Sections and Variables: rzk-1/sections.rzk.md - Rendering Diagrams: rzk-1/render.rzk.md - - Weak tope disjunction elimination: rzk-1/recId.rzk.md + - Examples: + - Weak tope disjunction elimination: examples/recId.rzk.md - Tools: - Syntax Highlighting: tools/highlight.md - IDE support: tools/ide.md - Continuous Verification: tools/continuous.md - Related Projects: + - Yoneda lemma for โˆž-categories: related/yoneda.md - sHoTT: related/sHoTT.md - simple-topes: related/simple-topes.md - Playground: playground/ markdown_extensions: - admonition + - footnotes - pymdownx.details - mdx_math - pymdownx.highlight: @@ -36,6 +39,8 @@ markdown_extensions: - pymdownx.superfences - toc: permalink: true + - pymdownx.arithmatex: + generic: true theme: name: material @@ -54,7 +59,6 @@ theme: - navigation.tabs.sticky - navigation.sections - navigation.path - - toc.integrate palette: # Palette toggle for light mode - media: "(prefers-color-scheme: light)" @@ -71,7 +75,13 @@ theme: icon: material/brightness-4 name: Switch to light mode +extra_javascript: + - javascript/mathjax.js + - https://polyfill.io/v3/polyfill.min.js?features=es6 + - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js + extra_css: + - https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.css - https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/default.min.css - assets/css/rzk-render.css diff --git a/docs/overrides/javascript/mathjax.js b/docs/overrides/javascript/mathjax.js new file mode 100644 index 000000000..0232cdda3 --- /dev/null +++ b/docs/overrides/javascript/mathjax.js @@ -0,0 +1,17 @@ +window.MathJax = { + tex: { + inlineMath: [["\\(", "\\)"]], + displayMath: [["\\[", "\\]"]], + processEscapes: true, + processEnvironments: true + }, + options: { + ignoreHtmlClass: ".*|", + processHtmlClass: "arithmatex" + } +}; + +document$.subscribe(() => { + MathJax.typesetPromise() +}) + From fee57f0e4ee03c9c9dcbb752f0d4b7c1f62cb755 Mon Sep 17 00:00:00 2001 From: Nikolai Kudasov Date: Thu, 29 Jun 2023 14:35:11 +0300 Subject: [PATCH 18/18] Bump version and update changelog --- docs/docs/getting-started/changelog.md | 178 +++++++++++++++++++++++++ docs/mkdocs.yml | 1 + rzk/ChangeLog.md | 11 ++ rzk/package.yaml | 2 +- rzk/rzk.nix | 2 +- 5 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 docs/docs/getting-started/changelog.md diff --git a/docs/docs/getting-started/changelog.md b/docs/docs/getting-started/changelog.md new file mode 100644 index 000000000..5bfe3a333 --- /dev/null +++ b/docs/docs/getting-started/changelog.md @@ -0,0 +1,178 @@ +# Changelog for `rzk` + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to the +[Haskell Package Versioning Policy](https://pvp.haskell.org/). + +## v0.5.1 โ€” 2022-06-29 + +This version fixes `Unit` type and makes some changes to documentation: + +- Fix computation for `Unit` (see [2f7d6295]( https://github.com/fizruk/rzk/commit/2f7d6295 )); +- Update documentation (see [ea2d176b]( https://github.com/fizruk/rzk/commit/ea2d176b )); +- Use mike to deploy versioned docs (see [99cf721a]( https://github.com/fizruk/rzk/commit/99cf721a )); +- Replace MkDocs hook with the published plugin (see [#58]( https://github.com/fizruk/rzk/pull/58 )); +- Switch to Material theme for MkDocs (see [#57]( https://github.com/fizruk/rzk/pull/57 )); +- Fix links to `*.rzk.md` in `mkdocs.yml` (see [8ba1c55b]( https://github.com/fizruk/rzk/commit/8ba1c55b )); + +## v0.5 โ€” 2022-06-20 + +This version contains the following changes: + +- `Unit` type (with `unit` value) (see [ede02611]( https://github.com/fizruk/rzk/commit/ede02611 ) and [bf9d6cd9]( https://github.com/fizruk/rzk/commit/bf9d6cd9 ); +- Add basic tokenizer support via `rzk tokenize` (see [#53]( https://github.com/fizruk/rzk/pull/53 )); +- Add location information for shadowing warnings and duplicate definition errors (see [bf9d6cd9]( https://github.com/fizruk/rzk/commit/bf9d6cd9 )). + +## v0.4.1 โ€” 2022-06-16 + +This is version contains minor changes, primarily in tools around rzk: + +- Add `rzk version` command (see [f1709dc7]( https://github.com/fizruk/rzk/commit/f1709dc7 )); +- Add action to release binaries (see [9286afae]( https://github.com/fizruk/rzk/commit/9286afae )); +- Automate SVG rendering in MkDocs (see [#49]( https://github.com/fizruk/rzk/pull/49 )); +- Read `stdin` when no filepaths are given (see [936c15a3]( https://github.com/fizruk/rzk/commit/936c15a3 )); +- Add Pygments highlighting (see [01c2a017]( https://github.com/fizruk/rzk/commit/01c2a017 ), [cbd656cc]( https://github.com/fizruk/rzk/commit/cbd656cc ), [5220ddf9]( https://github.com/fizruk/rzk/commit/5220ddf9 ), [142ec003]( https://github.com/fizruk/rzk/commit/142ec003 ), [5c7425f2]( https://github.com/fizruk/rzk/commit/5c7425f2 )); +- Update HighlightJS config for rzk v0.4.0 (see [171ee63f]( https://github.com/fizruk/rzk/commit/171ee63f )); + +## v0.4.0 โ€” 2022-05-18 + +This version introduces sections and variables. The feature is similar to `Variable` command in Coq. An important difference, however, is that `rzk` does not allow definitions to use variables implicitly and adds `uses (...)` annotations to ensure such dependencies are not accidental. + +- Variables and sections (Coq-style) (see [#38]( https://github.com/fizruk/rzk/pull/38 )); + +Minor improvements: + +- Add flake, set up nix and cabal builds, cache nix store on CI (see [#39]( https://github.com/fizruk/rzk/pull/39 )); +- Apply stylish-haskell (see [7d42ef62]( https://github.com/fizruk/rzk/commit/7d42ef62 )); + +## v0.3.0 โ€” 2022-04-28 + +This version introduces an experimental feature for generating visualisations for simplicial terms in SVG. +To enable rendering, enable option `"render" = "svg"` (to disable, `"render" = "none"`): + +```rzk +#set-option "render" = "svg" -- enable rendering in SVG +``` + +Minor changes: + +- Exit with non-zero code upon a type error (see b135c4fb) +- Fix external links and some typos in the documentation + +Fixes: + +- Fixed an issue with tope solver when context was empty (see 6196af9e); +- Fixed #33 (missing coherence check for restricted types). + +## v0.2.0 - 2022-04-20 + +This version was a complete rewrite of the proof assistant, using a new parser, a new internal representation, and a rewrite of the typechecking logic. This is still a prototype, but, arguably, significantly more stable and manageable than version 0.1.0. + +### Language + +Syntax is almost entirely backwards compatible with version 0.1.0. +Typechecking has been fixed and improved. + +#### Breaking Changes + +The only known breaking changes are: + +1. Terms like `second x y` which previous have been parsed as `second (x y)` + now are properly parsed as `(second x) y`. +2. It is now necessary to have at least a minimal indentation in the definition of a term after a newline. +3. Unicode syntax is temporarily disabled, except for dependent sums and arrows in function types. +4. The restriction syntax `[ ... ]` now has a slightly different precedence, so some parentheses are required, e.g. in `(A -> B) [ phi |-> f]` or `(f t = g t) [ phi |-> f]`. +5. Duplicate top-level definitions are no longer allowed. + +#### Deprecated Syntax + +The angle brackets for extension types are supported, but deprecated, +as they are completely unnecessary now: `<{t : I | psi t} -> A t [ phi t |-> a t ]>` can now be written as `{t : I | psi t} -> A t [ phi t |-> a t]` +or even `(t : psi) -> A t [ phi t |-> a t ]`. + +#### Syntax Relaxation + +Otherwise, syntax is now made more flexible: + +1. Function parameters can be unnamed: `A -> B` is the same as `(_ : A) -> B`. +2. Angle brackets are now optional: `{t : I | psi t} -> A t [ phi t |-> a t ]` +3. Nullary extension types are possible: `A t [ phi t |-> a t ]` +4. Lambda abstractions can introduce multiple arguments: + + ```rzk + #def hom : (A : U) -> A -> A -> U + := \A x y -> + (t : ฮ”ยน) -> A [ โˆ‚ฮ”ยน t |-> recOR(t === 0_2, t === 1_2, x, y) ] + ``` + +5. Parameters can be introduced simultaneously for the type and body. Moreover, multiple parameters can be introduced with the same type: + + ```rzk + #def hom (A : U) (x y : A) : U + := (t : ฮ”ยน) -> A [ โˆ‚ฮ”ยน t |-> recOR(t === 0_2, t === 1_2, x, y) ] + ``` + +6. Restrictions can now support multiple subshapes, effectively internalising `recOR`: + + ```rzk + #def hom (A : U) (x y : A) : U + := (t : ฮ”ยน) -> A [ t === 0_2 |-> x, t === 1_2 |-> y ] + ``` + +7. There are now 3 syntactic versions of `refl` with different amount of explicit annotations: + `refl`, `refl_{x}` and `refl_{x : A}` + +8. There are now 2 syntactic versions of identity types (`=`): `x = y` and `x =_{A} y`. + +9. `recOR` now supports alternative syntax with an arbitrary number of subshapes: + `recOR( tope1 |-> term1, tope2 |-> term2, ..., topeN |-> termN )` + +10. Now it is possible to have type ascriptions: `t as T`. This can help with ensuring types of subexpressions in parts of formalisations, or to upcast types. + +11. New (better) commands are now supported: + + 1. `#define ()* : := ` โ€” same as `#def`, but with full spelling of the word + 2. `#postulate ()* : ` โ€” postulate an axiom + 3. `#check : ` โ€” typecheck an expression against a given type + 4. `#compute-whnf ` โ€” compute (WHNF) of a term + 5. `#compute-nf ` โ€” compute normal form of a term + 6. `#compute ` โ€” alias for `#compute-whnf` + 7. `#set-option