mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-12-19 07:29:49 +01:00
Deploy PR #494 preview
This commit is contained in:
parent
26092aa441
commit
8cc7cdac46
12 changed files with 41649 additions and 0 deletions
29
docs-preview-494/highlightjs/LICENSE
Normal file
29
docs-preview-494/highlightjs/LICENSE
Normal file
|
@ -0,0 +1,29 @@
|
|||
BSD 3-Clause License
|
||||
|
||||
Copyright (c) 2006, Ivan Sagalaev.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
345
docs-preview-494/highlightjs/highlight.pack.js
Normal file
345
docs-preview-494/highlightjs/highlight.pack.js
Normal file
|
@ -0,0 +1,345 @@
|
|||
/*!
|
||||
Highlight.js v11.9.0 (git: b7ec4bfafc)
|
||||
(c) 2006-2023 undefined and other contributors
|
||||
License: BSD-3-Clause
|
||||
*/
|
||||
var hljs=function(){"use strict";function e(t){
|
||||
return t instanceof Map?t.clear=t.delete=t.set=()=>{
|
||||
throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{
|
||||
throw Error("set is read-only")
|
||||
}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{
|
||||
const i=t[n],s=typeof i;"object"!==s&&"function"!==s||Object.isFrozen(i)||e(i)
|
||||
})),t}class t{constructor(e){
|
||||
void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}
|
||||
ignoreMatch(){this.isMatchIgnored=!0}}function n(e){
|
||||
return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")
|
||||
}function i(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
|
||||
;class o{constructor(e,t){
|
||||
this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){
|
||||
this.buffer+=n(e)}openNode(e){if(!s(e))return;const t=((e,{prefix:t})=>{
|
||||
if(e.startsWith("language:"))return e.replace("language:","language-")
|
||||
;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+="</span>")}value(){return this.buffer}span(e){
|
||||
this.buffer+=`<span class="${e}">`}}const r=(e={})=>{const t={children:[]}
|
||||
;return Object.assign(t,e),t};class a{constructor(){
|
||||
this.rootNode=r(),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=r({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=>{
|
||||
a._collapse(e)})))}}class c extends a{constructor(e){super(),this.options=e}
|
||||
addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){
|
||||
this.closeNode()}__addSublanguage(e,t){const n=e.root
|
||||
;t&&(n.scope="language:"+t),this.add(n)}toHTML(){
|
||||
return new o(this,this.options).value()}finalize(){
|
||||
return this.closeAllNodes(),!0}}function l(e){
|
||||
return e?"string"==typeof e?e:e.source:null}function g(e){return h("(?=",e,")")}
|
||||
function u(e){return h("(?:",e,")*")}function d(e){return h("(?:",e,")?")}
|
||||
function h(...e){return e.map((e=>l(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=>l(e))).join("|")+")"}
|
||||
function p(e){return RegExp(e.toString()+"|").exec("").length-1}
|
||||
const b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./
|
||||
;function m(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n
|
||||
;let i=l(e),s="";for(;i.length>0;){const e=b.exec(i);if(!e){s+=i;break}
|
||||
s+=i.substring(0,e.index),
|
||||
i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],
|
||||
"("===e[0]&&n++)}return s})).map((e=>`(${e})`)).join(t)}
|
||||
const E="[a-zA-Z]\\w*",x="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",y="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",_="\\b(0b[01]+)",O={
|
||||
begin:"\\\\[\\s\\S]",relevance:0},v={scope:"string",begin:"'",end:"'",
|
||||
illegal:"\\n",contains:[O]},k={scope:"string",begin:'"',end:'"',illegal:"\\n",
|
||||
contains:[O]},N=(e,t,n={})=>{const s=i({scope:"comment",begin:e,end:t,
|
||||
contains:[]},n);s.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 o=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 s.contains.push({begin:h(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s
|
||||
},S=N("//","$"),M=N("/\\*","\\*/"),R=N("#","$");var j=Object.freeze({
|
||||
__proto__:null,APOS_STRING_MODE:v,BACKSLASH_ESCAPE:O,BINARY_NUMBER_MODE:{
|
||||
scope:"number",begin:_,relevance:0},BINARY_NUMBER_RE:_,COMMENT:N,
|
||||
C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:S,C_NUMBER_MODE:{scope:"number",
|
||||
begin:y,relevance:0},C_NUMBER_RE:y,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()}}),HASH_COMMENT_MODE:R,IDENT_RE:E,
|
||||
MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+x,relevance:0},
|
||||
NUMBER_MODE:{scope:"number",begin:w,relevance:0},NUMBER_RE:w,
|
||||
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/
|
||||
},QUOTE_STRING_MODE:k,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,
|
||||
end:/\/[gimuy]*/,contains:[O,{begin:/\[/,end:/\]/,relevance:0,contains:[O]}]},
|
||||
RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",
|
||||
SHEBANG:(e={})=>{const t=/^#![ ]*\//
|
||||
;return e.binary&&(e.begin=h(t,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:t,
|
||||
end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},
|
||||
TITLE_MODE:{scope:"title",begin:E,relevance:0},UNDERSCORE_IDENT_RE:x,
|
||||
UNDERSCORE_TITLE_MODE:{scope:"title",begin:x,relevance:0}});function A(e,t){
|
||||
"."===e.input[e.index-1]&&t.ignoreMatch()}function I(e,t){
|
||||
void 0!==e.className&&(e.scope=e.className,delete e.className)}function T(e,t){
|
||||
t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",
|
||||
e.__beforeBegin=A,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,
|
||||
void 0===e.relevance&&(e.relevance=0))}function L(e,t){
|
||||
Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function B(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 P(e,t){
|
||||
void 0===e.relevance&&(e.relevance=1)}const D=(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=h(n.beforeMatch,g(n.begin)),e.starts={
|
||||
relevance:0,contains:[Object.assign(n,{endsParent:!0})]
|
||||
},e.relevance=0,delete n.beforeMatch
|
||||
},H=["of","and","for","in","not","or","if","then","parent","list","value"],C="keyword"
|
||||
;function $(e,t,n=C){const i=Object.create(null)
|
||||
;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{
|
||||
Object.assign(i,$(e[n],t,n))})),i;function s(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=>H.includes(e.toLowerCase()))(e)?0:1}const z={},W=e=>{
|
||||
console.error(e)},X=(e,...t)=>{console.log("WARN: "+e,...t)},G=(e,t)=>{
|
||||
z[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),z[`${e}/${t}`]=!0)
|
||||
},K=Error();function F(e,t,{key:n}){let i=0;const s=e[n],o={},r={}
|
||||
;for(let e=1;e<=t.length;e++)r[e+i]=s[e],o[e+i]=!0,i+=p(t[e-1])
|
||||
;e[n]=r,e[n]._emit=o,e[n]._multi=!0}function Z(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 W("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),
|
||||
K
|
||||
;if("object"!=typeof e.beginScope||null===e.beginScope)throw W("beginScope must be object"),
|
||||
K;F(e,e.begin,{key:"beginScope"}),e.begin=m(e.begin,{joinWith:""})}})(e),(e=>{
|
||||
if(Array.isArray(e.end)){
|
||||
if(e.skip||e.excludeEnd||e.returnEnd)throw W("skip, excludeEnd, returnEnd not compatible with endScope: {}"),
|
||||
K
|
||||
;if("object"!=typeof e.endScope||null===e.endScope)throw W("endScope must be object"),
|
||||
K;F(e,e.end,{key:"endScope"}),e.end=m(e.end,{joinWith:""})}})(e)}function V(e){
|
||||
function t(t,n){
|
||||
return RegExp(l(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+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null)
|
||||
;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(m(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 s{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=i(e.classNameAliases||{}),function n(o,r){const a=o
|
||||
;if(o.isCompiled)return a
|
||||
;[I,B,Z,D].forEach((e=>e(o,r))),e.compilerExtensions.forEach((e=>e(o,r))),
|
||||
o.__beforeBegin=null,[T,L,P].forEach((e=>e(o,r))),o.isCompiled=!0;let c=null
|
||||
;return"object"==typeof o.keywords&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),
|
||||
c=o.keywords.$pattern,
|
||||
delete o.keywords.$pattern),c=c||/\w+/,o.keywords&&(o.keywords=$(o.keywords,e.case_insensitive)),
|
||||
a.keywordPatternRe=t(c,!0),
|
||||
r&&(o.begin||(o.begin=/\B|\b/),a.beginRe=t(a.begin),o.end||o.endsWithParent||(o.end=/\B|\b/),
|
||||
o.end&&(a.endRe=t(a.end)),
|
||||
a.terminatorEnd=l(a.end)||"",o.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(o.end?"|":"")+r.terminatorEnd)),
|
||||
o.illegal&&(a.illegalRe=t(o.illegal)),
|
||||
o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>i(e,{
|
||||
variants:null},t)))),e.cachedVariants?e.cachedVariants:q(e)?i(e,{
|
||||
starts:e.starts?i(e.starts):null
|
||||
}):Object.isFrozen(e)?i(e):e))("self"===e?o:e)))),o.contains.forEach((e=>{n(e,a)
|
||||
})),o.starts&&n(o.starts,r),a.matcher=(e=>{const t=new s
|
||||
;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=n,Q=i,ee=Symbol("nomatch"),te=n=>{
|
||||
const i=Object.create(null),s=Object.create(null),o=[];let r=!0
|
||||
;const a="Could not find the language '{}', did you forget to load/include a language module?",l={
|
||||
disableAutodetect:!0,name:"Plain text",contains:[]};let p={
|
||||
ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,
|
||||
languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",
|
||||
cssSelector:"pre code",languages:null,__emitter:c};function b(e){
|
||||
return p.noHighlightRe.test(e)}function m(e,t,n){let i="",s=""
|
||||
;"object"==typeof t?(i=e,
|
||||
n=t.ignoreIllegals,s=t.language):(G("10.7.0","highlight(lang, code, ...args) has been deprecated."),
|
||||
G("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),
|
||||
s=e,i=t),void 0===n&&(n=!0);const o={code:i,language:s};N("before:highlight",o)
|
||||
;const r=o.result?o.result:E(o.language,o.code,n)
|
||||
;return r.code=o.code,N("after:highlight",r),r}function E(e,n,s,o){
|
||||
const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(R)
|
||||
;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(R),n=""
|
||||
;for(;t;){n+=R.substring(e,t.index)
|
||||
;const s=_.case_insensitive?t[0].toLowerCase():t[0],o=(i=s,N.keywords[i]);if(o){
|
||||
const[e,i]=o
|
||||
;if(M.addText(n),n="",c[s]=(c[s]||0)+1,c[s]<=7&&(j+=i),e.startsWith("_"))n+=t[0];else{
|
||||
const n=_.classNameAliases[e]||e;u(t[0],n)}}else n+=t[0]
|
||||
;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(R)}var i
|
||||
;n+=R.substring(e),M.addText(n)}function g(){null!=N.subLanguage?(()=>{
|
||||
if(""===R)return;let e=null;if("string"==typeof N.subLanguage){
|
||||
if(!i[N.subLanguage])return void M.addText(R)
|
||||
;e=E(N.subLanguage,R,!0,S[N.subLanguage]),S[N.subLanguage]=e._top
|
||||
}else e=x(R,N.subLanguage.length?N.subLanguage:null)
|
||||
;N.relevance>0&&(j+=e.relevance),M.__addSublanguage(e._emitter,e.language)
|
||||
})():l(),R=""}function u(e,t){
|
||||
""!==e&&(M.startScope(t),M.addText(e),M.endScope())}function d(e,t){let n=1
|
||||
;const i=t.length-1;for(;n<=i;){if(!e._emit[n]){n++;continue}
|
||||
const i=_.classNameAliases[e[n]]||e[n],s=t[n];i?u(s,i):(R=s,l(),R=""),n++}}
|
||||
function h(e,t){
|
||||
return e.scope&&"string"==typeof e.scope&&M.openNode(_.classNameAliases[e.scope]||e.scope),
|
||||
e.beginScope&&(e.beginScope._wrap?(u(R,_.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),
|
||||
R=""):e.beginScope._multi&&(d(e.beginScope,t),R="")),N=Object.create(e,{parent:{
|
||||
value:N}}),N}function f(e,n,i){let s=((e,t)=>{const n=e&&e.exec(t)
|
||||
;return n&&0===n.index})(e.endRe,i);if(s){if(e["on:end"]){const i=new t(e)
|
||||
;e["on:end"](n,i),i.isMatchIgnored&&(s=!1)}if(s){
|
||||
for(;e.endsParent&&e.parent;)e=e.parent;return e}}
|
||||
if(e.endsWithParent)return f(e.parent,n,i)}function b(e){
|
||||
return 0===N.matcher.regexIndex?(R+=e[0],1):(T=!0,0)}function m(e){
|
||||
const t=e[0],i=n.substring(e.index),s=f(N,e,i);if(!s)return ee;const o=N
|
||||
;N.endScope&&N.endScope._wrap?(g(),
|
||||
u(t,N.endScope._wrap)):N.endScope&&N.endScope._multi?(g(),
|
||||
d(N.endScope,e)):o.skip?R+=t:(o.returnEnd||o.excludeEnd||(R+=t),
|
||||
g(),o.excludeEnd&&(R=t));do{
|
||||
N.scope&&M.closeNode(),N.skip||N.subLanguage||(j+=N.relevance),N=N.parent
|
||||
}while(N!==s.parent);return s.starts&&h(s.starts,e),o.returnEnd?0:t.length}
|
||||
let w={};function y(i,o){const a=o&&o[0];if(R+=i,null==a)return g(),0
|
||||
;if("begin"===w.type&&"end"===o.type&&w.index===o.index&&""===a){
|
||||
if(R+=n.slice(o.index,o.index+1),!r){const t=Error(`0 width match regex (${e})`)
|
||||
;throw t.languageName=e,t.badRule=w.rule,t}return 1}
|
||||
if(w=o,"begin"===o.type)return(e=>{
|
||||
const n=e[0],i=e.rule,s=new t(i),o=[i.__beforeBegin,i["on:begin"]]
|
||||
;for(const t of o)if(t&&(t(e,s),s.isMatchIgnored))return b(n)
|
||||
;return i.skip?R+=n:(i.excludeBegin&&(R+=n),
|
||||
g(),i.returnBegin||i.excludeBegin||(R=n)),h(i,e),i.returnBegin?0:n.length})(o)
|
||||
;if("illegal"===o.type&&!s){
|
||||
const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"<unnamed>")+'"')
|
||||
;throw e.mode=N,e}if("end"===o.type){const e=m(o);if(e!==ee)return e}
|
||||
if("illegal"===o.type&&""===a)return 1
|
||||
;if(I>1e5&&I>3*o.index)throw Error("potential infinite loop, way more iterations than matches")
|
||||
;return R+=a,a.length}const _=O(e)
|
||||
;if(!_)throw W(a.replace("{}",e)),Error('Unknown language: "'+e+'"')
|
||||
;const v=V(_);let k="",N=o||v;const S={},M=new p.__emitter(p);(()=>{const e=[]
|
||||
;for(let t=N;t!==_;t=t.parent)t.scope&&e.unshift(t.scope)
|
||||
;e.forEach((e=>M.openNode(e)))})();let R="",j=0,A=0,I=0,T=!1;try{
|
||||
if(_.__emitTokens)_.__emitTokens(n,M);else{for(N.matcher.considerAll();;){
|
||||
I++,T?T=!1:N.matcher.considerAll(),N.matcher.lastIndex=A
|
||||
;const e=N.matcher.exec(n);if(!e)break;const t=y(n.substring(A,e.index),e)
|
||||
;A=e.index+t}y(n.substring(A))}return M.finalize(),k=M.toHTML(),{language:e,
|
||||
value:k,relevance:j,illegal:!1,_emitter:M,_top:N}}catch(t){
|
||||
if(t.message&&t.message.includes("Illegal"))return{language:e,value:Y(n),
|
||||
illegal:!0,relevance:0,_illegalBy:{message:t.message,index:A,
|
||||
context:n.slice(A-100,A+100),mode:t.mode,resultSoFar:k},_emitter:M};if(r)return{
|
||||
language:e,value:Y(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:N}
|
||||
;throw t}}function x(e,t){t=t||p.languages||Object.keys(i);const n=(e=>{
|
||||
const t={value:Y(e),illegal:!1,relevance:0,_top:l,_emitter:new p.__emitter(p)}
|
||||
;return t._emitter.addText(e),t})(e),s=t.filter(O).filter(k).map((t=>E(t,e,!1)))
|
||||
;s.unshift(n);const o=s.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})),[r,a]=o,c=r
|
||||
;return c.secondBest=a,c}function w(e){let t=null;const n=(e=>{
|
||||
let t=e.className+" ";t+=e.parentNode?e.parentNode.className:""
|
||||
;const n=p.languageDetectRe.exec(t);if(n){const t=O(n[1])
|
||||
;return t||(X(a.replace("{}",n[1])),
|
||||
X("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(N("before:highlightElement",{el:e,language:n
|
||||
}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e)
|
||||
;if(e.children.length>0&&(p.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)),p.throwUnescapedHTML))throw new J("One of your code blocks includes unescaped HTML.",e.innerHTML)
|
||||
;t=e;const i=t.textContent,o=n?m(i,{language:n,ignoreIllegals:!0}):x(i)
|
||||
;e.innerHTML=o.value,e.dataset.highlighted="yes",((e,t,n)=>{const i=t&&s[t]||n
|
||||
;e.classList.add("hljs"),e.classList.add("language-"+i)
|
||||
})(e,n,o.language),e.result={language:o.language,re:o.relevance,
|
||||
relevance:o.relevance},o.secondBest&&(e.secondBest={
|
||||
language:o.secondBest.language,relevance:o.secondBest.relevance
|
||||
}),N("after:highlightElement",{el:e,result:o,text:i})}let y=!1;function _(){
|
||||
"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(w):y=!0
|
||||
}function O(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}
|
||||
function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{
|
||||
s[e.toLowerCase()]=t}))}function k(e){const t=O(e)
|
||||
;return t&&!t.disableAutodetect}function N(e,t){const n=e;o.forEach((e=>{
|
||||
e[n]&&e[n](t)}))}
|
||||
"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{
|
||||
y&&_()}),!1),Object.assign(n,{highlight:m,highlightAuto:x,highlightAll:_,
|
||||
highlightElement:w,
|
||||
highlightBlock:e=>(G("10.7.0","highlightBlock will be removed entirely in v12.0"),
|
||||
G("10.7.0","Please use highlightElement now."),w(e)),configure:e=>{p=Q(p,e)},
|
||||
initHighlighting:()=>{
|
||||
_(),G("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},
|
||||
initHighlightingOnLoad:()=>{
|
||||
_(),G("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")
|
||||
},registerLanguage:(e,t)=>{let s=null;try{s=t(n)}catch(t){
|
||||
if(W("Language definition for '{}' could not be registered.".replace("{}",e)),
|
||||
!r)throw t;W(t),s=l}
|
||||
s.name||(s.name=e),i[e]=s,s.rawDefinition=t.bind(null,n),s.aliases&&v(s.aliases,{
|
||||
languageName:e})},unregisterLanguage:e=>{delete i[e]
|
||||
;for(const t of Object.keys(s))s[t]===e&&delete s[t]},
|
||||
listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v,
|
||||
autoDetection:k,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),o.push(e)},
|
||||
removePlugin:e=>{const t=o.indexOf(e);-1!==t&&o.splice(t,1)}}),n.debugMode=()=>{
|
||||
r=!1},n.safeMode=()=>{r=!0},n.versionString="11.9.0",n.regex={concat:h,
|
||||
lookahead:g,either:f,optional:d,anyNumberOfTimes:u}
|
||||
;for(const t in j)"object"==typeof j[t]&&e(j[t]);return Object.assign(n,j),n
|
||||
},ne=te({});return ne.newInstance=()=>te({}),ne}()
|
||||
;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `bash` grammar compiled for Highlight.js 11.9.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=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={
|
||||
begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,
|
||||
end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,
|
||||
contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(o);const r={begin:/\$?\(\(/,
|
||||
end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]
|
||||
},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10
|
||||
}),m={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","until","in","do","done","case","esac","function","select"],
|
||||
literal:["true","false"],
|
||||
built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]
|
||||
},contains:[l,e.SHEBANG(),m,r,i,c,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{
|
||||
className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}}})()
|
||||
;hljs.registerLanguage("bash",e)})();/*! `nix` grammar compiled for Highlight.js 11.9.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)
|
||||
})();/*! `shell` grammar compiled for Highlight.js 11.9.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)})();
|
6
docs-preview-494/highlightjs/loader.js
Normal file
6
docs-preview-494/highlightjs/loader.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
/* This file is NOT part of highlight.js */
|
||||
document.addEventListener('DOMContentLoaded', (event) => {
|
||||
document.querySelectorAll('.programlisting, .screen').forEach((element) => {
|
||||
hljs.highlightElement(element);
|
||||
});
|
||||
});
|
56
docs-preview-494/highlightjs/mono-blue.css
Normal file
56
docs-preview-494/highlightjs/mono-blue.css
Normal file
|
@ -0,0 +1,56 @@
|
|||
pre code.hljs {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
padding: 1em
|
||||
}
|
||||
code.hljs {
|
||||
padding: 3px 5px
|
||||
}
|
||||
/*
|
||||
Five-color theme from a single blue hue.
|
||||
*/
|
||||
.hljs {
|
||||
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
|
||||
}
|
1018
docs-preview-494/index.xhtml
Normal file
1018
docs-preview-494/index.xhtml
Normal file
File diff suppressed because one or more lines are too long
39062
docs-preview-494/options.html
Normal file
39062
docs-preview-494/options.html
Normal file
File diff suppressed because it is too large
Load diff
56
docs-preview-494/quirks.html
Normal file
56
docs-preview-494/quirks.html
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Appendix A. Known Issues and Quirks</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
<script src="highlightjs/highlight.pack.js" type="text/javascript"></script><script src="highlightjs/loader.js" type="text/javascript"></script><script src="script/anchor-use.js" type="text/javascript"></script><script src="script/anchor-min.js" type="text/javascript"></script><script src="script/search.js" type="text/javascript"></script>
|
||||
<meta name="generator" content="nixos-render-docs" />
|
||||
<link rel="home" href="index.xhtml" title="nvf manual" />
|
||||
<link rel="up" href="index.xhtml" title="nvf manual" /><link rel="prev" href="index.xhtml" title="nvf manual" /><link rel="next" href="options.html" title="Appendix B. Neovim Flake Configuration Options" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="navheader">
|
||||
<table width="100%" summary="Navigation header">
|
||||
<tr>
|
||||
<th colspan="3" align="center">Appendix A. Known Issues and Quirks</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%" align="left"><a accesskey="p" href="index.xhtml">Prev</a> </td>
|
||||
<th width="60%" align="center"> </th>
|
||||
<td width="20%" align="right"> <a accesskey="n" href="options.html">Next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
</div><div class="appendix"> <div class="titlepage"> <div> <div> <h1 id="ch-known-issues-quirks" class="title" >Appendix A. Known Issues and Quirks </h1> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="chapter"> <a href="quirks.html#ch-quirks-nodejs">NodeJS</a> </span></dt> </dl></div><p>At times, certain plugins and modules may refuse to play nicely with your setup,
|
||||
be it a result of generating Lua from Nix, or the state of packaging. This page,
|
||||
in turn, will list any known modules or plugins that are known to misbehave, and
|
||||
possible workarounds that you may apply.</p><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="ch-quirks-nodejs" class="title" >NodeJS </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="quirks.html#sec-eslint-plugin-prettier">eslint-plugin-prettier</a> </span></dt> </dl></div><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-eslint-plugin-prettier" class="title" style="clear: both">eslint-plugin-prettier </h2> </div> </div></div><p>When working with NodeJS, everything works as expected, but some projects have
|
||||
settings that can fool nvf.</p><p>If <a class="link" href="https://github.com/prettier/eslint-plugin-prettier" target="_top">this plugin</a> or similar
|
||||
is included, you might get a situation where your eslint configuration diagnoses
|
||||
your formatting according to its own config (usually <code class="literal">.eslintrc.js</code>).</p><p>The issue there is your formatting is made via prettierd.</p><p>This results in auto-formatting relying on your prettier config, while your
|
||||
eslint config diagnoses formatting
|
||||
<a class="link" href="https://prettier.io/docs/en/comparison.html" target="_top">which it’s not supposed to</a>)</p><p>In the end, you get discrepancies between what your editor does and what it
|
||||
wants.</p><p>Solutions are:</p><div class="orderedlist"><ol class="orderedlist compact" type="1"><li class="listitem"><p>Don’t add a formatting config to eslint, and separate prettier and eslint.</p></li><li class="listitem"><p>PR this repo to add an ESLint formatter and configure nvf to use it.</p></li></ol></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div> <div class="navfooter">
|
||||
<hr />
|
||||
<table width="100%" summary="Navigation footer">
|
||||
<tr>
|
||||
<td width="40%" align="left"><a accesskey="p" href="index.xhtml">Prev</a> </td>
|
||||
<td width="20%" align="center"> </td>
|
||||
<td width="40%" align="right"> <a accesskey="n" href="options.html">Next</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%" align="left" valign="top">nvf manual </td>
|
||||
<td width="20%" align="center"><a accesskey="h" href="index.xhtml">Home</a></td>
|
||||
<td width="40%" align="right" valign="top"> Appendix B. Neovim Flake Configuration Options</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
383
docs-preview-494/release-notes.html
Normal file
383
docs-preview-494/release-notes.html
Normal file
|
@ -0,0 +1,383 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Appendix C. Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
<script src="highlightjs/highlight.pack.js" type="text/javascript"></script><script src="highlightjs/loader.js" type="text/javascript"></script><script src="script/anchor-use.js" type="text/javascript"></script><script src="script/anchor-min.js" type="text/javascript"></script><script src="script/search.js" type="text/javascript"></script>
|
||||
<meta name="generator" content="nixos-render-docs" />
|
||||
<link rel="home" href="index.xhtml" title="nvf manual" />
|
||||
<link rel="up" href="index.xhtml" title="nvf manual" /><link rel="prev" href="options.html" title="Appendix B. Neovim Flake Configuration Options" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="navheader">
|
||||
<table width="100%" summary="Navigation header">
|
||||
<tr>
|
||||
<th colspan="3" align="center">Appendix C. Release Notes</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="20%" align="left"><a accesskey="p" href="options.html">Prev</a> </td>
|
||||
<th width="60%" align="center"> </th>
|
||||
<td width="20%" align="right"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
</div><div class="appendix"> <div class="titlepage"> <div> <div> <h1 id="ch-release-notes" class="title" >Appendix C. Release Notes </h1> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.1">Release 0.1</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.2">Release 0.2</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.3">Release 0.3</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.4">Release 0.4</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.5">Release 0.5</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.6">Release 0.6</a> </span></dt><dt> <span class="chapter"> <a href="release-notes.html#sec-release-0.7">Release 0.7</a> </span></dt> </dl></div><p>This section lists the release notes for tagged version of <span class="strong"><strong>nvf</strong></span> and the
|
||||
current main current main branch</p><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.1" class="title" >Release 0.1 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.1-changelog">Changelog</a> </span></dt> </dl></div><p>This is the current master branch and information here is not final. These are
|
||||
changes from the v0.1 tag.</p><p>Special thanks to <a class="link" href="https://github.com/nix-community/home-manager/" target="_top">home-manager</a>
|
||||
for this release. Docs/manual generation, the new module evaluation system, and
|
||||
DAG implementation are from them.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.1-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/jordanisaacs" target="_top">jordanisaacs</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Removed hare language support (lsp/tree-sitter/etc). <code class="literal">vim.lsp.hare</code> is no
|
||||
longer defined. If you use hare and would like it added back, please file an
|
||||
issue.</p></li><li class="listitem"><p><a class="xref" href="options.html#opt-vim.startPlugins" ><code class="option">vim.startPlugins</code></a> & <a class="xref" href="options.html#opt-vim.optPlugins" ><code class="option">vim.optPlugins</code></a> are now an enum of
|
||||
<code class="literal">string</code> for options sourced from the flake inputs. Users can still provide
|
||||
vim plugin packages.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>If you are contributing and adding a new plugin, add the plugin name to
|
||||
<code class="literal">availablePlugins</code> in [types-plugin.nix].</p></li></ul></div></li><li class="listitem"><p><code class="literal">neovimBuilder</code> has been removed for configuration. Using an overlay is no
|
||||
longer required. See the manual for the new way to configuration.</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Treesitter grammars are now configurable with
|
||||
<a class="xref" href="options.html#opt-vim.treesitter.grammars" ><code class="option">vim.treesitter.grammars</code></a>. Utilizes the nixpkgs <code class="literal">nvim-treesitter</code>
|
||||
plugin rather than a custom input in order to take advantage of build support
|
||||
of pinned versions. See the <a class="link" href="https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees" target="_top">relevant discourse post</a> for more information.
|
||||
Packages can be found under the <code class="literal">vimPlugins.nvim-treesitter.builtGrammars</code>
|
||||
namespace.</p></li><li class="listitem"><p><code class="literal">vim.configRC</code> and <a class="xref" href="options.html#opt-vim.luaConfigRC" ><code class="option">vim.luaConfigRC</code></a> are now of type DAG lines. This
|
||||
allows for ordering of the config. Usage is the same is in home-manager’s
|
||||
<code class="literal">home.activation</code> option.</p></li></ul></div><pre><code class="programlisting nix">vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
|
||||
</code></pre><p><a class="link" href="https://github.com/MoritzBoehme" target="_top">MoritzBoehme</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p><code class="literal">catppuccin</code> theme is now available as a neovim theme <a class="xref" href="options.html#opt-vim.theme.style" ><code class="option">vim.theme.style</code></a>
|
||||
and Lualine theme <a class="xref" href="options.html#opt-vim.statusline.lualine.theme" ><code class="option">vim.statusline.lualine.theme</code></a>.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.2" class="title" >Release 0.2 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.2-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.2</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.2-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added two minimap plugins under <code class="literal">vim.minimap</code>. <code class="literal">codewindow.nvim</code> is enabled by
|
||||
default, while <code class="literal">minimap.vim</code> is available with its code-minimap dependency.</p></li><li class="listitem"><p>A complementary plugin, <code class="literal">obsidian.nvim</code> and the Neovim alternative for Emacs’
|
||||
orgmode with <code class="literal">orgmode.nvim</code> have been added. Both will be disabled by default.</p></li><li class="listitem"><p>Smooth scrolling for ANY movement command is now available with
|
||||
<code class="literal">cinnamon.nvim</code></p></li><li class="listitem"><p>You will now notice a dashboard on startup. This is provided by the
|
||||
<code class="literal">alpha.nvim</code> plugin. You can use any of the three available dashboard plugins,
|
||||
or disable them entirely.</p></li><li class="listitem"><p>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
|
||||
<code class="literal">vim.visuals</code> if seen necessary.</p></li><li class="listitem"><p>Discord Rich Presence has been added through <code class="literal">presence.nvim</code> for those who
|
||||
want to flex that they are using the <span class="emphasis"><em>superior</em></span> text editor.</p></li><li class="listitem"><p>An icon picker is now available with telescope integration. You can use
|
||||
<code class="literal">:IconPickerInsert</code> or <code class="literal">:IconPickerYank</code> to add icons to your code.</p></li><li class="listitem"><p>A general-purpose cheatsheet has been added through <code class="literal">cheatsheet.nvim</code>. Forget
|
||||
no longer!</p></li><li class="listitem"><p><code class="literal">ccc.nvim</code> has been added to the default plugins to allow picking colors with
|
||||
ease.</p></li><li class="listitem"><p>Most UI components of Neovim have been replaced through the help of
|
||||
<code class="literal">noice.nvim</code>. There are also notifications and custom UI elements available
|
||||
for Neovim messages and prompts.</p></li><li class="listitem"><p>A (floating by default) terminal has been added through <code class="literal">toggleterm.nvim</code>.</p></li><li class="listitem"><p>Harness the power of ethical (<code class="literal">tabnine.nvim</code>) and not-so-ethical
|
||||
(<code class="literal">copilot.lua</code>) AI by those new assistant plugins. Both are off by default,
|
||||
TabNine needs to be wrapped before it’s working.</p></li><li class="listitem"><p>Experimental mouse gestures have been added through <code class="literal">gesture.nvim</code>. See plugin
|
||||
page and the relevant module for more details on how to use.</p></li><li class="listitem"><p>Re-open last visited buffers via <code class="literal">nvim-session-manager</code>. Disabled by default
|
||||
as deleting buffers seems to be problematic at the moment.</p></li><li class="listitem"><p>Most of NvimTree’s configuration options have been changed with some options
|
||||
being toggled to off by default.</p></li><li class="listitem"><p>Lualine had its configuration simplified and style toned down. Less color,
|
||||
more info.</p></li><li class="listitem"><p>Modules where multiple plugin configurations were in the same directory have
|
||||
been simplified. Each plugin inside a single module gets its directory to be
|
||||
imported.</p></li><li class="listitem"><p>Separate config options with the same parent attribute have been merged into
|
||||
one for simplicity.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.3" class="title" >Release 0.3 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.3-changelog">Changelog</a> </span></dt> </dl></div><p>Release 0.3 had to come out before I wanted it to due to Neovim 0.9 dropping
|
||||
into nixpkgs-unstable. The Treesitter changes have prompted a Treesitter rework,
|
||||
which was followed by reworking the languages system. Most of the changes to
|
||||
those are downstreamed from the original repository. The feature requests that
|
||||
was originally planned for 0.3 have been moved to 0.4, which should come out
|
||||
soon.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.3-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>We have transitioned to flake-parts, from flake-utils to extend the
|
||||
flexibility of this flake. This means the flake structure is different than
|
||||
usual, but the functionality remains the same.</p></li><li class="listitem"><p>We now provide a home-manager module. Do note that it is still far from
|
||||
perfect, but it works.</p></li><li class="listitem"><p><code class="literal">nodejs_16</code> is now bundled with <code class="literal">Copilot.lua</code> if the user has enabled Copilot
|
||||
assistant.</p></li><li class="listitem"><p>which-key section titles have been fixed. This is to be changed once again in
|
||||
a possible keybind rewrite, but now it should display the correct titles
|
||||
instead of <code class="literal">+prefix</code></p></li><li class="listitem"><p>Most of <code class="literal">presence.nvim</code>’s options have been made fully configurable through
|
||||
your configuration file.</p></li><li class="listitem"><p>Most of the modules have been refactored to separate <code class="literal">config</code> and <code class="literal">options</code>
|
||||
attributes.</p></li><li class="listitem"><p>Darwin has been deprecated as the Zig package is marked as broken. We will
|
||||
attempt to use the Zig overlay to return Darwin support.</p></li><li class="listitem"><p><code class="literal">Fidget.nvim</code> has been added as a neat visual addition for LSP installations.</p></li><li class="listitem"><p><code class="literal">diffview.nvim</code> has been added to provide a convenient diff utility.</p></li><li class="listitem"><p>Treesitter grammars are now configurable with
|
||||
<a class="xref" href="options.html#opt-vim.treesitter.grammars" ><code class="option">vim.treesitter.grammars</code></a>. Utilizes the nixpkgs <code class="literal">nvim-treesitter</code>
|
||||
plugin rather than a custom input in order to take advantage of build support
|
||||
of pinned versions. See <a class="link" href="https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees" target="_top">discourse</a> for more information. Packages can be
|
||||
found under the <code class="literal">pkgs.vimPlugins.nvim-treesitter.builtGrammars</code> attribute.
|
||||
Treesitter grammars for supported languages should be enabled within the
|
||||
module. By default no grammars are installed, thus the following grammars
|
||||
which do not have a language section are not included anymore: <span class="strong"><strong>comment</strong></span>,
|
||||
<span class="strong"><strong>toml</strong></span>, <span class="strong"><strong>make</strong></span>, <span class="strong"><strong>html</strong></span>, <span class="strong"><strong>css</strong></span>, <span class="strong"><strong>graphql</strong></span>, <span class="strong"><strong>json</strong></span>.</p></li><li class="listitem"><p>A new section has been added for language support: <code class="literal">vim.languages.<language></code>.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>The options <a class="xref" href="options.html#opt-vim.languages.enableLSP" ><code class="option">vim.languages.enableLSP</code></a>,
|
||||
<a class="xref" href="options.html#opt-vim.languages.enableTreesitter" ><code class="option">vim.languages.enableTreesitter</code></a>, etc. will enable the respective
|
||||
section for all languages that have been enabled.</p></li><li class="listitem"><p>All LSP languages have been moved here</p></li><li class="listitem"><p><code class="literal">plantuml</code> and <code class="literal">markdown</code> have been moved here</p></li><li class="listitem"><p>A new section has been added for <code class="literal">html</code>. The old
|
||||
<code class="literal">vim.treesitter.autotagHtml</code> can be found at
|
||||
<a class="xref" href="options.html#opt-vim.languages.html.treesitter.autotagHtml" ><code class="option">vim.languages.html.treesitter.autotagHtml</code></a>.</p></li></ul></div></li><li class="listitem"><p><code class="literal">vim.git.gitsigns.codeActions</code> has been added, allowing you to turn on
|
||||
Gitsigns’ code actions.</p></li><li class="listitem"><p>Removed the plugins document in the docs. Was too unwieldy to keep updated.</p></li><li class="listitem"><p><code class="literal">vim.visual.lspkind</code> has been moved to <a class="xref" href="options.html#opt-vim.lsp.lspkind.enable" ><code class="option">vim.lsp.lspkind.enable</code></a></p></li><li class="listitem"><p>Improved handling of completion formatting. When setting
|
||||
<code class="literal">vim.autocomplete.sources</code>, can also include optional menu mapping. And can
|
||||
provide your own function with <code class="literal">vim.autocomplete.formatting.format</code>.</p></li><li class="listitem"><p>For <code class="literal">vim.visuals.indentBlankline.fillChar</code> and
|
||||
<code class="literal">vim.visuals.indentBlankline.eolChar</code> options, turning them off should be done
|
||||
by using <code class="literal">null</code> rather than <code class="literal">""</code> now.</p></li><li class="listitem"><p>Transparency has been made optional and has been disabled by default.
|
||||
<a class="xref" href="options.html#opt-vim.theme.transparent" ><code class="option">vim.theme.transparent</code></a> option can be used to enable or disable
|
||||
transparency for your configuration.</p></li><li class="listitem"><p>Fixed deprecated configuration method for Tokyonight, and added new style
|
||||
“moon”</p></li><li class="listitem"><p>Dart language support as well as extended flutter support has been added.
|
||||
Thanks to @FlafyDev for his contributions towards Dart language support.</p></li><li class="listitem"><p>Elixir language support has been added through <code class="literal">elixir-tools.nvim</code>.</p></li><li class="listitem"><p><code class="literal">hop.nvim</code> and <code class="literal">leap.nvim</code> have been added for fast navigation.</p></li><li class="listitem"><p><code class="literal">modes.nvim</code> has been added to the UI plugins as a minor error highlighter.</p></li><li class="listitem"><p><code class="literal">smartcollumn.nvim</code> has been added to dynamically display a colorcolumn when
|
||||
the limit has been exceeded, providing per-buftype column position and more.</p></li><li class="listitem"><p><code class="literal">project.nvim</code> has been added for better project management inside Neovim.</p></li><li class="listitem"><p>More configuration options have been added to <code class="literal">nvim-session-manager</code>.</p></li><li class="listitem"><p>Editorconfig support has been added to the core functionality, with an enable
|
||||
option.</p></li><li class="listitem"><p><code class="literal">venn-nvim</code> has been dropped due to broken keybinds.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.4" class="title" >Release 0.4 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.4-changelog">Changelog</a> </span></dt> </dl></div><p>Following the release of v0.3, I have decided to release v0.4 with a massive new
|
||||
change: customizable keybinds. As of the 0.4 release, keybinds will no longer be
|
||||
hardcoded and instead provided by each module’s own keybinds section. The old
|
||||
keybind system (<code class="literal">vim.keybinds = {}</code>) is now considered deprecated and the new
|
||||
lib functions are recommended to be used for adding keybinds for new plugins, or
|
||||
adding keybinds to existing plugins.</p><p>Alongside customizable keybinds, there are a few quality of life updates, such
|
||||
as <code class="literal">lazygit</code> integration and the new experimental Lua loader of Neovim 0.9
|
||||
thanks to our awesome contributors who made this update possible during my
|
||||
absence.</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.4-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/n3oney" target="_top">n3oney</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Streamlined keybind adding process towards new functions in extended stdlib.</p></li><li class="listitem"><p>Moved default keybinds into keybinds section of each module</p></li><li class="listitem"><p>Simplified luaConfigRC and configRC setting - they can now just take strings</p></li><li class="listitem"><p>Refactored the resolveDag function - you can just provide a string now, which
|
||||
will default to dag.entryAnywhere</p></li><li class="listitem"><p>Fixed formatting sometimes removing parts of files</p></li><li class="listitem"><p>Made formatting synchronous</p></li><li class="listitem"><p>Gave null-ls priority over other formatters</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added <code class="literal">clangd</code> as alternative lsp for C/++.</p></li><li class="listitem"><p>Added <code class="literal">toggleterm</code> integration for <code class="literal">lazygit</code>.</p></li><li class="listitem"><p>Added new option <code class="literal">enableluaLoader</code> to enable neovim’s experimental module
|
||||
loader for faster startup time.</p></li><li class="listitem"><p>Fixed bug where flutter-tools can’t find <code class="literal">dart</code> LSP</p></li><li class="listitem"><p>Added Debug Adapter (DAP) support for clang, rust, go, python and dart.</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Made Copilot’s Node package configurable. It is recommended to keep as
|
||||
default, but providing a different NodeJS version is now possible.</p></li><li class="listitem"><p>Added <code class="literal">vim.cursorlineOpt</code> for configuring Neovim’s <code class="literal">vim.o.cursorlineopt</code>.</p></li><li class="listitem"><p>Added <code class="literal">filetree.nvimTreeLua.view.cursorline</code>, default false, to enable
|
||||
cursorline in nvimtre.</p></li><li class="listitem"><p>Added Fidget.nvim support for the Catppuccin theme.</p></li><li class="listitem"><p>Updated bundled NodeJS version used by <code class="literal">Copilot.lua</code>. v16 is now marked as
|
||||
insecure on Nixpkgs, and we updated to v18</p></li><li class="listitem"><p>Enabled Catppuccin modules for plugins available by default.</p></li><li class="listitem"><p>Added experimental Svelte support under <code class="literal">vim.languages</code>.</p></li><li class="listitem"><p>Removed unnecessary scrollbar element from notifications and codeaction
|
||||
warning UI.</p></li><li class="listitem"><p><code class="literal">vim.utility.colorizer</code> has been renamed to <code class="literal">vim.utility.ccc</code> after the plugin
|
||||
it uses</p></li><li class="listitem"><p>Color preview via <code class="literal">nvim-colorizer.lua</code></p></li><li class="listitem"><p>Updated Lualine statusline UI</p></li><li class="listitem"><p>Added vim-illuminate for smart highlighting</p></li><li class="listitem"><p>Added a module for enabling Neovim’s spellchecker</p></li><li class="listitem"><p>Added prettierd as an alternative formatter to prettier - currently defaults
|
||||
to prettier</p></li><li class="listitem"><p>Fixed presence.nvim inheriting the wrong client id</p></li><li class="listitem"><p>Cleaned up documentation</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.5" class="title" >Release 0.5 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-release-0.5-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.5</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.5-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/vagahbond" target="_top">vagahbond</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added phan language server for PHP</p></li><li class="listitem"><p>Added phpactor language server for PHP</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added transparency support for tokyonight theme</p></li><li class="listitem"><p>Fixed a bug where cmp’s close and scrollDocs mappings wasn’t working</p></li><li class="listitem"><p>Streamlined and simplified extra plugin API with the addition of
|
||||
<a class="xref" href="options.html#opt-vim.extraPlugins" ><code class="option">vim.extraPlugins</code></a></p></li><li class="listitem"><p>Allow using command names in place of LSP packages to avoid automatic
|
||||
installation</p></li><li class="listitem"><p>Add lua LSP and Treesitter support, and neodev.nvim plugin support</p></li><li class="listitem"><p>Add <a class="xref" href="options.html#opt-vim.lsp.mappings.toggleFormatOnSave" ><code class="option">vim.lsp.mappings.toggleFormatOnSave</code></a> keybind</p></li></ul></div><p><a class="link" href="https://github.com/amanse" target="_top">amanse</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added daily notes options for obsidian plugin</p></li><li class="listitem"><p>Added <code class="literal">jdt-language-server</code> for Java</p></li></ul></div><p><a class="link" href="https://github.com/yavko" target="_top">yavko</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added Deno Language Server for Javascript/Typescript</p></li><li class="listitem"><p>Added support for multiple languages under <code class="literal">vim.spellChecking.languages</code>, and
|
||||
added vim-dirtytalk through <code class="literal">vim.spellChecking.enableProgrammingWordList</code></p></li></ul></div><p><a class="link" href="https://github.com/FrothyMarrow" target="_top">frothymarrow</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Renamed <code class="literal">vim.visuals.cursorWordline</code> to <code class="literal">vim.visuals.cursorline.enable</code></p></li><li class="listitem"><p>Added <code class="literal">vim.visuals.cursorline.lineNumbersOnly</code> to display cursorline only in
|
||||
the presence of line numbers</p></li><li class="listitem"><p>Added Oxocarbon to the list of available themes.</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added GitHub Copilot to nvim-cmp completion sources.</p></li><li class="listitem"><p>Added <a class="xref" href="options.html#opt-vim.ui.borders.enable" ><code class="option">vim.ui.borders.enable</code></a> for global and individual plugin border
|
||||
configuration.</p></li><li class="listitem"><p>LSP integrated breadcrumbs with <a class="xref" href="options.html#opt-vim.ui.breadcrumbs.enable" ><code class="option">vim.ui.breadcrumbs.enable</code></a> through
|
||||
nvim-navic</p></li><li class="listitem"><p>LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically
|
||||
enabled if navic is enabled)</p></li><li class="listitem"><p>Added nvim-navic integration for Catppuccin theme</p></li><li class="listitem"><p>Fixed mismatching Zig language description</p></li><li class="listitem"><p>Added support for <code class="literal">statix</code> and <code class="literal">deadnix</code> through
|
||||
<a class="xref" href="options.html#opt-vim.languages.nix.extraDiagnostics.types" ><code class="option">vim.languages.nix.extraDiagnostics.types</code></a></p></li><li class="listitem"><p>Added <code class="literal">lsp_lines</code> plugin for showing diagnostic messages</p></li><li class="listitem"><p>Added a configuration option for choosing the leader key</p></li><li class="listitem"><p>The package used for neovim is now customizable by the user, using
|
||||
<a class="xref" href="options.html#opt-vim.package" ><code class="option">vim.package</code></a>. For best results, always use an unwrapped package</p></li><li class="listitem"><p>Added highlight-undo plugin for highlighting undo/redo targets</p></li><li class="listitem"><p>Added bash LSP and formatter support</p></li><li class="listitem"><p>Disabled Lualine LSP status indicator for Toggleterm buffer</p></li><li class="listitem"><p>Added <code class="literal">nvim-docs-view</code>, a plugin to display LSP hover documentation in a side
|
||||
panel</p></li><li class="listitem"><p>Switched to <code class="literal">nixosOptionsDoc</code> in option documentation. To quote home-manager
|
||||
commit: “Output is mostly unchanged aside from some minor typographical and
|
||||
formatting changes, along with better source links.”</p></li><li class="listitem"><p>Updated indent-blankine.nvim to v3 - this comes with a few option changes,
|
||||
which will be migrated with <code class="literal">renamedOptionModule</code></p></li></ul></div><p><a class="link" href="https://jacekpoz.pl" target="_top">jacekpoz</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Fixed scrollOffset not being used</p></li><li class="listitem"><p>Updated clangd to 16</p></li><li class="listitem"><p>Disabled <code class="literal">useSystemClipboard</code> by default</p></li></ul></div><p><a class="link" href="https://github.com/ksonj" target="_top">ksonj</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Add support to change mappings to utility/surround</p></li><li class="listitem"><p>Add black-and-isort python formatter</p></li><li class="listitem"><p>Removed redundant “Enable …” in <code class="literal">mkEnableOption</code> descriptions</p></li><li class="listitem"><p>Add options to modify LSP key bindings and add proper which-key descriptions</p></li><li class="listitem"><p>Changed type of <code class="literal">statusline.lualine.activeSection</code> and
|
||||
<code class="literal">statusline.lualine.inactiveSection</code> from <code class="literal">attrsOf str</code> to
|
||||
<code class="literal">attrsOf (listOf str)</code></p></li><li class="listitem"><p>Added <code class="literal">statusline.lualine.extraActiveSection</code> and
|
||||
<code class="literal">statusline.lualine.extraInactiveSection</code></p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.6" class="title" >Release 0.6 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-breaking-changes-and-migration-guide">Breaking Changes and Migration Guide</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-release-0.6-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.6</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-breaking-changes-and-migration-guide" class="title" style="clear: both">Breaking Changes and Migration Guide </h2> </div> </div></div><p>In v0.6 we are introducing <code class="literal">setupOpts</code>: many plugin related options are moved
|
||||
into their respective <code class="literal">setupOpts</code> submodule, e.g. <code class="literal">nvimTree.disableNetrw</code> is
|
||||
renamed to <code class="literal">nvimTree.setupOpts.disable_netrw</code>.</p><p><span class="emphasis"><em>Why?</em></span> in short, you can now pass in anything to setupOpts and it will be passed
|
||||
to your <code class="literal">require'plugin'.setup{...}</code>. No need to wait for us to support every
|
||||
single plugin option.</p><p>The warnings when you rebuild your config should be enough to guide you through
|
||||
what you need to do, if there’s an option that was renamed but wasn’t listed in
|
||||
the warning, please file a bug report!</p><p>To make your migration process less annoying, here’s a keybind that will help
|
||||
you with renaming stuff from camelCase to snake_case (you’ll be doing that a
|
||||
lot):</p><pre><code class="programlisting lua">-- paste this in a temp.lua file and load it in vim with :source /path/to/temp.lua
|
||||
function camelToSnake()
|
||||
-- Get the current word under the cursor
|
||||
local word = vim.fn.expand("<cword>")
|
||||
-- Replace each capital letter with an underscore followed by its lowercase equivalent
|
||||
local snakeCase = string.gsub(word, "%u", function(match)
|
||||
return "_" .. string.lower(match)
|
||||
end)
|
||||
-- Remove the leading underscore if present
|
||||
if string.sub(snakeCase, 1, 1) == "_" then
|
||||
snakeCase = string.sub(snakeCase, 2)
|
||||
end
|
||||
vim.fn.setreg(vim.v.register, snakeCase)
|
||||
-- Select the word under the cursor and paste
|
||||
vim.cmd("normal! viwP")
|
||||
end
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap = true, silent = true })
|
||||
</code></pre>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.6-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/ksonj" target="_top">ksonj</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added Terraform language support.</p></li><li class="listitem"><p>Added <code class="literal">ChatGPT.nvim</code>, which can be enabled with
|
||||
<a class="xref" href="options.html#opt-vim.assistant.chatgpt.enable" ><code class="option">vim.assistant.chatgpt.enable</code></a>. Do keep in mind that this option
|
||||
requires <code class="literal">OPENAI_API_KEY</code> environment variable to be set.</p></li></ul></div><p><a class="link" href="https://github.com/donnerinoern" target="_top">donnerinoern</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added Gruvbox theme.</p></li><li class="listitem"><p>Added marksman LSP for Markdown.</p></li><li class="listitem"><p>Fixed markdown preview with Glow not working and added an option for changing
|
||||
the preview keybind.</p></li><li class="listitem"><p>colorizer.nvim: switched to a maintained fork.</p></li><li class="listitem"><p>Added <code class="literal">markdown-preview.nvim</code>, moved <code class="literal">glow.nvim</code> to a brand new
|
||||
<code class="literal">vim.utility.preview</code> category.</p></li></ul></div><p><a class="link" href="https://github.com/elijahimmer" target="_top">elijahimmer</a></p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Added rose-pine theme.</p></li></ul></div><p><a class="link" href="https://jacekpoz.pl" target="_top">jacekpoz</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Added <code class="literal">vim.autocomplete.alwaysComplete</code>. Allows users to have the autocomplete
|
||||
window popup only when manually activated.</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Fixed empty winbar when breadcrumbs are disabled.</p></li><li class="listitem"><p>Added custom <code class="literal">setupOpts</code> for various plugins.</p></li><li class="listitem"><p>Removed support for deprecated plugin “nvim-compe”.</p></li><li class="listitem"><p>Moved most plugins to <code class="literal">setupOpts</code> method.</p></li></ul></div><p><a class="link" href="https://github.com/frothymarrow" target="_top">frothymarrow</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Added option <code class="literal">vim.luaPackages</code> to wrap neovim with extra Lua packages.</p></li><li class="listitem"><p>Rewrote the entire <code class="literal">fidget.nvim</code> module to include extensive configuration
|
||||
options. Option <code class="literal">vim.fidget-nvim.align.bottom</code> has been removed in favor of
|
||||
<code class="literal">vim.fidget-nvim.notification.window.align</code>, which now supports <code class="literal">top</code> and
|
||||
<code class="literal">bottom</code> values. <code class="literal">vim.fidget-nvim.align.right</code> has no longer any equivalent
|
||||
and also has been removed.</p></li><li class="listitem"><p><code class="literal">which-key.nvim</code> categories can now be customized through
|
||||
<a class="link" href="options.html#opt-vim.binds.whichKey.register" >vim.binds.whichKey.register</a></p></li><li class="listitem"><p>Added <code class="literal">magick</code> to <code class="literal">vim.luaPackages</code> for <code class="literal">image.nvim</code>.</p></li><li class="listitem"><p>Added <code class="literal">alejandra</code> to the default devShell.</p></li><li class="listitem"><p>Migrated neovim-flake to <code class="literal">makeNeovimUnstable</code> wrapper.</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Finished moving to <code class="literal">nixosOptionsDoc</code> in the documentation and changelog. All
|
||||
documentation options and files are fully free of Asciidoc, and will now use
|
||||
Nixpkgs flavored markdown.</p></li><li class="listitem"><p>Bumped plugin inputs to their latest versions.</p></li><li class="listitem"><p>Deprecated <code class="literal">presence.nvim</code> in favor of <code class="literal">neocord</code>. This means
|
||||
<code class="literal">vim.rich-presence.presence-nvim</code> is removed and will throw a warning if used.
|
||||
You are recommended to rewrite your neocord configuration from scratch based
|
||||
on the. <a class="link" href="https://github.com/IogaMaster/neocord" target="_top">official documentation</a></p></li><li class="listitem"><p>Removed Tabnine plugin due to the usage of imperative tarball downloads. If
|
||||
you’d like to see it back, please create an issue.</p></li><li class="listitem"><p>Added support for css and tailwindcss through
|
||||
vscode-language-servers-extracted & tailwind-language-server. Those can be
|
||||
enabled through <code class="literal">vim.languages.css</code> and <code class="literal">vim.languages.tailwind</code>.</p></li><li class="listitem"><p>Lualine module now allows customizing <code class="literal">always_divide_middle</code>, <code class="literal">ignore_focus</code>
|
||||
and <code class="literal">disabled_filetypes</code> through the new options:
|
||||
<a class="link" href="options.html#opt-vim.statusline.lualine.alwaysDivideMiddle" >vim.statusline.lualine.alwaysDivideMiddle</a>,
|
||||
<a class="link" href="options.html#opt-vim.statusline.lualine.ignoreFocus" >vim.statusline.lualine.ignoreFocus</a>
|
||||
and
|
||||
<a class="link" href="options.html#opt-vim.statusline.lualine.disabledFiletypes" >vim.statusline.lualine.disabledFiletypes</a>.</p></li><li class="listitem"><p>Updated all plugin inputs to their latest versions (<span class="strong"><strong>21.04.2024</strong></span>) - this
|
||||
brought minor color changes to the Catppuccin theme.</p></li><li class="listitem"><p>Moved home-manager module entrypoint to <code class="literal">flake/modules</code> and added an
|
||||
experimental Nixos module. This requires further testing before it can be
|
||||
considered ready for use.</p></li><li class="listitem"><p>Made lib calls explicit. E.g. <code class="literal">lib.strings.optionalString</code> instead of
|
||||
<code class="literal">lib.optionalString</code>. This is a pattern expected to be followed by all
|
||||
contributors in the future.</p></li><li class="listitem"><p>Added <code class="literal">image.nvim</code> for image previews.</p></li><li class="listitem"><p>The final neovim package is now exposed. This means you can build the neovim
|
||||
package that will be added to your package list without rebuilding your system
|
||||
to test if your configuration yields a broken package.</p></li><li class="listitem"><p>Changed the tree structure to distinguish between core options and plugin
|
||||
options.</p></li><li class="listitem"><p>Added plugin auto-discovery from plugin inputs. This is mostly from
|
||||
<a class="link" href="https://github.com/jordanisaacs/neovim-flake" target="_top">JordanIsaac’s neovim-flake</a>.
|
||||
Allows contributors to add plugin inputs with the <code class="literal">plugin-</code> prefix to have
|
||||
them automatically discovered for the <code class="literal">plugin</code> type in <code class="literal">lib/types</code>.</p></li><li class="listitem"><p>Moved internal <code class="literal">wrapLuaConfig</code> to the extended library, structured its
|
||||
arguments to take <code class="literal">luaBefore</code>, <code class="literal">luaConfig</code> and <code class="literal">luaAfter</code> as strings, which
|
||||
are then concatted inside a lua block.</p></li><li class="listitem"><p>Added <a class="xref" href="options.html#opt-vim.luaConfigPre" ><code class="option">vim.luaConfigPre</code></a> and <a class="xref" href="options.html#opt-vim.luaConfigPost" ><code class="option">vim.luaConfigPost</code></a> for inserting
|
||||
verbatim Lua configuration before and after the resolved Lua DAG respectively.
|
||||
Both of those options take strings as the type, so you may read the contents
|
||||
of a Lua file from a given path.</p></li><li class="listitem"><p>Added <code class="literal">vim.spellchecking.ignoredFiletypes</code> and
|
||||
<code class="literal">vim.spellChecking.programmingWordlist.enable</code> for ignoring certain filetypes
|
||||
in spellchecking and enabling <code class="literal">vim-dirtytalk</code> respectively. The previously
|
||||
used <code class="literal">vim.spellcheck.vim-dirtytalk</code> aliases to the latter option.</p></li><li class="listitem"><p>Exposed <code class="literal">withRuby</code>, <code class="literal">withNodeJs</code>, <code class="literal">withPython3</code>, and <code class="literal">python3Packages</code> from
|
||||
the <code class="literal">makeNeovimConfig</code> function under their respective options.</p></li><li class="listitem"><p>Added <a class="xref" href="options.html#opt-vim.extraPackages" ><code class="option">vim.extraPackages</code></a> for appending additional packages to the
|
||||
wrapper PATH, making said packages available while inside the Neovim session.</p></li><li class="listitem"><p>Made Treesitter options configurable, and moved treesitter-context to
|
||||
<code class="literal">setupOpts</code> while it is enabled.</p></li><li class="listitem"><p>Added <a class="xref" href="options.html#opt-vim.notify.nvim-notify.setupOpts.render" ><code class="option">vim.notify.nvim-notify.setupOpts.render</code></a> which takes either a
|
||||
string of enum, or a Lua function. The default is “compact”, but you may
|
||||
change it according to nvim-notify documentation.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="chapter"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.7" class="title" >Release 0.7 </h2> </div> </div></div><div class="toc"> <p><strong>Table of Contents</strong></p> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-breaking-changes-and-migration-guide-0-7">Breaking Changes and Migration Guide</a> </span></dt><dd><dl><dt> <span class="section"> <a href="release-notes.html#sec-vim-configrc-removed"><code class="literal">vim.configRC</code> removed</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-vim-maps-rewrite"><code class="literal">vim.maps</code> rewrite</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-nvim-code-action-menu-deprecation"><code class="literal">vim.lsp.nvimCodeActionMenu</code> removed in favor of <code class="literal">vim.ui.fastaction</code></a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-type-based-modules-removed"><code class="literal">type</code> based modules removed</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-nixpkgs-fmt-deprecation"><code class="literal">nixpkgs-fmt</code> removed in favor of <code class="literal">nixfmt</code></a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-leader-changes">leader changes</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-vim-opt-changes"><code class="literal">vim.*</code> changes</a> </span></dt></dl></dd><dt> <span class="section"> <a href="release-notes.html#sec-release-0.7-changelog">Changelog</a> </span></dt> </dl></div><p>Release notes for release 0.7</p><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-breaking-changes-and-migration-guide-0-7" class="title" style="clear: both">Breaking Changes and Migration Guide </h2> </div> </div></div><div class="toc"> <dl class="toc"> <dt> <span class="section"> <a href="release-notes.html#sec-vim-configrc-removed"><code class="literal">vim.configRC</code> removed</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-vim-maps-rewrite"><code class="literal">vim.maps</code> rewrite</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-nvim-code-action-menu-deprecation"><code class="literal">vim.lsp.nvimCodeActionMenu</code> removed in favor of <code class="literal">vim.ui.fastaction</code></a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-type-based-modules-removed"><code class="literal">type</code> based modules removed</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-nixpkgs-fmt-deprecation"><code class="literal">nixpkgs-fmt</code> removed in favor of <code class="literal">nixfmt</code></a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-leader-changes">leader changes</a> </span></dt><dt> <span class="section"> <a href="release-notes.html#sec-vim-opt-changes"><code class="literal">vim.*</code> changes</a> </span></dt> </dl></div><div class="section"> <div class="titlepage"> <div> <div> <h3 id="sec-vim-configrc-removed" class="title" ><code class="literal">vim.configRC</code> removed </h3> </div> </div></div><p>In v0.7 we are removing <code class="literal">vim.configRC</code> in favor of making <code class="literal">vim.luaConfigRC</code> the
|
||||
top-level DAG, and thereby making the entire configuration Lua based. This
|
||||
change introduces a few breaking changes:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p><code class="literal">vim.configRC</code> has been removed, which means that you have to convert all of
|
||||
your custom vimscript-based configuration to Lua. As for how to do that, you
|
||||
will have to consult the Neovim documentation and your search engine.</p></li><li class="listitem"><p>After migrating your Vimscript-based configuration to Lua, you might not be
|
||||
able to use the same entry names in <code class="literal">vim.luaConfigRC</code>, because those have also
|
||||
slightly changed. See the new <a class="link" href="/index.xhtml#ch-dag-entries" target="_top">DAG entries in nvf manual</a> for more details.</p></li></ul></div><p><span class="strong"><strong>Why?</strong></span></p><p>Neovim being an aggressive refactor of Vim, is designed to be mainly Lua based;
|
||||
making good use of its extensive Lua API. Additionally, Vimscript is slow and
|
||||
brings unnecessary performance overhead while working with different
|
||||
configuration formats.</p>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h3 id="sec-vim-maps-rewrite" class="title" ><code class="literal">vim.maps</code> rewrite </h3> </div> </div></div><p>Instead of specifying map modes using submodules (eg.: <code class="literal">vim.maps.normal</code>), a new
|
||||
<code class="literal">vim.keymaps</code> submodule with support for a <code class="literal">mode</code> option has been introduced. It
|
||||
can be either a string, or a list of strings, where a string represents the
|
||||
short-name of the map mode(s), that the mapping should be set for. See
|
||||
<code class="literal">:help map-modes</code> for more information.</p><p>For example:</p><pre><code class="programlisting nix">vim.maps.normal."<leader>m" = { ... };
|
||||
</code></pre><p>has to be replaced by</p><pre><code class="programlisting nix">vim.keymaps = [
|
||||
{
|
||||
key = "<leader>m";
|
||||
mode = "n";
|
||||
}
|
||||
...
|
||||
];
|
||||
</code></pre>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h3 id="sec-nvim-code-action-menu-deprecation" class="title" ><code class="literal">vim.lsp.nvimCodeActionMenu</code> removed in favor of <code class="literal">vim.ui.fastaction</code> </h3> </div> </div></div><p>The nvim-code-action-menu plugin has been archived and broken for a long time,
|
||||
so it’s being replaced with a young, but better alternative called
|
||||
fastaction.nvim. Simply remove everything set under
|
||||
<code class="literal">vim.lsp.nvimCodeActionMenu</code>, and set <code class="literal">vim.ui.fastaction.enable</code> to <code class="literal">true</code>.</p><p>Note that we are looking to add more alternatives in the future like
|
||||
dressing.nvim and actions-preview.nvim, in case fastaction doesn’t work for
|
||||
everyone.</p>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h3 id="sec-type-based-modules-removed" class="title" ><code class="literal">type</code> based modules removed </h3> </div> </div></div><p>As part of the autocompletion rewrite, modules that used to use a <code class="literal">type</code> option
|
||||
have been replaced by per-plugin modules instead. Since both modules only had
|
||||
one type, you can simply change</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p><code class="literal">vim.autocomplete.*</code> -> <code class="literal">vim.autocomplete.nvim-cmp.*</code></p></li><li class="listitem"><p><code class="literal">vim.autopairs.enable</code> -> <code class="literal">vim.autopairs.nvim-autopairs.enable</code></p></li></ul></div>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h3 id="sec-nixpkgs-fmt-deprecation" class="title" ><code class="literal">nixpkgs-fmt</code> removed in favor of <code class="literal">nixfmt</code> </h3> </div> </div></div><p><code class="literal">nixpkgs-fmt</code> has been archived for a while, and it’s finally being removed in
|
||||
favor of nixfmt (more information can be found
|
||||
<a class="link" href="https://github.com/nix-community/nixpkgs-fmt?tab=readme-ov-file#nixpkgs-fmt---nix-code-formatter-for-nixpkgs" target="_top">here</a>.</p><p>To migrate to <code class="literal">nixfmt</code>, simply change <code class="literal">vim.languages.nix.format.type</code> to
|
||||
<code class="literal">nixfmt</code>.</p>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h3 id="sec-leader-changes" class="title" >leader changes </h3> </div> </div></div><p>This has been deprecated in favor of using the more generic <code class="literal">vim.globals</code> (you
|
||||
can use <code class="literal">vim.globals.mapleader</code> to change this instead).</p><p>Rust specific keymaps now use <code class="literal">maplocalleader</code> instead of <code class="literal">localleader</code> by
|
||||
default. This is to avoid conflicts with other modules. You can change
|
||||
<code class="literal">maplocalleader</code> with <code class="literal">vim.globals.maplocalleader</code>, but it’s recommended to set
|
||||
it to something other than <code class="literal">mapleader</code> to avoid conflicts.</p>
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h3 id="sec-vim-opt-changes" class="title" ><code class="literal">vim.*</code> changes </h3> </div> </div></div><p>Inline with the <a class="link" href="release-notes.html#sec-leader-changes" title="leader changes" >leader changes</a>, we have removed some
|
||||
options that were under <code class="literal">vim</code> as convenient shorthands for <code class="literal">vim.o.*</code> options.</p><div class="warning"><h3 class="title">Warning</h3><p>As v0.7 features the addition of <a class="xref" href="options.html#opt-vim.options" ><code class="option">vim.options</code></a>, those options are now
|
||||
considered as deprecated. You should migrate to the appropriate options in the
|
||||
<code class="literal">vim.options</code> submodule.</p></div><p>The changes are, in no particular order:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p><code class="literal">colourTerm</code>, <code class="literal">mouseSupport</code>, <code class="literal">cmdHeight</code>, <code class="literal">updateTime</code>, <code class="literal">mapTime</code>,
|
||||
<code class="literal">cursorlineOpt</code>, <code class="literal">splitBelow</code>, <code class="literal">splitRight</code>, <code class="literal">autoIndent</code> and <code class="literal">wordWrap</code> have
|
||||
been mapped to their <a class="xref" href="options.html#opt-vim.options" ><code class="option">vim.options</code></a> equivalents. Please see the module
|
||||
definition for the updated options.</p></li><li class="listitem"><p><code class="literal">tabWidth</code> has been <span class="strong"><strong>removed</strong></span> as it lead to confusing behaviour. You can
|
||||
replicate the same functionality by setting <code class="literal">shiftwidth</code>, <code class="literal">tabstop</code> and
|
||||
<code class="literal">softtabstop</code> under <code class="literal">vim.options</code> as you see fit.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div><div class="section"> <div class="titlepage"> <div> <div> <h2 id="sec-release-0.7-changelog" class="title" style="clear: both">Changelog </h2> </div> </div></div><p><a class="link" href="https://github.com/ItsSorae" target="_top">ItsSorae</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add support for <a class="link" href="https://typst.app/" target="_top">typst</a> under <code class="literal">vim.languages.typst</code> This
|
||||
will enable the <code class="literal">typst-lsp</code> language server, and the <code class="literal">typstfmt</code> formatter</p></li></ul></div><p><a class="link" href="https://github.com/frothymarrow" target="_top">frothymarrow</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Modified type for
|
||||
<a class="xref" href="options.html#opt-vim.visuals.fidget-nvim.setupOpts.progress.display.overrides" ><code class="option">vim.visuals.fidget-nvim.setupOpts.progress.display.overrides</code></a> from
|
||||
<code class="literal">anything</code> to a <code class="literal">submodule</code> for better type checking.</p></li><li class="listitem"><p>Fix null <code class="literal">vim.lsp.mappings</code> generating an error and not being filtered out.</p></li><li class="listitem"><p>Add basic transparency support for <code class="literal">oxocarbon</code> theme by setting the highlight
|
||||
group for <code class="literal">Normal</code>, <code class="literal">NormalFloat</code>, <code class="literal">LineNr</code>, <code class="literal">SignColumn</code> and optionally
|
||||
<code class="literal">NvimTreeNormal</code> to <code class="literal">none</code>.</p></li><li class="listitem"><p>Fix <a class="xref" href="options.html#opt-vim.ui.smartcolumn.setupOpts.custom_colorcolumn" ><code class="option">vim.ui.smartcolumn.setupOpts.custom_colorcolumn</code></a> using the wrong
|
||||
type <code class="literal">int</code> instead of the expected type <code class="literal">string</code>.</p></li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Fix broken treesitter-context keybinds in visual mode</p></li><li class="listitem"><p>Deprecate use of <code class="literal">__empty</code> to define empty tables in Lua. Empty attrset are no
|
||||
longer filtered and thus should be used instead.</p></li><li class="listitem"><p>Add dap-go for better dap configurations</p></li><li class="listitem"><p>Make noice.nvim customizable</p></li><li class="listitem"><p>Standardize border style options and add custom borders</p></li><li class="listitem"><p>Remove <code class="literal">vim.disableDefaultRuntimePaths</code> in wrapper options.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>As nvf uses <code class="literal">$NVIM_APP_NAME</code> as of recent changes, we can safely assume any
|
||||
configuration in <code class="literal">$XDG_CONFIG_HOME/nvf</code> is intentional.</p></li></ul></div></li></ul></div><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Switch from <a class="link" href="https://github.com/simrat39/rust-tools.nvim" target="_top">rust-tools.nvim</a> to the more feature-packed <a class="link" href="https://github.com/mrcjkb/rustaceanvim" target="_top">rustaceanvim</a>. This
|
||||
switch entails a whole bunch of new features and options, so you are
|
||||
recommended to go through rustacean.nvim’s README to take a closer look at its
|
||||
features and usage</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add <a class="link" href="https://github.com/mrcjkb/lz.n" target="_top">lz.n</a> support and lazy-load some builtin plugins.</p></li><li class="listitem"><p>Add simpler helper functions for making keymaps</p></li></ul></div><p><a class="link" href="https://jacekpoz.pl" target="_top">jacekpoz</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Add <a class="link" href="https://github.com/ocaml/ocaml-lsp" target="_top">ocaml-lsp</a> support</p></li><li class="listitem"><p>Fix “Emac” typo</p></li><li class="listitem"><p>Add <a class="link" href="https://github.com/otavioschwanck/new-file-template.nvim" target="_top">new-file-template.nvim</a> to automatically fill new file contents using
|
||||
templates</p></li><li class="listitem"><p>Make <a class="link" href="https://github.com/nvim-neo-tree/neo-tree.nvim" target="_top">neo-tree.nvim</a> display file icons properly by enabling
|
||||
<code class="literal">visuals.nvimWebDevicons</code></p></li></ul></div><p><a class="link" href="https://github.com/diniamo" target="_top">diniamo</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Move the <code class="literal">theme</code> dag entry to before <code class="literal">luaScript</code>.</p></li><li class="listitem"><p>Add rustfmt as the default formatter for Rust.</p></li><li class="listitem"><p>Enabled the terminal integration of catppuccin for theming Neovim’s built-in
|
||||
terminal (this also affects toggleterm).</p></li><li class="listitem"><p>Migrate bufferline to setupOpts for more customizability</p></li><li class="listitem"><p>Use <code class="literal">clangd</code> as the default language server for C languages</p></li><li class="listitem"><p>Expose <code class="literal">lib.nvim.types.pluginType</code>, which for example allows the user to
|
||||
create abstractions for adding plugins</p></li><li class="listitem"><p>Migrate indent-blankline to setupOpts for more customizability. While the
|
||||
plugin’s options can now be found under <code class="literal">indentBlankline.setupOpts</code>, the
|
||||
previous iteration of the module also included out of place/broken options,
|
||||
which have been removed for the time being. These are:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p><code class="literal">listChar</code> - this was already unused</p></li><li class="listitem"><p><code class="literal">fillChar</code> - this had nothing to do with the plugin, please configure it
|
||||
yourself by adding <code class="literal">vim.opt.listchars:append({ space = '<char>' })</code> to your
|
||||
lua configuration</p></li><li class="listitem"><p><code class="literal">eolChar</code> - this also had nothing to do with the plugin, please configure it
|
||||
yourself by adding <code class="literal">vim.opt.listchars:append({ eol = '<char>' })</code> to your
|
||||
lua configuration</p></li></ul></div></li><li class="listitem"><p>Replace <code class="literal">vim.lsp.nvimCodeActionMenu</code> with <code class="literal">vim.ui.fastaction</code>, see the
|
||||
breaking changes section above for more details</p></li><li class="listitem"><p>Add a <code class="literal">setupOpts</code> option to nvim-surround, which allows modifying options that
|
||||
aren’t defined in nvf. Move the alternate nvim-surround keybinds to use
|
||||
<code class="literal">setupOpts</code>.</p></li><li class="listitem"><p>Remove <code class="literal">autopairs.type</code>, and rename <code class="literal">autopairs.enable</code> to
|
||||
<code class="literal">autopairs.nvim-autopairs.enable</code>. The new
|
||||
<a class="xref" href="options.html#opt-vim.autopairs.nvim-autopairs.enable" ><code class="option">vim.autopairs.nvim-autopairs.enable</code></a> supports <code class="literal">setupOpts</code> format by
|
||||
default.</p></li><li class="listitem"><p>Refactor of <code class="literal">nvim-cmp</code> and completion related modules</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>Remove <code class="literal">autocomplete.type</code> in favor of per-plugin enable options such as
|
||||
<a class="xref" href="options.html#opt-vim.autocomplete.nvim-cmp.enable" ><code class="option">vim.autocomplete.nvim-cmp.enable</code></a>.</p></li><li class="listitem"><p>Deprecate legacy Vimsnip in favor of Luasnip, and integrate
|
||||
friendly-snippets for bundled snippets. <a class="xref" href="options.html#opt-vim.snippets.luasnip.enable" ><code class="option">vim.snippets.luasnip.enable</code></a>
|
||||
can be used to toggle Luasnip.</p></li><li class="listitem"><p>Add sorting function options for completion sources under
|
||||
<a class="xref" href="options.html#opt-vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators" ><code class="option">vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators</code></a></p></li></ul></div></li><li class="listitem"><p>Add C# support under <code class="literal">vim.languages.csharp</code>, with support for both
|
||||
omnisharp-roslyn and csharp-language-server.</p></li><li class="listitem"><p>Add Julia support under <code class="literal">vim.languages.julia</code>. Note that the entirety of Julia
|
||||
is bundled with nvf, if you enable the module, since there is no way to
|
||||
provide only the LSP server.</p></li><li class="listitem"><p>Add <a class="link" href="https://github.com/diniamo/run.nvim" target="_top"><code class="literal">run.nvim</code></a> support for running code
|
||||
using cached commands.</p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Make Neovim’s configuration file entirely Lua based. This comes with a few
|
||||
breaking changes:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p><code class="literal">vim.configRC</code> has been removed. You will need to migrate your entries to
|
||||
Neovim-compliant Lua code, and add them to <code class="literal">vim.luaConfigRC</code> instead.
|
||||
Existing vimscript configurations may be preserved in <code class="literal">vim.cmd</code> functions.
|
||||
Please see <a class="link" href="https://neovim.io/doc/user/lua.html#vim.cmd()" target="_top">Neovim documentation on <code class="literal">vim.cmd</code></a></p></li><li class="listitem"><p><code class="literal">vim.luaScriptRC</code> is now the top-level DAG, and the internal <code class="literal">vim.pluginRC</code>
|
||||
has been introduced for setting up internal plugins. See the “DAG entries in
|
||||
nvf” manual page for more information.</p></li></ul></div></li><li class="listitem"><p>Rewrite <code class="literal">vim.maps</code>, see the breaking changes section above.</p></li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">NotAShelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist " style="list-style-type: disc;"><li class="listitem"><p>Add <code class="literal">deno fmt</code> as the default Markdown formatter. This will be enabled
|
||||
automatically if you have autoformatting enabled, but can be disabled manually
|
||||
if you choose to.</p></li><li class="listitem"><p>Add <code class="literal">vim.extraLuaFiles</code> for optionally sourcing additional lua files in your
|
||||
configuration.</p></li><li class="listitem"><p>Refactor <code class="literal">programs.languages.elixir</code> to use lspconfig and none-ls for LSP and
|
||||
formatter setups respectively. Diagnostics support is considered, and may be
|
||||
added once the <a class="link" href="https://github.com/rrrene/credo" target="_top">credo</a> linter has been added to nixpkgs. A pull request is
|
||||
currently open.</p></li><li class="listitem"><p>Remove vim-tidal and friends.</p></li><li class="listitem"><p>Clean up Lualine module to reduce theme dependency on Catppuccin, and fixed
|
||||
blending issues in component separators.</p></li><li class="listitem"><p>Add [ts-ereror-translator.nvim] extension of the TS language module, under
|
||||
<code class="literal">vim.languages.ts.extensions.ts-error-translator</code> to aid with Typescript
|
||||
development.</p></li><li class="listitem"><p>Add <a class="link" href="https://github.com/nvim-neo-tree/neo-tree.nvim" target="_top">neo-tree.nvim</a> as an alternative file-tree plugin. It will be available
|
||||
under <code class="literal">vim.filetree.neo-tree</code>, similar to nvimtree.</p></li><li class="listitem"><p>Add <code class="literal">nvf-print-config</code> & <code class="literal">nvf-print-config-path</code> helper scripts to Neovim
|
||||
closure. Both of those scripts have been automatically added to your PATH upon
|
||||
using neovimConfig or <code class="literal">programs.nvf.enable</code>.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p><code class="literal">nvf-print-config</code> will display your <code class="literal">init.lua</code>, in full.</p></li><li class="listitem"><p><code class="literal">nvf-print-config-path</code> will display the path to <span class="emphasis"><em>a clone</em></span> of your
|
||||
<code class="literal">init.lua</code>. This is not the path used by the Neovim wrapper, but an
|
||||
identical clone.</p></li></ul></div></li><li class="listitem"><p>Add <code class="literal">vim.ui.breadcrumbs.lualine</code> to allow fine-tuning breadcrumbs behaviour on
|
||||
Lualine. Only <code class="literal">vim.ui.breadcrumbs.lualine.winbar</code> is supported for the time
|
||||
being.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p><a class="xref" href="options.html#opt-vim.ui.breadcrumbs.lualine.winbar.enable" ><code class="option">vim.ui.breadcrumbs.lualine.winbar.enable</code></a> has been added to allow
|
||||
controlling the default behaviour of the <code class="literal">nvim-navic</code> component on Lualine,
|
||||
which used to occupy <code class="literal">winbar.lualine_c</code> as long as breadcrumbs are enabled.</p></li><li class="listitem"><p><code class="literal">vim.ui.breadcrumbs.alwaysRender</code> has been renamed to
|
||||
<a class="xref" href="options.html#opt-vim.ui.breadcrumbs.lualine.winbar.alwaysRender" ><code class="option">vim.ui.breadcrumbs.lualine.winbar.alwaysRender</code></a> to be conform to the
|
||||
new format.</p></li></ul></div></li><li class="listitem"><p>Add <a class="link" href="https://github.com/detachhead/basedpyright" target="_top">basedpyright</a> as a Python LSP
|
||||
server and make it default.</p></li><li class="listitem"><p>Add <a class="link" href="https://github.com/python-lsp/python-lsp-server" target="_top">python-lsp-server</a> as an
|
||||
additional Python LSP server.</p></li><li class="listitem"><p>Add <a class="xref" href="options.html#opt-vim.options" ><code class="option">vim.options</code></a> to set <code class="literal">vim.o</code> values in in your nvf configuration
|
||||
without using additional Lua. See option documentation for more details.</p></li><li class="listitem"><p>Add <a class="xref" href="options.html#opt-vim.dashboard.dashboard-nvim.setupOpts" ><code class="option">vim.dashboard.dashboard-nvim.setupOpts</code></a> to allow user
|
||||
configuration for <a class="link" href="https://github.com/nvimdev/dashboard-nvim" target="_top">dashboard.nvim</a></p></li><li class="listitem"><p>Update <code class="literal">lualine.nvim</code> input and add missing themes:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>Adds <code class="literal">ayu</code>, <code class="literal">gruvbox_dark</code>, <code class="literal">iceberg</code>, <code class="literal">moonfly</code>, <code class="literal">onedark</code>,
|
||||
<code class="literal">powerline_dark</code> and <code class="literal">solarized_light</code> themes.</p></li></ul></div></li><li class="listitem"><p>Add <a class="xref" href="options.html#opt-vim.spellcheck.extraSpellWords" ><code class="option">vim.spellcheck.extraSpellWords</code></a> to allow adding arbitrary
|
||||
spellfiles to Neovim’s runtime with ease.</p></li><li class="listitem"><p>Add combined nvf configuration (<code class="literal">config.vim</code>) into the final package’s
|
||||
<code class="literal">passthru</code> as <code class="literal">passthru.neovimConfiguration</code> for easier debugging.</p></li><li class="listitem"><p>Add support for <a class="link" href="https://github.com/rachartier/tiny-devicons-auto-colors.nvim" target="_top">tiny-devicons-auto-colors</a> under
|
||||
<code class="literal">vim.visuals.tiny-devicons-auto-colors</code></p></li><li class="listitem"><p>Move options that used to set <code class="literal">vim.o</code> values (e.g. <code class="literal">vim.wordWrap</code>) into
|
||||
<code class="literal">vim.options</code> as default values. Some are left as they don’t have a direct
|
||||
equivalent, but expect a switch eventually.</p></li></ul></div><p><a class="link" href="https://github.com/ppenguin" target="_top">ppenguin</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Telescope:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>Fixed <code class="literal">project-nvim</code> command and keybinding</p></li><li class="listitem"><p>Added default ikeybind/command for <code class="literal">Telescope resume</code> (<code class="literal"><leader>fr</code>)</p></li></ul></div></li><li class="listitem"><p>Add <code class="literal">hcl</code> lsp/formatter (not the same as <code class="literal">terraform</code>, which is not useful for
|
||||
e.g. <code class="literal">nomad</code> config files).</p></li></ul></div><p><a class="link" href="https://github.com/Soliprem" target="_top">Soliprem</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add LSP and Treesitter support for R under <code class="literal">vim.languages.R</code>.</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: circle;"><li class="listitem"><p>Add formatter support for R, with styler and formatR as options</p></li></ul></div></li><li class="listitem"><p>Add Otter support under <code class="literal">vim.lsp.otter</code> and an assert to prevent conflict with
|
||||
ccc</p></li><li class="listitem"><p>Fixed typo in Otter’s setupOpts</p></li><li class="listitem"><p>Add Neorg support under <code class="literal">vim.notes.neorg</code></p></li><li class="listitem"><p>Add LSP, diagnostics, formatter and Treesitter support for Kotlin under
|
||||
<code class="literal">vim.languages.kotlin</code></p></li><li class="listitem"><p>changed default keybinds for leap.nvim to avoid altering expected behavior</p></li><li class="listitem"><p>Add LSP, formatter and Treesitter support for Vala under <code class="literal">vim.languages.vala</code></p></li><li class="listitem"><p>Add [Tinymist](https://github.com/Myriad-Dreamin/tinymist] as a formatter for
|
||||
the Typst language module.</p></li><li class="listitem"><p>Add LSP and Treesitter support for Assembly under <code class="literal">vim.languages.assembly</code></p></li><li class="listitem"><p>Move <a class="link" href="https://github.com/folke/which-key.nvim" target="_top">which-key</a> to the new spec</p></li><li class="listitem"><p>Add LSP and Treesitter support for Nushell under <code class="literal">vim.languages.nu</code></p></li><li class="listitem"><p>Add LSP and Treesitter support for Gleam under <code class="literal">vim.languages.gleam</code></p></li></ul></div><p><a class="link" href="https://github.com/Bloxx12" target="_top">Bloxx12</a></p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add support for <a class="link" href="https://github.com/RRethy/base16-nvim" target="_top">base16 theming</a> under
|
||||
<code class="literal">vim.theme</code></p></li><li class="listitem"><p>Fix internal breakage in <code class="literal">elixir-tools</code> setup.</p></li></ul></div><p><a class="link" href="https://github.com/ksonj" target="_top">ksonj</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add LSP support for Scala via
|
||||
<a class="link" href="https://github.com/scalameta/nvim-metals" target="_top">nvim-metals</a></p></li></ul></div><p><a class="link" href="https://github.com/nezia1" target="_top">nezia1</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add <a class="link" href="https://github.com/biomejs/biome" target="_top">biome</a> support for Typescript, CSS and
|
||||
Svelte. Enable them via <a class="xref" href="options.html#opt-vim.languages.ts.format.type" ><code class="option">vim.languages.ts.format.type</code></a>,
|
||||
<a class="xref" href="options.html#opt-vim.languages.css.format.type" ><code class="option">vim.languages.css.format.type</code></a> and
|
||||
<a class="xref" href="options.html#opt-vim.languages.svelte.format.type" ><code class="option">vim.languages.svelte.format.type</code></a> respectively.</p></li><li class="listitem"><p>Replace <a class="link" href="https://github.com/nix-community/nixpkgs-fmt" target="_top">nixpkgs-fmt</a> with
|
||||
<a class="link" href="https://github.com/NixOS/nixfmt" target="_top">nixfmt</a> (nixfmt-rfc-style).</p></li></ul></div><p><a class="link" href="https://github.com/Nowaaru" target="_top">Nowaaru</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add <code class="literal">precognition-nvim</code>.</p></li></ul></div><p><a class="link" href="https://github.com/DamitusThyYeetus123" target="_top">DamitusThyYeeticus123</a>:</p><div class="itemizedlist"><ul class="itemizedlist compact" style="list-style-type: disc;"><li class="listitem"><p>Add support for <a class="link" href="https://astro.build/" target="_top">Astro</a> language server.</p></li></ul></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div> <div class="navfooter">
|
||||
<hr />
|
||||
<table width="100%" summary="Navigation footer">
|
||||
<tr>
|
||||
<td width="40%" align="left"><a accesskey="p" href="options.html">Prev</a> </td>
|
||||
<td width="20%" align="center"> </td>
|
||||
<td width="40%" align="right"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="40%" align="left" valign="top">Appendix B. Neovim Flake Configuration Options </td>
|
||||
<td width="20%" align="center"><a accesskey="h" href="index.xhtml">Home</a></td>
|
||||
<td width="40%" align="right" valign="top"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
10
docs-preview-494/script/anchor-min.js
vendored
Normal file
10
docs-preview-494/script/anchor-min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
docs-preview-494/script/anchor-use.js
Normal file
4
docs-preview-494/script/anchor-use.js
Normal file
|
@ -0,0 +1,4 @@
|
|||
document.addEventListener('DOMContentLoaded', function(event) {
|
||||
anchors.add('h1[id]:not(div.note h1, div.warning h1, div.tip h1, div.caution h1, div.important h1), h2[id]:not(div.note h2, div.warning h2, div.tip h2, div.caution h2, div.important h2), h3[id]:not(div.note h3, div.warning h3, div.tip h3, div.caution h3, div.important h3), h4[id]:not(div.note h4, div.warning h4, div.tip h4, div.caution h4, div.important h4), h5[id]:not(div.note h5, div.warning h5, div.tip h5, div.caution h5, div.important h5), h6[id]:not(div.note h6, div.warning h6, div.tip h6, div.caution h6, div.important h6)');
|
||||
});
|
||||
|
58
docs-preview-494/script/search.js
Normal file
58
docs-preview-494/script/search.js
Normal file
|
@ -0,0 +1,58 @@
|
|||
document.addEventListener("DOMContentLoaded", () => {
|
||||
if (!window.location.pathname.endsWith("options.html")) return;
|
||||
|
||||
const searchDiv = document.createElement("div");
|
||||
searchDiv.id = "search-bar";
|
||||
searchDiv.innerHTML = `
|
||||
<input type="text" id="search-input" placeholder="Search options by ID..." />
|
||||
<div id="search-results"></div>
|
||||
`;
|
||||
document.body.prepend(searchDiv);
|
||||
|
||||
const dtElements = Array.from(document.querySelectorAll("dt"));
|
||||
const ddElements = Array.from(document.querySelectorAll("dd"));
|
||||
const dtOptionIds = dtElements.map(
|
||||
(dt) => dt.querySelector("a")?.id.toLowerCase() || "",
|
||||
);
|
||||
|
||||
if (dtElements.length === 0 || ddElements.length === 0) {
|
||||
console.warn("Something went wrong, page may be loaded incorrectly.");
|
||||
return;
|
||||
}
|
||||
|
||||
const dtElementsData = dtElements.map((dt, index) => ({
|
||||
element: dt,
|
||||
id: dtOptionIds[index],
|
||||
ddElement: ddElements[index],
|
||||
}));
|
||||
|
||||
const hiddenClass = "hidden";
|
||||
const hiddenStyle = document.createElement("style");
|
||||
hiddenStyle.innerHTML = `.${hiddenClass} { display: none; }`;
|
||||
document.head.appendChild(hiddenStyle);
|
||||
|
||||
let debounceTimeout;
|
||||
document.getElementById("search-input").addEventListener("input", (event) => {
|
||||
clearTimeout(debounceTimeout);
|
||||
debounceTimeout = setTimeout(() => {
|
||||
const query = event.target.value.toLowerCase();
|
||||
|
||||
const matches = [];
|
||||
const nonMatches = [];
|
||||
|
||||
dtElementsData.forEach(({ element, id, ddElement }) => {
|
||||
const isMatch = id.includes(query);
|
||||
if (isMatch) {
|
||||
matches.push(element, ddElement);
|
||||
} else {
|
||||
nonMatches.push(element, ddElement);
|
||||
}
|
||||
});
|
||||
|
||||
requestAnimationFrame(() => {
|
||||
matches.forEach((el) => el?.classList.remove(hiddenClass));
|
||||
nonMatches.forEach((el) => el?.classList.add(hiddenClass));
|
||||
});
|
||||
}, 200);
|
||||
});
|
||||
});
|
622
docs-preview-494/style.css
Normal file
622
docs-preview-494/style.css
Normal file
|
@ -0,0 +1,622 @@
|
|||
@import "tomorrow.min.css";
|
||||
html {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
html:focus-within {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-moz-text-size-adjust: 100%;
|
||||
text-size-adjust: 100%;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
min-height: 100vh;
|
||||
position: relative;
|
||||
text-rendering: optimizeSpeed;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
*, :after, :before {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
a:not([class]) {
|
||||
-webkit-text-decoration-skip: ink;
|
||||
text-decoration-skip-ink: auto;
|
||||
}
|
||||
|
||||
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
|
||||
blockquote:after, blockquote:before, q:after, q:before {
|
||||
content: "";
|
||||
content: none;
|
||||
}
|
||||
|
||||
input, input:required {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
input:-webkit-autofill, input:-webkit-autofill:active, input:-webkit-autofill:focus, input:-webkit-autofill:hover {
|
||||
-webkit-box-shadow: inset 0 0 0 30px #fff;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
input:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
audio, canvas, video {
|
||||
display: inline-block;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
a:active, a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
img, picture {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
button, input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
button, html input[type=button], input[type=reset], input[type=submit] {
|
||||
-webkit-appearance: button;
|
||||
background: 0 0;
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[disabled], html input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
[disabled] {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
input[type=checkbox], input[type=radio] {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type=search] {
|
||||
-webkit-appearance: textfield;
|
||||
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 {
|
||||
background: 0 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
background: #000;
|
||||
border: 0;
|
||||
box-sizing: content-box;
|
||||
height: 1px;
|
||||
line-height: 0;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
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, pre, samp {
|
||||
font-family: monospace, monospace;
|
||||
}
|
||||
|
||||
small, sub, sup {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
sub, sup {
|
||||
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;
|
||||
}
|
||||
|
||||
[type=button], [type=reset], [type=submit], button {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
|
||||
border-style: none;
|
||||
outline: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
border: 0;
|
||||
color: inherit;
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
white-space: normal;
|
||||
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;
|
||||
}
|
||||
|
||||
:root {
|
||||
--nmd-color0: #0a3e68;
|
||||
--nmd-color1: #268598;
|
||||
--nmd-color2: #b8d09e;
|
||||
--nmd-color3: #f6cf5e;
|
||||
--nmd-color4: #ec733b;
|
||||
--nmd-color-info: #167cb9;
|
||||
--nmd-color-warn: #ff6700;
|
||||
}
|
||||
|
||||
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: 0.5rem 0.25rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0.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;
|
||||
}
|
||||
}
|
||||
pre span img {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
pre:has(code) {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
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 0.8rem;
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: auto 42px;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-left: 2rem;
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: auto 500px;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0.9rem 0;
|
||||
padding-left: 30px;
|
||||
list-style: disc;
|
||||
}
|
||||
ul:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
ul:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ol {
|
||||
margin: 0.9rem 0;
|
||||
padding-left: 30px;
|
||||
list-style: decimal;
|
||||
}
|
||||
ol:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
ol:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0.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;
|
||||
}
|
||||
|
||||
#search-bar {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
background: white;
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
z-index: 1000;
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
#search-bar {
|
||||
background: #111827;
|
||||
color: #f9fafb;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
}
|
||||
|
||||
#search-input {
|
||||
width: 100%;
|
||||
padding: 8px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
background: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: 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;
|
||||
}
|
||||
|
||||
/** The console prompt, e.g., `$` and `#` should not be selectable. */
|
||||
.programlisting.language-shell .hljs-meta.prompt_ {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
@import "tomorrow-night.min.css";
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
Loading…
Reference in a new issue