diff --git a/highlight.load.js b/highlight.load.js index ecc33b2c..d83e168e 100644 --- a/highlight.load.js +++ b/highlight.load.js @@ -1,6 +1,35 @@ /* This file is NOT part of highlight.js */ + +class PreserveCallouts { + + constructor(options) { + self.callouts = []; + /* Using OBJECT REPLACEMENT CHARACTER as a marker of where the callout + should be inserted. We hope that this won't cause conflicts. */ + self.marker = '\u{FFFC}'; + } + + 'before:highlightElement'({el, language}) { + const re = /<\/a>\d+<\/span>/g; + const array = [...el.innerHTML.matchAll(re)]; + if (array.length > 0) { + self.callouts = array; + el.innerHTML = el.innerHTML.replaceAll(re, self.marker); + } + } + + 'after:highlightElement'({ el, result, text }) { + if (self.callouts.length > 0) { + el.innerHTML = el.innerHTML.replaceAll( + self.marker, (str) => self.callouts.shift()); + } + } +} + document.addEventListener('DOMContentLoaded', (event) => { - document.querySelectorAll('pre.programlisting, pre.screen').forEach((block) => { - hljs.highlightBlock(block); + hljs.addPlugin(new PreserveCallouts()); + + document.querySelectorAll('pre.programlisting, pre.screen').forEach((el) => { + hljs.highlightElement(el); }); }); diff --git a/highlight.min.js b/highlight.min.js new file mode 100644 index 00000000..bcd65564 --- /dev/null +++ b/highlight.min.js @@ -0,0 +1,340 @@ +/*! + 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 t(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((n=>{var i=e[n] +;"object"!=typeof i||Object.isFrozen(i)||t(i)})),e} +e.exports=t,e.exports.default=t;class n{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function i(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function r(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n} +const s=e=>!!e.scope||e.sublanguage&&e.language;class o{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=i(e)}openNode(e){if(!s(e))return;let t="" +;t=e.sublanguage?"language-"+e.language:((e,{prefix:t})=>{if(e.includes(".")){ +const n=e.split(".") +;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ") +}return`${t}${e}`})(e.scope,{prefix:this.classPrefix}),this.span(t)} +closeNode(e){s(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const a=(e={})=>{const t={children:[]} +;return Object.assign(t,e),t};class c{constructor(){ +this.rootNode=a(),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 t=a({scope:e}) +;this.add(t),this.stack.push(t)}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,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),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=>{ +c._collapse(e)})))}}class l extends c{constructor(e){super(),this.options=e} +addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} +addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root +;n.sublanguage=!0,n.language=t,this.add(n)}toHTML(){ +return new o(this,this.options).value()}finalize(){return!0}}function g(e){ +return e?"string"==typeof e?e:e.source:null}function d(e){return p("(?=",e,")")} +function u(e){return p("(?:",e,")*")}function h(e){return p("(?:",e,")?")} +function p(...e){return e.map((e=>g(e))).join("")}function f(...e){const t=(e=>{ +const t=e[e.length-1] +;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{} +})(e);return"("+(t.capture?"":"?:")+e.map((e=>g(e))).join("|")+")"} +function b(e){return RegExp(e.toString()+"|").exec("").length-1} +const m=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function E(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n +;let i=g(e),r="";for(;i.length>0;){const e=m.exec(i);if(!e){r+=i;break} +r+=i.substring(0,e.index), +i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+(Number(e[1])+t):(r+=e[0], +"("===e[0]&&n++)}return r})).map((e=>`(${e})`)).join(t)} +const x="[a-zA-Z]\\w*",w="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",_="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",O="\\b(0b[01]+)",v={ +begin:"\\\\[\\s\\S]",relevance:0},N={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[v]},k={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[v]},M=(e,t,n={})=>{const i=r({scope:"comment",begin:e,end:t, +contains:[]},n);i.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 s=f("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 i.contains.push({begin:p(/[ ]+/,"(",s,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},S=M("//","$"),R=M("/\\*","\\*/"),j=M("#","$");var A=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:x,UNDERSCORE_IDENT_RE:w, +NUMBER_RE:y,C_NUMBER_RE:_,BINARY_NUMBER_RE:O, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=p(t,/.*\b/,e.binary,/\b.*/)),r({scope:"meta",begin:t, +end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:v,APOS_STRING_MODE:N,QUOTE_STRING_MODE:k,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:R,HASH_COMMENT_MODE:j, +NUMBER_MODE:{scope:"number",begin:y,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:_,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:O,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[v,{begin:/\[/,end:/\]/,relevance:0, +contains:[v]}]}]},TITLE_MODE:{scope:"title",begin:x,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:w,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function I(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function T(e,t){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function L(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=I,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function B(e,t){ +Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function D(e,t){ +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 H(e,t){ +void 0===e.relevance&&(e.relevance=1)}const P=(e,t)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t] +})),e.keywords=n.keywords,e.begin=p(n.beforeMatch,d(n.begin)),e.starts={ +relevance:0,contains:[Object.assign(n,{endsParent:!0})] +},e.relevance=0,delete n.beforeMatch +},C=["of","and","for","in","not","or","if","then","parent","list","value"] +;function $(e,t,n="keyword"){const i=Object.create(null) +;return"string"==typeof e?r(n,e.split(" ")):Array.isArray(e)?r(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,$(e[n],t,n))})),i;function r(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,U(n[0],n[1])]}))}}function U(e,t){ +return t?Number(t):(e=>C.includes(e.toLowerCase()))(e)?0:1}const z={},K=e=>{ +console.error(e)},W=(e,...t)=>{console.log("WARN: "+e,...t)},X=(e,t)=>{ +z[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),z[`${e}/${t}`]=!0) +},G=Error();function Z(e,t,{key:n}){let i=0;const r=e[n],s={},o={} +;for(let e=1;e<=t.length;e++)o[e+i]=r[e],s[e+i]=!0,i+=b(t[e-1]) +;e[n]=o,e[n]._emit=s,e[n]._multi=!0}function F(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: {}"), +G +;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), +G;Z(e,e.begin,{key:"beginScope"}),e.begin=E(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: {}"), +G +;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), +G;Z(e,e.end,{key:"endScope"}),e.end=E(e.end,{joinWith:""})}})(e)}function V(e){ +function t(t,n){ +return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":"")) +}class n{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=b(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(E(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const t=this.matcherRe.exec(e);if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class i{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 t=new n +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +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=r(e.classNameAliases||{}),function n(s,o){const a=s +;if(s.isCompiled)return a +;[T,D,F,P].forEach((e=>e(s,o))),e.compilerExtensions.forEach((e=>e(s,o))), +s.__beforeBegin=null,[L,B,H].forEach((e=>e(s,o))),s.isCompiled=!0;let c=null +;return"object"==typeof s.keywords&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords), +c=s.keywords.$pattern, +delete s.keywords.$pattern),c=c||/\w+/,s.keywords&&(s.keywords=$(s.keywords,e.case_insensitive)), +a.keywordPatternRe=t(c,!0), +o&&(s.begin||(s.begin=/\B|\b/),a.beginRe=t(a.begin),s.end||s.endsWithParent||(s.end=/\B|\b/), +s.end&&(a.endRe=t(a.end)), +a.terminatorEnd=g(a.end)||"",s.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(s.end?"|":"")+o.terminatorEnd)), +s.illegal&&(a.illegalRe=t(s.illegal)), +s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>r(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:q(e)?r(e,{ +starts:e.starts?r(e.starts):null +}):Object.isFrozen(e)?r(e):e))("self"===e?s:e)))),s.contains.forEach((e=>{n(e,a) +})),s.starts&&n(s.starts,o),a.matcher=(e=>{const t=new i +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function q(e){ +return!!e&&(e.endsWithParent||q(e.starts))}class J extends Error{ +constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}} +const Y=i,Q=r,ee=Symbol("nomatch");var te=(t=>{ +const i=Object.create(null),r=Object.create(null),s=[];let o=!0 +;const a="Could not find the language '{}', did you forget to load/include a language module?",c={ +disableAutodetect:!0,name:"Plain text",contains:[]};let g={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:l};function b(e){ +return g.noHighlightRe.test(e)}function m(e,t,n){let i="",r="" +;"object"==typeof t?(i=e, +n=t.ignoreIllegals,r=t.language):(X("10.7.0","highlight(lang, code, ...args) has been deprecated."), +X("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +r=e,i=t),void 0===n&&(n=!0);const s={code:i,language:r};k("before:highlight",s) +;const o=s.result?s.result:E(s.language,s.code,n) +;return o.code=s.code,k("after:highlight",o),o}function E(e,t,r,s){ +const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(S) +;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(S),n="" +;for(;t;){n+=S.substring(e,t.index) +;const r=y.case_insensitive?t[0].toLowerCase():t[0],s=(i=r,N.keywords[i]);if(s){ +const[e,i]=s +;if(M.addText(n),n="",c[r]=(c[r]||0)+1,c[r]<=7&&(R+=i),e.startsWith("_"))n+=t[0];else{ +const n=y.classNameAliases[e]||e;M.addKeyword(t[0],n)}}else n+=t[0] +;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(S)}var i +;n+=S.substring(e),M.addText(n)}function d(){null!=N.subLanguage?(()=>{ +if(""===S)return;let e=null;if("string"==typeof N.subLanguage){ +if(!i[N.subLanguage])return void M.addText(S) +;e=E(N.subLanguage,S,!0,k[N.subLanguage]),k[N.subLanguage]=e._top +}else e=x(S,N.subLanguage.length?N.subLanguage:null) +;N.relevance>0&&(R+=e.relevance),M.addSublanguage(e._emitter,e.language) +})():l(),S=""}function u(e,t){let n=1;const i=t.length-1;for(;n<=i;){ +if(!e._emit[n]){n++;continue}const i=y.classNameAliases[e[n]]||e[n],r=t[n] +;i?M.addKeyword(r,i):(S=r,l(),S=""),n++}}function h(e,t){ +return e.scope&&"string"==typeof e.scope&&M.openNode(y.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(M.addKeyword(S,y.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +S=""):e.beginScope._multi&&(u(e.beginScope,t),S="")),N=Object.create(e,{parent:{ +value:N}}),N}function p(e,t,i){let r=((e,t)=>{const n=e&&e.exec(t) +;return n&&0===n.index})(e.endRe,i);if(r){if(e["on:end"]){const i=new n(e) +;e["on:end"](t,i),i.isMatchIgnored&&(r=!1)}if(r){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return p(e.parent,t,i)}function f(e){ +return 0===N.matcher.regexIndex?(S+=e[0],1):(I=!0,0)}function b(e){ +const n=e[0],i=t.substring(e.index),r=p(N,e,i);if(!r)return ee;const s=N +;N.endScope&&N.endScope._wrap?(d(), +M.addKeyword(n,N.endScope._wrap)):N.endScope&&N.endScope._multi?(d(), +u(N.endScope,e)):s.skip?S+=n:(s.returnEnd||s.excludeEnd||(S+=n), +d(),s.excludeEnd&&(S=n));do{ +N.scope&&M.closeNode(),N.skip||N.subLanguage||(R+=N.relevance),N=N.parent +}while(N!==r.parent);return r.starts&&h(r.starts,e),s.returnEnd?0:n.length} +let m={};function w(i,s){const a=s&&s[0];if(S+=i,null==a)return d(),0 +;if("begin"===m.type&&"end"===s.type&&m.index===s.index&&""===a){ +if(S+=t.slice(s.index,s.index+1),!o){const t=Error(`0 width match regex (${e})`) +;throw t.languageName=e,t.badRule=m.rule,t}return 1} +if(m=s,"begin"===s.type)return(e=>{ +const t=e[0],i=e.rule,r=new n(i),s=[i.__beforeBegin,i["on:begin"]] +;for(const n of s)if(n&&(n(e,r),r.isMatchIgnored))return f(t) +;return i.skip?S+=t:(i.excludeBegin&&(S+=t), +d(),i.returnBegin||i.excludeBegin||(S=t)),h(i,e),i.returnBegin?0:t.length})(s) +;if("illegal"===s.type&&!r){ +const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"")+'"') +;throw e.mode=N,e}if("end"===s.type){const e=b(s);if(e!==ee)return e} +if("illegal"===s.type&&""===a)return 1 +;if(A>1e5&&A>3*s.index)throw Error("potential infinite loop, way more iterations than matches") +;return S+=a,a.length}const y=O(e) +;if(!y)throw K(a.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const _=V(y);let v="",N=s||_;const k={},M=new g.__emitter(g);(()=>{const e=[] +;for(let t=N;t!==y;t=t.parent)t.scope&&e.unshift(t.scope) +;e.forEach((e=>M.openNode(e)))})();let S="",R=0,j=0,A=0,I=!1;try{ +for(N.matcher.considerAll();;){ +A++,I?I=!1:N.matcher.considerAll(),N.matcher.lastIndex=j +;const e=N.matcher.exec(t);if(!e)break;const n=w(t.substring(j,e.index),e) +;j=e.index+n} +return w(t.substring(j)),M.closeAllNodes(),M.finalize(),v=M.toHTML(),{ +language:e,value:v,relevance:R,illegal:!1,_emitter:M,_top:N}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{language:e,value:Y(t), +illegal:!0,relevance:0,_illegalBy:{message:n.message,index:j, +context:t.slice(j-100,j+100),mode:n.mode,resultSoFar:v},_emitter:M};if(o)return{ +language:e,value:Y(t),illegal:!1,relevance:0,errorRaised:n,_emitter:M,_top:N} +;throw n}}function x(e,t){t=t||g.languages||Object.keys(i);const n=(e=>{ +const t={value:Y(e),illegal:!1,relevance:0,_top:c,_emitter:new g.__emitter(g)} +;return t._emitter.addText(e),t})(e),r=t.filter(O).filter(N).map((t=>E(t,e,!1))) +;r.unshift(n);const s=r.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1 +;if(O(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=s,l=o +;return l.secondBest=a,l}function w(e){let t=null;const n=(e=>{ +let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"" +;const n=g.languageDetectRe.exec(t);if(n){const t=O(n[1]) +;return t||(W(a.replace("{}",n[1])), +W("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"} +return t.split(/\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return +;if(k("before:highlightElement",{el:e,language:n +}),e.children.length>0&&(g.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)),g.throwUnescapedHTML))throw new J("One of your code blocks includes unescaped HTML.",e.innerHTML) +;t=e;const i=t.textContent,s=n?m(i,{language:n,ignoreIllegals:!0}):x(i) +;e.innerHTML=s.value,((e,t,n)=>{const i=t&&r[t]||n +;e.classList.add("hljs"),e.classList.add("language-"+i) +})(e,n,s.language),e.result={language:s.language,re:s.relevance, +relevance:s.relevance},s.secondBest&&(e.secondBest={ +language:s.secondBest.language,relevance:s.secondBest.relevance +}),k("after:highlightElement",{el:e,result:s,text:i})}let y=!1;function _(){ +"loading"!==document.readyState?document.querySelectorAll(g.cssSelector).forEach(w):y=!0 +}function O(e){return e=(e||"").toLowerCase(),i[e]||i[r[e]]} +function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +r[e.toLowerCase()]=t}))}function N(e){const t=O(e) +;return t&&!t.disableAutodetect}function k(e,t){const n=e;s.forEach((e=>{ +e[n]&&e[n](t)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +y&&_()}),!1),Object.assign(t,{highlight:m,highlightAuto:x,highlightAll:_, +highlightElement:w, +highlightBlock:e=>(X("10.7.0","highlightBlock will be removed entirely in v12.0"), +X("10.7.0","Please use highlightElement now."),w(e)),configure:e=>{g=Q(g,e)}, +initHighlighting:()=>{ +_(),X("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +_(),X("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,n)=>{let r=null;try{r=n(t)}catch(t){ +if(K("Language definition for '{}' could not be registered.".replace("{}",e)), +!o)throw t;K(t),r=c} +r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&v(r.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete i[e] +;for(const t of Object.keys(r))r[t]===e&&delete r[t]}, +listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v, +autoDetection:N,inherit:Q,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),s.push(e)} +}),t.debugMode=()=>{o=!1},t.safeMode=()=>{o=!0 +},t.versionString="11.7.0",t.regex={concat:p,lookahead:d,either:f,optional:h, +anyNumberOfTimes:u};for(const t in A)"object"==typeof A[t]&&e.exports(A[t]) +;return Object.assign(t,A),t})({});return te}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `bash` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const s=e.regex,t={},n={begin:/\$\{/, +end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{ +className:"variable",variants:[{ +begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(c);const o={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},r=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),l={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:[r,e.SHEBANG(),l,o,e.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},c,{ +className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}})() +;hljs.registerLanguage("bash",e)})();/*! `shell` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})();/*! `nix` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n={ +keyword:["rec","with","let","in","inherit","assert","if","else","then"], +literal:["true","false","or","and","null"], +built_in:["import","abort","baseNameOf","dirOf","isNull","builtins","map","removeAttrs","throw","toString","derivation"] +},s={className:"subst",begin:/\$\{/,end:/\}/,keywords:n},a={className:"string", +contains:[{className:"char.escape",begin:/''\$/},s],variants:[{begin:"''", +end:"''"},{begin:'"',end:'"'}] +},i=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,{ +begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{ +className:"attr",begin:/\S+/,relevance:.2}]}];return s.contains=i,{name:"Nix", +aliases:["nixos"],keywords:n,contains:i}}})();hljs.registerLanguage("nix",e) +})(); \ No newline at end of file diff --git a/highlight.pack.js b/highlight.pack.js deleted file mode 100644 index 93550420..00000000 --- a/highlight.pack.js +++ /dev/null @@ -1,6 +0,0 @@ -/* - Highlight.js 10.0.2 (e29f8f7d) - License: BSD-3-Clause - Copyright (c) 2006-2020, Ivan Sagalaev -*/ -var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!n.hasOwnProperty(r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach((function(e){for(n in e)t[n]=e[n]})),t}function r(e){return e.nodeName.toLowerCase()}var a=Object.freeze({__proto__:null,escapeHTML:n,inherit:t,nodeStream:function(e){var n=[];return function e(t,a){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=e(i,a),r(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n},mergeStreams:function(e,t,a){var i=0,s="",o=[];function l(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function u(e){s+=""}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||t.length;){var g=l();if(s+=n(a.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+n(a.substr(i))}});const i="",s=e=>!!e.kind;class o{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=n(e)}openNode(e){if(!s(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){s(e)&&(this.buffer+=i)}span(e){this.buffer+=``}value(){return this.buffer}}class l{constructor(){this.rootNode={children:[]},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){let n={kind:e,children:[]};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){e.children&&(e.children.every(e=>"string"==typeof e)?(e.text=e.children.join(""),delete e.children):e.children.forEach(e=>{"string"!=typeof 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){let t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new o(this,this.options).value()}finalize(){}}function u(e){return e&&e.source||e}const d="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",g={begin:"\\\\[\\s\\S]",relevance:0},h={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[g]},f={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[g]},p={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/},m=function(e,n,r){var a=t({className:"comment",begin:e,end:n,contains:[]},r||{});return a.contains.push(p),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|XXX):",relevance:0}),a},b=m("//","$"),v=m("/\\*","\\*/"),x=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:d,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",BACKSLASH_ESCAPE:g,APOS_STRING_MODE:h,QUOTE_STRING_MODE:f,PHRASAL_WORDS_MODE:p,COMMENT:m,C_LINE_COMMENT_MODE:b,C_BLOCK_COMMENT_MODE:v,HASH_COMMENT_MODE:x,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:d,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|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},REGEXP_MODE:{begin:/(?=\/[^\/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[g,{begin:/\[/,end:/\]/,relevance:0,contains:[g]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0}}),E="of and for in not or if then".split(" ");function R(e,n){return n?+n:(t=e,E.includes(t.toLowerCase())?0:1);var t}const N=n,w=t,{nodeStream:y,mergeStreams:O}=a;return function(n){var r=[],a={},i={},s=[],o=!0,l=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,d="Could not find the language '{}', did you forget to load/include a language module?",g={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0,__emitter:c};function h(e){return g.noHighlightRe.test(e)}function f(e,n,t,r){var a={code:n,language:e};T("before:highlight",a);var i=a.result?a.result:p(a.language,a.code,t,r);return i.code=a.code,T("after:highlight",i),i}function p(e,n,r,i){var s=n;function l(e,n){var t=v.case_insensitive?n[0].toLowerCase():n[0];return e.keywords.hasOwnProperty(t)&&e.keywords[t]}function c(){null!=_.subLanguage?function(){if(""!==k){var e="string"==typeof _.subLanguage;if(!e||a[_.subLanguage]){var n=e?p(_.subLanguage,k,!0,E[_.subLanguage]):m(k,_.subLanguage.length?_.subLanguage:void 0);_.relevance>0&&(T+=n.relevance),e&&(E[_.subLanguage]=n.top),w.addSublanguage(n.emitter,n.language)}else w.addText(k)}}():function(){var e,n,t,r;if(_.keywords){for(n=0,_.lexemesRe.lastIndex=0,t=_.lexemesRe.exec(k),r="";t;){r+=k.substring(n,t.index);var a=null;(e=l(_,t))?(w.addText(r),r="",T+=e[1],a=e[0],w.addKeyword(t[0],a)):r+=t[0],n=_.lexemesRe.lastIndex,t=_.lexemesRe.exec(k)}r+=k.substr(n),w.addText(r)}else w.addText(k)}(),k=""}function h(e){e.className&&w.openNode(e.className),_=Object.create(e,{parent:{value:_}})}var f={};function b(n,t){var a,i=t&&t[0];if(k+=n,null==i)return c(),0;if("begin"==f.type&&"end"==t.type&&f.index==t.index&&""===i){if(k+=s.slice(t.index,t.index+1),!o)throw(a=Error("0 width match regex")).languageName=e,a.badRule=f.rule,a;return 1}if(f=t,"begin"===t.type)return function(e){var n=e[0],t=e.rule;return t.__onBegin&&(t.__onBegin(e)||{}).ignoreMatch?function(e){return 0===_.matcher.regexIndex?(k+=e[0],1):(B=!0,0)}(n):(t&&t.endSameAsBegin&&(t.endRe=RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),t.skip?k+=n:(t.excludeBegin&&(k+=n),c(),t.returnBegin||t.excludeBegin||(k=n)),h(t),t.returnBegin?0:n.length)}(t);if("illegal"===t.type&&!r)throw(a=Error('Illegal lexeme "'+i+'" for mode "'+(_.className||"")+'"')).mode=_,a;if("end"===t.type){var l=function(e){var n=e[0],t=s.substr(e.index),r=function e(n,t){if(function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(n.endRe,t)){for(;n.endsParent&&n.parent;)n=n.parent;return n}if(n.endsWithParent)return e(n.parent,t)}(_,t);if(r){var a=_;a.skip?k+=n:(a.returnEnd||a.excludeEnd||(k+=n),c(),a.excludeEnd&&(k=n));do{_.className&&w.closeNode(),_.skip||_.subLanguage||(T+=_.relevance),_=_.parent}while(_!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.endRe=r.endRe),h(r.starts)),a.returnEnd?0:n.length}}(t);if(null!=l)return l}if("illegal"===t.type&&""===i)return 1;if(A>1e5&&A>3*t.index)throw Error("potential infinite loop, way more iterations than matches");return k+=i,i.length}var v=M(e);if(!v)throw console.error(d.replace("{}",e)),Error('Unknown language: "'+e+'"');!function(e){function n(n,t){return RegExp(u(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class r{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+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+="|"),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"==l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("==l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let n=this.matcherRe.exec(e);if(!n)return null;let t=n.findIndex((e,n)=>n>0&&null!=e),r=this.matchIndexes[t];return Object.assign(n,r)}}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];let n=new r;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){let n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;let t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e){let n=e.input[e.index-1],t=e.input[e.index+e[0].length];if("."===n||"."===t)return{ignoreMatch:!0}}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");!function r(s,o){s.compiled||(s.compiled=!0,s.__onBegin=null,s.keywords=s.keywords||s.beginKeywords,s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,R(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemesRe=n(s.lexemes||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__onBegin=i),s.begin||(s.begin=/\B|\b/),s.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(s.endRe=n(s.end)),s.terminator_end=u(s.end)||"",s.endsWithParent&&o.terminator_end&&(s.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(s.illegalRe=n(s.illegal)),null==s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return t(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?t(e,{starts:e.starts?t(e.starts):null}):Object.isFrozen(e)?t(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){r(e,s)})),s.starts&&r(s.starts,o),s.matcher=function(e){let n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(s))}(e)}(v);var x,_=i||v,E={},w=new g.__emitter(g);!function(){for(var e=[],n=_;n!==v;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>w.openNode(e))}();var y,O,k="",T=0,L=0,A=0,B=!1;try{for(_.matcher.considerAll();A++,B?B=!1:(_.matcher.lastIndex=L,_.matcher.considerAll()),y=_.matcher.exec(s);)O=b(s.substring(L,y.index),y),L=y.index+O;return b(s.substr(L)),w.closeAllNodes(),w.finalize(),x=w.toHTML(),{relevance:T,value:x,language:e,illegal:!1,emitter:w,top:_}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:s.slice(L-100,L+100),mode:n.mode},sofar:x,relevance:0,value:N(s),emitter:w};if(o)return{relevance:0,value:N(s),emitter:w,language:e,top:_,errorRaised:n};throw n}}function m(e,n){n=n||g.languages||Object.keys(a);var t=function(e){const n={relevance:0,emitter:new g.__emitter(g),value:N(e),illegal:!1,top:E};return n.emitter.addText(e),n}(e),r=t;return n.filter(M).filter(k).forEach((function(n){var a=p(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function b(e){return g.tabReplace||g.useBR?e.replace(l,(function(e,n){return g.useBR&&"\n"===e?"
":g.tabReplace?n.replace(/\t/g,g.tabReplace):""})):e}function v(e){var n,t,r,a,s,o=function(e){var n,t=e.className+" ";if(t+=e.parentNode?e.parentNode.className:"",n=g.languageDetectRe.exec(t)){var r=M(n[1]);return r||(console.warn(d.replace("{}",n[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>h(e)||M(e))}(e);h(o)||(T("before:highlightBlock",{block:e,language:o}),g.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n"):n=e,s=n.textContent,r=o?f(o,s,!0):m(s),(t=y(n)).length&&((a=document.createElement("div")).innerHTML=r.value,r.value=O(t,y(a),s)),r.value=b(r.value),T("after:highlightBlock",{block:e,result:r}),e.innerHTML=r.value,e.className=function(e,n,t){var r=n?i[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,o,r.language),e.result={language:r.language,re:r.relevance},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.relevance}))}function x(){if(!x.called){x.called=!0;var e=document.querySelectorAll("pre code");r.forEach.call(e,v)}}const E={disableAutodetect:!0,name:"Plain text"};function M(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]}function k(e){var n=M(e);return n&&!n.disableAutodetect}function T(e,n){var t=e;s.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(n,{highlight:f,highlightAuto:m,fixMarkup:b,highlightBlock:v,configure:function(e){g=w(g,e)},initHighlighting:x,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",x,!1)},registerLanguage:function(e,t){var r;try{r=t(n)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!o)throw n;console.error(n),r=E}r.name||(r.name=e),a[e]=r,r.rawDefinition=t.bind(null,n),r.aliases&&r.aliases.forEach((function(n){i[n]=e}))},listLanguages:function(){return Object.keys(a)},getLanguage:M,requireLanguage:function(e){var n=M(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:k,inherit:w,addPlugin:function(e,n){s.push(e)}}),n.debugMode=function(){o=!1},n.safeMode=function(){o=!0},n.versionString="10.0.2";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(n,_),n}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("nix",function(){"use strict";return function(e){var n={keyword:"rec with let in inherit assert if else then",literal:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={className:"subst",begin:/\$\{/,end:/}/,keywords:n},t={className:"string",contains:[i],variants:[{begin:"''",end:"''"},{begin:'"',end:'"'}]},s=[e.NUMBER_MODE,e.HASH_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t,{begin:/[a-zA-Z0-9-_]+(\s*=)/,returnBegin:!0,relevance:0,contains:[{className:"attr",begin:/\S+/}]}];return i.contains=s,{name:"Nix",aliases:["nixos"],keywords:n,contains:s}}}());hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},t={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,n]};n.contains.push(t);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]};return{name:"Bash",aliases:["sh","zsh"],lexemes:/\b-?[a-z\._]+\b/,keywords:{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",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[{className:"meta",begin:/^#![^\n]+sh\s*$/,relevance:10},{className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},a,e.HASH_COMMENT_MODE,t,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());hljs.registerLanguage("shell",function(){"use strict";return function(s){return{name:"Shell Session",aliases:["console"],contains:[{className:"meta",begin:"^\\s{0,3}[/\\w\\d\\[\\]()@-]*[>%$#]",starts:{end:"$",subLanguage:"bash"}}]}}}()); \ No newline at end of file diff --git a/index.html b/index.html index da62d5eb..e3a138bb 100644 --- a/index.html +++ b/index.html @@ -1,10 +1,15 @@ -neovim-flake Manual

neovim-flake Manual


Preface
1. Default Configs
1.1. Tidal Cycles
1.2. Nix
1.3. Maximal
2. Custom Configuration
3. Language Support
3.1. Rust
3.2. Nix
3.3. SQL
3.4. C/C++
3.5. Typescript
3.6. Python
3.7. Zig
3.8. Markdown
3.9. HTML
4. Plugins
4.1. Language Server
4.2. Buffers
4.3. Statuslines
4.4. Filetrees
4.5. Git
4.6. Treesitter
4.7. Visuals
4.8. Utilities
4.9. Completions
4.10. Snippets
4.11. Autopairs
4.12. Themes
4.13. Markdown
4.14. Rust
4.15. Tidal Cycles
4.16. SQL
4.17. HTML
4.18. Dependencies
A. Configuration Options
B. Release Notes
B.1. Release 0.1
B.1.1. Changelog

Preface

- If you encounter problems or want to discuss neovim-flake then join the Matrix room - #neovim-flake:matrix.org. +neovim-flake Manual

neovim-flake Manual


Preface

If your problem is caused by a bug in neovim-flake then it should be reported on the - neovim-flake issue tracker. -

Chapter 1. Default Configs

While you can configure neovim-flake yourself using the builder, here are a few default configurations you can use.

1.1. Tidal Cycles

$ nix run github:jordanisaacs/neovim-flake#tidal file.tidal

Utilizing vim-tidal and mitchmindtree’s fantastic tidalcycles.nix start playing with tidal cycles in a single command.

In your tidal file, type a cycle e.g. d1 $ s "drum" and then press ctrl+enter. Super collider with superdirt, and a modified GHCI with tidal will start up and begin playing. Note, you need jack enabled on your system. If you are using pipewire, its as easy as setting services.pipewire.jack.enable = true.

1.2. Nix

$ nix run github:jordanisaacs/neovim-flake#nix test.nix

Enables all the of neovim plugins, with language support for specifically Nix. This lets you see what a fully configured neovim setup looks like without downloading a whole bunch of language servers and associated tools.

1.3. Maximal

$ nix shell github:jordanisaacs/neovim-flake#maximal test.nix

It is the same fully configured neovim as with the Nix config, but with every supported language enabled.

Note

Running the maximal config will download a lot of packages as it is downloading language servers, formatters, and more.

Chapter 2. Custom Configuration

Custom configuration is done with the neovimConfiguration function. It takes in the configuration as a module. The output of the configuration function is an attrset.

{
+   neovim-flake issue tracker.
+   Alongside bug reports, feature requests are also welcome over 
+   neovim-flake pull requests.
+
+  

Chapter 1. Try it out

$ cachix use neovim-flake # Optional: it'll save you CPU resources and time
+$ nix run github:notashelf/neovim-flake

1.1. Nix

By default LSP support for Nix is enabled alongside all complementary Neovim plugins. By running nix run ., which is the default package, +you will build Neovim with this config.

1.2. Tidal

Tidal is an alternative config that adds vim-tidal on top of the plugins from the Nix configuration.

1.3. Maximal

Maximal is the ultimate configuration that will enable basically everything. Keep in mind, however, that this will pull a lot of dependencies.

1.4. Using Prebuilt Configs

$ nix run github:notashelf/neovim-flake#nix
+$ nix run github:notashelf/neovim-flake#tidal
+$ nix run github:notashelf/neovim-flake#maximal

Chapter 2. Default Configs

While you can configure neovim-flake yourself using the builder, here are a few default configurations you can use.

2.1. Tidal Cycles

$ nix run github:notashelf/neovim-flake#tidal file.tidal

Utilizing vim-tidal and mitchmindtree’s fantastic tidalcycles.nix start playing with tidal cycles in a single command.

In your tidal file, type a cycle e.g. d1 $ s "drum" and then press ctrl+enter. Super collider with superdirt, and a modified GHCI with tidal will start up and begin playing. Note, you need jack enabled on your system. If you are using pipewire, its as easy as setting services.pipewire.jack.enable = true.

2.2. Nix

$ nix run github:notashelf/neovim-flake#nix test.nix

Enables all the of neovim plugins, with language support for specifically Nix. This lets you see what a fully configured neovim setup looks like without downloading a whole bunch of language servers and associated tools.

2.3. Maximal

$ nix shell github:notashelf/neovim-flake#maximal test.nix

It is the same fully configured neovim as with the Nix config, but with every supported language enabled.

Note

Running the maximal config will download a lot of packages as it is downloading language servers, formatters, and more.

Chapter 3. Custom Configuration

Custom configuration is done with the neovimConfiguration function. It takes in the configuration as a module. The output of the configuration function is an attrset.

{
   options = "The options that were available to configure";
   config = "The outputted configuration";
   pkgs = "The package set used to evaluate the module";
@@ -29,7 +34,39 @@
   in {
     packages.${system}.neovim = customNeovim.neovim;
   };
-}

Chapter 3. Language Support

Language specific support combines some combination of language specific plugins, treesitter support, nvim-lspconfig langauge servers, and null-ls integration. This gets you capabilities ranging from autocompletion to formatting to diagnostics. The following languages have support beyond just treesitter highlighting.

3.1. Rust

LSP Server: rust-analyzer

Formatting: Built into LSP, uses rustfmt

Plugins: See here

3.2. Nix

LSP Server: Choice between nil and rnix-lsp

Formatting: Choice between alejandra and nixpkgs-fmt

3.3. SQL

LSP Server: sqls

Formatting: Disabled LSP formatting, instead using sqlfluff

Linting: sqlfluff

Plugins: See here

3.4. C/C++

LSP Server: ccls

Formatting: Built into language server

3.5. Typescript

LSP Server: typescript-language-server

Formatting: Disabled LSP formatting, instead using prettier

Linting: eslint

3.6. Python

LSP Server: pyright

Formatting: black

3.7. Zig

LSP Server: zls

Formatting: Built into LSP, uses zig fmt.

3.8. Markdown

Plugins: See here

3.9. HTML

Plugins: See here

Chapter 4. Plugins

The following are the neovim plugins used within neovim-flake. Some plugins are explicitly enabled by the user, while others are enabled implicitly.

4.1. Language Server

  • +}

Chapter 4. Language Support

Language specific support combines some combination of language specific plugins, treesitter support, nvim-lspconfig langauge servers, and null-ls integration. This gets you capabilities ranging from autocompletion to formatting to diagnostics. The following languages have support beyond just treesitter highlighting.

4.1. Rust

LSP Server: rust-analyzer

Formatting: Built into LSP, uses rustfmt

Plugins: See here

4.2. Nix

LSP Server: Choice between nil and rnix-lsp

Formatting: Choice between alejandra and nixpkgs-fmt

4.3. SQL

LSP Server: sqls

Formatting: Disabled LSP formatting, instead using sqlfluff

Linting: sqlfluff

Plugins: See here

4.4. C/C++

LSP Server: ccls

Formatting: Built into language server

4.5. Typescript

LSP Server: typescript-language-server

Formatting: Disabled LSP formatting, instead using prettier

Linting: eslint

4.6. Python

LSP Server: pyright

Formatting: black

4.7. Zig

LSP Server: zls

Formatting: Built into LSP, uses zig fmt.

4.8. Markdown

Plugins: See here

4.9. HTML

Plugins: See here

Chapter 5. Plugins

The following are the neovim plugins used within neovim-flake. Some plugins are explicitly enabled by the user, while others are enabled implicitly.

5.1. Autopairs

5.2. Coding Assistants

  • +copilot.lua a lua replacement for github.vim, the license nightmare AI assistant +
  • +tabnine-nvim neovim plugin for the more ethically acceptable AI assistant TabNine +

5.3. Buffers

5.4. Commenting

  • +kommentary neovim plugin to comment text in and out, written in lua. Supports commenting out the current line, a visual selection and a motion +
  • +todo-comments.nvim plugin to highlight and search for todo comments like TODO, HACK, BUG in your codebase +

5.5. Completions

5.6. Dashboard

  • +dashboard.nvim fancy and blazing fast start screen plugin for Neovim +
  • +alpha.nvim a fast and fully programmable greeter for neovim +
  • +vim-startify a fancy start screen for {neo,}vim +

5.7. Language Server

  • nvim-lspconfig common configurations for built-in language server
  • null-ls.nvim neovim as a language server to inject LSP diagnostics, code actions, etc. @@ -43,60 +80,84 @@ lsp-signature show function signatures as you type
  • lspkind-nvim for pictograms in lsp (with support for nvim-cmp) -

4.2. Buffers

4.3. Statuslines

  • +

5.8. Statuslines

4.4. Filetrees

  • +

5.9. Filetrees

4.5. Git

  • +

5.10. Git

4.6. Treesitter

  • +

5.11. Treesitter

4.7. Visuals

  • +

5.12. Visuals

4.8. Utilities

  • -telescope an extendable fuzzy finder of lists. Working ripgrep and fd +nvim-web-devicons plugins and colors for icons. Requires patched font
  • -which-key a popup that displays possible keybindings of command being typed -

4.9. Completions

5.13. Minimap

  • +minimap.vim a blazing fast minimap plugin for neovim. Depends on code-minimap
  • -cmp-treesitter treesitter nodes autcomplete -

4.10. Snippets

  • +codewindow.nvim a simple, configurable minimap plugin for neovim with no external dependencies +

5.14. Notifications

  • +nvim-notify simple notification plugin that also integrates with noice.nvim +

5.15. Note-taking

  • +obsidian.nvim a neovim plugin that deeply integrates with the obsidian markdown editor. Also works standalone +
  • +orgmode a neovim replacement for emac orgmode +

5.16. Session Management

5.17. Snippets

  • vim-vsnip a snippet plugin that supports LSP/VSCode’s snippet format -

4.11. Autopairs

4.12. Themes

  • +

5.18. Terminal

  • +toggleterm.nvim a simple terminal plugin that opens a terminal buffer on demand +

5.19. Themes

4.13. Markdown

  • +

5.20. Utilities

  • +telescope an extendable fuzzy finder of lists. Working ripgrep and fd +
  • +which-key a popup that displays possible keybindings of command being typed +
  • +cheatsheet.nvim a searchable cheatsheet for neovim from within the editor using Telescope +
  • +ccc.nvim super powerful color picker and colorizer plugin. +
  • +icon-picker.nvim an icon picker plugin that provides access to thousands of icons +
  • +venn.nvim draw venn diagrams inside neovim +

5.21. UI Elements

  • +noice.nvim an experimental neovim plugin that replaces some UI components of neovim +

5.22. Rich Presence

  • +presence.nvim light and powerful discord rich presence plugin +

5.23. Markdown

  • glow.nvim a markdown preview directly in neovim using glow -

4.14. Rust

  • +

5.24. Rust

4.15. Tidal Cycles

  • +

5.25. Tidal Cycles

  • vim-tidal for tidal cycles integration into vim -

4.16. SQL

  • +

5.26. SQL

  • sqls.nvim for useful actions that leverage sqls LSP -

4.17. HTML

  • +

5.27. HTML

4.18. Dependencies

  • +

5.28. Dependencies

  • plenary which is a dependency of some plugins, installed automatically if needed +
  • +dressing.nvim which is a dependency for icon-picker.nvim +
  • +vim-markdown which is a dependency for obsidian.nvim +
  • +tabular which is a dependency for vim-markdown +
  • +nui.nvim which is a dependency for nui-nvim
\ No newline at end of file diff --git a/mono-blue.css b/mono-blue.css deleted file mode 100644 index 24a35a3d..00000000 --- a/mono-blue.css +++ /dev/null @@ -1,56 +0,0 @@ -/* - Five-color theme from a single blue hue. -*/ -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #eaeef3; - color: #00193a; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-title, -.hljs-section, -.hljs-doctag, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-comment { - color: #738191; -} - -.hljs-string, -.hljs-title, -.hljs-section, -.hljs-built_in, -.hljs-literal, -.hljs-type, -.hljs-addition, -.hljs-tag, -.hljs-quote, -.hljs-name, -.hljs-selector-id, -.hljs-selector-class { - color: #0048ab; -} - -.hljs-meta, -.hljs-subst, -.hljs-symbol, -.hljs-regexp, -.hljs-attribute, -.hljs-deletion, -.hljs-variable, -.hljs-template-variable, -.hljs-link, -.hljs-bullet { - color: #4c81c9; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/options.html b/options.html index df0e67e5..45c21531 100644 --- a/options.html +++ b/options.html @@ -1,384 +1,530 @@ -Appendix A. Configuration Options

Appendix A. Configuration Options

_module.args

Type: lazy attribute set of raw value

Declared by:

- <neovim-flake/lib/modules.nix> -
vim.autoIndent

Enable auto indent

Type: boolean

Default: true

Declared by:

+Appendix A. Configuration Options

Appendix A. Configuration Options

vim.assistant.copilot.enable

Whether to enable Enable GitHub Copilot.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/assistant/copilot.nix> +
vim.assistant.tabnine.enable

Whether to enable Enable TabNine assistant.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/assistant/tabnine.nix> +
vim.autoIndent

Enable auto indent

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.autocomplete.enable

enable autocomplete

Type: boolean

Default: false

Declared by:

+
vim.autocomplete.enable

enable autocomplete

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/completion> -
vim.autocomplete.type

Set the autocomplete plugin. Options: [nvim-cmp]

Type: value "nvim-cmp" (singular enum)

Default: "nvim-cmp"

Declared by:

+
vim.autocomplete.type

Set the autocomplete plugin. Options: [nvim-cmp]

Type: value "nvim-cmp" (singular enum)

Default: "nvim-cmp"

Declared by:

<neovim-flake/modules/completion> -
vim.autopairs.enable

enable autopairs

Type: boolean

Default: false

Declared by:

+
vim.autopairs.enable

enable autopairs

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/autopairs> -
vim.autopairs.type

Set the autopairs type. Options: nvim-autopairs [nvim-autopairs]

Type: value "nvim-autopairs" (singular enum)

Default: "nvim-autopairs"

Declared by:

+
vim.autopairs.type

Set the autopairs type. Options: nvim-autopairs [nvim-autopairs]

Type: value "nvim-autopairs" (singular enum)

Default: "nvim-autopairs"

Declared by:

<neovim-flake/modules/autopairs> -
vim.bell

Set how bells are handled. Options: on, visual or none

Type: one of "none", "visual", "on"

Default: "none"

Declared by:

+
vim.bell

Set how bells are handled. Options: on, visual or none

Type: one of "none", "visual", "on"

Default: "none"

Declared by:

<neovim-flake/modules/basic> -
vim.cmap

Defines 'Command-line mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.binds.cheatsheet.enable

Whether to enable Searchable cheatsheet for nvim using telescope.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/utility/binds/cheatsheet.nix> +
vim.binds.whichKey.enable

Whether to enable which-key menu.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/utility/binds/which-key.nix> +
vim.cmap

Defines 'Command-line mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.cmdHeight

Height of the command pane

Type: signed integer

Default: 1

Declared by:

+
vim.cmdHeight

Height of the command pane

Type: signed integer

Default: 1

Declared by:

<neovim-flake/modules/basic> -
vim.cnoremap

Defines 'Command-line mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.cnoremap

Defines 'Command-line mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.colourTerm

Set terminal up for 256 colours

Type: boolean

Default: true

Declared by:

+
vim.colourTerm

Set terminal up for 256 colours

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.configRC

vimrc contents

Type: DAG of strings concatenated with "\n"

Default: - { - - } -

Declared by:

+
vim.configRC

vimrc contents

Type: DAG of strings concatenated with "\n"

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.disableArrows

Set to prevent arrow keys from moving cursor

Type: boolean

Default: false

Declared by:

+
vim.dashboard.alpha.enable

Whether to enable alpha.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/dashboard/alpha.nix> +
vim.dashboard.dashboard-nvim.enable

Whether to enable dashboard-nvim.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/dashboard/dashboard-nvim.nix> +
vim.dashboard.startify.enable

Whether to enable Enable startify.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.bookmarks

List of book marks to disaply on start page

Type: list of (attribute set)

Default: [ ]

Example:

{
+  c = "~/.vimrc";
+}

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.changeDirCmd

Command to change the current window with. Can be cd, lcd or tcd

Type: one of "cd", "lcd", "tcd"

Default: "lcd"

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.changeToDir

Should vim change to the directory of the file you open

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.changeToVCRoot

Should vim change to the version control root when opening a file

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.commands

Commands that are presented to the user on startify page

Type: list of (string or (attribute set) or list of string)

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.customFooter

Text to place in the footer

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.customHeader

Text to place in the header

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.customIndices

Specify a list of default charecters to use instead of numbers

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.disableOnStartup

Prevent startify from opening on startup but can be called with :Startify

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.filesNumber

How many files to list

Type: signed integer

Default: 10

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.lists

Specify the lists and in what order they are displayed on startify.

Type: list of (attribute set)

Default:

[
+  {
+    header = [
+      "MRU"
+    ];
+    type = "files";
+  }
+  {
+    header = [
+      "MRU Current Directory"
+    ];
+    type = "dir";
+  }
+  {
+    header = [
+      "Sessions"
+    ];
+    type = "sessions";
+  }
+  {
+    header = [
+      "Bookmarks"
+    ];
+    type = "bookmarks";
+  }
+  {
+    header = [
+      "Commands"
+    ];
+    type = "commands";
+  }
+]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.paddingLeft

Number of spaces used for left padding.

Type: signed integer

Default: 3

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionAutoload

Make startify auto load Session.vim files from the current directory

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionBeforeSave

Commands to run before saving a session

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionDeleteBuffers

Delete all buffers when loading or closing a session

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionDir

Directory to save and load sessions from

Type: string

Default: "~/.vim/session"

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionPersistence

Persist session before leaving vim or switching session

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionRemoveLines

Patterns to remove from session files

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionSavecmds

List of commands to run when loading a session.

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionSavevars

List of variables to save into a session file.

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.sessionSort

Set if you want items sorted by date rather than alphabetically

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.skipList

List of regex patterns to exclude from MRU lists

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.skipListServer

List of vim servers to not load startify for

Type: list of string

Default: [ ]

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.unsafe

Turns on unsafe mode for Startify. Stops resolving links, checking files are readable and filtering bookmark list

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.updateOldFiles

Set if you want startify to always update and not just when neovim closes

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.dashboard.startify.useEnv

Show environment variables in path if name is shorter than value

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/dashboard/startify.nix> +
vim.disableArrows

Set to prevent arrow keys from moving cursor

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/basic> -
vim.filetree.nvimTreeLua.enable

Enable nvim-tree-lua

Type: boolean

Default: false

Declared by:

+
vim.filetree.nvimTreeLua.enable

Enable nvim-tree-lua

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.closeOnFileOpen

Closes the tree when a file is opened.

Type: boolean

Default: false

Declared by:

+
vim.filetree.nvimTreeLua.actions.openFile.quitOnOpen

Quit the tree when opening a file

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.closeOnLastWindow

Close when tree is last window open

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.actions.openFile.resizeWindow

Resize the tree when opening a file

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.disableNetRW

Disables netrw and replaces it with tree

Type: boolean

Default: false

Declared by:

+
vim.filetree.nvimTreeLua.closeOnLastWindow

Close when tree is last window open

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.followBufferFile

Follow file that is in current buffer on tree

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.disableNetRW

Disables netrw and replaces it with tree

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.groupEmptyFolders

Compact empty folders trees into a single item

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.filesystemWatchers.enable

Enable filesystem watchers

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.hideDotFiles

Hide dotfiles

Type: boolean

Default: false

Declared by:

+
vim.filetree.nvimTreeLua.followBufferFile

Follow file that is in current buffer on tree

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.hideFiles

Files to hide in the file view by default.

Type: list of string

Default: - [ - ".git" "node_modules" ".cache" - ] -

Declared by:

+
vim.filetree.nvimTreeLua.git.enable

Whether to enable Git integration.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.hideIgnoredGitFiles

Hide files ignored by git

Type: boolean

Default: false

Declared by:

+
vim.filetree.nvimTreeLua.git.ignore

Ignore files in git

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.hijackNetRW

Prevents netrw from automatically opening when opening directories

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.groupEmptyFolders

Compact empty folders trees into a single item

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.ignoreFileTypes

Ignore file types

Type: list of string

Default: - [ - - ] -

Declared by:

+
vim.filetree.nvimTreeLua.hideDotFiles

Hide dotfiles

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.indentMarkers

Show indent markers

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.hideFiles

Files to hide in the file view by default.

Type: list of string

Default:

[
+  ".git"
+  "node_modules"
+  ".cache"
+]

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.lspDiagnostics

Shows lsp diagnostics in the tree

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.hideIgnoredGitFiles

Hide files ignored by git

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.openOnSetup

Open when vim is started on a directory

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.hijackCursor

Hijack the cursor in the tree to put it at the start of the filename

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.openTreeOnNewTab

Opens the tree view when opening a new tab

Type: boolean

Default: false

Declared by:

+
vim.filetree.nvimTreeLua.hijackNetRW

Prevents netrw from automatically opening when opening directories

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.resizeOnFileOpen

Resizes the tree when opening a file.

Type: boolean

Default: false

Declared by:

+
vim.filetree.nvimTreeLua.hijackUnnamedBufferWhenOpening

Open nvimtree in place of the unnamed buffer if it's empty.

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.systemOpenCmd

The command used to open a file with the associated default program

Type: string

Default: "\${pkgs.xdg-utils}/bin/xdg-open"

Declared by:

+
vim.filetree.nvimTreeLua.ignoreFileTypes

Ignore file types

Type: list of string

Default: [ ]

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.trailingSlash

Add a trailing slash to all folders

Type: boolean

Default: true

Declared by:

+
vim.filetree.nvimTreeLua.ignore_ft_on_setup

Ignore file types on setup

Type: list of string

Default: [ ]

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.treeSide

Side the tree will appear on left or right

Type: one of "left", "right"

Default: "left"

Declared by:

+
vim.filetree.nvimTreeLua.indentMarkers

Show indent markers

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.filetree.nvimTreeLua.treeWidth

Width of the tree in charecters

Type: signed integer

Default: 25

Declared by:

+
vim.filetree.nvimTreeLua.lspDiagnostics

Shows lsp diagnostics in the tree

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/filetree/nvimtreelua.nix> -
vim.git.enable

Enable git plugins

Type: boolean

Declared by:

+
vim.filetree.nvimTreeLua.openOnSetup

Open when vim is started on a directory

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.openTreeOnNewTab

Opens the tree view when opening a new tab

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.groupEmptyFolders

Compact empty folders trees into a single item

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.highlightOpenedFiles

Highlight opened files

Type: one of "none", "icon", "name", "all"

Default: "none"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.higlightGit

Highlight git related files

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.default

Default icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.arrowClosed

Closed folder arrow icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.arrowOpen

Open folder arrow icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.default

Default folder icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.empty

Empty folder icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.emptyOpen

Empty open folder icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.open

Open folder icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.symlink

Symlink folder icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.folder.symlinkOpen

Symlink open folder icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.git.deleted

Deleted git icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.git.ignored

Ignored git icon

Type: string

Default: "◌"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.git.renamed

Renamed git icon

Type: string

Default: "➜"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.git.staged

Staged git icon

Type: string

Default: "✓"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.git.unmerged

Unmerged git icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.git.unstaged

Unstaged git icon

Type: string

Default: "✗"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.git.untracked

Untracked git icon

Type: string

Default: "★"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.glyphs.symlink

Symlink icon

Type: string

Default: ""

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.show.file

Show file icons

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.show.folder

Show folder icons

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.show.folderArrow

Show folder arrow icons

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.icons.show.git

Show git icons

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.indentMarkers

Show indent markers

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.showHiddenFiles

Show hidden files

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.showParentFolder

Show parent folder

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.renderer.trailingSlash

Add a trailing slash to all folders

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.syncRootWithCwd

Changes the tree root directory on `DirChanged` and refreshes the tree

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.systemOpenCmd

The command used to open a file with the associated default program

Type: string

Default: "\${pkgs.xdg-utils}/bin/xdg-open"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.trailingSlash

Add a trailing slash to all folders

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.treeSide

Side the tree will appear on left or right

Type: one of "left", "right"

Default: "left"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.treeWidth

Width of the tree in charecters

Type: signed integer

Default: 25

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.updateCwd

Updates the tree when changing nvim's directory (DirChanged event).

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.updateFocusedFile

Updates the tree when changing nvim's directory (DirChanged event).

Type: attribute set of (boolean or attribute set of boolean)

Default:

{
+  enable = true;
+  update_cwd = true;
+}

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.view.adaptiveSize

Resize the tree when the window is resized

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.view.hideRootFolder

Hide the root folder

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.view.side

Side the tree will appear on left or right

Type: one of "left", "right"

Default: "left"

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.filetree.nvimTreeLua.view.width

Width of the tree in charecters

Type: signed integer

Default: 35

Declared by:

+ <neovim-flake/modules/filetree/nvimtreelua.nix> +
vim.gestures.gesture-nvim.enable

Whether to enable Enable GitHub Copilot.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/utility/gestures/gesture-nvim.nix> +
vim.git.enable

Enable git plugins

Type: boolean

Declared by:

<neovim-flake/modules/git/git.nix> -
vim.git.gitsigns.enable

Enable git options

Type: boolean

Declared by:

+
vim.git.gitsigns.enable

Enable git options

Type: boolean

Declared by:

<neovim-flake/modules/git/git.nix> -
vim.globals

Set containing global variable values

Type: attribute set

Default: - { - - } -

Declared by:

+
vim.globals

Set containing global variable values

Type: attribute set

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.hideSearchHighlight

Hide search highlight so it doesn't stay highlighted

Type: boolean

Default: false

Declared by:

+
vim.hideSearchHighlight

Hide search highlight so it doesn't stay highlighted

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/basic> -
vim.imap

Defines 'Insert and Replace mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.imap

Defines 'Insert and Replace mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.inoremap

Defines 'Insert and Replace mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.inoremap

Defines 'Insert and Replace mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.keys.enable

Whether to enable key binding plugins.

Type: boolean

Default: false

Example: true

Declared by:

- <neovim-flake/modules/keys/which-key.nix> -
vim.keys.whichKey.enable

Whether to enable which-key menu.

Type: boolean

Default: false

Example: true

Declared by:

- <neovim-flake/modules/keys/which-key.nix> -
vim.lineNumberMode

How line numbers are displayed. none, relative, number, relNumber

Type: one of "relative", "number", "relNumber", "none"

Default: "relNumber"

Declared by:

+
vim.lineNumberMode

How line numbers are displayed. none, relative, number, relNumber

Type: one of "relative", "number", "relNumber", "none"

Default: "relNumber"

Declared by:

<neovim-flake/modules/basic> -
vim.lsp.enable

Whether to enable neovim lsp support.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.enable

Whether to enable neovim lsp support.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.clang.enable

Whether to enable C language LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.clang.enable

Whether to enable C language LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.clang.c_header

Whether to enable C syntax header files.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.clang.c_header

Whether to enable C syntax header files.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.clang.cclsOpts

Type: string

Default: ""

Declared by:

+
vim.lsp.clang.cclsOpts

Type: string

Default: ""

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.formatOnSave

Whether to enable Format on save.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.formatOnSave

Whether to enable Format on save.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.go

Whether to enable Go language LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.go

Whether to enable Go language LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.lightbulb.enable

Whether to enable lightbulb for code actions. Requires emoji font.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.lightbulb.enable

Whether to enable lightbulb for code actions. Requires emoji font.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lightbulb.nix> -
vim.lsp.lspSignature.enable

Whether to enable lsp signature viewer.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.lspSignature.enable

Whether to enable lsp signature viewer.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp-signature.nix> -
vim.lsp.lspsaga.enable

Whether to enable LSP Saga.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.lspsaga.enable

Whether to enable LSP Saga.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lspsaga.nix> -
vim.lsp.nix.enable

Whether to enable Nix LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.nix.enable

Whether to enable Nix LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.nix.formatter

Which nix formatter to use

Type: one of "nixpkgs-fmt", "alejandra"

Default: "alejandra"

Declared by:

+
vim.lsp.nix.formatter

Which nix formatter to use

Type: one of "nixpkgs-fmt", "alejandra"

Default: "alejandra"

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.nix.pkg

The LSP package to use

Type: package

Default: (build of nil-unstable-2022-11-27)

Declared by:

+
vim.lsp.nix.pkg

The LSP package to use

Type: package

Default: <derivation nil-unstable-2023-02-04>

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.nix.server

Which LSP to use

Type: one of "rnix", "nil"

Default: "nil"

Declared by:

+
vim.lsp.nix.server

Which LSP to use

Type: one of "rnix", "nil"

Default: "nil"

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.nvimCodeActionMenu.enable

Whether to enable nvim code action menu.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.nvimCodeActionMenu.enable

Whether to enable nvim code action menu.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/nvim-code-action-menu.nix> -
vim.lsp.python

Whether to enable Python LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.python

Whether to enable Python LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.rust.enable

Whether to enable Rust LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.rust.enable

Whether to enable Rust LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix>
vim.lsp.rust.rustAnalyzerOpts

options to pass to rust analyzer

Type: string

Default:

''
-["rust-analyzer"] = {
-  experimental = {
-    procAttrMacros = true,
+  ["rust-analyzer"] = {
+    experimental = {
+      procAttrMacros = true,
+    },
   },
-},
-''

Declared by:

+''

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.sql

Whether to enable SQL Language LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.sql

Whether to enable SQL Language LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.trouble.enable

Whether to enable trouble diagnostics viewer.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.trouble.enable

Whether to enable trouble diagnostics viewer.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/trouble.nix> -
vim.lsp.ts

Whether to enable TS language LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.ts

Whether to enable TS language LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.lsp.zig.enable

Whether to enable Zig language LSP.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.lsp.zig.enable

Whether to enable Zig language LSP.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/lsp/lsp.nix> -
vim.luaConfigRC

vim lua config

Type: DAG of strings concatenated with "\n"

Default: - { - - } -

Declared by:

+
vim.luaConfigRC

vim lua config

Type: DAG of strings concatenated with "\n"

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.mapLeaderSpace

Map the space key to leader key

Type: boolean

Default: true

Declared by:

+
vim.mapLeaderSpace

Map the space key to leader key

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.mapTimeout

Timeout in ms that neovim will wait for mapped action to complete

Type: signed integer

Default: 500

Declared by:

+
vim.mapTimeout

Timeout in ms that neovim will wait for mapped action to complete

Type: signed integer

Default: 500

Declared by:

<neovim-flake/modules/basic> -
vim.markdown.enable

Whether to enable markdown tools and plugins.

Type: boolean

Default: false

Example: true

Declared by:

- <neovim-flake/modules/markdown/glow.nix> -
vim.markdown.glow.enable

Enable markdown preview in neovim with glow

Type: boolean

Default: true

Declared by:

- <neovim-flake/modules/markdown/glow.nix> -
vim.mouseSupport

Set modes for mouse support. a - all, n - normal, v - visual, i - insert, c - command

Type: one of "a", "n", "v", "i", "c"

Default: "a"

Declared by:

+
vim.markdown.enable

Whether to enable markdown tools and plugins.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/markdown/glow> +
vim.markdown.glow.enable

Enable markdown preview in neovim with glow

Type: boolean

Default: true

Declared by:

+ <neovim-flake/modules/markdown/glow> +
vim.minimap.codewindow.enable

Whether to enable Enable minimap-vim plugin.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/minimap/codewindow.nix> +
vim.minimap.minimap-vim.enable

Whether to enable Enable minimap-vim plugin.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/minimap/minimap-vim.nix> +
vim.mouseSupport

Set modes for mouse support. a - all, n - normal, v - visual, i - insert, c - command

Type: one of "a", "n", "v", "i", "c"

Default: "a"

Declared by:

<neovim-flake/modules/basic> -
vim.nmap

Defines 'Normal mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.nmap

Defines 'Normal mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.nnoremap

Defines 'Normal mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.nnoremap

Defines 'Normal mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.omap

Defines 'Operator pending mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.notes.obsidian.enable

Whether to enable Complementary neovim plugins for Obsidian editor.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/notes/obsidian> +
vim.notes.obsidian.completion.nvim_cmp

If using nvim-cmp, otherwise set to false

Type: boolean

Declared by:

+ <neovim-flake/modules/notes/obsidian> +
vim.notes.obsidian.dir

Obsidian vault directory

Type: string

Default: "~/my-vault"

Declared by:

+ <neovim-flake/modules/notes/obsidian> +
vim.notes.orgmode.enable

Whether to enable Neovim plugin for Emac Orgmode. Get the best of both worlds..

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/notes/orgmode> +
vim.notes.orgmode.orgAgendaFiles

List of org files to be used as agenda files.

Type: string

Default: "{'~/Dropbox/org/*', '~/my-orgs/**/*'}"

Declared by:

+ <neovim-flake/modules/notes/orgmode> +
vim.notes.orgmode.orgDefaultNotesFile

Default org file to be used for notes.

Type: string

Default: "~/Dropbox/org/refile.org"

Declared by:

+ <neovim-flake/modules/notes/orgmode> +
vim.notify.nvim-notify.enable

Whether to enable Enable nvim-notify plugin.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/notifications/nvim-notify.nix> +
vim.omap

Defines 'Operator pending mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.onoremap

Defines 'Operator pending mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.onoremap

Defines 'Operator pending mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.optPlugins

List of plugins to optionally load

Type: list of (null or one of "nvim-treesitter-context", "gitsigns-nvim", "plenary-nvim", "nvim-lspconfig", "nvim-treesitter", "lspsaga", "lspkind", "nvim-lightbulb", "lsp-signature", "nvim-tree-lua", "nvim-bufferline-lua", "lualine", "nvim-compe", "nvim-autopairs", "nvim-ts-autotag", "nvim-web-devicons", "tokyonight", "bufdelete-nvim", "nvim-cmp", "cmp-nvim-lsp", "cmp-buffer", "cmp-vsnip", "cmp-path", "cmp-treesitter", "crates-nvim", "vim-vsnip", "nvim-code-action-menu", "trouble", "null-ls", "which-key", "indent-blankline", "nvim-cursorline", "sqls-nvim", "glow-nvim", "telescope", "rust-tools", "onedark", "catppuccin" or package)

Default: - [ - - ] -

Declared by:

+
vim.optPlugins

List of plugins to optionally load

Type: list of (null or one of "nvim-treesitter-context", "gitsigns-nvim", "plenary-nvim", "nvim-lspconfig", "nvim-treesitter", "lspsaga", "lspkind", "nvim-lightbulb", "lsp-signature", "nvim-tree-lua", "nvim-bufferline-lua", "lualine", "nvim-compe", "nvim-autopairs", "nvim-ts-autotag", "nvim-web-devicons", "tokyonight", "bufdelete-nvim", "nvim-cmp", "cmp-nvim-lsp", "cmp-buffer", "cmp-vsnip", "cmp-path", "cmp-treesitter", "crates-nvim", "vim-vsnip", "nvim-code-action-menu", "trouble", "null-ls", "which-key", "indent-blankline", "nvim-cursorline", "sqls-nvim", "glow-nvim", "telescope", "rust-tools", "onedark", "catppuccin", "minimap-vim", "dashboard-nvim", "alpha-nvim", "scrollbar-nvim", "codewindow-nvim", "nvim-notify", "cinnamon-nvim", "cheatsheet-nvim", "colorizer", "venn-nvim", "cellular-automaton", "presence-nvim", "icon-picker-nvim", "dressing-nvim", "orgmode-nvim", "obsidian-nvim", "vim-markdown", "tabular", "toggleterm-nvim", "noice-nvim", "nui-nvim", "copilot-lua", "tabnine-nvim", "nvim-session-manager", "gesture-nvim" or package)

Default: [ ]

Declared by:

<neovim-flake/modules/core> -
vim.preventJunkFiles

Prevent swapfile, backupfile from being created

Type: boolean

Default: false

Declared by:

+
vim.presence.presence-nvim.enable

Whether to enable Enable presence.nvim plugin.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/presence/discord-nvim.nix> +
vim.preventJunkFiles

Prevent swapfile, backupfile from being created

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/basic> -
vim.scrollOffset

Start scrolling this number of lines from the top or bottom of the page.

Type: signed integer

Default: 8

Declared by:

+
vim.scrollOffset

Start scrolling this number of lines from the top or bottom of the page.

Type: signed integer

Default: 8

Declared by:

<neovim-flake/modules/basic> -
vim.showSignColumn

Show the sign column

Type: boolean

Default: true

Declared by:

+
vim.session.nvim-session-manager.enable

Whether to enable Enable nvim-session-manager.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/session/nvim-session-manager.nix> +
vim.showSignColumn

Show the sign column

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.smap

Defines 'Select mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.smap

Defines 'Select mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.snippets.vsnip.enable

Whether to enable Enable vim-vsnip.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.snippets.vsnip.enable

Whether to enable Enable vim-vsnip.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/snippets/vsnip.nix> -
vim.snoremap

Defines 'Select mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.snoremap

Defines 'Select mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.splitBelow

New splits will open below instead of on top

Type: boolean

Default: true

Declared by:

+
vim.splitBelow

New splits will open below instead of on top

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.splitRight

New splits will open to the right

Type: boolean

Default: true

Declared by:

+
vim.splitRight

New splits will open to the right

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.startPlugins

List of plugins to startup.

Type: list of (null or one of "nvim-treesitter-context", "gitsigns-nvim", "plenary-nvim", "nvim-lspconfig", "nvim-treesitter", "lspsaga", "lspkind", "nvim-lightbulb", "lsp-signature", "nvim-tree-lua", "nvim-bufferline-lua", "lualine", "nvim-compe", "nvim-autopairs", "nvim-ts-autotag", "nvim-web-devicons", "tokyonight", "bufdelete-nvim", "nvim-cmp", "cmp-nvim-lsp", "cmp-buffer", "cmp-vsnip", "cmp-path", "cmp-treesitter", "crates-nvim", "vim-vsnip", "nvim-code-action-menu", "trouble", "null-ls", "which-key", "indent-blankline", "nvim-cursorline", "sqls-nvim", "glow-nvim", "telescope", "rust-tools", "onedark", "catppuccin" or package)

Default: - [ - - ] -

Declared by:

+
vim.startPlugins

List of plugins to startup.

Type: list of (null or one of "nvim-treesitter-context", "gitsigns-nvim", "plenary-nvim", "nvim-lspconfig", "nvim-treesitter", "lspsaga", "lspkind", "nvim-lightbulb", "lsp-signature", "nvim-tree-lua", "nvim-bufferline-lua", "lualine", "nvim-compe", "nvim-autopairs", "nvim-ts-autotag", "nvim-web-devicons", "tokyonight", "bufdelete-nvim", "nvim-cmp", "cmp-nvim-lsp", "cmp-buffer", "cmp-vsnip", "cmp-path", "cmp-treesitter", "crates-nvim", "vim-vsnip", "nvim-code-action-menu", "trouble", "null-ls", "which-key", "indent-blankline", "nvim-cursorline", "sqls-nvim", "glow-nvim", "telescope", "rust-tools", "onedark", "catppuccin", "minimap-vim", "dashboard-nvim", "alpha-nvim", "scrollbar-nvim", "codewindow-nvim", "nvim-notify", "cinnamon-nvim", "cheatsheet-nvim", "colorizer", "venn-nvim", "cellular-automaton", "presence-nvim", "icon-picker-nvim", "dressing-nvim", "orgmode-nvim", "obsidian-nvim", "vim-markdown", "tabular", "toggleterm-nvim", "noice-nvim", "nui-nvim", "copilot-lua", "tabnine-nvim", "nvim-session-manager", "gesture-nvim" or package)

Default: [ ]

Declared by:

<neovim-flake/modules/core> -
vim.statusline.lualine.enable

Enable lualine

Type: boolean

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.activeSection.a

active config for: | (A) | B | C X | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.activeSection.b

active config for: | A | (B) | C X | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.activeSection.c

active config for: | A | B | (C) X | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.activeSection.x

active config for: | A | B | C (X) | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.activeSection.y

active config for: | A | B | C X | (Y) | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.activeSection.z

active config for: | A | B | C X | Y | (Z) |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.componentSeparator.left

Component separator for left side

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.componentSeparator.right

Component separator for right side

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.icons

Enable icons for lualine

Type: boolean

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.inactiveSection.a

inactive config for: | (A) | B | C X | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.inactiveSection.b

inactive config for: | A | (B) | C X | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.inactiveSection.c

inactive config for: | A | B | (C) X | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.inactiveSection.x

inactive config for: | A | B | C (X) | Y | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.inactiveSection.y

inactive config for: | A | B | C X | (Y) | Z |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.inactiveSection.z

inactive config for: | A | B | C X | Y | (Z) |

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.sectionSeparator.left

Section separator for left side

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.sectionSeparator.right

Section separator for right side

Type: string

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.statusline.lualine.theme

Theme for lualine

Type: one of "auto", "16color", "gruvbox", "ayu_dark", "ayu_light", "ayu_mirage", "codedark", "dracula", "everforest", "gruvbox", "gruvbox_light", "gruvbox_material", "horizon", "iceberg_dark", "iceberg_light", "jellybeans", "material", "modus_vivendi", "molokai", "nightfly", "nord", "oceanicnext", "onelight", "palenight", "papercolor_dark", "papercolor_light", "powerline", "seoul256", "solarized_dark", "tomorrow", "wombat", "onedark"

Declared by:

- <neovim-flake/modules/statusline/lualine.nix> -
vim.syntaxHighlighting

Enable syntax highlighting

Type: boolean

Default: true

Declared by:

+
vim.statusline.lualine.enable

Enable lualine

Type: boolean

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.activeSection.a

active config for: | (A) | B | C X | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.activeSection.b

active config for: | A | (B) | C X | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.activeSection.c

active config for: | A | B | (C) X | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.activeSection.x

active config for: | A | B | C (X) | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.activeSection.y

active config for: | A | B | C X | (Y) | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.activeSection.z

active config for: | A | B | C X | Y | (Z) |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.componentSeparator.left

Component separator for left side

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.componentSeparator.right

Component separator for right side

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.icons

Enable icons for lualine

Type: boolean

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.inactiveSection.a

inactive config for: | (A) | B | C X | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.inactiveSection.b

inactive config for: | A | (B) | C X | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.inactiveSection.c

inactive config for: | A | B | (C) X | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.inactiveSection.x

inactive config for: | A | B | C (X) | Y | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.inactiveSection.y

inactive config for: | A | B | C X | (Y) | Z |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.inactiveSection.z

inactive config for: | A | B | C X | Y | (Z) |

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.sectionSeparator.left

Section separator for left side

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.sectionSeparator.right

Section separator for right side

Type: string

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.statusline.lualine.theme

Theme for lualine

Type: one of "auto", "16color", "gruvbox", "ayu_dark", "ayu_light", "ayu_mirage", "codedark", "dracula", "everforest", "gruvbox", "gruvbox_light", "gruvbox_material", "horizon", "iceberg_dark", "iceberg_light", "jellybeans", "material", "modus_vivendi", "molokai", "nightfly", "nord", "oceanicnext", "onelight", "palenight", "papercolor_dark", "papercolor_light", "powerline", "seoul256", "solarized_dark", "tomorrow", "wombat", "onedark"

Declared by:

+ <neovim-flake/modules/statusline/lualine/lualine.nix> +
vim.syntaxHighlighting

Enable syntax highlighting

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.tabWidth

Set the width of tabs

Type: signed integer

Default: 4

Declared by:

+
vim.tabWidth

Set the width of tabs

Type: signed integer

Default: 4

Declared by:

<neovim-flake/modules/basic> -
vim.tabline.nvimBufferline.enable

Whether to enable nvim-bufferline-lua.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.tabline.nvimBufferline.enable

Whether to enable nvim-bufferline-lua.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/tabline/nvim-bufferline.nix> -
vim.telescope.enable

Whether to enable enable telescope.

Type: boolean

Default: false

Example: true

Declared by:

- <neovim-flake/modules/telescope> -
vim.theme.enable

Enable Theme

Type: boolean

Declared by:

+
vim.telescope.enable

Whether to enable enable telescope.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/utility/telescope> +
vim.terminal.toggleterm.enable

Whether to enable Enable toggleterm as a replacement to built-in terminal command.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/terminal/toggleterm.nix> +
vim.terminal.toggleterm.enable_winbar

Enable winbar

Type: boolean

Default: false

Declared by:

+ <neovim-flake/modules/terminal/toggleterm.nix> +
vim.terminal.toggleterm.direction

Direction of the terminal

Type: one of "horizontal", "vertical", "tab", "float"

Default: "float"

Declared by:

+ <neovim-flake/modules/terminal/toggleterm.nix> +
vim.theme.enable

Enable Theme

Type: boolean

Declared by:

<neovim-flake/modules/theme/theme.nix> -
vim.theme.extraConfig

Additional lua configuration to add before setup

Type: strings concatenated with "\n"

Declared by:

+
vim.theme.extraConfig

Additional lua configuration to add before setup

Type: strings concatenated with "\n"

Declared by:

<neovim-flake/modules/theme/theme.nix> -
vim.theme.name

Supported themes can be found in `supported_themes.nix`

Type: one of "catppuccin", "onedark", "tokyonight"

Declared by:

+
vim.theme.name

Supported themes can be found in `supported_themes.nix`

Type: one of "catppuccin", "onedark", "tokyonight"

Declared by:

<neovim-flake/modules/theme/theme.nix> -
vim.theme.style

Specific style for theme if it supports it

Type: one of "dark", "darker", "cool", "deep", "warm", "warmer"

Declared by:

+
vim.theme.style

Specific style for theme if it supports it

Type: one of "dark", "darker", "cool", "deep", "warm", "warmer"

Declared by:

<neovim-flake/modules/theme/theme.nix> -
vim.tidal.enable

Whether to enable tidal tools and plugins.

Type: boolean

Default: false

Example: true

Declared by:

+
vim.tidal.enable

Whether to enable tidal tools and plugins.

Type: boolean

Default: false

Example: true

Declared by:

<neovim-flake/modules/tidal/tidal.nix> -
vim.tidal.flash

When sending a paragraph or a single line, vim-tidal will "flash" the selection for some milliseconds

Type: signed integer

Default: 150

Declared by:

+
vim.tidal.flash

When sending a paragraph or a single line, vim-tidal will "flash" the selection for some milliseconds

Type: signed integer

Default: 150

Declared by:

<neovim-flake/modules/tidal/tidal.nix> -
vim.tidal.openSC

Automatically run the supercollider CLI, sclang, alongside the Tidal GHCI terminal.

Type: boolean

Default: true

Declared by:

+
vim.tidal.openSC

Automatically run the supercollider CLI, sclang, alongside the Tidal GHCI terminal.

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/tidal/tidal.nix> -
vim.tmap

Defines 'Terminal mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.tmap

Defines 'Terminal mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.tnoremap

Defines 'Terminal mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.tnoremap

Defines 'Terminal mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.treesitter.enable

enable tree-sitter [nvim-treesitter]

Type: boolean

Default: false

Declared by:

+
vim.treesitter.enable

enable tree-sitter [nvim-treesitter]

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/treesitter/treesitter.nix> -
vim.treesitter.autotagHtml

enable autoclose and rename html tag [nvim-ts-autotag]

Type: boolean

Default: false

Declared by:

+
vim.treesitter.autotagHtml

enable autoclose and rename html tag [nvim-ts-autotag]

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/treesitter/treesitter.nix> -
vim.treesitter.context.enable

enable function context [nvim-treesitter-context]

Type: boolean

Default: false

Declared by:

+
vim.treesitter.context.enable

enable function context [nvim-treesitter-context]

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/treesitter/context.nix> -
vim.treesitter.fold

enable fold with tree-sitter

Type: boolean

Default: false

Declared by:

+
vim.treesitter.fold

enable fold with tree-sitter

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/treesitter/treesitter.nix>
vim.treesitter.grammars

List of treesitter grammars to install. -When enabling a language, its treesitter grammar is added for you. -

Type: list of package

Default: - [ - (build of c-grammar-7175a6d) (build of cpp-grammar-5ead1e2) (build of nix-grammar-6b71a81) (build of python-grammar-b14614e) (build of rust-grammar-0431a2c) (build of markdown-grammar-16d0b5e) (build of comment-grammar-a37ca37) (build of toml-grammar-8bd2056) (build of make-grammar-a4b9187) (build of tsx-grammar-0ae3828) (build of html-grammar-29f53d8) (build of javascript-grammar-cefdcea) (build of css-grammar-769203d) (build of graphql-grammar-5e66e96) (build of json-grammar-7307675) (build of zig-grammar-d90d38d) - ] -

Declared by:

+When enabling a language, its treesitter grammar is added for you.

Type: list of package

Default:

[
+  <derivation c-grammar-7175a6d>
+  <derivation cpp-grammar-56cec4c>
+  <derivation nix-grammar-6b71a81>
+  <derivation python-grammar-9e53981>
+  <derivation rust-grammar-f7fb205>
+  <derivation markdown-grammar-abea13b>
+  <derivation comment-grammar-a37ca37>
+  <derivation toml-grammar-8bd2056>
+  <derivation make-grammar-a4b9187>
+  <derivation tsx-grammar-5d20856>
+  <derivation html-grammar-29f53d8>
+  <derivation javascript-grammar-15e85e8>
+  <derivation css-grammar-769203d>
+  <derivation graphql-grammar-5e66e96>
+  <derivation json-grammar-7307675>
+  <derivation zig-grammar-b0693dd>
+]

Declared by:

<neovim-flake/modules/treesitter/treesitter.nix> -
vim.updateTime

The number of milliseconds till Cursor Hold event is fired

Type: signed integer

Default: 300

Declared by:

+
vim.ui.noice.enable

Whether to enable noice-nvim.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/ui/noice.nix> +
vim.updateTime

The number of milliseconds till Cursor Hold event is fired

Type: signed integer

Default: 300

Declared by:

<neovim-flake/modules/basic> -
vim.useSystemClipboard

Make use of the clipboard for default yank and paste operations. Don't use * and +

Type: boolean

Default: true

Declared by:

+
vim.useSystemClipboard

Make use of the clipboard for default yank and paste operations. Don't use * and +

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.viAlias

Enable vi alias

Type: boolean

Default: true

Declared by:

+
vim.utility.colorizer.enable

Whether to enable ccc color picker for neovim.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/utility/colorizer.nix> +
vim.utility.icon-picker.enable

Whether to enable Nerdfonts icon picker for nvim.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/utility/icon-picker.nix> +
vim.utility.venn-nvim.enable

Whether to enable draw ASCII diagrams in Neovim.

Type: boolean

Default: false

Example: true

Declared by:

+ <neovim-flake/modules/utility/venn.nix> +
vim.viAlias

Enable vi alias

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/core> -
vim.vimAlias

Enable vim alias

Type: boolean

Default: true

Declared by:

+
vim.vimAlias

Enable vim alias

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/core> -
vim.visuals.enable

visual enhancements

Type: boolean

Declared by:

+
vim.visuals.enable

visual enhancements

Type: boolean

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.cursorWordline.enable

enable word and delayed line highlight [nvim-cursorline]

Type: boolean

Declared by:

+
vim.visuals.cellularAutomaton.enable

enable cellular automaton [cellular-automaton]

Type: boolean

Default: false

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.cursorWordline.lineTimeout

time in milliseconds for cursorline to appear

Type: signed integer

Declared by:

+
vim.visuals.cursorWordline.enable

enable word and delayed line highlight [nvim-cursorline]

Type: boolean

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.indentBlankline.enable

enable indentation guides [indent-blankline]

Type: boolean

Declared by:

+
vim.visuals.cursorWordline.lineTimeout

time in milliseconds for cursorline to appear

Type: signed integer

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.indentBlankline.eolChar

Character at end of line

Type: string

Declared by:

+
vim.visuals.indentBlankline.enable

enable indentation guides [indent-blankline]

Type: boolean

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.indentBlankline.fillChar

Character to fill indents

Type: string

Declared by:

+
vim.visuals.indentBlankline.eolChar

Character at end of line

Type: string

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.indentBlankline.listChar

Character for indentation line

Type: string

Declared by:

+
vim.visuals.indentBlankline.fillChar

Character to fill indents

Type: string

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.indentBlankline.showCurrContext

Highlight current context from treesitter

Type: boolean

Declared by:

+
vim.visuals.indentBlankline.listChar

Character for indentation line

Type: string

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.lspkind.enable

enable vscode-like pictograms for lsp [lspkind]

Type: boolean

Declared by:

+
vim.visuals.indentBlankline.showCurrContext

Highlight current context from treesitter

Type: boolean

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.visuals.nvimWebDevicons.enable

enable dev icons. required for certain plugins [nvim-web-devicons]

Type: boolean

Declared by:

+
vim.visuals.lspkind.enable

enable vscode-like pictograms for lsp [lspkind]

Type: boolean

Declared by:

<neovim-flake/modules/visuals/visuals.nix> -
vim.vmap

Defines 'Visual and Select mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.visuals.nvimWebDevicons.enable

enable dev icons. required for certain plugins [nvim-web-devicons]

Type: boolean

Declared by:

+ <neovim-flake/modules/visuals/visuals.nix> +
vim.visuals.scrollBar.enable

enable scrollbar [scrollbar.nvim]

Type: boolean

Declared by:

+ <neovim-flake/modules/visuals/visuals.nix> +
vim.visuals.smoothScroll.enable

enable smooth scrolling [cinnamon-nvim]

Type: boolean

Declared by:

+ <neovim-flake/modules/visuals/visuals.nix> +
vim.vmap

Defines 'Visual and Select mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.vnoremap

Defines 'Visual and Select mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.vnoremap

Defines 'Visual and Select mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.wordWrap

Enable word wrapping.

Type: boolean

Default: true

Declared by:

+
vim.wordWrap

Enable word wrapping.

Type: boolean

Default: true

Declared by:

<neovim-flake/modules/basic> -
vim.xmap

Defines 'Visual mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.xmap

Defines 'Visual mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core> -
vim.xnoremap

Defines 'Visual mode' mappings

Type: attribute set of (null or string)

Default: - { - - } -

Declared by:

+
vim.xnoremap

Defines 'Visual mode' mappings

Type: attribute set of (null or string)

Default: { }

Declared by:

<neovim-flake/modules/core>
\ No newline at end of file diff --git a/overrides.css b/overrides.css deleted file mode 100644 index feb96101..00000000 --- a/overrides.css +++ /dev/null @@ -1,14 +0,0 @@ -.docbook .xref img[src^=images\/callouts\/], -.screen img, -.programlisting img { - width: 1em; -} - -.calloutlist img { - width: 1.5em; -} - -/** The console prompt, e.g., `$` and `#` should not be selectable. */ -.programlisting.console .hljs-meta { - user-select: none; -} diff --git a/release-notes.html b/release-notes.html index 22f29e19..82f12b1e 100644 --- a/release-notes.html +++ b/release-notes.html @@ -1,5 +1,5 @@ -Appendix B. Release Notes

Release Notes

This section lists the release notes for tagged version of neovim-flake and current main.

B.1. Release 0.1

This is the current master branch and information here is not final. These are changes from the v0.01 tag.

Special thanks to home-manager for this release. Docs/manual generation, the new module evaluation system, and DAG implementation are from them.

B.1.1. Changelog

jordanisaacs:

  • +Appendix B. Release Notes

    Appendix B. Release Notes

    This section lists the release notes for tagged version of neovim-flake and current main.

    B.1. Release 0.1

    This is the current master branch and information here is not final. These are changes from the v0.01 tag.

    Special thanks to home-manager for this release. Docs/manual generation, the new module evaluation system, and DAG implementation are from them.

    B.1.1. Changelog

    jordanisaacs:

    • Removed hare language support (lsp/tree-sitter/etc). vim.lsp.hare is no longer defined. If you use hare and would like it added back, please file an issue.
    • vim.startPlugins & vim.optPlugins are now an enum of string for options sourced from the flake inputs. Users can still provide vim plugin packages. @@ -11,4 +11,40 @@ Treesitter grammars are now configurable with vim.configRC and vim.luaConfigRC are now of type DAG lines. This allows for ordering of the config. Usage is the same is in home-manager’s home.activation option.

      vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"

    MoritzBoehme:

    B.2. Release 0.2

    Release notes for release 0.2

    B.2.1. Changelog

    notashelf:

    • +Added two minimap plugins under vim.minimap. codewindow.nvim is enabled by default, while minimap.vim is available with its code-minimap dependency. +
    • +A complementary plugin, ‘obsidian.nvim` and the Neovim alternative for Emacs’ orgmode with orgmode.nvim have been added. Both will be disabled by default. +
    • +Smooth scrolling for ANY movement command is now available with cinnamon.nvim +
    • +You will now notice a dashboard on startup. This is provided by the alpha.nvim plugin. You can use any of the three available dashboard plugins, or disable them entirely. +
    • +There is now a scrollbar on active buffers, which can highlight errors by hooking to your LSPs. This is on by default, but can be toggled off under vim.visuals if seen necessary. +
    • +Discord Rich Presence has been added through presence.nvim for those who want to flex that they are using the superior text editor. +
    • +An icon picker is now available with telescope integration. You can use :IconPickerInsert or :IconPickerYank to add icons to your code. +
    • +A general purpose cheatsheet has been added through cheatsheet.nvim. Forget no longer! +
    • +ccc.nvim has been added to the default plugins to allow picking colors with ease. +
    • +Most UI components of Neovim have been replaced through the help of noice.nvim. There are also notifications and custom UI elements available for Neovim messages and prompts. +
    • +A (floating by default) terminal has been added through toggleterm.nvim. +
    • +Harness the power of ethical (tabnine.nvim) and not-so-ethical (copilot.lua) AI by those new assistant plugins. Both are off by default, TabNine needs to be wrapped before it’s working. +
    • +Experimental mouse gestures have been addede through gesture.nvim. See plugin page and the relevant module for more details on how to use. +
    • +Re-open last visited buffers via nvim-session-manager. Disabled by default as deleting buffers seems to be problematic at the moment. +
    • +Most of NvimTree’s configuration options have been changed with some options being toggled to off by default. +
    • +Lualine had its configuration simplified and style toned down. Less color, more info. +
    • +Modules where multiple plugin configurations were in the same directory have been simplified. Each plugin inside a single module gets its own directory to be imported. +
    • +Separate config options with the same parent attribute have been merged into one for simplicity.
    \ No newline at end of file diff --git a/style.css b/style.css index 474dd32e..3e366fe7 100644 --- a/style.css +++ b/style.css @@ -1,291 +1,7 @@ -/* Copied from http://bakefile.sourceforge.net/, which appears - licensed under the GNU GPL. */ - - -/*************************************************************************** - Basic headers and text: - ***************************************************************************/ - -body -{ - font-family: "Nimbus Sans L", sans-serif; - font-size: 1em; - background: white; - margin: 2em 1em 2em 1em; -} - -h1, h2, h3, h4 -{ - color: #005aa0; -} - -h1 /* title */ -{ - font-size: 200%; -} - -h2 /* chapters, appendices, subtitle */ -{ - font-size: 180%; -} - -div.book -{ - text-align: center; -} - -div.book > div -{ - /* - * based on https://medium.com/@zkareemz/golden-ratio-62b3b6d4282a - * we do 70 characters per line to fit code listings better - * 70 * (font-size / 1.618) - * expression for emacs: - * (* 70 (/ 1 1.618)) - */ - max-width: 43.2em; - text-align: left; - margin: auto; -} - -/* Extra space between chapters, appendices. */ -div.chapter > div.titlepage h2, div.appendix > div.titlepage h2 -{ - margin-top: 1.5em; -} - -div.section > div.titlepage h2 /* sections */ -{ - font-size: 150%; - margin-top: 1.5em; -} - -h3 /* subsections */ -{ - font-size: 125%; -} - -div.simplesect h2 -{ - font-size: 110%; -} - -div.appendix h3 -{ - font-size: 150%; - margin-top: 1.5em; -} - -div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */ -{ - margin-top: 1.4em; - font-size: 125%; -} - -div.refsection h3 -{ - font-size: 110%; -} - - -/*************************************************************************** - Examples: - ***************************************************************************/ - -div.example -{ - border: 1px solid #b0b0b0; - padding: 6px 6px; - margin-left: 1.5em; - margin-right: 1.5em; - background: #f4f4f8; - border-radius: 0.4em; - box-shadow: 0.4em 0.4em 0.5em #e0e0e0; -} - -div.example p.title -{ - margin-top: 0em; -} - -div.example pre -{ - box-shadow: none; -} - - -/*************************************************************************** - Screen dumps: - ***************************************************************************/ - -pre.screen, pre.programlisting -{ - border: 1px solid #b0b0b0; - padding: 3px 3px; - margin-left: 0.5em; - margin-right: 0.5em; - - background: #f4f4f8; - font-family: monospace; - border-radius: 0.4em; - box-shadow: 0.4em 0.4em 0.5em #e0e0e0; -} - -div.example pre.programlisting -{ - border: 0px; - padding: 0 0; - margin: 0 0 0 0; -} - -/*************************************************************************** - Notes, warnings etc: - ***************************************************************************/ - -.note, .warning -{ - border: 1px solid #b0b0b0; - padding: 3px 3px; - margin-left: 1.5em; - margin-right: 1.5em; - margin-bottom: 1em; - padding: 0.3em 0.3em 0.3em 0.3em; - background: #fffff5; - border-radius: 0.4em; - box-shadow: 0.4em 0.4em 0.5em #e0e0e0; -} - -div.note, div.warning -{ - font-style: italic; -} - -div.note h3, div.warning h3 -{ - color: red; - font-size: 100%; - padding-right: 0.5em; - display: inline; -} - -div.note p, div.warning p -{ - margin-bottom: 0em; -} - -div.note h3 + p, div.warning h3 + p -{ - display: inline; -} - -div.note h3 -{ - color: blue; - font-size: 100%; -} - -div.navfooter * -{ - font-size: 90%; -} - - -/*************************************************************************** - Links colors and highlighting: - ***************************************************************************/ - -a { text-decoration: none; } -a:hover { text-decoration: underline; } -a:link { color: #0048b3; } -a:visited { color: #002a6a; } - - -/*************************************************************************** - Table of contents: - ***************************************************************************/ - -div.toc -{ - font-size: 90%; -} - -div.toc dl -{ - margin-top: 0em; - margin-bottom: 0em; -} - - -/*************************************************************************** - Special elements: - ***************************************************************************/ - -tt, code -{ - color: #400000; -} - -.term -{ - font-weight: bold; - -} - -div.variablelist dd p, div.glosslist dd p -{ - margin-top: 0em; -} - -div.variablelist dd, div.glosslist dd -{ - margin-left: 1.5em; -} - -div.glosslist dt -{ - font-style: italic; -} - -.varname -{ - color: #400000; -} - -span.command strong -{ - font-weight: normal; - color: #400000; -} - -div.calloutlist table -{ - box-shadow: none; -} - -table -{ - border-collapse: collapse; - box-shadow: 0.4em 0.4em 0.5em #e0e0e0; -} - -table.simplelist -{ - text-align: left; - color: #005aa0; - border: 0; - padding: 5px; - background: #fffff5; - font-weight: normal; - font-style: italic; - box-shadow: none; - margin-bottom: 1em; -} - -div.navheader table, div.navfooter table { - box-shadow: none; -} - -div.affiliation -{ - font-style: italic; -} +:root{--nmd-color0: #0A3E68;--nmd-color1: #268598;--nmd-color2: #B8D09E;--nmd-color3: #F6CF5E;--nmd-color4: #EC733B;--nmd-color-info: #167cb9;--nmd-color-warn: #ff6700}html{scroll-behavior:smooth}body{text-size-adjust:100%;position:relative;width:100%;min-height:100vh}*,::after,::before{box-sizing:border-box}a:not([class]){text-decoration-skip-ink:auto}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;margin:0;padding:0;border:0;vertical-align:baseline}:focus{outline:0}main,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}td:empty,th:empty{opacity:0}input:required,input{box-shadow:none}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}a:active,a:hover{outline:none}img{border:0;max-width:100%;display:inline-block;vertical-align:middle;height:auto}picture{display:inline-block}figure{margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;border:0;background:transparent}button::-moz-focus-inner{border:0}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button{border:0;background:transparent}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}hr{box-sizing:content-box;overflow:visible;background:#000;border:0;height:1px;line-height:0;margin:0;padding:0;page-break-after:always;width:100%}pre{font-family:monospace,monospace;font-size:100%}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:none}code,kbd,samp{font-family:monospace,monospace;font-size:100%}small{font-size:75%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-5px}sup{top:-5px}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1;margin:0;padding:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0;outline:0}legend{color:inherit;white-space:normal;display:block;border:0;max-width:100%;width:100%}fieldset{min-width:0}body:not(:-moz-handler-blocked) fieldset{display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}template{display:none}body{background:white;color:#111827;max-width:min(100ch, 1024px);margin:0 auto;padding:10px;font-family:"Lucida Sans",Arial,sans-serif;font-size:16px;line-height:1.4em}@media (prefers-color-scheme: dark){body{background:#111827;color:#F9FAFB}}h1,h2,h3{color:var(--nmd-color0);font-family:"Lato",sans-serif;font-weight:300;line-height:1.125}@media (prefers-color-scheme: dark){h1,h2,h3{color:var(--nmd-color4)}}h1{font-size:48px;font-weight:300;margin:4rem 0 1.5rem}h2{font-size:32px;font-weight:300;margin:2rem 0 1rem}h3{font-size:20px;font-weight:400;margin:.5rem .25rem}p{margin:.9rem 0}p:first-child{margin-top:0}p:last-child{margin-bottom:0}a{color:var(--nmd-color0);text-decoration:underline;text-underline-offset:3px}a:visited{color:var(--nmd-color1)}a:hover{color:var(--nmd-color1)}@media (prefers-color-scheme: dark){a{color:var(--nmd-color3)}a:visited{color:var(--nmd-color2)}a:hover{color:var(--nmd-color4)}}code{font-size:90%}span.command{font-size:90%;font-family:monospace}em{font-style:italic}strong{font-weight:bold}pre{background:#F9FAFB;margin:2rem 16px;padding:10px;border:1px solid #E5E7EB;border-radius:4px;box-shadow:4px 4px 8px #E5E7EB;font-size:90%;margin-bottom:1.5rem;padding:6px;overflow:auto}@media (prefers-color-scheme: dark){pre{background:#1F2937;border-color:black;box-shadow:4px 4px 8px black}}td,th{padding:2px 5px}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}dt{margin:1.2rem 0 .8rem}dd{margin-left:2rem}ul{margin:.9rem 0;padding-left:30px;list-style:disc}ul:first-child{margin-top:0}ul:last-child{margin-bottom:0}ol{margin:.9rem 0;padding-left:30px;list-style:decimal}ol:first-child{margin-top:0}ol:last-child{margin-bottom:0}li{margin:.9rem 0;padding-left:5px}li:first-child{margin-top:0}li:last-child{margin-bottom:0}.navheader hr,.navfooter hr{margin:1rem 0;background:#E5E7EB}@media (prefers-color-scheme: dark){.navheader hr,.navfooter hr{background:#4B5563}}.navheader a,.navfooter a{text-decoration:none}div.titlepage{margin:40px 0}div.titlepage hr{display:none}div.toc{background:#F9FAFB;margin:2rem 16px;padding:10px;border:1px solid #E5E7EB;border-radius:4px;box-shadow:4px 4px 8px #E5E7EB}@media (prefers-color-scheme: dark){div.toc{background:#1F2937;border-color:black;box-shadow:4px 4px 8px black}}div.toc a{text-decoration:none}div.note,div.warning{background:#F9FAFB;margin:2rem 16px;padding:10px;border:1px solid #E5E7EB;border-radius:4px;box-shadow:4px 4px 8px #E5E7EB;font-style:italic}@media (prefers-color-scheme: dark){div.note,div.warning{background:#1F2937;border-color:black;box-shadow:4px 4px 8px black}}div.note h3,div.warning h3{float:right;margin:0 0 1rem 1rem;width:42px;height:42px;content:url()}div.note h3+p,div.warning h3+p{margin-top:0}div.note h3{background-color:var(--nmd-color-info);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E")}div.warning h3{background-color:var(--nmd-color-warn);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E")}.term{font-weight:300}.docbook .xref img[src^=images\/callouts\/],.screen img,.programlisting img{width:1em}.calloutlist img{width:1.3em}.programlisting.console .hljs-meta{user-select:none}/*! + Theme: Tomorrow + Author: Chris Kempson (http://chriskempson.com) + License: ~ MIT (or more permissive) [via base16-schemes-source] + Maintainer: @highlightjs/core-team + Version: 2021.09.0 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#4d4d4c;background:#fff}.hljs ::selection,.hljs::selection{background-color:#d6d6d6;color:#4d4d4c}.hljs-comment{color:#8e908c}.hljs-tag{color:#969896}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#4d4d4c}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#c82829}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f5871f}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#eab700}.hljs-strong{font-weight:700;color:#eab700}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#718c00}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#3e999f}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#4271ae}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#8959a8}.hljs-emphasis{color:#8959a8;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}.hljs{background:#f1f5f9}@media (prefers-color-scheme: dark){/*! Theme: Tomorrow Night Author: Chris Kempson (http://chriskempson.com) License: ~ MIT (or more permissive) [via base16-schemes-source] Maintainer: @highlightjs/core-team Version: 2021.09.0*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#ccc;background:#2d2d2d}.hljs ::selection,.hljs::selection{background-color:#515151;color:#ccc}.hljs-comment{color:#999}.hljs-tag{color:#b4b7b4}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#ccc}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#f2777a}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f99157}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#fc6}.hljs-strong{font-weight:700;color:#fc6}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#9c9}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#6cc}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#69c}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#c9c}.hljs-emphasis{color:#c9c;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}} diff --git a/tomorrow-night.min.css b/tomorrow-night.min.css new file mode 100644 index 00000000..a0b3f625 --- /dev/null +++ b/tomorrow-night.min.css @@ -0,0 +1,7 @@ +/*! + Theme: Tomorrow Night + Author: Chris Kempson (http://chriskempson.com) + License: ~ MIT (or more permissive) [via base16-schemes-source] + Maintainer: @highlightjs/core-team + Version: 2021.09.0 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#ccc;background:#2d2d2d}.hljs ::selection,.hljs::selection{background-color:#515151;color:#ccc}.hljs-comment{color:#999}.hljs-tag{color:#b4b7b4}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#ccc}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#f2777a}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f99157}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#fc6}.hljs-strong{font-weight:700;color:#fc6}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#9c9}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#6cc}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#69c}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#c9c}.hljs-emphasis{color:#c9c;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700} \ No newline at end of file diff --git a/tomorrow.min.css b/tomorrow.min.css new file mode 100644 index 00000000..5785f6ef --- /dev/null +++ b/tomorrow.min.css @@ -0,0 +1,7 @@ +/*! + Theme: Tomorrow + Author: Chris Kempson (http://chriskempson.com) + License: ~ MIT (or more permissive) [via base16-schemes-source] + Maintainer: @highlightjs/core-team + Version: 2021.09.0 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#4d4d4c;background:#fff}.hljs ::selection,.hljs::selection{background-color:#d6d6d6;color:#4d4d4c}.hljs-comment{color:#8e908c}.hljs-tag{color:#969896}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#4d4d4c}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#c82829}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f5871f}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#eab700}.hljs-strong{font-weight:700;color:#eab700}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#718c00}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#3e999f}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#4271ae}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#8959a8}.hljs-emphasis{color:#8959a8;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#a3685a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700} \ No newline at end of file