diff --git a/docs-preview-1014/highlightjs/LICENSE b/docs-preview-1014/highlightjs/LICENSE
new file mode 100644
index 00000000..2250cc7e
--- /dev/null
+++ b/docs-preview-1014/highlightjs/LICENSE
@@ -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.
diff --git a/docs-preview-1014/highlightjs/highlight.pack.js b/docs-preview-1014/highlightjs/highlight.pack.js
new file mode 100644
index 00000000..b8008d36
--- /dev/null
+++ b/docs-preview-1014/highlightjs/highlight.pack.js
@@ -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,"'")
+}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+="")}value(){return this.buffer}span(e){
+this.buffer+=``}}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||"")+'"')
+;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)})();
\ No newline at end of file
diff --git a/docs-preview-1014/highlightjs/loader.js b/docs-preview-1014/highlightjs/loader.js
new file mode 100644
index 00000000..cf0fdac5
--- /dev/null
+++ b/docs-preview-1014/highlightjs/loader.js
@@ -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);
+ });
+});
diff --git a/docs-preview-1014/highlightjs/mono-blue.css b/docs-preview-1014/highlightjs/mono-blue.css
new file mode 100644
index 00000000..44b546b8
--- /dev/null
+++ b/docs-preview-1014/highlightjs/mono-blue.css
@@ -0,0 +1,70 @@
+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: var(--color-1);
+}
+.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: var(--color-2);
+}
+.hljs-meta,
+.hljs-subst,
+.hljs-symbol,
+.hljs-regexp,
+.hljs-attribute,
+.hljs-deletion,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-bullet {
+ color: var(--color-3);
+}
+.hljs-emphasis {
+ font-style: italic;
+}
+
+:root {
+ --color-1: #738191;
+ --color-2: #0048ab;
+ --color-3: #4c81c9;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-1: #8b9caf;
+ --color-2: #3b85e7;
+ --color-3: #5795e7;
+ }
+}
diff --git a/docs-preview-1014/index.xhtml b/docs-preview-1014/index.xhtml
new file mode 100644
index 00000000..2c088302
--- /dev/null
+++ b/docs-preview-1014/index.xhtml
@@ -0,0 +1,1321 @@
+
+
+
+
+
+ nvf manual
+
+
+
+
+
+
+
+
+
+
+
+
nvf is a highly modular, configurable, extensible and easy to use Neovim
+configuration in Nix. Designed for flexibility and ease of use, nvf allows you
+to easily configure your fully featured Neovim instance with a few lines of Nix.
+
If you notice any issues with nvf, or this documentation, then please consider
+reporting them over at the issue tracker . Issues tab, in addition to the
+discussions tab is a good place as any to request new features.
You may also consider submitting bugfixes, feature additions and upstreamed
+changes that you think are critical over at the pull requests tab .
+
+
+
Thanks to the portability of Nix, you can try out nvf without actually
+installing it to your machine. Below are the commands you may run to try out
+different configurations provided by this flake. As of v0.5, two specialized
+configurations are provided:
You may try out any of the provided configurations using the nix run command
+on a system where Nix is installed.
$ cachix use nvf # Optional: it'll save you CPU resources and time
+$ nix run github:notashelf/nvf#nix # will run the default minimal configuration
+Do keep in mind that this is susceptible to garbage collection meaning it
+will be removed from your Nix store once you garbage collect.
$ nix run github:notashelf/nvf#nix
+$ nix run github:notashelf/nvf#maximal
+ ::: {.info}
The below configurations are provided for demonstration purposes, and are
+not designed to be installed as is. You may
Nix configuration by default provides LSP/diagnostic support for Nix alongside
+a set of visual and functional plugins. By running nix run .#, which is the
+default package, you will build Neovim with this config.
$ nix run github:notashelf/nvf#nix test.nix
+This command will start Neovim with some opinionated plugin configurations, and
+is designed specifically for Nix. the nix configuration lets you see how a
+fully configured Neovim setup might look like without downloading too many
+packages or shell utilities.
+
Maximal is the ultimate configuration that will enable support for more
+commonly used language as well as additional complementary plugins. Keep in
+mind, however, that this will pull a lot of dependencies.
$ nix run github:notashelf/nvf#maximal -- test.nix
+It uses the same configuration template with the Nix
+configuration, but supports many more languages, and enables more utility,
+companion or fun plugins.
Warning Running the maximal config will download a lot of packages as it is
+downloading language servers, formatters, and more.
+
+
+
+
+
+
+
There are multiple ways of installing nvf on your system. You may either choose
+the standalone installation method, which does not depend on a module system and
+may be done on any system that has the Nix package manager or the appropriate
+modules for NixOS and home-manager as described in the
+module installation section .
It is possible to install nvf without depending on NixOS or Home-Manager as the
+parent module system, using the neovimConfiguration function exposed in the
+extended library. This function will take modules and extraSpecialArgs as
+arguments, and return the following schema as a result.
{
+ options = "The options that were available to configure";
+ config = "The outputted configuration";
+ pkgs = "The package set used to evaluate the module";
+ neovim = "The built neovim package";
+}
+An example flake that exposes your custom Neovim configuration might look like
{
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ nvf.url = "github:notashelf/nvf";
+ };
+
+ outputs = {nixpkgs, ...} @ inputs: {
+ packages.x86_64-linux = {
+ # Set the default package to the wrapped instance of Neovim.
+ # This will allow running your Neovim configuration with
+ # `nix run` and in addition, sharing your configuration with
+ # other users in case your repository is public.
+ default =
+ (inputs.nvf.lib.neovimConfiguration {
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+ modules = [
+ {
+ config.vim = {
+ # Enable custom theming options
+ theme.enable = true;
+
+ # Enable Treesitter
+ treesitter.enable = true;
+
+ # Other options will go here. Refer to the config
+ # reference in Appendix B of the nvf manual.
+ # ...
+ };
+ }
+ ];
+ })
+ .neovim;
+ };
+ };
+}
+The above setup will allow to set up nvf as a standalone flake, which you can
+build independently from your system configuration while also possibly sharing
+it with others. The next two chapters will detail specific usage of such a setup
+for a package output in the context of NixOS or Home-Manager installation.
Standalone Installation on NixOS Your built Neovim configuration can be exposed as a flake output to make it
+easier to share across machines, repositories and so on. Or it can be added to
+your system packages to make it available across your system.
The following is an example installation of nvf as a standalone package with
+the default theme enabled. You may use other options inside config.vim in
+configModule, but this example will not cover that extensively.
{
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ home-manager.url = "github:nix-community/home-manager";
+ nvf.url = "github:notashelf/nvf";
+ };
+
+ outputs = {
+ nixpkgs,
+ nvf,
+ self,
+ ...
+ }: {
+ # This will make the package available as a flake output under 'packages'
+ packages.x86_64-linux.my-neovim =
+ (nvf.lib.neovimConfiguration {
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+ modules = [
+ # Or move this to a separate file and add it's path here instead
+ # IE: ./nvf_module.nix
+ (
+ {pkgs, ...}: {
+ # Add any custom options (and do feel free to upstream them!)
+ # options = { ... };
+ config.vim = {
+ theme.enable = true;
+ # and more options as you see fit...
+ };
+ }
+ )
+ ];
+ })
+ .neovim;
+
+ # Example nixosConfiguration using the configured Neovim package
+ nixosConfigurations = {
+ yourHostName = nixpkgs.lib.nixosSystem {
+ # ...
+ modules = [
+ # This will make wrapped neovim available in your system packages
+ # Can also move this to another config file if you pass inputs/self around with specialArgs
+ ({pkgs, ...}: {
+ environment.systemPackages = [self.packages.${pkgs.stdenv.system}.neovim];
+ })
+ ];
+ # ...
+ };
+ };
+ };
+}```
+
+
Standalone Installation on Home-Manager Your built Neovim configuration can be exposed as a flake output to make it
+easier to share across machines, repositories and so on. Or it can be added to
+your system packages to make it available across your system.
The following is an example installation of nvf as a standalone package with
+the default theme enabled. You may use other options inside config.vim in
+configModule, but this example will not cover that extensively.
{
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ home-manager.url = "github:nix-community/home-manager";
+ nvf.url = "github:notashelf/nvf";
+ };
+
+ outputs = {nixpkgs, home-manager, nvf, ...}: let
+ system = "x86_64-linux";
+ pkgs = nixpkgs.legacyPackages.${system};
+ configModule = {
+ # Add any custom options (and do feel free to upstream them!)
+ # options = { ... };
+
+ config.vim = {
+ theme.enable = true;
+ # and more options as you see fit...
+ };
+ };
+
+ customNeovim = nvf.lib.neovimConfiguration {
+ inherit pkgs;
+ modules = [configModule];
+ };
+ in {
+ # This will make the package available as a flake output under 'packages'
+ packages.${system}.my-neovim = customNeovim.neovim;
+
+ # Example Home-Manager configuration using the configured Neovim package
+ homeConfigurations = {
+ "your-username@your-hostname" = home-manager.lib.homeManagerConfiguration {
+ # ...
+ modules = [
+ # This will make Neovim available to users using the Home-Manager
+ # configuration. To make the package available to all users, prefer
+ # environment.systemPackages in your NixOS configuration.
+ {home.packages = [customNeovim.neovim];}
+ ];
+ # ...
+ };
+ };
+ };
+}
+
+
+
The below chapters will describe installing nvf as NixOS and Home-Manager
+modules. Note that those methods are mutually exclusive, and will likely cause
+path collisions if used simultaneously.
The NixOS module allows us to customize the different vim options from inside
+the NixOS configuration without having to call for the wrapper yourself. It is
+the recommended way to use nvf alongside the home-manager module depending
+on your needs.
To use it, we first add the input flake.
{
+ inputs = {
+ # Optional, if you intend to follow nvf's obsidian-nvim input
+ # you must also add it as a flake input.
+ obsidian-nvim.url = "github:epwalsh/obsidian.nvim";
+
+ # Required, nvf works best and only directly supports flakes
+ nvf = {
+ url = "github:notashelf/nvf";
+ # You can override the input nixpkgs to follow your system's
+ # instance of nixpkgs. This is safe to do as nvf does not depend
+ # on a binary cache.
+ inputs.nixpkgs.follows = "nixpkgs";
+ # Optionally, you can also override individual plugins
+ # for example:
+ inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs
+ };
+ };
+}
+Followed by importing the NixOS module somewhere in your configuration.
{
+ # assuming nvf is in your inputs and inputs is in the argset
+ # see example below
+ imports = [ inputs.nvf.nixosModules.default ];
+}
+ {
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ nvf.url = "github:notashelf/nvf";
+ };
+
+ outputs = { nixpkgs, nvf, ... }: {
+ # ↓ this is your host output in the flake schema
+ nixosConfigurations."your-hostname" = nixpkgs.lib.nixosSystem {
+ modules = [
+ nvf.nixosModules.default # <- this imports the NixOS module that provides the options
+ ./configuration.nix # <- your host entrypoint, `programs.nvf.*` may be defined here
+ ];
+ };
+ };
+}
+Once the module is properly imported by your host, you will be able to use the
+programs.nvf module option anywhere in your configuration in order to
+configure nvf .
programs.nvf = {
+ enable = true;
+ # your settings need to go into the settings attribute set
+ # most settings are documented in the appendix
+ settings = {
+ vim.viAlias = false;
+ vim.vimAlias = true;
+ vim.lsp = {
+ enable = true;
+ };
+ };
+ };
+}
+Note nvf exposes a lot of options, most of which are not referenced in the
+installation sections of the manual. You may find all available options in the
+appendix
+
+
+
The home-manager module allows us to customize the different vim options from
+inside the home-manager configuration without having to call for the wrapper
+yourself. It is the recommended way to use nvf alongside the NixOS module
+depending on your needs.
To use it, we first add the input flake.
{
+ inputs = {
+ # Optional, if you intend to follow nvf's obsidian-nvim input
+ # you must also add it as a flake input.
+ obsidian-nvim.url = "github:epwalsh/obsidian.nvim";
+
+ # Required, nvf works best and only directly supports flakes
+ nvf = {
+ url = "github:notashelf/nvf";
+ # You can override the input nixpkgs to follow your system's
+ # instance of nixpkgs. This is safe to do as nvf does not depend
+ # on a binary cache.
+ inputs.nixpkgs.follows = "nixpkgs";
+ # Optionally, you can also override individual plugins
+ # for example:
+ inputs.obsidian-nvim.follows = "obsidian-nvim"; # <- this will use the obsidian-nvim from your inputs
+ };
+ };
+}
+Followed by importing the home-manager module somewhere in your configuration.
{
+ # Assuming "nvf" is in your inputs and inputs is in the argument set.
+ # See example installation below
+ imports = [ inputs.nvf.homeManagerModules.default ];
+}
+ {
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ home-manager.url = "github:nix-community/home-manager";
+ nvf.url = "github:notashelf/nvf";
+ };
+
+ outputs = { nixpkgs, home-manager, nvf, ... }: {
+ # ↓ this is your home output in the flake schema, expected by home-manager
+ "your-username@your-hostname" = home-manager.lib.homeManagerConfiguration {
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+ modules = [
+ nvf.homeManagerModules.default # <- this imports the home-manager module that provides the options
+ ./home.nix # <- your home entrypoint, `programs.nvf.*` may be defined here
+ ];
+ };
+ };
+}
+Once the module is properly imported by your host, you will be able to use the
+programs.nvf module option anywhere in your configuration in order to
+configure nvf .
programs.nvf = {
+ enable = true;
+ # your settings need to go into the settings attribute set
+ # most settings are documented in the appendix
+ settings = {
+ vim.viAlias = false;
+ vim.vimAlias = true;
+ vim.lsp = {
+ enable = true;
+ };
+ };
+ };
+}
+Note nvf exposes a lot of options, most of which are not referenced in the
+installation sections of the manual. You may find all available options in the
+appendix
+
+
+
+
+
nvf allows for very extensive configuration in Neovim through the Nix module
+interface. The below chapters describe several of the options exposed in nvf for
+your convenience. You might also be interested in the helpful tips section for
+more advanced or unusual configuration options supported by nvf.
Note that this section does not cover module options . For an overview of all
+module options provided by nvf, please visit the appendix
As of v0.5, you may now specify the Neovim package that will be wrapped with
+your configuration. This is done with the vim.package option.
{inputs, pkgs, ...}: {
+ # using the neovim-nightly overlay
+ vim.package = inputs.neovim-overlay.packages.${pkgs.stdenv.system}.neovim;
+}
+The neovim-nightly-overlay always exposes an unwrapped package. If using a
+different source, you are highly recommended to get an “unwrapped” version of
+the neovim package, similar to neovim-unwrapped in nixpkgs.
{ pkgs, ...}: {
+ # using the neovim-nightly overlay
+ vim.package = pkgs.neovim-unwrapped;
+}
+
+
nvf exposes a very wide variety of plugins by default, which are consumed by
+module options. This is done for your convenience, and to bundle all necessary
+dependencies into nvf ’s runtime with full control of versioning, testing and
+dependencies. In the case a plugin you need is not available, you may consider
+making a pull request to add the package you’re looking for, or you may add it
+to your configuration locally. The below section describes how new plugins may
+be added to the user’s configuration.
Per nvf ’s design choices, there are several ways of adding custom plugins to
+your configuration as you need them. As we aim for extensive configuration, it
+is possible to add custom plugins (from nixpkgs, pinning tools, flake inputs,
+etc.) to your Neovim configuration before they are even implemented in nvf
+as a module.
:::{.info}
To add a plugin to your runtime, you will need to add it to
+vim.startPlugins list in your configuration. This is akin to cloning a
+plugin to ~/.config/nvim, but they are only ever placed in the Nix store and
+never exposed to the outside world for purity and full isolation.
:::
As you would configure a cloned plugin, you must configure the new plugins that
+you’ve added to startPlugins. nvf provides multiple ways of configuring
+any custom plugins that you might have added to your configuration.
Just making the plugin to your Neovim configuration available might not always
+be enough., for example, if the plugin requires a setup table. In that case, you
+can write custom Lua configuration using one of
config.vim.lazy.plugins.*.setupOpts is useful for lazy-loading plugins, and
+uses an extended version of lz.n's PluginSpec to expose a familiar
+interface. setupModule and setupOpt can be used if the plugin uses a
+require('module').setup(...) pattern. Otherwise, the before and after
+hooks should do what you need.
{
+ config.vim.lazy.plugins = {
+ aerial.nvim = {
+ # ^^^^^^^^^ this name should match the package.pname or package.name
+ package = aerial-nvim;
+
+ setupModule = "aerial";
+ setupOpts = {option_name = false;};
+
+ after = "print('aerial loaded')";
+ };
+ };
+}
+
+
vim.extraPlugins uses an attribute set, which maps DAG section names to a
+custom type, which has the fields package, after, setup. They allow you to
+set the package of the plugin, the sections its setup code should be after (note
+that the extraPlugins option has its own DAG scope), and the its setup code
+respectively. For example:
{pkgs, ...}: {
+ config.vim.extraPlugins = {
+ aerial = {
+ package = pkgs.vimPlugins.aerial-nvim;
+ setup = "require('aerial').setup {}";
+ };
+
+ harpoon = {
+ package = pkgs.vimPlugins.harpoon;
+ setup = "require('harpoon').setup {}";
+ after = ["aerial"]; # place harpoon configuration after aerial
+ };
+ };
+}
+ vim.luaConfigRC also uses an attribute set, but this one is resolved as a DAG
+directly. The attribute names denote the section names, and the values lua code.
+For example:
{
+ # This will create a section called "aquarium" in the 'init.lua' with the
+ # contents of your custom configuration. By default 'entryAnywhere' is implied
+ # in DAGs, so this will be inserted to an arbitrary position. In the case you
+ # wish to control the position of this section with more precision, please
+ # look into the DAGs section of the manual.
+ config.vim.luaConfigRC.aquarium = "vim.cmd('colorscheme aquiarum')";
+}
+Note One of the greatest strengths of nvf is the ability to order
+configuration snippets precisely using the DAG system . DAGs
+are a very powerful mechanism that allows specifying positions
+of individual sections of configuration as needed. We provide helper functions
+in the extended library, usually under inputs.nvf.lib.nvim.dag that you may
+use.
Please refer to the DAG section in the nvf manual
+to find out more about the DAG system.
+
+
+
+
+
As of version 0.7 , an API is exposed to allow configuring lazy-loaded
+plugins via lz.n and lzn-auto-require. Below is a comprehensive example of
+how it may be loaded to lazy-load an arbitrary plugin.
{
+ config.vim.lazy.plugins = {
+ "aerial.nvim" = {
+ package = pkgs.vimPlugins.aerial-nvim;
+ setupModule = "aerial";
+ setupOpts = {
+ option_name = true;
+ };
+ after = ''
+ -- custom lua code to run after plugin is loaded
+ print('aerial loaded')
+ '';
+
+ # Explicitly mark plugin as lazy. You don't need this if you define one of
+ # the trigger "events" below
+ lazy = true;
+
+ # load on command
+ cmd = ["AerialOpen"];
+
+ # load on event
+ event = ["BufEnter"];
+
+ # load on keymap
+ keys = [
+ {
+ key = "<leader>a";
+ action = ":AerialToggle<CR>";
+ }
+ ];
+ };
+ };
+}
+ nvf re-implements LazyFile as a familiar user event to load a plugin when
+a file is opened:
{
+ config.vim.lazy.plugins = {
+ "aerial.nvim" = {
+ package = pkgs.vimPlugins.aerial-nvim;
+ event = [{event = "User"; pattern = "LazyFile";}];
+ # ...
+ };
+ };
+}
+You can consider the LazyFile event as an alias to the combination of
+"BufReadPost", "BufNewFile" and "BufWritePre", i.e., a list containing all
+three of those events: ["BufReadPost" "BufNewFile" "BufWritePre"]
+
+
+
As of version 0.5 , we have a more extensive API for configuring plugins that
+should be preferred over the legacy method. This API is available as
+vim.extraPlugins . Instead of using DAGs exposed by the library
+directly , you may use the extra plugin module as follows:
{pkgs, ...}: {
+ config.vim.extraPlugins = {
+ aerial = {
+ package = pkgs.vimPlugins.aerial-nvim;
+ setup = ''
+ require('aerial').setup {
+ -- some lua configuration here
+ }
+ '';
+ };
+
+ harpoon = {
+ package = pkgs.vimPlugins.harpoon;
+ setup = "require('harpoon').setup {}";
+ after = ["aerial"];
+ };
+ };
+}
+This provides a level of abstraction over the DAG system for faster iteration.
+
Prior to version 0.5 , the method of adding new plugins was adding the plugin
+package to vim.startPlugins and adding its configuration as a DAG under
+one of vim.configRC or vim.luaConfigRC . While configRC has been
+deprecated, users who have not yet updated to 0.5 or those who prefer a more
+hands-on approach may choose to use the old method where the load order of the
+plugins is explicitly determined by DAGs without internal abstractions.
To add a plugin not available in nvf as a module to your configuration using
+the legacy method, you must add it to vim.startPlugins in order to make
+it available to Neovim at runtime.
{pkgs, ...}: {
+ # Add a Neovim plugin from Nixpkgs to the runtime.
+ # This does not need to come explicitly from packages. 'vim.startPlugins'
+ # takes a list of *string* (to load internal plugins) or *package* to load
+ # a Neovim package from any source.
+ vim.startPlugins = [pkgs.vimPlugins.aerial-nvim];
+}
+Once the package is available in Neovim’s runtime, you may use the luaConfigRC
+option to provide configuration as a DAG using the nvf extended library in
+order to configure the added plugin,
{inputs, ...}: let
+ # This assumes you have an input called 'nvf' in your flake inputs
+ # and 'inputs' in your specialArgs. In the case you have passed 'nvf'
+ # to specialArgs, the 'inputs' prefix may be omitted.
+ inherit (inputs.nvf.lib.nvim.dag) entryAnywhere;
+in {
+ # luaConfigRC takes Lua configuration verbatim and inserts it at an arbitrary
+ # position by default or if 'entryAnywhere' is used.
+ vim.luaConfigRC.aerial-nvim= entryAnywhere ''
+ require('aerial').setup {
+ -- your configuration here
+ }
+ '';
+}
+
+
+
+
+
+
+
The additional plugins section details the addition
+of new plugins to nvf under regular circumstances, i.e. while making a pull
+request to the project. You may override those plugins in your config
+to change source versions, e.g., to use newer versions of plugins
+that are not yet updated in nvf .
vim.pluginOverrides = {
+ lazydev-nvim = pkgs.fetchFromGitHub {
+ owner = "folke";
+ repo = "lazydev.nvim";
+ rev = "";
+ hash = "";
+ };
+ # It's also possible to use a flake input
+ lazydev-nvim = inputs.lazydev-nvim;
+ # Or a local path
+ lazydev-nvim = ./lazydev;
+ # Or a npins pin... etc
+};
+This will override the source for the neodev.nvim plugin that is used in nvf
+with your own plugin.
Warning While updating plugin inputs, make sure that any configuration that has been
+deprecated in newer versions is changed in the plugin’s setupOpts. If you
+depend on a new version, requesting a version bump in the issues section is a
+more reliable option.
+
Language specific support means there is a combination of language specific
+plugins, treesitter support, nvim-lspconfig language servers, and null-ls
+integration. This gets you capabilities ranging from autocompletion to
+formatting to diagnostics. The following languages have sections under the
+vim.languages attribute.
Adding support for more languages, and improving support for existing ones are
+great places where you can contribute with a PR.
LSP Custom Packages/Command One of the strengths of nvf is convenient aliases to quickly configure LSP
+servers through the Nix module system. By default the LSP packages for relevant
+language modules will be pulled into the closure. If this is not desirable, you
+may provide a custom LSP package (e.g., a Bash script that calls a command)
+or a list of strings to be interpreted as the command to launch the language
+server. By using a list of strings, you can use this to skip automatic
+installation of a language server, and instead use the one found in your $PATH
+during runtime, for example:
vim.languages.java = {
+ lsp = {
+ enable = true;
+
+ # This expects 'jdt-language-server' to be in your PATH or in
+ # 'vim.extraPackages.' There are no additional checks performed to see
+ # if the command provided is valid.
+ package = ["jdt-language-server" "-data" "~/.cache/jdtls/workspace"];
+ };
+}
+
+
+
We conform to the NixOS options types for the most part, however, a noteworthy
+addition for certain options is the
+DAG (Directed acyclic graph)
+type which is borrowed from home-manager’s extended library. This type is most
+used for topologically sorting strings. The DAG type allows the attribute set
+entries to express dependency relations among themselves. This can, for example,
+be used to control the order of configuration sections in your luaConfigRC.
The below section, mostly taken from the
+home-manager manual
+explains in more detail the overall usage logic of the DAG type.
lib.dag.entryAnywhere (value: T) : DagEntry<T>
Indicates that value can be placed anywhere within the DAG. This is also the
+default for plain attribute set entries, that is
foo.bar = {
+ a = lib.dag.entryAnywhere 0;
+}
+and
foo.bar = {
+ a = 0;
+}
+are equivalent.
+
lib.dag.entryAfter (afters: list string) (value: T) : DagEntry<T>
Indicates that value must be placed after each of the attribute names in the
+given list. For example
foo.bar = {
+ a = 0;
+ b = lib.dag.entryAfter [ "a" ] 1;
+}
+would place b after a in the graph.
+
lib.dag.entryBefore (befores: list string) (value: T) : DagEntry<T>
Indicates that value must be placed before each of the attribute names in
+the given list. For example
foo.bar = {
+ b = lib.dag.entryBefore [ "a" ] 1;
+ a = 0;
+}
+would place b before a in the graph.
+
lib.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry<T>
Indicates that value must be placed before the attribute names in the first
+list and after the attribute names in the second list. For example
foo.bar = {
+ a = 0;
+ c = lib.dag.entryBetween [ "b" ] [ "a" ] 2;
+ b = 1;
+}
+would place c before b and after a in the graph.
There are also a set of functions that generate a DAG from a list. These are
+convenient when you just want to have a linear list of DAG entries, without
+having to manually enter the relationship between each entry. Each of these
+functions take a tag as argument and the DAG entries will be named
+${tag}-${index}.
+
lib.dag.entriesAnywhere (tag: string) (values: [T]) : Dag<T>
Creates a DAG with the given values with each entry labeled using the given tag.
+For example
foo.bar = lib.dag.entriesAnywhere "a" [ 0 1 ];
+is equivalent to
foo.bar = {
+ a-0 = 0;
+ a-1 = lib.dag.entryAfter [ "a-0" ] 1;
+}
+
+
lib.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag<T>
Creates a DAG with the given values with each entry labeled using the given tag.
+The list of values are placed are placed after each of the attribute names in
+afters. For example
foo.bar =
+ { b = 0; } // lib.dag.entriesAfter "a" [ "b" ] [ 1 2 ];
+is equivalent to
foo.bar = {
+ b = 0;
+ a-0 = lib.dag.entryAfter [ "b" ] 1;
+ a-1 = lib.dag.entryAfter [ "a-0" ] 2;
+}
+
+
lib.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag<T>
Creates a DAG with the given values with each entry labeled using the given tag.
+The list of values are placed before each of the attribute names in befores.
+For example
foo.bar =
+ { b = 0; } // lib.dag.entriesBefore "a" [ "b" ] [ 1 2 ];
+is equivalent to
foo.bar = {
+ b = 0;
+ a-0 = 1;
+ a-1 = lib.dag.entryBetween [ "b" ] [ "a-0" ] 2;
+}
+
+
lib.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag<T>
Creates a DAG with the given values with each entry labeled using the given tag.
+The list of values are placed before each of the attribute names in befores
+and after each of the attribute names in afters. For example
foo.bar =
+ { b = 0; c = 3; } // lib.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ];
+is equivalent to
foo.bar = {
+ b = 0;
+ c = 3;
+ a-0 = lib.dag.entryAfter [ "c" ] 1;
+ a-1 = lib.dag.entryBetween [ "b" ] [ "a-0" ] 2;
+}
+
+
+
+
From the previous chapter, it should be clear that DAGs are useful, because you
+can add code that relies on other code. However, if you don’t know what the
+entries are called, it’s hard to do that, so here is a list of the internal
+entries in nvf:
vim.luaConfigRC (top-level DAG) (luaConfigPre) - not a part of the actual DAG, instead, it’s simply
+inserted before the rest of the DAG
globalsScript - used to set globals defined in vim.globals
basic - used to set basic configuration options
optionsScript - used to set options defined in vim.o
theme (this is simply placed before pluginConfigs and lazyConfigs,
+meaning that surrounding entries don’t depend on it) - used to set up the
+theme, which has to be done before other plugins
lazyConfigs - lz.n and lzn-auto-require configs. If vim.lazy.enable
+is false, this will contain each plugin’s config instead.
pluginConfigs - the result of the nested vim.pluginRC (internal option,
+see the Custom Plugins page for adding your
+own plugins) DAG, used to set up internal plugins
extraPluginConfigs - the result of vim.extraPlugins, which is not a
+direct DAG, but is converted to, and resolved as one internally
mappings - the result of vim.maps
+
+
+
Autocommands and Autogroups This module allows you to declaratively configure Neovim autocommands and
+autogroups within your Nix configuration.
Autogroups (vim.augroups) Autogroups (augroup) organize related autocommands. This allows them to be
+managed collectively, such as clearing them all at once to prevent duplicates.
+Each entry in the list is a submodule with the following options:
Example:
{
+ vim.augroups = [
+ {
+ name = "MyCustomAuGroup";
+ clear = true; # Clear previous autocommands in this group on reload
+ }
+ {
+ name = "Formatting";
+ # clear defaults to true
+ }
+ ];
+}
+
+
Autocommands (vim.autocmds) Autocommands (autocmd) trigger actions based on events happening within Neovim
+(e.g., saving a file, entering a buffer). Each entry in the list is a submodule
+with the following options:
Warning You cannot define both callback (for Lua functions) and command (for
+Vimscript) for the same autocommand. Choose one.
Examples:
{ lib, ... }:
+{
+ vim.augroups = [ { name = "UserSetup"; } ];
+
+ vim.autocmds = [
+ # Example 1: Using a Lua callback
+ {
+ event = [ "BufWritePost" ];
+ pattern = [ "*.lua" ];
+ group = "UserSetup";
+ desc = "Notify after saving Lua file";
+ callback = lib.nvim.types.luaInline ''
+ function()
+ vim.notify("Lua file saved!", vim.log.levels.INFO)
+ end
+ '';
+ }
+
+ # Example 2: Using a Vim command
+ {
+ event = [ "FileType" ];
+ pattern = [ "markdown" ];
+ group = "UserSetup";
+ desc = "Set spellcheck for Markdown";
+ command = "setlocal spell";
+ }
+
+ # Example 3: Autocommand without a specific group
+ {
+ event = [ "BufEnter" ];
+ pattern = [ "*.log" ];
+ desc = "Disable line numbers in log files";
+ command = "setlocal nonumber";
+ # No 'group' specified
+ }
+
+ # Example 4: Using Lua for callback
+ {
+ event = [ "BufWinEnter" ];
+ pattern = [ "*" ];
+ desc = "Simple greeting on entering a buffer window";
+ callback = lib.generators.mkLuaInline ''
+ function(args)
+ print("Entered buffer: " .. args.buf)
+ end
+ '';
+
+ # Run only once per session trigger
+ once = true;
+ }
+ ];
+}
+These definitions are automatically translated into the necessary Lua code to
+configure vim.api.nvim_create_augroup and vim.api.nvim_create_autocmd when
+Neovim starts.
+
+
+
+
This section provides helpful tips that may be considered “unorthodox” or “too
+advanced” for some users. We will cover basic debugging steps, offline
+documentation, configuring nvf with pure Lua and using custom plugin sources
+in nvf in this section. For general configuration tips, please see previous
+chapters.
There may be instances where the your Nix configuration evaluates to invalid
+Lua, or times when you will be asked to provide your built Lua configuration for
+easier debugging by nvf maintainers. nvf provides two helpful utilities out of
+the box.
nvf-print-config and nvf-print-config-path will be bundled with nvf as
+lightweight utilities to help you view or share your built configuration when
+necessary.
To view your configuration with syntax highlighting, you may use the
+bat pager .
nvf-print-config | bat --language=lua
+Alternatively, cat or less may also be used.
It is also possible to access the configuration for the wrapped package. The
+built Neovim package will contain a neovimConfig attribute in its
+passthru.
+
+
+
The manpages provided by nvf contains an offline version of the option search
+normally available at https://notashelf.github.io/nvf/options.html . You may
+use the man 5 nvf command to view option documentation from the comfort of
+your terminal.
Note that this is only available for NixOS and Home-Manager module
+installations.
+
We recognize that you might not always want to configure your setup purely in
+Nix, sometimes doing things in Lua is simply the “superior” option. In such a
+case you might want to configure your Neovim instance using Lua, and nothing but
+Lua. It is also possible to mix Lua and Nix configurations.
Pure Lua or hybrid Lua/Nix configurations can be achieved in two different ways.
+Purely , by modifying Neovim’s runtime directory or impurely by placing Lua
+configuration in a directory found in $HOME. For your convenience, this
+section will document both methods as they can be used.
As of 0.6, nvf allows you to modify Neovim’s runtime path to suit your needs.
+One of the ways the new runtime option is to add a configuration located
+relative to your flake.nix , which must be version controlled in pure flakes
+manner.
{
+ # Let us assume we are in the repository root, i.e., the same directory as the
+ # flake.nix. For the sake of the argument, we will assume that the Neovim lua
+ # configuration is in a nvim/ directory relative to flake.nix.
+ vim = {
+ additionalRuntimePaths = [
+ # This will be added to Neovim's runtime paths. Conceptually, this behaves
+ # very similarly to ~/.config/nvim but you may not place a top-level
+ # init.lua to be able to require it directly.
+ ./nvim
+ ];
+ };
+}
+This will add the nvim directory, or rather, the store path that will be
+realised after your flake gets copied to the Nix store, to Neovim’s runtime
+directory. You may now create a lua/myconfig directory within this nvim
+directory, and call it with vim.luaConfigRC .
{pkgs, ...}: {
+ vim = {
+ additionalRuntimePaths = [
+ # You can list more than one file here.
+ ./nvim-custom-1
+
+ # To make sure list items are ordered, use lib.mkBefore or lib.mkAfter
+ # Simply placing list items in a given order will **not** ensure that
+ # this list will be deterministic.
+ ./nvim-custom-2
+ ];
+
+ startPlugins = [pkgs.vimPlugins.gitsigns];
+
+ # Neovim supports in-line syntax highlighting for multi-line strings.
+ # Simply place the filetype in a /* comment */ before the line.
+ luaConfigRC.myconfig = /* lua */ ''
+ -- Call the Lua module from ./nvim/lua/myconfig
+ require("myconfig")
+
+ -- Any additional Lua configuration that you might want *after* your own
+ -- configuration. For example, a plugin setup call.
+ require('gitsigns').setup({})
+ '';
+ };
+}
+
+
Impure Absolute Directory As of Neovim 0.9 , $NVIM_APPNAME is a variable expected by Neovim to
+decide on the configuration directory. nvf sets this variable as "nvf",
+meaning ~/.config/nvf will be regarded as the configuration directory by
+Neovim, similar to how ~/.config/nvim behaves in regular installations. This
+allows some degree of Lua configuration, backed by our low-level wrapper
+mnw . Creating a lua/ directory located in
+$NVIM_APPNAME (“nvf” by default) and placing your configuration in, e.g.,
+~/.config/nvf/lua/myconfig will allow you to require it as a part of the Lua
+module system through nvf’s module system.
Let’s assume your ~/.config/nvf/lua/myconfig/init.lua consists of the
+following:
-- init.lua
+vim.keymap.set("n", " ", "<Nop>", { silent = true, remap = false })
+vim.g.mapleader = " "
+The following Nix configuration via vim.luaConfigRC will allow loading
+this
{
+ # The attribute name "myconfig-dir" here is arbitrary. It is required to be
+ # a *named* attribute by the DAG system, but the name is entirely up to you.
+ vim.luaConfigRC.myconfig-dir = ''
+ require("myconfig")
+
+ -- Any additional Lua
+ '';
+}
+After you load your custom configuration, you may use an init.lua located in
+your custom configuration directory to configure Neovim exactly as you would
+without a wrapper like nvf. If you want to place your require call in a
+specific position (i.e., before or after options you set in nvf) the
+DAG system will let you place your configuration in a location of your
+choosing.
+
+
+
Adding Plugins From Different Sources nvf attempts to avoid depending on Nixpkgs for Neovim plugins. For the most
+part, this is accomplished by defining each plugin’s source and building them
+from source.
To define plugin sources, we use npins and pin each plugin source using
+builtin fetchers. You are not bound by this restriction. In your own
+configuration, any kind of fetcher or plugin source is fine.
vim.startPlugins and vim.optPlugins options take either a string , in
+which case a plugin from nvf’s internal plugins registry will be used, or a
+package . If your plugin does not require any setup, or ordering for it s
+configuration, then it is possible to add it to vim.startPlugins to load it on
+startup.
{pkgs, ...}: {
+ # Aerial does require some setup. In the case you pass a plugin that *does*
+ # require manual setup, then you must also call the setup function.
+ vim.startPlugins = [pkgs.vimPlugins.aerial-nvim];
+}
+This will fetch aerial.nvim from nixpkgs, and add it to Neovim’s runtime path to
+be loaded manually. Although for plugins that require manual setup, you are
+encouraged to use vim.extraPlugins .
{
+ vim.extraPlugins = {
+ aerial = {
+ package = pkgs.vimPlugins.aerial-nvim;
+ setup = "require('aerial').setup {}";
+ };
+ };
+}
+More details on the extraPlugins API is documented in the
+custom plugins section .
+
Building Your Own Plugins In the case a plugin is not available in Nixpkgs, or the Nixpkgs package is
+outdated (or, more likely, broken) it is possible to build the plugins from
+source using a tool, such as npins . You may also use your flake inputs as
+sources.
Example using plugin inputs:
{
+ # In your flake.nix
+ inputs = {
+ aerial-nvim = {
+ url = "github:stevearc/aerial.nvim"
+ flake = false;
+ };
+ };
+
+ # Make sure that 'inputs' is properly propagated into Nvf, for example, through
+ # specialArgs.
+ outputs = { ... };
+}
+In the case, you may use the input directly for the plugin’s source attribute in
+buildVimPlugin.
# Make sure that 'inputs' is properly propagated! It will be missing otherwise
+# and the resulting errors might be too obscure.
+{inputs, ...}: let
+ aerial-from-source = pkgs.vimUtils.buildVimPlugin {
+ name = "aerial-nvim";
+ src = inputs.aerial-nvim;
+ };
+in {
+ vim.extraPlugins = {
+ aerial = {
+ package = aerial-from-source;
+ setup = "require('aerial').setup {}";
+ };
+ };
+}
+Alternatively, if you do not want to keep track of the source using flake inputs
+or npins, you may call fetchFromGitHub (or other fetchers) directly. An
+example would look like this.
regexplainer = buildVimPlugin {
+ name = "nvim-regexplainer";
+ src = fetchFromGitHub {
+ owner = "bennypowers";
+ repo = "nvim-regexplainer";
+ rev = "4250c8f3c1307876384e70eeedde5149249e154f";
+ hash = "sha256-15DLbKtOgUPq4DcF71jFYu31faDn52k3P1x47GL3+b0=";
+ };
+
+ # The 'buildVimPlugin' imposes some "require checks" on all plugins build from
+ # source. Failing tests, if they are not relevant, can be disabled using the
+ # 'nvimSkipModule' argument to the 'buildVimPlugin' function.
+ nvimSkipModule = [
+ "regexplainer"
+ "regexplainer.buffers.init"
+ "regexplainer.buffers.popup"
+ "regexplainer.buffers.register"
+ "regexplainer.buffers.shared"
+ "regexplainer.buffers.split"
+ "regexplainer.component.descriptions"
+ "regexplainer.component.init"
+ "regexplainer.renderers.narrative.init"
+ "regexplainer.renderers.narrative.narrative"
+ "regexplainer.renderers.init"
+ "regexplainer.utils.defer"
+ "regexplainer.utils.init"
+ "regexplainer.utils.treesitter"
+ ];
+}
+
+
+
+
+
nvf is designed for the developer as much as it is designed for the end-user. We
+would like for any contributor to be able to propagate their changes, or add new
+features to the project with minimum possible friction. As such, below are the
+guides and guidelines written to streamline the contribution process and to
+ensure that your valuable input integrates into nvf’s development as seamlessly
+as possible without leaving any question marks in your head.
This section is directed mainly towards those who wish to contribute code into
+the project. If you instead wish to report a bug, or discuss a potential new
+feature implementation (which you do not wish to implement yourself) first look
+among the already open issues and if no matching issue exists you may open a
+new issue and describe your problem/request.
While creating an issue, please try to include as much information as you can,
+ideally also include relevant context in which an issue occurs or a feature
+should be implemented. If you wish to make a contribution, but feel stuck -
+please do not be afraid to submit a pull request, we will help you get it in.
You, naturally, would like to start by forking the repository to get started. If
+you are new to Git and GitHub, do have a look at GitHub’s
+Fork a repo guide for
+instructions on how you can do this. Once you have a fork of nvf , you should
+create a separate branch based on the most recent main branch. Give your
+branch a reasonably descriptive name (e.g. feature/debugger or
+fix/pesky-bug) and you are ready to work on your changes
Implement your changes and commit them to the newly created branch and when you
+are happy with the result, and positive that it fulfills our
+Contributing Guidelines , push the branch to GitHub and
+create a pull request .
+The default pull request template available on the nvf repository will guide
+you through the rest of the process, and we’ll gently nudge you in the correct
+direction if there are any mistakes.
+
If your contribution tightly follows the guidelines, then there is a good chance
+it will be merged without too much trouble. Some of the guidelines will be
+strictly enforced, others will remain as gentle nudges towards the correct
+direction. As we have no automated system enforcing those guidelines, please try
+to double check your changes before making your pull request in order to avoid
+“faulty” code slipping by.
If you are uncertain how these rules affect the change you would like to make
+then feel free to start a discussion in the
+discussions tab ideally (but not
+necessarily) before you start developing.
Almost all changes warrant updates to the documentation: at the very least, you
+must update the changelog. Both the manual and module options use
+Nixpkgs Flavoured Markdown .
The HTML version of this manual containing both the module option descriptions
+and the documentation of nvf (such as this page) can be generated and opened
+by typing the following in a shell within a clone of the nvf Git repository:
$ nix build .#docs-html
+$ xdg-open $PWD/result/share/doc/nvf/index.html
+
+
Make sure your code is formatted as described in
+code-style section . To maintain consistency
+throughout the project you are encouraged to browse through existing code and
+adopt its style also in new code.
+
The commits in your pull request should be reasonably self-contained. Which
+means each and every commit in a pull request should make sense both on its own
+and in general context. That is, a second commit should not resolve an issue
+that is introduced in an earlier commit. In particular, you will be asked to
+amend any commit that introduces syntax errors or similar problems even if they
+are fixed in a later commit.
The commit messages should follow the
+seven rules , except for
+“Capitalize the subject line”. We also ask you to include the affected code
+component or module in the first line. A commit message ideally, but not
+necessarily, follow the given template from home-manager’s own documentation
{component}: {description}
+
+ {long description}
+where {component} refers to the code component (or module) your change
+affects, {description} is a very brief description of your change, and
+{long description} is an optional clarifying description. As a rare exception,
+if there is no clear component, or your change affects many components, then the
+{component} part is optional. See
+example commit message for a commit message
+that fulfills these requirements.
+
The commit
+69f8e47e9e74c8d3d060ca22e18246b7f7d988ef
+in home-manager contains the following commit message.
starship: allow running in Emacs if vterm is used
+
+The vterm buffer is backed by libvterm and can handle Starship prompts
+without issues.
+Similarly, if you are contributing to nvf , you would include the scope of
+the commit followed by the description:
languages/ruby: init module
+
+Adds a language module for Ruby, adds appropriate formatters and Treesitter grammars
+Long description can be omitted if the change is too simple to warrant it. A
+minor fix in spelling or a formatting change does not warrant long description,
+however, a module addition or removal does as you would like to provide the
+relevant context, i.e. the reasoning behind it, for your commit.
Finally, when adding a new module, say modules/foo.nix, we use the fixed
+commit format foo: add module. You can, of course, still include a long
+description if you wish.
In case of nested modules, i.e modules/languages/java.nix you are recommended
+to contain the parent as well - for example languages/java: some major change.
+
Keep lines at a reasonable width, ideally 80 characters or less. This also
+applies to string literals and module descriptions and documentation.
+
nvf is formatted by the alejandra tool and the formatting is checked in
+the pull request and push workflows. Run the nix fmt command inside the
+project repository before submitting your pull request.
While Alejandra is mostly opinionated on how code looks after formatting,
+certain changes are done at the user’s discretion based on how the original code
+was structured.
Please use one line code for attribute sets that contain only one subset. For
+example:
# parent modules should always be unfolded
+# which means module = { value = ... } instead of module.value = { ... }
+module = {
+ value = mkEnableOption "some description" // { default = true; }; # merges can be done inline where possible
+
+ # same as parent modules, unfold submodules
+ subModule = {
+ # this is an option that contains more than one nested value
+ # Note: try to be careful about the ordering of `mkOption` arguments.
+ # General rule of thumb is to order from least to most likely to change.
+ # This is, for most cases, type < default < description.
+ # Example, if present, would be between default and description
+ someOtherValue = mkOption {
+ type = lib.types.bool;
+ default = true;
+ description = "Some other description";
+ };
+ };
+}
+If you move a line down after the merge operator, Alejandra will automatically
+unfold the whole merged attrset for you, which we do not want.
module = {
+ key = mkEnableOption "some description" // {
+ default = true; # we want this to be inline
+ }; # ...
+}
+For lists, it is mostly up to your own discretion how you want to format them,
+but please try to unfold lists if they contain multiple items and especially if
+they are to include comments.
# this is ok
+acceptableList = [
+ item1 # comment
+ item2
+ item3 # some other comment
+ item4
+];
+
+# this is not ok
+listToBeAvoided = [item1 item2 /* comment */ item3 item4];
+
+# this is ok
+acceptableList = [item1 item2];
+
+# this is also ok if the list is expected to contain more elements
+acceptableList= [
+ item1
+ item2
+ # more items if needed...
+];
+
+
+
+
+
+
Once you have made your changes, you will need to test them thoroughly. If it is
+a module, add your module option to configuration.nix (located in the root of
+this project) inside neovimConfiguration. Enable it, and then run the maximal
+configuration with nix run .#maximal -Lv to check for build errors. If neovim
+opens in the current directory without any error messages (you can check the
+output of :messages inside neovim to see if there are any errors), then your
+changes are good to go. Open your pull request, and it will be reviewed as soon
+as possible.
If it is not a new module, but a change to an existing one, then make sure the
+module you have changed is enabled in the maximal configuration by editing
+configuration.nix, and then run it with nix run .#maximal -Lv. Same
+procedure as adding a new module will apply here.
+
As of 0.4, there exists an API for writing your own keybinds and a couple of
+useful utility functions are available in the
+extended standard library . The
+following section contains a general overview to how you may utilize said
+functions.
Custom Key Mappings Support for a Plugin To set a mapping, you should define it in vim.keymaps.
An example, simple keybinding, can look like this:
{
+ vim.keymaps = [
+ {
+ key = "<leader>wq";
+ mode = ["n"];
+ action = ":wq<CR>";
+ silent = true;
+ desc = "Save file and quit";
+ }
+ ];
+}
+There are many settings available in the options. Please refer to the
+documentation to
+see a list of them.
nvf provides a helper function, so that you don’t have to write the
+mapping attribute sets every time:
You can read the source code of some modules to see them in action, but the
+usage should look something like this:
# plugindefinition.nix
+{lib, ...}: let
+ inherit (lib.options) mkEnableOption;
+ inherit (lib.nvim.binds) mkMappingOption;
+in {
+ options.vim.plugin = {
+ enable = mkEnableOption "Enable plugin";
+
+ # Mappings should always be inside an attrset called mappings
+ mappings = {
+ workspaceDiagnostics = mkMappingOption "Workspace diagnostics [trouble]" "<leader>lwd";
+ documentDiagnostics = mkMappingOption "Document diagnostics [trouble]" "<leader>ld";
+ lspReferences = mkMappingOption "LSP References [trouble]" "<leader>lr";
+ quickfix = mkMappingOption "QuickFix [trouble]" "<leader>xq";
+ locList = mkMappingOption "LOCList [trouble]" "<leader>xl";
+ symbols = mkMappingOption "Symbols [trouble]" "<leader>xs";
+ };
+}
+# config.nix
+{
+ config,
+ lib,
+ options,
+ ...
+}: let
+ inherit (lib.modules) mkIf;
+ inherit (lib.nvim.binds) mkKeymap;
+
+ cfg = config.vim.plugin;
+
+ keys = cfg.mappings;
+ inherit (options.vim.lsp.trouble) mappings;
+in {
+ config = mkIf cfg.enable {
+ vim.keymaps = [
+ (mkKeymap "n" keys.workspaceDiagnostics "<cmd>Trouble toggle diagnostics<CR>" {desc = mappings.workspaceDiagnostics.description;})
+ (mkKeymap "n" keys.documentDiagnostics "<cmd>Trouble toggle diagnostics filter.buf=0<CR>" {desc = mappings.documentDiagnostics.description;})
+ (mkKeymap "n" keys.lspReferences "<cmd>Trouble toggle lsp_references<CR>" {desc = mappings.lspReferences.description;})
+ (mkKeymap "n" keys.quickfix "<cmd>Trouble toggle quickfix<CR>" {desc = mappings.quickfix.description;})
+ (mkKeymap "n" keys.locList "<cmd>Trouble toggle loclist<CR>" {desc = mappings.locList.description;})
+ (mkKeymap "n" keys.symbols "<cmd>Trouble toggle symbols<CR>" {desc = mappings.symbols.description;})
+ ];
+ };
+}
+Note If you have come across a plugin that has an API that doesn’t seem to easily
+allow custom keybindings, don’t be scared to implement a draft PR. We’ll help
+you get it done.
+
+
+
To add a new Neovim plugin, use npins
Use:
nix-shell -p npins or nix shell nixpkgs#npins
Then run:
npins add --name <plugin name> github <owner> <repo> -b <branch>
Be sure to replace any non-alphanumeric characters with - for --name
For example
npins add --name lazydev-nvim github folke lazydev.nvim -b main
You can now reference this plugin as a string .
config.vim.startPlugins = ["lazydev-nvim"];
+ Most plugins is initialized with a call to require('plugin').setup({...}).
We use a special function that lets you easily add support for such setup
+options in a modular way: mkPluginSetupOption.
Once you have added the source of the plugin as shown above, you can define the
+setup options like this:
# in modules/.../your-plugin/your-plugin.nix
+
+{lib, ...}:
+let
+ inherit (lib.types) bool int;
+ inherit (lib.nvim.types) mkPluginSetupOption;
+in {
+ options.vim.your-plugin = {
+ setupOpts = mkPluginSetupOption "plugin name" {
+ enable_feature_a = mkOption {
+ type = bool;
+ default = false;
+ # ...
+ };
+
+ number_option = mkOption {
+ type = int;
+ default = 3;
+ # ...
+ };
+ };
+ };
+}
+# in modules/.../your-plugin/config.nix
+{lib, config, ...}:
+let
+ cfg = config.vim.your-plugin;
+in {
+ vim.luaConfigRC = lib.nvim.dag.entryAnywhere ''
+ require('plugin-name').setup(${lib.nvim.lua.toLuaObject cfg.setupOpts})
+ '';
+}
+This above config will result in this lua script:
require('plugin-name').setup({
+ enable_feature_a = false,
+ number_option = 3,
+})
+Now users can set any of the pre-defined option field, and can also add their
+own fields!
# in user's config
+{
+ vim.your-plugin.setupOpts = {
+ enable_feature_a = true;
+ number_option = 4;
+ another_field = "hello";
+ size = { # nested fields work as well
+ top = 10;
+ };
+ };
+}
+
+
As you’ve seen above, toLuaObject is used to convert our nix attrSet
+cfg.setupOpts, into a lua table. Here are some rules of the conversion:
nix null converts to lua nil
number and strings convert to their lua counterparts
nix attrSet/list convert into lua tables
you can write raw lua code using lib.generators.mkLuaInline. This function
+is part of nixpkgs.
Example:
vim.your-plugin.setupOpts = {
+ on_init = lib.generators.mkLuaInline ''
+ function()
+ print('we can write lua!')
+ end
+ '';
+}
+
+
If the plugin can be lazy-loaded, vim.lazy.plugins should be used to add it.
+Lazy plugins are managed by lz.n.
# in modules/.../your-plugin/config.nix
+{lib, config, ...}:
+let
+ cfg = config.vim.your-plugin;
+in {
+ vim.lazy.plugins.your-plugin = {
+ # instead of vim.startPlugins, use this:
+ package = "your-plugin";
+
+ # if your plugin uses the `require('your-plugin').setup{...}` pattern
+ setupModule = "your-plugin";
+ inherit (cfg) setupOpts;
+
+ # events that trigger this plugin to be loaded
+ event = ["DirChanged"];
+ cmd = ["YourPluginCommand"];
+
+ # keymaps
+ keys = [
+ # we'll cover this in detail in the keymaps section
+ {
+ key = "<leader>d";
+ mode = "n";
+ action = ":YourPluginCommand";
+ }
+ ];
+ };
+;
+}
+This results in the following lua code:
require('lz.n').load({
+ {
+ "name-of-your-plugin",
+ after = function()
+ require('your-plugin').setup({--[[ your setupOpts ]]})
+ end,
+
+ event = {"DirChanged"},
+ cmd = {"YourPluginCommand"},
+ keys = {
+ {"<leader>d", ":YourPluginCommand", mode = {"n"}},
+ },
+ }
+})
+A full list of options can be found
+[here](https://notashelf.github.io/nvf/options.html#opt-vim.lazy.plugins
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs-preview-1014/options.html b/docs-preview-1014/options.html
new file mode 100644
index 00000000..66b7153a
--- /dev/null
+++ b/docs-preview-1014/options.html
@@ -0,0 +1,52745 @@
+
+
+
+
+
+ Appendix B. nvf Configuration Options
+
+
+
+
+
+
+
+
Appendix B. nvf Configuration Options Below are the module options provided by nvf, in no particular order. Most
+options will include useful comments, warnings or setup tips on how a module
+option is meant to be used as well as examples in complex cases.
An offline version of this page is bundled with nvf as a part of the manpages
+which you can access with man 5 nvf. Please let us know if you believe any of
+the options below are missing useful examples.
+
+
+
+
+ _module.args
+
+
+
+
+Additional arguments passed to each module in addition to ones
+like lib, config,
+and pkgs, modulesPath.
This option is also available to all submodules. Submodules do not
+inherit args from their parent module, nor do they provide args to
+their parent module or sibling submodules. The sole exception to
+this is the argument name which is provided by
+parent modules to a submodule and contains the attribute name
+the submodule is bound to, or a unique generated name if it is
+not bound to an attribute.
Some arguments are already passed by default, of which the
+following cannot be changed with this option:
lib: The nixpkgs library.
config: The results of all options after merging the values from all modules together.
options: The options declared in all modules.
specialArgs: The specialArgs argument passed to evalModules.
All attributes of specialArgs
Whereas option values can generally depend on other option values
+thanks to laziness, this does not apply to imports, which
+must be computed statically before anything else.
For this reason, callers of the module system can provide specialArgs
+which are available during import resolution.
For NixOS, specialArgs includes
+modulesPath, which allows you to import
+extra modules from the nixpkgs package tree without having to
+somehow make the module aware of the location of the
+nixpkgs or NixOS directories.
{ modulesPath, ... }: {
+ imports = [
+ (modulesPath + "/profiles/minimal.nix")
+ ];
+}
+For NixOS, the default value for this option includes at least this argument:
+
+Type:
+lazy attribute set of raw value
+
+Declared by:
+
+
+
+
+ vim.enableLuaLoader
+
+
+
+
+Whether to enable the experimental Lua module loader to speed up the start
+up process. If true, this will enable the experimental Lua module loader
+which:
Note The Lua module loader is disabled by default. Before setting this option, please
+take a look at the [official documentation]. This option may be enabled by
+default in the future.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.package
+
+
+
+
+The neovim package to use for the wrapper. This
+corresponds to the package that will be wrapped
+with your plugins and settings.
Warning You will need to use an unwrapped package for this
+option to work as intended. Using an already wrapped
+package here may yield undesirable results.
+
+Type:
+package
+
+Default:
+<derivation neovim-unwrapped-0.11.2>
+
+Declared by:
+
+
+
+
+ vim.additionalRuntimePaths
+
+
+
+
+Additional runtime paths that will be appended to the
+active runtimepath of the Neovim. This can be used to
+add additional lookup paths for configs, plugins, spell
+languages and other things you would generally place in
+your $HOME/.config/nvim.
This is meant as a declarative alternative to throwing
+files into ~/.config/nvim and having the Neovim
+wrapper pick them up. For more details on
+vim.o.runtimepath, and what paths to use; please see
+the official documentation
+
+Type:
+list of (absolute path or string)
+
+Default:
+[ ]
+
+Example:
[
+ # absolute path, as a string - impure
+ "$HOME/.config/nvim-extra"
+
+ # relative path, as a path - pure
+ ./nvim
+
+ # source type path - pure and reproducible
+ (builtins.source {
+ path = ./runtime;
+ name = "nvim-runtime";
+ })
+]
+
+
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.enable
+
+
+
+
+Whether to enable complementary Neovim plugin for avante.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of avante-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.auto_suggestions_provider
+
+
+
+
+Since auto-suggestions are a high-frequency operation and therefore expensive,
+currently designating it as copilot provider is dangerous because:
+https://github.com/yetone/avante.nvim/issues/1048
+Of course, you can reduce the request frequency by increasing suggestion.debounce.
+
+Type:
+string
+
+Default:
+"claude"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.enable_claude_text_editor_tool_mode
+
+
+
+
+Whether to enable Claude Text Editor Tool Mode…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.enable_cursor_planning_mode
+
+
+
+
+Whether to enable Cursor Planning Mode…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.enable_token_counting
+
+
+
+
+Whether to enable token counting…
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.auto_apply_diff_after_generation
+
+
+
+
+Whether to enable automatically apply diff after LLM response…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.auto_set_highlight_group
+
+
+
+
+Whether to enable automatically set the highlight group for the current line…
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.auto_set_keymaps
+
+
+
+
+Whether to enable automatically set the keymap for the current line…
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.auto_suggestions
+
+
+
+
+Whether to enable auto suggestions…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.minimize_diff
+
+
+
+
+Whether to enable remove unchanged lines when applying a code block…
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.behaviour.support_paste_from_clipboard
+
+
+
+
+Whether to enable pasting image from clipboard.
+This will be determined automatically based whether img-clip is available or not.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.cursor_applying_provider
+
+
+
+
+The provider used in the applying phase of Cursor Planning Mode, defaults to nil,
+Config.provider will be used as the provider for the applying phase when nil.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.diff.autojump
+
+
+
+
+Automatically jumps to the next change.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.diff.override_timeoutlen
+
+
+
+
+Override the ‘timeoutlen’ setting while hovering over a diff (see :help timeoutlen ).
+Helps to avoid entering operator-pending mode with diff mappings starting with c.
+Disable by setting to -1.
+
+Type:
+signed integer
+
+Default:
+500
+
+Example:
+-1
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.dual_boost.enabled
+
+
+
+
+Whether to enable dual_boost mode…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.dual_boost.first_provider
+
+
+
+
+The first provider to generate response.
+
+Type:
+string
+
+Default:
+"openai"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.dual_boost.prompt
+
+
+
+
+The prompt to generate response based on the two reference outputs.
+
+Type:
+string
+
+Default:
''
+ Based on the two reference outputs below, generate a response that incorporates
+ elements from both but reflects your own judgment and unique perspective.
+ Do not provide any explanation, just give the response directly. Reference Output 1:
+ [{{provider1_output}}], Reference Output 2: [{{provider2_output}}''
+
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.dual_boost.second_provider
+
+
+
+
+The second provider to generate response.
+
+Type:
+string
+
+Default:
+"claude"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.dual_boost.timeout
+
+
+
+
+Timeout in milliseconds.
+
+Type:
+signed integer
+
+Default:
+60000
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.hints.enabled
+
+
+
+
+Whether to enable hints.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.mappings.cancel
+
+
+
+
+Define or override the default keymaps for cancel actions.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.mappings.diff
+
+
+
+
+Define or override the default keymaps for diff.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.mappings.jump
+
+
+
+
+Define or override the default keymaps for jump actions.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.mappings.sidebar
+
+
+
+
+Define or override the default keymaps for sidebar actions.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.mappings.submit
+
+
+
+
+Define or override the default keymaps for submit actions.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.mappings.suggestion
+
+
+
+
+Define or override the default keymaps for suggestion actions.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.provider
+
+
+
+
+The provider used in Aider mode or in the planning phase of Cursor Planning Mode.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.providers
+
+
+
+
+Define settings for builtin and custom providers.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Example:
openai = {
+ endpoint = "https://api.openai.com/v1";
+ model = "gpt-4o"; # your desired model (or use gpt-4o, etc.)
+ timeout = 30000; # Timeout in milliseconds, increase this for reasoning models
+ extra_request_body = {
+ temperature = 0;
+ max_completion_tokens = 8192; # Increase this to include reasoning tokens (for reasoning models)
+ reasoning_effort = "medium"; # low|medium|high, only used for reasoning models
+ };
+ };
+ ollama = {
+ endpoint = "http://127.0.0.1:11434";
+ timeout = 30000; # Timeout in milliseconds
+ extra_request_body = {
+ options = {
+ temperature = 0.75;
+ num_ctx = 20480;
+ keep_alive = "5m";
+ };
+ };
+ };
+ groq = {
+ __inherited_from = "openai";
+ api_key_name = "GROQ_API_KEY";
+ endpoint = "https://api.groq.com/openai/v1/";
+ model = "llama-3.3-70b-versatile";
+ disable_tools = true;
+ extra_request_body = {
+ temperature = 1;
+ max_tokens = 32768; # remember to increase this value, otherwise it will stop generating halfway
+ };
+ };
+
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.suggestion.debounce
+
+
+
+
+Suggestion debounce in milliseconds.
+
+Type:
+signed integer
+
+Default:
+600
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.suggestion.throttle
+
+
+
+
+Suggestion throttle in milliseconds.
+
+Type:
+signed integer
+
+Default:
+600
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.ask.border
+
+
+
+
+The border type on the ask window.
+
+Type:
+string
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.ask.floating
+
+
+
+
+Open the ‘AvanteAsk’ prompt in a floating window.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.ask.focus_on_apply
+
+
+
+
+Which diff to focus after applying.
+
+Type:
+one of “ours”, “theirs”
+
+Default:
+"ours"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.ask.start_insert
+
+
+
+
+Start insert mode when opening the ask window.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.edit.border
+
+
+
+
+The border type on the edit window.
+
+Type:
+string
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.edit.start_insert
+
+
+
+
+Start insert mode when opening the edit window.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.input.height
+
+
+
+
+Height of the input window in vertical layout.
+
+Type:
+signed integer
+
+Default:
+8
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.input.prefix
+
+
+
+
+The prefix used on the user input.
+
+Type:
+string
+
+Default:
+"> "
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.position
+
+
+
+
+The position of the sidebar.
+
+Type:
+one of “right”, “left”, “top”, “bottom”
+
+Default:
+"right"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.sidebar_header.enabled
+
+
+
+
+enable/disable the header.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.sidebar_header.align
+
+
+
+
+Position of the title.
+
+Type:
+one of “right”, “center”, “left”
+
+Default:
+"center"
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.sidebar_header.rounded
+
+
+
+
+Enable rounded sidebar header
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.width
+
+
+
+
+Default % based on available width.
+
+Type:
+signed integer
+
+Default:
+30
+
+Declared by:
+
+
+
+
+ vim.assistant.avante-nvim.setupOpts.windows.wrap
+
+
+
+
+similar to vim.o.wrap.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.enable
+
+
+
+
+Whether to enable ChatGPT AI assistant. Requires the environment variable OPENAI_API_KEY to be set.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.addTests
+
+
+
+
+[ChatGPT] Add tests
+
+Type:
+null or string
+
+Default:
+"<leader>aa"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.chatGpt
+
+
+
+
+ChatGPT
+
+Type:
+null or string
+
+Default:
+"<leader>ac"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.docstring
+
+
+
+
+[ChatGPT] Docstring
+
+Type:
+null or string
+
+Default:
+"<leader>ad"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.editWithInstructions
+
+
+
+
+[ChatGPT] Edit with instructions
+
+Type:
+null or string
+
+Default:
+"<leader>ae"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.explain
+
+
+
+
+[ChatGPT] Explain code
+
+Type:
+null or string
+
+Default:
+"<leader>ax"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.fixBugs
+
+
+
+
+[ChatGPT] Fix bugs
+
+Type:
+null or string
+
+Default:
+"<leader>af"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.grammarCorrection
+
+
+
+
+[ChatGPT] Grammar correction
+
+Type:
+null or string
+
+Default:
+"<leader>ag"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.keyword
+
+
+
+
+[ChatGPT] Keywords
+
+Type:
+null or string
+
+Default:
+"<leader>ak"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.optimize
+
+
+
+
+[ChatGPT] Optimize code
+
+Type:
+null or string
+
+Default:
+"<leader>ao"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.readabilityanalysis
+
+
+
+
+[ChatGPT] Code reability analysis
+
+Type:
+null or string
+
+Default:
+"<leader>al"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.roxygenEdit
+
+
+
+
+[ChatGPT] Roxygen edit
+
+Type:
+null or string
+
+Default:
+"<leader>ar"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.summarize
+
+
+
+
+[ChatGPT] Summarize
+
+Type:
+null or string
+
+Default:
+"<leader>as"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.mappings.translate
+
+
+
+
+[ChatGPT] Translate
+
+Type:
+null or string
+
+Default:
+"<leader>at"
+
+Declared by:
+
+
+
+
+ vim.assistant.chatgpt.setupOpts
+
+
+
+
+Option table to pass into the setup function of chatgpt
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.enable
+
+
+
+
+Whether to enable complementary neovim plugin for codecompanion.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of codecompanion-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.adapters
+
+
+
+
+An adapter is what connects Neovim to an LLM.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.height
+
+
+
+
+Height of the action palette.
+
+Type:
+signed integer
+
+Default:
+10
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.opts.show_default_actions
+
+
+
+
+Whether to enable showing default
+actions in the action palette.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.opts.show_default_prompt_library
+
+
+
+
+Whether to enable showing default
+prompt library in the action palette.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.prompt
+
+
+
+
+Prompt used for interactive LLM calls.
+
+Type:
+string
+
+Default:
+"Prompt "
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.provider
+
+
+
+
+Provider used for the action palette.
+
+Type:
+one of “default”, “telescope”, “mini_pick”
+
+Default:
+"default"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.action_palette.width
+
+
+
+
+Width of the action palette.
+
+Type:
+signed integer
+
+Default:
+95
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.auto_scroll
+
+
+
+
+Whether to enable automatic page scrolling.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.icons.pinned_buffer
+
+
+
+
+The icon to represent a pinned buffer.
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.icons.watched_buffer
+
+
+
+
+The icon to represent a watched buffer.
+
+Type:
+string
+
+Default:
+"👀 "
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.intro_message
+
+
+
+
+Message to appear in chat buffer.
+
+Type:
+string
+
+Default:
+"Welcome to CodeCompanion ✨! Press ? for options."
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.separator
+
+
+
+
+The separator between the
+different messages in the chat buffer.
+
+Type:
+string
+
+Default:
+"─"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_header_separator
+
+
+
+
+Whether to enable header separators in the chat buffer.
Set this to false if you’re using an
+external markdown formatting plugin.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_references
+
+
+
+
+Whether to enable references in the chat buffer.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_settings
+
+
+
+
+Whether to enable LLM settings to appear at the top of the chat buffer.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.show_token_count
+
+
+
+
+Whether to enable the token count for each response.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.chat.start_in_insert_mode
+
+
+
+
+Whether to enable opening the chat buffer in insert mode.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.diff.enabled
+
+
+
+
+Whether to enable a diff view
+to see the changes made by the LLM.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.diff.close_chat_at
+
+
+
+
+Close an open chat buffer if the
+total columns of your display are less than…
+
+Type:
+signed integer
+
+Default:
+240
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.diff.layout
+
+
+
+
+Type of split for default provider.
+
+Type:
+one of “vertical”, “horizontal”
+
+Default:
+"vertical"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.diff.provider
+
+
+
+
+The preferred kind of provider.
+
+Type:
+one of “default”, “mini_diff”
+
+Default:
+"default"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.display.inline.layout
+
+
+
+
+Customize how output is created in new buffer.
+
+Type:
+one of “vertical”, “horizontal”, “buffer”
+
+Default:
+"vertical"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.opts.language
+
+
+
+
+Specify which language an LLM should respond in.
+
+Type:
+string
+
+Default:
+"English"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.opts.log_level
+
+
+
+
+Change the level of logging.
+
+Type:
+one of “DEBUG”, “INFO”, “ERROR”, “TRACE”
+
+Default:
+"ERROR"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.opts.send_code
+
+
+
+
+Whether to enable code being sent to the LLM.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.prompt_library
+
+
+
+
+A prompt library is a collection of prompts
+that can be used in the action palette.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.adapter
+
+
+
+
+Adapter used for the chat strategy.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.keymaps
+
+
+
+
+Define or override the default keymaps.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.roles
+
+
+
+
+The chat buffer places user and LLM responses under a H2 header.
+These can be customized in the configuration.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.slash_commands
+
+
+
+
+Slash Commands (invoked with /) let you dynamically
+insert context into the chat buffer,
+such as file contents or date/time.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.tools
+
+
+
+
+Configure tools to perform specific
+tasks when invoked by an LLM.
+
+Type:
+null or (attribute set)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.chat.variables
+
+
+
+
+Define your own variables
+to share specific content.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.inline.adapter
+
+
+
+
+Adapter used for the inline strategy.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.inline.keymaps.accept_change.n
+
+
+
+
+Accept the suggested change.
+
+Type:
+string
+
+Default:
+"ga"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.inline.keymaps.reject_change.n
+
+
+
+
+Reject the suggested change.
+
+Type:
+string
+
+Default:
+"gr"
+
+Declared by:
+
+
+
+
+ vim.assistant.codecompanion-nvim.setupOpts.strategies.inline.variables
+
+
+
+
+Define your own variables
+to share specific content.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.enable
+
+
+
+
+Whether to enable GitHub Copilot AI assistant.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.cmp.enable
+
+
+
+
+Whether to enable nvim-cmp integration for GitHub Copilot.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.panel.accept
+
+
+
+
+Accept suggestion
+
+Type:
+null or string
+
+Default:
+"<CR>"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.panel.jumpNext
+
+
+
+
+Jump to next suggestion
+
+Type:
+null or string
+
+Default:
+"]]"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.panel.jumpPrev
+
+
+
+
+Jump to previous suggestion
+
+Type:
+null or string
+
+Default:
+"[["
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.panel.open
+
+
+
+
+Open suggestions
+
+Type:
+null or string
+
+Default:
+"<M-CR>"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.panel.refresh
+
+
+
+
+Refresh suggestions
+
+Type:
+null or string
+
+Default:
+"gr"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.suggestion.accept
+
+
+
+
+Accept suggetion
+
+Type:
+null or string
+
+Default:
+"<M-l>"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.suggestion.acceptLine
+
+
+
+
+Accept next line
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.suggestion.acceptWord
+
+
+
+
+Accept next word
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.suggestion.dismiss
+
+
+
+
+Dismiss suggestion
+
+Type:
+null or string
+
+Default:
+"<C-]>"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.suggestion.next
+
+
+
+
+Next suggestion
+
+Type:
+null or string
+
+Default:
+"<M-]>"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.mappings.suggestion.prev
+
+
+
+
+Previous suggestion
+
+Type:
+null or string
+
+Default:
+"<M-[>"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.setupOpts
+
+
+
+
+Option table to pass into the setup function of Copilot
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.setupOpts.copilot_node_command
+
+
+
+
+The command that will be executed to initiate nodejs for GitHub Copilot.
+Recommended to leave as default.
+
+Type:
+string
+
+Default:
+"\${pkgs.nodejs-slim.out}/bin/node"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.setupOpts.panel.enabled
+
+
+
+
+Whether to enable Completion Panel.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.setupOpts.panel.layout.position
+
+
+
+
+Panel position
+
+Type:
+one of “bottom”, “top”, “left”, “right”
+
+Default:
+"bottom"
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.setupOpts.panel.layout.ratio
+
+
+
+
+Panel size
+
+Type:
+floating point number
+
+Default:
+0.4
+
+Declared by:
+
+
+
+
+ vim.assistant.copilot.setupOpts.suggestion.enabled
+
+
+
+
+Whether to enable Suggestions.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.enable
+
+
+
+
+Whether to enable Supermaven AI assistant.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of Supermaven
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.color.cterm
+
+
+
+
+The cterm color of the suggestion
+
+Type:
+null or 8 bit unsigned integer; between 0 and 255 (both inclusive)
+
+Default:
+null
+
+Example:
+244
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.color.suggestion_color
+
+
+
+
+The hex color of the suggestion
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"#ffffff"
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.condition
+
+
+
+
+Condition function to check for stopping supermaven.
A returned true means to stop supermaven
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.disable_inline_completion
+
+
+
+
+Disable inline completion for use with cmp
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.disable_keymaps
+
+
+
+
+Disable built-in keymaps for more manual control
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.ignore_file
+
+
+
+
+List of fileto ignore
+
+Type:
+null or (attribute set of boolean)
+
+Default:
+null
+
+Example:
{
+ markdown = true;
+}
+
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.keymaps.accept_suggestion
+
+
+
+
+The key to accept a suggestion
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"<Tab>"
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.keymaps.accept_word
+
+
+
+
+The key to accept a word
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"<C-j>"
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.keymaps.clear_suggestion
+
+
+
+
+The key to clear a suggestion
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"<C-]>"
+
+Declared by:
+
+
+
+
+ vim.assistant.supermaven-nvim.setupOpts.log_level
+
+
+
+
+The log level. Set to "off" to disable completely
+
+Type:
+null or one of “off”, “trace”, “debug”, “info”, “warn”, “error”
+
+Default:
+null
+
+Example:
+"info"
+
+Declared by:
+
+
+
+
+ vim.augroups
+
+
+
+
+A list of Neovim autogroups, which are used to organize and manage related
+autocommands together. Groups allow multiple autocommands to be cleared
+or redefined collectively, preventing duplicate definitions.
Each autogroup consists of a name and a boolean indicating whether to clear
+existing autocommands.
+
+Type:
+list of (submodule)
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.augroups.*.enable
+
+
+
+
+Whether to enable this autocommand group.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.augroups.*.clear
+
+
+
+
+Whether to clear existing autocommands in this group before defining new ones.
+This helps avoid duplicate autocommands.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.augroups.*.name
+
+
+
+
+The name of the autocommand group.
+
+Type:
+string
+
+Example:
+"MyAutoCmdGroup"
+
+Declared by:
+
+
+
+
+ vim.autocmds
+
+
+
+
+A list of Neovim autocommands to be registered.
Each entry defines an autocommand, specifying events, patterns, a callback or Vim
+command, an optional group, a description, and execution settings.
+
+Type:
+list of (submodule)
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.enable
+
+
+
+
+Whether to enable this autocommand.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.callback
+
+
+
+
+Lua function to be called when the event(s) are triggered.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Example:
mkLuaInline ''
+ function()
+ print("Saving a Lua file...")
+ end
+'''
+
+
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.command
+
+
+
+
+Vim command to be executed when the event(s) are triggered.
+Cannot be defined if the callback option is already defined.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.desc
+
+
+
+
+A description for the autocommand.
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"Notify when saving a Lua file"
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.event
+
+
+
+
+The event(s) that trigger the autocommand.
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Example:
[
+ "BufRead"
+ "BufWritePre"
+]
+
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.group
+
+
+
+
+An optional autocommand group to manage related autocommands.
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"MyAutoCmdGroup"
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.nested
+
+
+
+
+Whether to allow nested autocommands to trigger.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.once
+
+
+
+
+Whether to run the autocommand only once.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.autocmds.*.pattern
+
+
+
+
+The file pattern(s) that determine when the autocommand applies.
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Example:
[
+ "*.lua"
+ "*.vim"
+]
+
+
+Declared by:
+
+
+
+
+ vim.autocomplete.enableSharedCmpSources
+
+
+
+
+Whether to enable sources shared by blink.cmp and nvim-cmp.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.enable
+
+
+
+
+Whether to enable blink.cmp.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.friendly-snippets.enable
+
+
+
+
+Whether to enable friendly-snippets for blink to source from automatically.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.mappings.close
+
+
+
+
+Close [blink.cmp]
+
+Type:
+null or string
+
+Default:
+"<C-e>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.mappings.complete
+
+
+
+
+Complete [blink.cmp]
+
+Type:
+null or string
+
+Default:
+"<C-Space>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.mappings.confirm
+
+
+
+
+Confirm [blink.cmp]
+
+Type:
+null or string
+
+Default:
+"<CR>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.mappings.next
+
+
+
+
+Next item [blink.cmp]
+
+Type:
+null or string
+
+Default:
+"<Tab>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.mappings.previous
+
+
+
+
+Previous item [blink.cmp]
+
+Type:
+null or string
+
+Default:
+"<S-Tab>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.mappings.scrollDocsDown
+
+
+
+
+Scroll docs down [blink.cmp]
+
+Type:
+null or string
+
+Default:
+"<C-f>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.mappings.scrollDocsUp
+
+
+
+
+Scroll docs up [blink.cmp]
+
+Type:
+null or string
+
+Default:
+"<C-d>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts
+
+
+
+
+Option table to pass into the setup function of blink.cmp
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.cmdline.keymap
+
+
+
+
+blink.cmp cmdline keymap
+
+Type:
+attribute set of list of (string or (luaInline))
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.cmdline.keymap.preset
+
+
+
+
+keymap presets
+
+Type:
+one of “default”, “none”, “super-tab”, “enter”, “cmdline”
+
+Default:
+"none"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.cmdline.sources
+
+
+
+
+List of sources to enable for cmdline. Null means use default source list.
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.completion.documentation.auto_show
+
+
+
+
+Show documentation whenever an item is selected
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.completion.documentation.auto_show_delay_ms
+
+
+
+
+Delay before auto show triggers
+
+Type:
+signed integer
+
+Default:
+200
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.completion.menu.auto_show
+
+
+
+
+Manages the appearance of the completion menu. You may prevent the menu
+from automatically showing by this option to false and manually showing
+it with the show keymap command.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.fuzzy.implementation
+
+
+
+
+fuzzy matcher implementation for Blink.
"lua": slower, Lua native fuzzy matcher implementation
`“rust”: use the SIMD fuzzy matcher, ‘frizbee’
"prefer_rust": use the rust implementation, but fall back to lua
"prefer_rust_with_warning": use the rust implementation, and fall back to lua
+if it is not available after emitting a warning.
+
+Type:
+one of “lua”, “prefer_rust”, “rust”, “prefer_rust_with_warning”
+
+Default:
+"prefer_rust"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.fuzzy.prebuilt_binaries.download
+
+
+
+
+Auto-downloads prebuilt binaries.
::: .{warning}
+Do not enable this option, as it does not work on Nix!
+:::
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.keymap
+
+
+
+
+blink.cmp keymap
+
+Type:
+attribute set of list of (string or (luaInline))
+
+Default:
+{ }
+
+Example:
vim.autocomplete.blink-cmp.setupOpts.keymap = {
+ preset = "none";
+
+ "<Up>" = ["select_prev" "fallback"];
+ "<C-n>" = [
+ (lib.generators.mkLuaInline '''
+ function(cmp)
+ if some_condition then return end -- runs the next command
+ return true -- doesn't run the next command
+ end,
+ ''')
+ "select_next"
+ ];
+};
+
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.keymap.preset
+
+
+
+
+keymap presets
+
+Type:
+one of “default”, “none”, “super-tab”, “enter”, “cmdline”
+
+Default:
+"none"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.sources.default
+
+
+
+
+Default list of sources to enable for completion.
+
+Type:
+list of string
+
+Default:
[
+ "lsp"
+ "path"
+ "snippets"
+ "buffer"
+]
+
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.sources.providers
+
+
+
+
+Settings for completion providers.
+
+Type:
+attribute set of (anything)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.setupOpts.sources.providers.<name>.module
+
+
+
+
+Provider module.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins
+
+
+
+
+blink.cmp sources.
Attribute names must be source names used in vim.autocomplete.blink-cmp.setupOpts.sources.default.
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.<name>.enable
+
+
+
+
+Whether to enable this source.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.<name>.package
+
+
+
+
+blink-cmp source plugin package.
+
+Type:
+null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.<name>.module
+
+
+
+
+Value of vim.autocomplete.blink-cmp.setupOpts.sources.providers.<name>.module.
Should be present in the source’s documentation.
+
+Type:
+string
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.emoji.enable
+
+
+
+
+Whether to enable emoji source.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.emoji.package
+
+
+
+
+blink-cmp emoji source plugin package.
+
+Type:
+null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”
+
+Default:
+"blink-emoji-nvim"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.emoji.module
+
+
+
+
+Value of vim.autocomplete.blink-cmp.setupOpts.sources.providers.emoji.module.
+
+Type:
+string
+
+Default:
+"blink-emoji"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.ripgrep.enable
+
+
+
+
+Whether to enable ripgrep source.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.ripgrep.package
+
+
+
+
+blink-cmp ripgrep source plugin package.
+
+Type:
+null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”
+
+Default:
+"blink-ripgrep-nvim"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.ripgrep.module
+
+
+
+
+Value of vim.autocomplete.blink-cmp.setupOpts.sources.providers.ripgrep.module.
+
+Type:
+string
+
+Default:
+"blink-ripgrep"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.spell.enable
+
+
+
+
+Whether to enable spell source.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.spell.package
+
+
+
+
+blink-cmp spell source plugin package.
+
+Type:
+null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”
+
+Default:
+"blink-cmp-spell"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.blink-cmp.sourcePlugins.spell.module
+
+
+
+
+Value of vim.autocomplete.blink-cmp.setupOpts.sources.providers.spell.module.
+
+Type:
+string
+
+Default:
+"blink-cmp-spell"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.enable
+
+
+
+
+Whether to enable nvim-cmp.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.format
+
+
+
+
+The function used to customize the completion menu entries. This is
+outside of setupOpts to allow for an easier integration with
+lspkind.nvim.
See :help cmp-config.formatting.format.
+
+Type:
+null or (luaInline)
+
+Default:
function(entry, vim_item)
+ vim_item.menu = (${toLuaObject config.vim.autocomplete.nvim-cmp.sources})[entry.source.name]
+ return vim_item
+end
+
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.mappings.close
+
+
+
+
+Close [nvim-cmp]
+
+Type:
+null or string
+
+Default:
+"<C-e>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.mappings.complete
+
+
+
+
+Complete [nvim-cmp]
+
+Type:
+null or string
+
+Default:
+"<C-Space>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.mappings.confirm
+
+
+
+
+Confirm [nvim-cmp]
+
+Type:
+null or string
+
+Default:
+"<CR>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.mappings.next
+
+
+
+
+Next item [nvim-cmp]
+
+Type:
+null or string
+
+Default:
+"<Tab>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.mappings.previous
+
+
+
+
+Previous item [nvim-cmp]
+
+Type:
+null or string
+
+Default:
+"<S-Tab>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.mappings.scrollDocsDown
+
+
+
+
+Scroll docs down [nvim-cmp]
+
+Type:
+null or string
+
+Default:
+"<C-f>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.mappings.scrollDocsUp
+
+
+
+
+Scroll docs up [nvim-cmp]
+
+Type:
+null or string
+
+Default:
+"<C-d>"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.setupOpts
+
+
+
+
+Option table to pass into the setup function of the autocomplete plugin
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.setupOpts.completion.completeopt
+
+
+
+
+A comma-separated list of options for completion.
See :help completeopt for the complete list.
+
+Type:
+string
+
+Default:
+"menu,menuone,noinsert"
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators
+
+
+
+
+The comparator functions used for sorting completions.
You can either pass a valid inline lua function
+(see :help cmp-config.sorting.comparators),
+or a string, in which case the builtin comparator with that name will
+be used.
A deprio function and a kinds
+(require("cmp.types").lsp.CompletionItemKind) variable is provided
+above setupOpts. By passing a type to the function, the returned
+function will be a comparator that always ranks the specified kind the
+lowest.
+
+Type:
+mergeless list of (string or (luaInline))
+
+Default:
[
+ {
+ _type = "lua-inline";
+ expr = "deprio(kinds.Text)";
+ }
+ {
+ _type = "lua-inline";
+ expr = "deprio(kinds.Snippet)";
+ }
+ "offset"
+ "exact"
+ "score"
+ "kind"
+ "length"
+ "sort_text"
+]
+
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.sourcePlugins
+
+
+
+
+List of source plugins used by nvim-cmp.
+
+Type:
+list of (null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.autocomplete.nvim-cmp.sources
+
+
+
+
+The list of sources used by nvim-cmp
+
+Type:
+attribute set of (null or string)
+
+Default:
{
+ buffer = "[Buffer]";
+ nvim-cmp = null;
+ path = "[Path]";
+}
+
+
+Example:
{
+ buffer = "[Buffer]";
+ nvim-cmp = null;
+}
+
+
+Declared by:
+
+
+
+
+ vim.autopairs.nvim-autopairs.enable
+
+
+
+
+Whether to enable autopairs.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.autopairs.nvim-autopairs.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-autopairs
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.bell
+
+
+
+
+Set how bells are handled. Options: on, visual or none
+
+Type:
+one of “none”, “visual”, “on”
+
+Default:
+"none"
+
+Declared by:
+
+
+
+
+ vim.binds.cheatsheet.enable
+
+
+
+
+Whether to enable cheatsheet-nvim: searchable cheatsheet for nvim using telescope.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.binds.hardtime-nvim.enable
+
+
+
+
+Whether to enable hardtime helper for no repeat keybinds.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.binds.hardtime-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of hardtime-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.binds.whichKey.enable
+
+
+
+
+Whether to enable which-key keybind helper menu.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.binds.whichKey.register
+
+
+
+
+Register label for which-key keybind helper menu
+
+Type:
+attribute set of (null or string)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.binds.whichKey.setupOpts
+
+
+
+
+Option table to pass into the setup function of which-key
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.binds.whichKey.setupOpts.notify
+
+
+
+
+Show a warning when issues were detected with mappings
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.binds.whichKey.setupOpts.preset
+
+
+
+
+The default preset for the which-key window
+
+Type:
+one of “classic”, “modern”, “helix”
+
+Default:
+"modern"
+
+Declared by:
+
+
+
+
+ vim.binds.whichKey.setupOpts.replace
+
+
+
+
+Functions/Lua Patterns for formatting the labels
+
+Type:
+attribute set
+
+Default:
{
+ "<cr>" = "RETURN";
+ "<leader>" = "SPACE";
+ "<space>" = "SPACE";
+ "<tab>" = "TAB";
+}
+
+
+Declared by:
+
+
+
+
+ vim.binds.whichKey.setupOpts.win.border
+
+
+
+
+Which-key window border style
+
+Type:
+string
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.build.finalPackage
+
+
+
+
+final output package
+
+Type:
+package (read only)
+
+Declared by:
+
+
+
+
+ vim.clipboard.enable
+
+
+
+
+Whether to enable clipboard management for Neovim. Users may still choose to manage their
+clipboard through vim.options should they wish to avoid using
+this module.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.clipboard.providers
+
+
+
+
+Clipboard providers for which packages will be added to nvf’s
+extraPackages. The package field may be set to null
+if related packages are already found in system packages to
+potentially reduce closure sizes.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.clipboard.providers.wl-copy.enable
+
+
+
+
+Whether to enable wl-copy.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.clipboard.providers.wl-copy.package
+
+
+
+
+The wl-clipboard package to use.
+
+Type:
+null or package
+
+Default:
+pkgs.wl-clipboard
+
+Declared by:
+
+
+
+
+ vim.clipboard.providers.xclip.enable
+
+
+
+
+Whether to enable xclip.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.clipboard.providers.xclip.package
+
+
+
+
+The xclip package to use.
+
+Type:
+null or package
+
+Default:
+pkgs.xclip
+
+Declared by:
+
+
+
+
+ vim.clipboard.providers.xsel.enable
+
+
+
+
+Whether to enable xsel.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.clipboard.providers.xsel.package
+
+
+
+
+The xsel package to use.
+
+Type:
+null or package
+
+Default:
+pkgs.xsel
+
+Declared by:
+
+
+
+
+ vim.clipboard.registers
+
+
+
+
+The register to be used by the Neovim clipboard. Recognized types are:
unnamed: Vim will use the clipboard register "*" for all yank, delete,
+change and put operations which would normally go to the unnamed register.
unnamedplus: A variant of the “unnamed” flag which uses the clipboard register
+"+" (:h quoteplus ) instead of register "*" for all yank, delete,
+change and put operations which would normally go to the unnamed register.
When unnamed and unnamedplus is included simultaneously as "unnamed,unnamedplus",
+yank and delete operations (but not put) will additionally copy the text into register "*".
Please see :h clipboard for more details.
+
+Type:
+string
+
+Default:
+""
+
+Example:
+"unnamedplus"
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.enable
+
+
+
+
+Whether to enable smart and powerful comment plugin for neovim comment-nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.mappings.toggleCurrentBlock
+
+
+
+
+Toggle current block comment
+
+Type:
+null or string
+
+Default:
+"gbc"
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.mappings.toggleCurrentLine
+
+
+
+
+Toggle current line comment
+
+Type:
+null or string
+
+Default:
+"gcc"
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.mappings.toggleOpLeaderBlock
+
+
+
+
+Toggle block comment
+
+Type:
+null or string
+
+Default:
+"gb"
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.mappings.toggleOpLeaderLine
+
+
+
+
+Toggle line comment
+
+Type:
+null or string
+
+Default:
+"gc"
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.mappings.toggleSelectedBlock
+
+
+
+
+Toggle selected block
+
+Type:
+null or string
+
+Default:
+"gb"
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.mappings.toggleSelectedLine
+
+
+
+
+Toggle selected comment
+
+Type:
+null or string
+
+Default:
+"gc"
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of Comment-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.setupOpts.mappings.basic
+
+
+
+
+Whether to enable basic mappings.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.comments.comment-nvim.setupOpts.mappings.extra
+
+
+
+
+Whether to enable extra mappings.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.dashboard.alpha.enable
+
+
+
+
+Whether to enable fast and fully programmable greeter for neovim [alpha.nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.dashboard.alpha.layout
+
+
+
+
+Alpha dashboard layout
+
+Type:
+list of attribute set of anything
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.alpha.opts
+
+
+
+
+Optional global options
+
+Type:
+attribute set of anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.dashboard.alpha.theme
+
+
+
+
+Alpha default theme to use
+
+Type:
+null or one of “dashboard”, “startify”, “theta”
+
+Default:
+"dashboard"
+
+Declared by:
+
+
+
+
+ vim.dashboard.dashboard-nvim.enable
+
+
+
+
+Whether to enable Fancy and Blazing Fast start screen plugin of neovim [dashboard.nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.dashboard.dashboard-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of dashboard.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.enable
+
+
+
+
+Whether to enable dashboard via vim-startify.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.bookmarks
+
+
+
+
+List of book marks to disaply on start page
+
+Type:
+list of (attribute set)
+
+Default:
+[ ]
+
+Example:
{
+ c = "~/.vimrc";
+}
+
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.changeDirCmd
+
+
+
+
+Command to change the current window with. Can be cd, lcd or tcd
+
+Type:
+one of “cd”, “lcd”, “tcd”
+
+Default:
+"lcd"
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.changeToDir
+
+
+
+
+Should vim change to the directory of the file you open
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.changeToVCRoot
+
+
+
+
+Should vim change to the version control root when opening a file
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.commands
+
+
+
+
+Commands that are presented to the user on startify page
+
+Type:
+list of (string or (attribute set) or list of string)
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.customFooter
+
+
+
+
+Text to place in the footer
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.customHeader
+
+
+
+
+Text to place in the header
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.customIndices
+
+
+
+
+Specify a list of default characters to use instead of numbers
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.disableOnStartup
+
+
+
+
+Prevent startify from opening on startup but can be called with :Startify
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.filesNumber
+
+
+
+
+How many files to list
+
+Type:
+signed integer
+
+Default:
+10
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.lists
+
+
+
+
+Specify the lists and in what order they are displayed on startify.
+
+Type:
+list of (attribute set)
+
+Default:
[
+ {
+ header = [
+ "MRU"
+ ];
+ type = "files";
+ }
+ {
+ header = [
+ "MRU Current Directory"
+ ];
+ type = "dir";
+ }
+ {
+ header = [
+ "Sessions"
+ ];
+ type = "sessions";
+ }
+ {
+ header = [
+ "Bookmarks"
+ ];
+ type = "bookmarks";
+ }
+ {
+ header = [
+ "Commands"
+ ];
+ type = "commands";
+ }
+]
+
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.paddingLeft
+
+
+
+
+Number of spaces used for left padding.
+
+Type:
+signed integer
+
+Default:
+3
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionAutoload
+
+
+
+
+Make startify auto load Session.vim files from the current directory
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionBeforeSave
+
+
+
+
+Commands to run before saving a session
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionDeleteBuffers
+
+
+
+
+Delete all buffers when loading or closing a session
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionDir
+
+
+
+
+Directory to save and load sessions from
+
+Type:
+string
+
+Default:
+"~/.vim/session"
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionPersistence
+
+
+
+
+Persist session before leaving vim or switching session
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionRemoveLines
+
+
+
+
+Patterns to remove from session files
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionSavecmds
+
+
+
+
+List of commands to run when loading a session.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionSavevars
+
+
+
+
+List of variables to save into a session file.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.sessionSort
+
+
+
+
+Set if you want items sorted by date rather than alphabetically
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.skipList
+
+
+
+
+List of regex patterns to exclude from MRU lists
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.skipListServer
+
+
+
+
+List of vim servers to not load startify for
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.unsafe
+
+
+
+
+Turns on unsafe mode for Startify. Stops resolving links, checking files are readable and filtering bookmark list
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.updateOldFiles
+
+
+
+
+Set if you want startify to always update and not just when neovim closes
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.dashboard.startify.useEnv
+
+
+
+
+Show environment variables in path if name is shorter than value
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.debugMode.enable
+
+
+
+
+Whether to enable debug mode.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.debugMode.level
+
+
+
+
+Set verbosity level of Neovim while debug mode is enabled.
Value must be be one of the levels expected by Neovim’s
+verbose option
+
+Type:
+one of 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16
+
+Default:
+16
+
+Declared by:
+
+
+
+
+ vim.debugMode.logFile
+
+
+
+
+Set the log file that will be used to store verbose messages
+set by the verbose option.
+
+Type:
+null or absolute path
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.enable
+
+
+
+
+Whether to enable debugging via nvim-dap.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.continue
+
+
+
+
+Continue
+
+Type:
+null or string
+
+Default:
+"<leader>dc"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.goDown
+
+
+
+
+Go down stacktrace
+
+Type:
+null or string
+
+Default:
+"<leader>dvi"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.goUp
+
+
+
+
+Go up stacktrace
+
+Type:
+null or string
+
+Default:
+"<leader>dvo"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.hover
+
+
+
+
+Hover
+
+Type:
+null or string
+
+Default:
+"<leader>dh"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.restart
+
+
+
+
+Restart
+
+Type:
+null or string
+
+Default:
+"<leader>dR"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.runLast
+
+
+
+
+Re-run Last Debug Session
+
+Type:
+null or string
+
+Default:
+"<leader>d."
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.runToCursor
+
+
+
+
+Continue to the current cursor
+
+Type:
+null or string
+
+Default:
+"<leader>dgc"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.stepBack
+
+
+
+
+Step back
+
+Type:
+null or string
+
+Default:
+"<leader>dgk"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.stepInto
+
+
+
+
+Step into function
+
+Type:
+null or string
+
+Default:
+"<leader>dgi"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.stepOut
+
+
+
+
+Step out of function
+
+Type:
+null or string
+
+Default:
+"<leader>dgo"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.stepOver
+
+
+
+
+Next step
+
+Type:
+null or string
+
+Default:
+"<leader>dgj"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.terminate
+
+
+
+
+Terminate
+
+Type:
+null or string
+
+Default:
+"<leader>dq"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.toggleBreakpoint
+
+
+
+
+Toggle breakpoint
+
+Type:
+null or string
+
+Default:
+"<leader>db"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.toggleDapUI
+
+
+
+
+Toggle DAP-UI
+
+Type:
+null or string
+
+Default:
+"<leader>du"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.mappings.toggleRepl
+
+
+
+
+Toggle Repl
+
+Type:
+null or string
+
+Default:
+"<leader>dr"
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.sources
+
+
+
+
+List of debuggers to install
+
+Type:
+attribute set of string
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.ui.enable
+
+
+
+
+Whether to enable UI extension for nvim-dap.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.ui.autoStart
+
+
+
+
+Automatically Opens and Closes DAP-UI upon starting/closing a debugging session
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.debugger.nvim-dap.ui.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-dap-ui
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.diagnostics.enable
+
+
+
+
+Whether to enable diagostics module for Neovim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.diagnostics.config
+
+
+
+
+Values that will be passed to vim.diagnostic.config after being converted
+to a Lua table. Possible values for each key can be found in the help text
+for vim.diagnostics.Opts. You may find more about the diagnostics API of
+Neovim in :help diagnostic-api .
Note This option is freeform. You may set values that are not present in nvf
+documentation, but those values will not be fully type checked. Please
+refer to the help text for vim.diagnostic.Opts for appropriate values.
+
+Type:
+attribute set of ((attribute set of anything) or boolean or (luaInline))
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.diagnostics.config.signs
+
+
+
+
+Use signs for diagnostics. See :help diagnostic-signs .
Note The code presented in that example section uses Lua expressions as object keys which
+only translate well if you use lib.generators.mkLuaInline as in the example.
+
+Type:
+(attribute set of anything) or boolean or (luaInline)
+
+Default:
+false
+
+Example:
signs.text = lib.generators.mkLuaInline ''
+ {
+ [vim.diagnostic.severity.ERROR] = " ",
+ [vim.diagnostic.severity.WARN] = " ",
+ }
+'';
+
+
+
+Declared by:
+
+
+
+
+ vim.diagnostics.config.underline
+
+
+
+
+Use underline for diagnostics.
+
+Type:
+(attribute set of anything) or boolean or (luaInline)
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.diagnostics.config.update_in_insert
+
+
+
+
+Update diagnostics in Insert mode. If false, diagnostics will
+be updated on InsertLeave (:help InsertLeave ).
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.diagnostics.config.virtual_lines
+
+
+
+
+Use virtual lines for diagnostics.
+
+Type:
+(attribute set of anything) or boolean or (luaInline)
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.diagnostics.config.virtual_text
+
+
+
+
+Use virtual text for diagnostics. If multiple diagnostics are set for a namespace,
+one prefix per diagnostic + the last diagnostic message are shown.
+
+Type:
+(attribute set of anything) or boolean or (luaInline)
+
+Default:
+false
+
+Example:
{
+ format = lib.generators.mkLuaInline ''
+ function(diagnostic)
+ return string.format("%s (%s)", diagnostic.message, diagnostic.source)
+ end
+ '';
+}
+
+
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.enable
+
+
+
+
+Whether to enable asynchronous linter plugin for Neovim [nvim-lint].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.lint_after_save
+
+
+
+
+Whether to enable autocmd to lint after each save.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.lint_function
+
+
+
+
+Define the global function nvf_lint which is used by nvf to lint.
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(buf)
+ local ft = vim.api.nvim_get_option_value("filetype", { buf = buf })
+ local linters = require("lint").linters
+ local linters_from_ft = require("lint").linters_by_ft[ft]
+
+ -- if no linter is configured for this filetype, stops linting
+ if linters_from_ft == nil then return end
+
+ for _, name in ipairs(linters_from_ft) do
+ local linter = linters[name]
+ assert(linter, 'Linter with name `' .. name .. '` not available')
+
+ if type(linter) == "function" then
+ linter = linter()
+ end
+ -- for require("lint").lint() to work, linter.name must be set
+ linter.name = linter.name or name
+ local cwd = linter.required_files
+
+ -- if no configuration files are configured, lint
+ if cwd == nil then
+ require("lint").lint(linter)
+ else
+ -- if configuration files are configured and present in the project, lint
+ for _, fn in ipairs(cwd) do
+ local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn);
+ if vim.uv.fs_stat(path) then
+ require("lint").lint(linter)
+ break
+ end
+ end
+ end
+ end
+ end
+ '';
+}
+
+
+Example:
mkLuaInline ''
+ function(buf)
+ require("lint").try_lint()
+ end
+''
+
+
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters
+
+
+
+
+Linter configurations. Builtin linters will be updated and not
+replaced, but note that this is not a deep extend operation, i.e. if
+you define an env option, it will replace the entire env table
+provided by the builtin (if it exists).
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Example:
''
+ {
+ phpcs = {
+ args = ["-q" "--report-json" "-"];
+
+ # this will replace the builtin's env table if it exists
+ env = {
+ ENV_VAR = "something";
+ };
+ };
+ }
+''
+
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.append_fname
+
+
+
+
+Automatically add the current file name to the commands arguments. Only
+has an effect if stdin is false
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.args
+
+
+
+
+Arguments to pass
+
+Type:
+null or (list of (string or (luaInline)))
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.cmd
+
+
+
+
+Command of the linter
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.cwd
+
+
+
+
+Working directory of the linter
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.env
+
+
+
+
+Environment variables to use
+
+Type:
+null or (attribute set of string)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.ignore_exitcode
+
+
+
+
+Declares if exit code != 1 should be ignored or result in a warning.
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.name
+
+
+
+
+Name of the linter
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.parser
+
+
+
+
+Parser function
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.required_files
+
+
+
+
+Required files to lint. These files must exist relative to the cwd
+of the linter or else this linter will be skipped
Note This option is an nvf extension that only takes effect if you
+use the nvf_lint() lua function.
See vim.diagnostics.nvim-lint.lint_function.
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Example:
[
+ "eslint.config.js"
+]
+
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.stdin
+
+
+
+
+Send content via stdin.
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters.<name>.stream
+
+
+
+
+Result stream
+
+Type:
+null or one of “stdout”, “stderr”, “both”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.diagnostics.nvim-lint.linters_by_ft
+
+
+
+
+Map of filetype to formatters. This option takes a set of key = value
+format where the value will be converted to its Lua equivalent
+through `toLuaObject. You are responsible for passing the correct Nix
+data types to generate a correct Lua value that conform is able to
+accept.
+
+Type:
+attribute set of list of string
+
+Default:
+{ }
+
+Example:
{
+ markdown = [
+ "vale"
+ ];
+ text = [
+ "vale"
+ ];
+}
+
+
+Declared by:
+
+
+
+
+ vim.extraLuaFiles
+
+
+
+
+Additional lua files that will be sourced by Neovim.
+Takes both absolute and relative paths, all of which
+will be called via the luafile command in Neovim.
See lua-commands
+on the Neovim documentation for more details.
Warning All paths passed to this option must be valid. If Neovim cannot
+resolve the path you are attempting to source, then your configuration
+will error, and Neovim will not start. Please ensure that all paths
+are correct before using this option.
+
+Type:
+list of (absolute path or string)
+
+Default:
+[ ]
+
+Example:
[
+ # absolute path, as a string - impure
+ "$HOME/.config/nvim/my-lua-file.lua"
+
+ # relative path, as a path - pure
+ ./nvim/my-lua-file.lua
+
+ # source type path - pure and reproducible
+ (builtins.path {
+ path = ./nvim/my-lua-file.lua;
+ name = "my-lua-file";
+ })
+]
+
+
+
+Declared by:
+
+
+
+
+ vim.extraPackages
+
+
+
+
+List of additional packages to make available to the Neovim
+wrapper.
+
+Type:
+list of package
+
+Default:
+[ ]
+
+Example:
+"[pkgs.fzf pkgs.ripgrep]"
+
+Declared by:
+
+
+
+
+ vim.extraPlugins
+
+
+
+
+A list of plugins and their configurations that will be
+set up after builtin plugins.
This option takes a special type that allows you to order
+your custom plugins using nvf’s modified DAG library.
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Example:
with pkgs.vimPlugins; {
+ aerial = {
+ package = aerial-nvim;
+ setup = "require('aerial').setup {}";
+ };
+
+ harpoon = {
+ package = harpoon;
+ setup = "require('harpoon').setup {}";
+ after = ["aerial"]; # place harpoon configuration after aerial
+ };
+}
+
+
+Declared by:
+
+
+
+
+ vim.extraPlugins.<name>.package
+
+
+
+
+Plugin Package.
+
+Type:
+null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”
+
+Declared by:
+
+
+
+
+ vim.extraPlugins.<name>.after
+
+
+
+
+Setup this plugin after the following ones.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.extraPlugins.<name>.setup
+
+
+
+
+Lua code to run during setup.
+
+Type:
+strings concatenated with “\n”
+
+Default:
+""
+
+Example:
+"require('aerial').setup {}"
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.enable
+
+
+
+
+Whether to enable filetree via neo-tree.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts
+
+
+
+
+Option table to pass into the setup function of neo-tree
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.enable_cursor_hijack
+
+
+
+
+Whether to enable cursor hijacking.
If enabled neotree will keep the cursor on the first letter of the filename when moving in the tree
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.enable_diagnostics
+
+
+
+
+Whether to enable diagnostics.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.enable_git_status
+
+
+
+
+Whether to enable git status.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.enable_modified_markers
+
+
+
+
+Whether to enable markers for files with unsaved changes…
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.enable_opened_markers
+
+
+
+
+Whether to enable tracking of opened files.
Required for components.name.highlight_opened_files
+.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.enable_refresh_on_write
+
+
+
+
+Whether to enable Refresh the tree when a file is written.
Only used if use_libuv_file_watcher is false.
+.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.add_blank_line_at_top
+
+
+
+
+Whether to add a blank line at the top of the tree
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.auto_clean_after_session_restore
+
+
+
+
+Whether to automatically clean up broken neo-tree buffers
+saved in sessions
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.default_source
+
+
+
+
+You can choose a specific source.
last here which indicates the last used source
+
+Type:
+string
+
+Default:
+"filesystem"
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.filesystem.hijack_netrw_behavior
+
+
+
+
+Hijack Netrw behavior
+
+Type:
+one of “disabled”, “open_default”, “open_current”
+
+Default:
+"open_default"
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.git_status_async
+
+
+
+
+Whether to enable async git status.
This will make the git status check async and will not block the UI.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.hide_root_node
+
+
+
+
+Whether to hide the root node of the tree
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.log_level
+
+
+
+
+Log level for the plugin.
+
+Type:
+one of “trace”, “debug”, “info”, “warn”, “error”, “fatal”
+
+Default:
+"info"
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.log_to_file
+
+
+
+
+Must be either a boolean or a path to your log file.
Use :NeoTreeLogs to show the file
+
+Type:
+boolean or string
+
+Default:
+false
+
+Example:
+/tmp/neo-tree.log
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.open_files_do_not_replace_types
+
+
+
+
+A list of filetypes that should not be replaced when opening a file
+
+Type:
+list of string
+
+Default:
[
+ "terminal"
+ "Trouble"
+ "qf"
+ "edgy"
+]
+
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.open_files_in_last_window
+
+
+
+
+Whether to open files in the last window
If disabled, neo-tree will open files in top left window
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.neo-tree.setupOpts.retain_hidden_root_indent
+
+
+
+
+Whether to retain the indent of the hidden root node
IF the root node is hidden, keep the indentation anyhow.
+This is needed if you use expanders because they render in the indent.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.enable
+
+
+
+
+Whether to enable filetree via nvim-tree.lua.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.mappings.findFile
+
+
+
+
+Find file in NvimTree
+
+Type:
+null or string
+
+Default:
+"<leader>tg"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.mappings.focus
+
+
+
+
+Focus NvimTree
+
+Type:
+null or string
+
+Default:
+"<leader>tf"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.mappings.refresh
+
+
+
+
+Refresh NvimTree
+
+Type:
+null or string
+
+Default:
+"<leader>tr"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.mappings.toggle
+
+
+
+
+Toggle NvimTree
+
+Type:
+null or string
+
+Default:
+"<leader>t"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.openOnSetup
+
+
+
+
+Open when vim is started on a directory
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts
+
+
+
+
+Option table to pass into the setup function of Nvim Tree
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions
+
+
+
+
+Configuration for various actions.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.change_dir
+
+
+
+
+vim change-directory behaviour
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.change_dir.enable
+
+
+
+
+Change the working directory when changing directories in the tree.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.change_dir.global
+
+
+
+
+Use :cd instead of :lcd when changing directories.
+Consider that this might cause issues with the nvimTree.syncRootWithCwd option.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.change_dir.restrict_above_cwd
+
+
+
+
+Restrict changing to a directory above the global current working directory.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.expand_all
+
+
+
+
+Configuration for expand_all behaviour.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.expand_all.exclude
+
+
+
+
+A list of directories that should not be expanded automatically.
+
+Type:
+list of string
+
+Default:
[
+ ".git"
+ "target"
+ "build"
+ "result"
+]
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.expand_all.max_folder_discovery
+
+
+
+
+Limit the number of folders being explored when expanding every folders.
+Avoids hanging neovim when running this action on very large folders.
+
+Type:
+signed integer
+
+Default:
+300
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.file_popup
+
+
+
+
+Configuration for file_popup behaviour.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.file_popup.open_win_config
+
+
+
+
+Floating window config for file_popup. See |nvim_open_win| for more details.
+
+Type:
+attribute set
+
+Default:
{
+ border = "rounded";
+ col = 1;
+ relative = "cursor";
+ row = 1;
+ style = "minimal";
+}
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file
+
+
+
+
+Configuration options for opening a file from nvim-tree.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.eject
+
+
+
+
+Prevent new opened file from opening in the same window as the tree.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.quit_on_open
+
+
+
+
+Closes the explorer when opening a file.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.resize_window
+
+
+
+
+Resizes the tree when opening a file. Previously view.auto_resize
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker
+
+
+
+
+window_picker
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.enable
+
+
+
+
+Enable the window picker. If this feature is not enabled, files will open in window from which you last opened the tree.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.chars
+
+
+
+
+A string of chars used as identifiers by the window picker.
+
+Type:
+string
+
+Default:
+"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.exclude.buftype
+
+
+
+
+A list of buftypes to exclude from the window picker.
+
+Type:
+list of string
+
+Default:
[
+ "nofile"
+ "terminal"
+ "help"
+]
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.exclude.filetype
+
+
+
+
+A list of filetypes to exclude from the window picker.
+
+Type:
+list of string
+
+Default:
[
+ "notify"
+ "packer"
+ "qf"
+ "diff"
+ "fugitive"
+ "fugitiveblame"
+]
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.open_file.window_picker.picker
+
+
+
+
+Change the default window picker, can be a string "default" or a function.
+The function should return the window id that will open the node,
+or nil if an invalid window is picked or user cancelled the action.
The picker may create a new window.
+
+Type:
+string
+
+Default:
+"default"
+
+Example:
-- with s1n7ax/nvim-window-picker plugin
+require('window-picker').pick_window,
+
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.remove_file.close_window
+
+
+
+
+Close any window displaying a file when removing the file from the tree
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.actions.use_system_clipboard
+
+
+
+
+A boolean value that toggle the use of system clipboard when copy/paste
+function are invoked. When enabled, copied text will be stored in registers
+‘+’ (system), otherwise, it will be stored in ‘1’ and ‘"’.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.auto_reload_on_write
+
+
+
+
+Auto reload tree on write
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics
+
+
+
+
+Show LSP and COC diagnostics in the signcolumn
+Note that the modified sign will take precedence over the diagnostics signs.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.enable
+
+
+
+
+Whether to enable diagnostics view in the signcolumn…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.debounce_delay
+
+
+
+
+Idle milliseconds between diagnostic event and update.
+
+Type:
+signed integer
+
+Default:
+50
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.icons
+
+
+
+
+Icons for diagnostic severity.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.icons.error
+
+
+
+
+Icon used for error diagnostic.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.icons.hint
+
+
+
+
+Icon used for hint diagnostic.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.icons.info
+
+
+
+
+Icon used for info diagnostic.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.icons.warning
+
+
+
+
+Icon used for warning diagnostic.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.severity
+
+
+
+
+Severity for which the diagnostics will be displayed. See :help diagnostic-severity
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.severity.max
+
+
+
+
+Maximum severity.
+
+Type:
+one of “HINT”, “INFO”, “WARNING”, “ERROR”
+
+Default:
+"ERROR"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.severity.min
+
+
+
+
+Minimum severity.
+
+Type:
+one of “HINT”, “INFO”, “WARNING”, “ERROR”
+
+Default:
+"HINT"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.show_on_dirs
+
+
+
+
+Show diagnostic icons on parent directories.
+
+Type:
+unspecified value
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.diagnostics.show_on_open_dirs
+
+
+
+
+Show diagnostics icons on directories that are open.
+Only relevant when diagnostics.show_on_dirs is true.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.disable_netrw
+
+
+
+
+Disables netrw and replaces it with tree
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filesystem_watchers
+
+
+
+
+Will use file system watcher (libuv fs_event) to watch the filesystem for changes.
+Using this will disable BufEnter / BufWritePost events in nvim-tree which
+were used to update the whole tree. With this feature, the tree will be
+updated only for the appropriate folder change, resulting in better
+performance.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filesystem_watchers.enable
+
+
+
+
+Enable filesystem watchers.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filesystem_watchers.debounce_delay
+
+
+
+
+Idle milliseconds between filesystem change and action.
+
+Type:
+signed integer
+
+Default:
+50
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filesystem_watchers.ignore_dirs
+
+
+
+
+List of vim regex for absolute directory paths that will not be watched.
+Backslashes must be escaped e.g. "my-project/\\.build$".
+Useful when path is not in .gitignore or git integration is disabled.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filters
+
+
+
+
+Filtering options.
+
+Type:
+submodule
+
+Default:
{
+ dotfiles = false;
+ exclude = [ ];
+ git_clean = false;
+ git_ignored = false;
+ no_buffer = false;
+}
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filters.dotfiles
+
+
+
+
+Do not show dotfiles: files starting with a .
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filters.exclude
+
+
+
+
+List of directories or files to exclude from filtering: always show them.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filters.git_clean
+
+
+
+
+Do not show files with no git status. This will show ignored files when
+nvimTree.filters.gitIgnored is set, as they are effectively dirty.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filters.git_ignored
+
+
+
+
+Ignore files based on .gitignore. Requires git.enableto betrue`
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.filters.no_buffer
+
+
+
+
+Do not show files that have no buflisted() buffer.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.git.enable
+
+
+
+
+Whether to enable Git integration with icons and colors…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.git.disable_for_dirs
+
+
+
+
+Disable git integration when git top-level matches these paths.
+May be relative, evaluated via ":p"
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.git.show_on_dirs
+
+
+
+
+Show git icons on parent directories.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.git.show_on_open_dirs
+
+
+
+
+Show git icons on directories that are open.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.git.timeout
+
+
+
+
+Kills the git process after some time if it takes too long.
+Git integration will be disabled after 10 git jobs exceed this timeout.
+
+Type:
+signed integer
+
+Default:
+400
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.hijack_cursor
+
+
+
+
+Hijack the cursor in the tree to put it at the start of the filename
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.hijack_directories.enable
+
+
+
+
+Enable the hijack_directories feature. Disable this option if you use vim-dirvish or dirbuf.nvim.
+If hijack_netrw and disable_netrw are false, this feature will be disabled.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.hijack_directories.auto_open
+
+
+
+
+Opens the tree if the tree was previously closed.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.hijack_netrw
+
+
+
+
+Prevents netrw from automatically opening when opening directories
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.hijack_unnamed_buffer_when_opening
+
+
+
+
+Open nvimtree in place of the unnamed buffer if it’s empty.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.live_filter
+
+
+
+
+Configurations for the live_filtering feature.
+The live filter allows you to filter the tree nodes dynamically, based on
+regex matching (see vim.regex).
+This feature is bound to the f key by default.
+The filter can be cleared with the F key by default.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.live_filter.always_show_folders
+
+
+
+
+Whether to filter folders or not.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.live_filter.prefix
+
+
+
+
+Prefix of the filter displayed in the buffer.
+
+Type:
+string
+
+Default:
+"[FILTER]: "
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.modified
+
+
+
+
+Indicate which file have unsaved modification.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.modified.enable
+
+
+
+
+Whether to enable Modified files with icons and color highlight…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.modified.show_on_dirs
+
+
+
+
+Show modified icons on parent directories.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.modified.show_on_open_dirs
+
+
+
+
+Show modified icons on directories that are open.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.notify
+
+
+
+
+Configuration for notifications.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.notify.absolute_path
+
+
+
+
+Whether to use absolute paths or item names in fs action notifications.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.notify.threshold
+
+
+
+
+Specify minimum notification level, uses the values from vim.log.levels
+
+Type:
+one of “ERROR”, “WARNING”, “INFO”, “DEBUG”
+
+Default:
+"INFO"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.prefer_startup_root
+
+
+
+
+Prefer startup root directory when updating root directory of the tree.
+Only relevant when update_focused_file.update_root is true
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.reload_on_bufenter
+
+
+
+
+Automatically reloads the tree on BufEnter nvim-tree.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.add_trailing
+
+
+
+
+Appends a trailing slash to folder names.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.full_name
+
+
+
+
+Display node whose name length is wider than the width of nvim-tree window in floating window.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.group_empty
+
+
+
+
+Compact folders that only contain a single folder into one node in the file tree.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.highlight_git
+
+
+
+
+Enable file highlight for git attributes using NvimTreeGit highlight groups.
+Requires nvimTree.git.enable
+This can be used with or without the icons.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.highlight_modified
+
+
+
+
+Highlight modified files in the tree using NvimTreeNormal highlight group.
+Requires nvimTree.view.highlightOpenedFiles
+
+Type:
+one of “none”, “icon”, “name”, “all”
+
+Default:
+"none"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.highlight_opened_files
+
+
+
+
+Highlight icons and/or names for bufloaded() files using the
+NvimTreeOpenedFile highlight group.
+
+Type:
+one of “none”, “icon”, “name”, “all”
+
+Default:
+"none"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons
+
+
+
+
+Configuration options for icons.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.bookmarks_placement
+
+
+
+
+Place where the bookmark icons will be rendered.
+signcolumn requires view.signcolumn to be enabled.
+
+Type:
+one of “before”, “after”, “signcolumn”, “right_align”
+
+Default:
+"after"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.diagnostics_placement
+
+
+
+
+Place where the diagnostics icons will be rendered.
+signcolumn requires view.signcolumn to be enabled.
+
+Type:
+one of “before”, “after”, “signcolumn”, “right_align”
+
+Default:
+"after"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.git_placement
+
+
+
+
+Place where the git icons will be rendered.
+signcolumn requires view.signcolumn to be enabled.
+
+Type:
+one of “before”, “after”, “signcolumn”, “right_align”
+
+Default:
+"before"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs
+
+
+
+
+Configuration options for icon glyphs.
+NOTE: Do not set any glyphs to more than two characters if it’s going
+to appear in the signcolumn.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.default
+
+
+
+
+Glyph for files. Will be overridden by nvim-web-devicons if available.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.folder
+
+
+
+
+Glyphs for directories. Recommended to use the defaults unless you know what you are doing.
+
+Type:
+attribute set
+
+Default:
{
+ arrow_closed = "";
+ arrow_open = "";
+ default = "";
+ empty = "";
+ empty_open = "";
+ open = "";
+ symlink = "";
+ symlink_open = "";
+}
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.git
+
+
+
+
+Glyphs for git status.
+
+Type:
+attribute set
+
+Default:
{
+ deleted = "";
+ ignored = "◌";
+ renamed = "➜";
+ staged = "✓";
+ unmerged = "";
+ unstaged = "✗";
+ untracked = "★";
+}
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.modified
+
+
+
+
+Icon to display for modified files.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.glyphs.symlink
+
+
+
+
+Glyph for symlinks.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.hidden_placement
+
+
+
+
+Place where the hidden icons will be rendered.
+signcolumn requires view.signcolumn to be enabled.
+
+Type:
+one of “before”, “after”, “signcolumn”, “right_align”
+
+Default:
+"after"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.modified_placement
+
+
+
+
+Place where the modified icons will be rendered.
+signcolumn requires view.signcolumn to be enabled.
+
+Type:
+one of “before”, “after”, “signcolumn”, “right_align”
+
+Default:
+"after"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.padding
+
+
+
+
+Inserted between icon and filename
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.show.file
+
+
+
+
+Show an icon before the file name. nvim-web-devicons will be used if available.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.show.folder
+
+
+
+
+Show an icon before the folder name.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.show.folder_arrow
+
+
+
+
+Show a small arrow before the folder node. Arrow will be a part of the
+node when using renderer.indent_markers.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.show.git
+
+
+
+
+Show a git status icon, see renderer.icons.gitPlacement
+Requires git.enable to be true.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.show.modified
+
+
+
+
+Show a modified icon, see renderer.icons.modifiedPlacement
+Requires modified.enable to be true.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.symlink_arrow
+
+
+
+
+Used as a separator between symlinks’ source and target.
+
+Type:
+string
+
+Default:
+" ➛ "
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.icons.webdev_colors
+
+
+
+
+Use the webdev icon colors, otherwise NvimTreeFileIcon
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.indent_markers
+
+
+
+
+Configuration options for tree indent markers.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.indent_markers.enable
+
+
+
+
+Whether to enable Display indent markers when folders are open…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.indent_markers.icons
+
+
+
+
+Individual elements of the indent markers
+
+Type:
+attribute set
+
+Default:
{
+ bottom = "─";
+ corner = "└";
+ edge = "│";
+ item = "│";
+ none = "";
+}
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.indent_markers.inline_arrows
+
+
+
+
+Display folder arrows in the same column as indent marker when using renderer.icons.show.folder_arrow
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.indent_width
+
+
+
+
+Number of spaces for an each tree nesting level. Minimum 1.
+
+Type:
+signed integer
+
+Default:
+2
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.root_folder_label
+
+
+
+
+In what format to show root folder. See :help filename-modifiers for
+available string options.
+Set to false to hide the root folder.
Function is passed the absolute path of the root folder and should
+return a string. e.g.
+my_root_folder_label = function(path)
+return “…/” … vim.fn.fnamemodify(path, “:t”)
+end
+
+Type:
+string or boolean
+
+Default:
+false
+
+Example:
+"\"\":~:s?$?/..?\""
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.special_files
+
+
+
+
+A list of filenames that gets highlighted with `NvimTreeSpecialFile
+
+Type:
+list of string
+
+Default:
[
+ "Cargo.toml"
+ "README.md"
+ "readme.md"
+ "Makefile"
+ "MAKEFILE"
+ "flake.nix"
+]
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.renderer.symlink_destination
+
+
+
+
+Whether to show the destination of the symlink.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.respect_buf_cwd
+
+
+
+
+Will change cwd of nvim-tree to that of new buffer’s when opening nvim-tree.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.root_dirs
+
+
+
+
+Preferred root directories. Only relevant when updateFocusedFile.updateRoot is true
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.select_prompts
+
+
+
+
+Whether to enable Use vim.ui.select style prompts. Necessary when using a UI prompt decorator such as dressing.nvim or telescope-ui-select.nvim
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.sort.folders_first
+
+
+
+
+Sort folders before files. Has no effect when sort.sorter is a function.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.sort.sorter
+
+
+
+
+How files within the same directory are sorted.
+
+Type:
+one of “name”, “extension”, “modification_time”, “case_sensitive”, “suffix”, “filetype”
+
+Default:
+"name"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.sync_root_with_cwd
+
+
+
+
+Changes the tree root directory on DirChanged and refreshes the tree.
+Only relevant when updateFocusedFile.updateRoot is true
(previously update_cwd)
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.system_open.args
+
+
+
+
+Optional argument list.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.system_open.cmd
+
+
+
+
+The open command itself
+
+Type:
+string
+
+Default:
+"\${pkgs.xdg-utils}/bin/xdg-open"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.tab
+
+
+
+
+Configuration for tab behaviour.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.tab.sync
+
+
+
+
+Configuration for syncing nvim-tree across tabs.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.tab.sync.close
+
+
+
+
+Closes the tree across all tabpages when the tree is closed.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.tab.sync.ignore
+
+
+
+
+List of filetypes or buffer names on new tab that will prevent
+nvimTree.tab.sync.open and nvimTree.tab.sync.close
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.tab.sync.open
+
+
+
+
+Opens the tree automatically when switching tabpage or opening a new
+tabpage if the tree was previously open.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.trash
+
+
+
+
+Configuration options for trashing.
+
+Type:
+submodule
+
+Default:
{
+ cmd = "\${pkgs.glib}/bin/gio trash";
+}
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.trash.cmd
+
+
+
+
+The command used to trash items
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.ui
+
+
+
+
+General UI configuration.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.ui.confirm.remove
+
+
+
+
+Prompt before removing.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.ui.confirm.trash
+
+
+
+
+Prompt before trash.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.update_focused_file
+
+
+
+
+Update the focused file on BufEnter, un-collapses the folders recursively
+until it finds the file.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.update_focused_file.enable
+
+
+
+
+update focused file
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.update_focused_file.ignore_list
+
+
+
+
+List of buffer names and filetypes that will not update the root dir
+of the tree if the file isn’t found under the current root directory.
+Only relevant when update_focused_file.update_root and
+update_focused_file.enable are true.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.update_focused_file.update_root
+
+
+
+
+Update the root directory of the tree if the file is not under current
+root directory. It prefers vim’s cwd and root_dirs.
+Otherwise it falls back to the folder containing the file.
+Only relevant when update_focused_file.enable is true
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view
+
+
+
+
+Window / buffer setup.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.centralize_selection
+
+
+
+
+If true, reposition the view so that the current node is initially centralized when entering nvim-tree.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.cursorline
+
+
+
+
+Enable cursorline in nvim-tree window.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.debounce_delay
+
+
+
+
+Idle milliseconds before some reload / refresh operations.
+Increase if you experience performance issues around screen refresh.
+
+Type:
+signed integer
+
+Default:
+15
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.float
+
+
+
+
+Configuration options for floating window.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.float.enable
+
+
+
+
+If true, tree window will be floating.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.float.open_win_config
+
+
+
+
+Floating window config. See :h nvim_open_win() for more details.
+
+Type:
+attribute set
+
+Default:
{
+ border = "rounded";
+ col = 1;
+ height = 30;
+ relative = "editor";
+ row = 1;
+ width = 30;
+}
+
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.float.quit_on_focus_loss
+
+
+
+
+Close the floating tree window when it loses focus.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.number
+
+
+
+
+Print the line number in front of each line.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.preserve_window_proportions
+
+
+
+
+Preserves window proportions when opening a file.
+If false, the height and width of windows other than nvim-tree will be equalized.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.relativenumber
+
+
+
+
+Show the line number relative to the line with the cursor in front of each line.
+If the option view.number is also true, the number on the cursor line
+will be the line number instead of 0.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.side
+
+
+
+
+Side of the tree.
+
+Type:
+one of “left”, “right”
+
+Default:
+"left"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.signcolumn
+
+
+
+
+Show diagnostic sign column. Value can be "yes", "auto" or"no".
+
+Type:
+one of “yes”, “auto”, “no”
+
+Default:
+"yes"
+
+Declared by:
+
+
+
+
+ vim.filetree.nvimTree.setupOpts.view.width
+
+
+
+
+Width of the window: can be a % string, a number representing columns, a
+function or a table.
A table (an attribute set in our case, see example) indicates that the view should be dynamically sized based on the
+longest line.
+
+Type:
+signed integer or (attribute set)
+
+Default:
+30
+
+Example:
{
+ min = 30;
+ max = -1;
+ padding = 1;
+}
+
+
+
+Declared by:
+
+
+
+
+ vim.formatter.conform-nvim.enable
+
+
+
+
+Whether to enable lightweight yet powerful formatter plugin for Neovim [conform-nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.formatter.conform-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of conform.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.formatter.conform-nvim.setupOpts.default_format_opts
+
+
+
+
+Default values when calling conform.format()
+
+Type:
+attribute set
+
+Default:
{
+ lsp_format = "fallback";
+}
+
+
+Declared by:
+
+
+
+
+ vim.formatter.conform-nvim.setupOpts.format_after_save
+
+
+
+
+Table or function(luainline) that will be passed to conform.format(). If this
+is set, Conform will run the formatter asynchronously after save.
+
+Type:
+null or (attribute set) or (luaInline)
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function()
+ if not vim.g.formatsave or vim.b.disableFormatSave then
+ return
+ else
+ return {["lsp_format"] = "fallback"}
+ end
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.formatter.conform-nvim.setupOpts.format_on_save
+
+
+
+
+Attribute set or Lua function that will be passed to
+conform.format(). If this is set, Conform will run the formatter
+on save.
+
+Type:
+null or (attribute set) or (luaInline)
+
+Default:
+enabled by default, and respects vim.lsp.formatOnSave and
+vim.lsp.mappings.toggleFormatSave
+
+Declared by:
+
+
+
+
+ vim.formatter.conform-nvim.setupOpts.formatters_by_ft
+
+
+
+
+Map of filetype to formatters. This option takes a set of
+key = value format where the value will be converted
+to its Lua equivalent. You are responsible for passing the
+correct Nix data types to generate a correct Lua value that
+conform is able to accept.
+
+Type:
+attribute set
+
+Default:
+{ }
+
+Example:
{
+ lua = [
+ "stylua"
+ ];
+}
+
+
+Declared by:
+
+
+
+
+ vim.fzf-lua.enable
+
+
+
+
+Whether to enable fzf-lua.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.fzf-lua.profile
+
+
+
+
+The configuration profile to use
+
+Type:
+one of “default”, “default-title”, “fzf-native”, “fzf-tmux”, “fzf-vim”, “max-perf”, “telescope”, “skim”, “borderless”, “borderless-full”, “border-fused”
+
+Default:
+"default"
+
+Declared by:
+
+
+
+
+ vim.fzf-lua.setupOpts
+
+
+
+
+Option table to pass into the setup function of fzf-lua
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.fzf-lua.setupOpts.fzf_bin
+
+
+
+
+Path to fzf executable
+
+Type:
+string
+
+Default:
+"\${pkgs.fzf.out}/bin/fzf"
+
+Declared by:
+
+
+
+
+ vim.fzf-lua.setupOpts.winopts.border
+
+
+
+
+Border type for the fzf-lua picker window
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.gestures.gesture-nvim.enable
+
+
+
+
+Whether to enable gesture-nvim: mouse gestures.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.gestures.gesture-nvim.mappings.draw
+
+
+
+
+Start drawing [gesture.nvim]
+
+Type:
+null or string
+
+Default:
+"<LeftDrag>"
+
+Declared by:
+
+
+
+
+ vim.gestures.gesture-nvim.mappings.finish
+
+
+
+
+Finish drawing [gesture.nvim]
+
+Type:
+null or string
+
+Default:
+"<LeftRelease>"
+
+Declared by:
+
+
+
+
+ vim.git.enable
+
+
+
+
+Whether to enable git integration suite.
Enabling this option will enable the following plugins:
gitsigns
vim-fugitive
git-conflict
gitlinker-nvim
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.enable
+
+
+
+
+Whether to enable git-conflict.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.mappings.both
+
+
+
+
+Choose Both [Git-Conflict]
+
+Type:
+null or string
+
+Default:
+"<leader>cb"
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.mappings.nextConflict
+
+
+
+
+Go to the next Conflict [Git-Conflict]
+
+Type:
+null or string
+
+Default:
+"[x"
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.mappings.none
+
+
+
+
+Choose None [Git-Conflict]
+
+Type:
+null or string
+
+Default:
+"<leader>c0"
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.mappings.ours
+
+
+
+
+Choose Ours [Git-Conflict]
+
+Type:
+null or string
+
+Default:
+"<leader>co"
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.mappings.prevConflict
+
+
+
+
+Go to the previous Conflict [Git-Conflict]
+
+Type:
+null or string
+
+Default:
+"]x"
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.mappings.theirs
+
+
+
+
+Choose Theirs [Git-Conflict]
+
+Type:
+null or string
+
+Default:
+"<leader>ct"
+
+Declared by:
+
+
+
+
+ vim.git.git-conflict.setupOpts
+
+
+
+
+Option table to pass into the setup function of git-conflict
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.git.gitlinker-nvim.enable
+
+
+
+
+Whether to enable gitlinker-nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.git.gitlinker-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of gitlinker-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.enable
+
+
+
+
+Whether to enable gitsigns.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.codeActions.enable
+
+
+
+
+Whether to enable gitsigns codeactions through null-ls.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.blameLine
+
+
+
+
+Blame line [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hb"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.diffProject
+
+
+
+
+Diff project [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hD"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.diffThis
+
+
+
+
+Diff this [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hd"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.nextHunk
+
+
+
+
+Next hunk [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"]c"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.previewHunk
+
+
+
+
+Preview hunk [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hP"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.previousHunk
+
+
+
+
+Previous hunk [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"[c"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.resetBuffer
+
+
+
+
+Reset buffer [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hR"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.resetHunk
+
+
+
+
+Reset hunk [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hr"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.stageBuffer
+
+
+
+
+Stage buffer [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hS"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.stageHunk
+
+
+
+
+Stage hunk [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hs"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.toggleBlame
+
+
+
+
+Toggle blame [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>tb"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.toggleDeleted
+
+
+
+
+Toggle deleted [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>td"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.mappings.undoStageHunk
+
+
+
+
+Undo stage hunk [Gitsigns]
+
+Type:
+null or string
+
+Default:
+"<leader>hu"
+
+Declared by:
+
+
+
+
+ vim.git.gitsigns.setupOpts
+
+
+
+
+Option table to pass into the setup function of gitsigns
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.git.neogit.enable
+
+
+
+
+Whether to enable An Interactive and powerful Git interface [Neogit].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.git.neogit.mappings.commit
+
+
+
+
+Git Commit [Neogit]
+
+Type:
+null or string
+
+Default:
+"<leader>gc"
+
+Declared by:
+
+
+
+
+ vim.git.neogit.mappings.open
+
+
+
+
+Git Status [Neogit]
+
+Type:
+null or string
+
+Default:
+"<leader>gs"
+
+Declared by:
+
+
+
+
+ vim.git.neogit.mappings.pull
+
+
+
+
+Git pull [Neogit]
+
+Type:
+null or string
+
+Default:
+"<leader>gp"
+
+Declared by:
+
+
+
+
+ vim.git.neogit.mappings.push
+
+
+
+
+Git push [Neogit]
+
+Type:
+null or string
+
+Default:
+"<leader>gP"
+
+Declared by:
+
+
+
+
+ vim.git.neogit.setupOpts
+
+
+
+
+Option table to pass into the setup function of neogit
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.git.vim-fugitive.enable
+
+
+
+
+Whether to enable vim-fugitive.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.globals
+
+
+
+
+A freeform attribute set containing global variable values for setting vim
+variables as early as possible. If populated, this option will set vim variables
+in the built luaConfigRC as the first item.
Note {foo = "bar";} will set vim.g.foo to “bar”, where the type of bar in the
+resulting Lua value will be inferred from the type of the value in the
+{name = value;} pair passed to the option.
+
+Type:
+attribute set of anything
+
+Default:
+{ }
+
+Example:
{
+ some_variable = 42;
+}
+
+
+Declared by:
+
+
+
+
+ vim.globals.editorconfig
+
+
+
+
+Whether to enable EditorConfig integration in Neovim.
This defaults to true as it is enabled by default in stock
+Neovim, setting this option to false disables EditorConfig
+integration entirely.
See Neovim documentation
+for more details on configuring EditorConfig behaviour.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.globals.mapleader
+
+
+
+
+The key used for <leader> mappings
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.globals.maplocalleader
+
+
+
+
+The key used for <localleader> mappings
+
+Type:
+string
+
+Default:
+","
+
+Declared by:
+
+
+
+
+ vim.hideSearchHighlight
+
+
+
+
+Hide search highlight so it doesn’t stay highlighted
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight
+
+
+
+
+Custom highlights to apply
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Example:
{
+ SignColumn = {
+ bg = "#282828";
+ };
+}
+
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.bg
+
+
+
+
+The background color to use. Written as color name or hex “#RRGGBB”.
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"#ebdbb2"
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.blend
+
+
+
+
+Blend as an integer between 0 and 100
+
+Type:
+null or integer between 0 and 100 (both inclusive)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.bold
+
+
+
+
+Whether to enable bold
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.cterm
+
+
+
+
+The cterm arguments to use. See ‘:h highlight-args’
+
+Type:
+null or (list of (one of “bold”, “underline”, “undercurl”, “underdouble”, “underdotted”, “underdashed”, “strikethrough”, “reverse”, “inverse”, “italic”, “standout”, “altfont”, “nocombine”, “NONE”))
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.ctermbg
+
+
+
+
+The cterm background color to use
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.ctermfg
+
+
+
+
+The cterm foreground color to use
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.default
+
+
+
+
+Don’t override existing definition
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.fg
+
+
+
+
+The foreground color to use. Written as color name or hex “#RRGGBB”.
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"#ebdbb2"
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.force
+
+
+
+
+Whether to enable force update
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.italic
+
+
+
+
+Whether to enable italic
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.link
+
+
+
+
+The name of another highlight group to link to
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.nocombine
+
+
+
+
+Whether to enable nocombine
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.reverse
+
+
+
+
+Whether to enable reverse
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.sp
+
+
+
+
+The special color to use. Written as color name or hex “#RRGGBB”.
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"#ebdbb2"
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.standout
+
+
+
+
+Whether to enable standout
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.strikethrough
+
+
+
+
+Whether to enable strikethrough
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.undercurl
+
+
+
+
+Whether to enable undercurl
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.underdashed
+
+
+
+
+Whether to enable underdashed
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.underdotted
+
+
+
+
+Whether to enable underdotted
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.underdouble
+
+
+
+
+Whether to enable underdouble
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.highlight.<name>.underline
+
+
+
+
+Whether to enable underline
+
+Type:
+null or boolean
+
+Default:
+null
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.keymaps
+
+
+
+
+Custom keybindings.
+
+Type:
+list of (submodule)
+
+Default:
+{ }
+
+Example:
''
+ vim.keymaps = [
+ {
+ key = "<leader>m";
+ mode = "n";
+ silent = true;
+ action = ":make<CR>";
+ }
+ {
+ key = "<leader>l";
+ mode = ["n" "x"];
+ silent = true;
+ action = "<cmd>cnext<CR>";
+ }
+ ];
+''
+
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.key
+
+
+
+
+The key that triggers this keybind.
+
+Type:
+null or string
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.mode
+
+
+
+
+The short-name of the mode to set the keymapping for. Passing an empty string is the equivalent of :map.
See :help map-modes for a list of modes.
+
+Type:
+string or list of string
+
+Example:
+["n" "v" "c"] for normal, visual and command mode
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.keymaps.*.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.enableDAP
+
+
+
+
+Turn on Debug Adapter for enabled languages by default
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.enableExtraDiagnostics
+
+
+
+
+Turn on extra diagnostics for enabled languages by default
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.enableFormat
+
+
+
+
+Turn on Formatting for enabled languages by default
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.enableTreesitter
+
+
+
+
+Turn on Treesitter for enabled languages by default
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.assembly.enable
+
+
+
+
+Whether to enable Assembly support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.assembly.lsp.enable
+
+
+
+
+Whether to enable Assembly LSP support (asm-lsp).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.assembly.lsp.package
+
+
+
+
+asm-lsp package
+
+Type:
+package
+
+Default:
+<derivation asm-lsp-0.10.0>
+
+Declared by:
+
+
+
+
+ vim.languages.assembly.treesitter.enable
+
+
+
+
+Whether to enable Assembly treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.assembly.treesitter.package
+
+
+
+
+The asm treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.asm
+
+Declared by:
+
+
+
+
+ vim.languages.astro.enable
+
+
+
+
+Whether to enable Astro language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.astro.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Astro diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.astro.extraDiagnostics.types
+
+
+
+
+List of Astro diagnostics to enable
+
+Type:
+list of (value “eslint_d” (singular enum) or (submodule))
+
+Default:
[
+ "eslint_d"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.astro.format.enable
+
+
+
+
+Whether to enable Astro formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.astro.format.package
+
+
+
+
+Astro formatter package
+
+Type:
+package
+
+Default:
+<derivation prettier-3.5.3>
+
+Declared by:
+
+
+
+
+ vim.languages.astro.format.type
+
+
+
+
+Astro formatter to use
+
+Type:
+one of “biome”, “prettier”, “prettierd”
+
+Default:
+"prettier"
+
+Declared by:
+
+
+
+
+ vim.languages.astro.lsp.enable
+
+
+
+
+Whether to enable Astro LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.astro.lsp.package
+
+
+
+
+Astro LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation astro-language-server-2.15.4>
+
+Example:
+"[lib.getExe pkgs.astro-language-server \"--minify\" \"--stdio\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.astro.lsp.server
+
+
+
+
+Astro LSP server to use
+
+Type:
+value “astro” (singular enum)
+
+Default:
+"astro"
+
+Declared by:
+
+
+
+
+ vim.languages.astro.treesitter.enable
+
+
+
+
+Whether to enable Astro treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.astro.treesitter.astroPackage
+
+
+
+
+The astro treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.astro
+
+Declared by:
+
+
+
+
+ vim.languages.bash.enable
+
+
+
+
+Whether to enable Bash language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.bash.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Bash diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.bash.extraDiagnostics.types
+
+
+
+
+List of Bash diagnostics to enable
+
+Type:
+list of (value “shellcheck” (singular enum) or (submodule))
+
+Default:
[
+ "shellcheck"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.bash.format.enable
+
+
+
+
+Enable Bash formatting
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.bash.format.package
+
+
+
+
+Bash formatter package
+
+Type:
+package
+
+Default:
+<derivation shfmt-3.11.0>
+
+Declared by:
+
+
+
+
+ vim.languages.bash.format.type
+
+
+
+
+Bash formatter to use
+
+Type:
+value “shfmt” (singular enum)
+
+Default:
+"shfmt"
+
+Declared by:
+
+
+
+
+ vim.languages.bash.lsp.enable
+
+
+
+
+Whether to enable Enable Bash LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.bash.lsp.package
+
+
+
+
+bash-language-server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation bash-language-server-5.4.0>
+
+Example:
+[lib.getExe pkgs.bash-language-server "start"]
+
+Declared by:
+
+
+
+
+ vim.languages.bash.lsp.server
+
+
+
+
+Bash LSP server to use
+
+Type:
+value “bash-ls” (singular enum)
+
+Default:
+"bash-ls"
+
+Declared by:
+
+
+
+
+ vim.languages.bash.treesitter.enable
+
+
+
+
+Whether to enable Bash treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.bash.treesitter.package
+
+
+
+
+The bash treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.bash
+
+Declared by:
+
+
+
+
+ vim.languages.clang.enable
+
+
+
+
+Whether to enable C/C++ language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.clang.cHeader
+
+
+
+
+C syntax for headers. Can fix treesitter errors, see:
+https://www.reddit.com/r/neovim/comments/orfpcd/question_does_the_c_parser_from_nvimtreesitter/
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.clang.dap.enable
+
+
+
+
+Enable clang Debug Adapter
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.clang.dap.package
+
+
+
+
+clang debugger package.
+
+Type:
+package
+
+Default:
+<derivation lldb-19.1.7>
+
+Declared by:
+
+
+
+
+ vim.languages.clang.dap.debugger
+
+
+
+
+clang debugger to use
+
+Type:
+value “lldb-vscode” (singular enum)
+
+Default:
+"lldb-vscode"
+
+Declared by:
+
+
+
+
+ vim.languages.clang.lsp.enable
+
+
+
+
+Whether to enable clang LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.clang.lsp.package
+
+
+
+
+clang LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation clang-tools-19.1.7>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"
+
+Declared by:
+
+
+
+
+ vim.languages.clang.lsp.opts
+
+
+
+
+Options to pass to clang LSP server
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.languages.clang.lsp.server
+
+
+
+
+The clang LSP server to use
+
+Type:
+one of “ccls”, “clangd”
+
+Default:
+"clangd"
+
+Declared by:
+
+
+
+
+ vim.languages.clang.treesitter.enable
+
+
+
+
+Whether to enable C/C++ treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.clang.treesitter.cPackage
+
+
+
+
+The c treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.c
+
+Declared by:
+
+
+
+
+ vim.languages.clang.treesitter.cppPackage
+
+
+
+
+The cpp treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.cpp
+
+Declared by:
+
+
+
+
+ vim.languages.clojure.enable
+
+
+
+
+Whether to enable Clojure language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.clojure.lsp.enable
+
+
+
+
+Whether to enable Clojure LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.clojure.lsp.package
+
+
+
+
+Clojure LSP
+
+Type:
+package or list of string
+
+Default:
+<derivation clojure-lsp-2025.06.06-19.04.49>
+
+Declared by:
+
+
+
+
+ vim.languages.clojure.treesitter.enable
+
+
+
+
+Whether to enable Clojure treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.clojure.treesitter.package
+
+
+
+
+The clojure treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.clojure
+
+Declared by:
+
+
+
+
+ vim.languages.csharp.enable
+
+
+
+
+Whether to enable C# language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.csharp.lsp.enable
+
+
+
+
+Whether to enable C# LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.csharp.lsp.package
+
+
+
+
+C# LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation csharp-ls-0.17.0>
+
+Declared by:
+
+
+
+
+ vim.languages.csharp.lsp.server
+
+
+
+
+C# LSP server to use
+
+Type:
+one of “csharp_ls”, “omnisharp”
+
+Default:
+"csharp_ls"
+
+Declared by:
+
+
+
+
+ vim.languages.csharp.treesitter.enable
+
+
+
+
+Whether to enable C# treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.csharp.treesitter.package
+
+
+
+
+The c-sharp treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.c-sharp
+
+Declared by:
+
+
+
+
+ vim.languages.css.enable
+
+
+
+
+Whether to enable CSS language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.css.format.enable
+
+
+
+
+Whether to enable CSS formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.css.format.package
+
+
+
+
+CSS formatter package
+
+Type:
+package
+
+Default:
+<derivation prettier-3.5.3>
+
+Declared by:
+
+
+
+
+ vim.languages.css.format.type
+
+
+
+
+CSS formatter to use
+
+Type:
+one of “biome”, “prettier”, “prettierd”
+
+Default:
+"prettier"
+
+Declared by:
+
+
+
+
+ vim.languages.css.lsp.enable
+
+
+
+
+Whether to enable CSS LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.css.lsp.package
+
+
+
+
+CSS LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation vscode-langservers-extracted-4.10.0>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"
+
+Declared by:
+
+
+
+
+ vim.languages.css.lsp.server
+
+
+
+
+CSS LSP server to use
+
+Type:
+value “vscode-langservers-extracted” (singular enum)
+
+Default:
+"vscode-langservers-extracted"
+
+Declared by:
+
+
+
+
+ vim.languages.css.treesitter.enable
+
+
+
+
+Whether to enable CSS treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.css.treesitter.package
+
+
+
+
+The css treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.css
+
+Declared by:
+
+
+
+
+ vim.languages.cue.enable
+
+
+
+
+Whether to enable CUE language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.cue.lsp.enable
+
+
+
+
+Whether to enable CUE LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.cue.lsp.package
+
+
+
+
+cue lsp implementation
+
+Type:
+package
+
+Default:
+<derivation cue-0.13.1>
+
+Declared by:
+
+
+
+
+ vim.languages.cue.treesitter.enable
+
+
+
+
+Whether to enable CUE treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.cue.treesitter.package
+
+
+
+
+The cue treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.cue
+
+Declared by:
+
+
+
+
+ vim.languages.dart.enable
+
+
+
+
+Whether to enable Dart language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.dart.dap.enable
+
+
+
+
+Enable Dart DAP support via flutter-tools
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.enable
+
+
+
+
+Enable flutter-tools for flutter support
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.enableNoResolvePatch
+
+
+
+
+Whether to patch flutter-tools so that it doesn’t resolve
+symlinks when detecting flutter path.
Note This is required if flutterPackage is set to null and the flutter
+package in your PATH was built with Nix. If you are using a flutter
+SDK installed from a different source and encounter the error “dart
+missing from PATH”, leave this option disabled.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.color.enable
+
+
+
+
+Whether to enable highlighting color variables.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.color.highlightBackground
+
+
+
+
+Highlight the background
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.color.highlightForeground
+
+
+
+
+Highlight the foreground
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.color.virtualText.enable
+
+
+
+
+Whether to enable Show the highlight using virtual text.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.color.virtualText.character
+
+
+
+
+Virtual text character to highlight
+
+Type:
+string
+
+Default:
+"■"
+
+Declared by:
+
+
+
+
+ vim.languages.dart.flutter-tools.flutterPackage
+
+
+
+
+Flutter package, or null to detect the flutter path at runtime instead.
+
+Type:
+null or package
+
+Default:
+<derivation flutter-wrapped-3.32.2-sdk-links>
+
+Declared by:
+
+
+
+
+ vim.languages.dart.lsp.enable
+
+
+
+
+Whether to enable Dart LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.dart.lsp.package
+
+
+
+
+Dart LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation dart-3.8.0>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.dart.lsp.opts
+
+
+
+
+Options to pass to Dart LSP server
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.languages.dart.lsp.server
+
+
+
+
+The Dart LSP server to use
+
+Type:
+value “dart” (singular enum)
+
+Default:
+"dart"
+
+Declared by:
+
+
+
+
+ vim.languages.dart.treesitter.enable
+
+
+
+
+Whether to enable Dart treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.dart.treesitter.package
+
+
+
+
+The dart treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.dart
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.enable
+
+
+
+
+Whether to enable Elixir language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.elixir-tools.enable
+
+
+
+
+Whether to enable Elixir tools.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.format.enable
+
+
+
+
+Whether to enable Elixir formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.format.package
+
+
+
+
+Elixir formatter package
+
+Type:
+package
+
+Default:
+<derivation elixir-1.18.4>
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.format.type
+
+
+
+
+Elixir formatter to use
+
+Type:
+value “mix” (singular enum)
+
+Default:
+"mix"
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.lsp.enable
+
+
+
+
+Whether to enable Elixir LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.lsp.package
+
+
+
+
+Elixir LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation elixir-ls-0.28.1>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.lsp.server
+
+
+
+
+Elixir LSP server to use
+
+Type:
+value “elixirls” (singular enum)
+
+Default:
+"elixirls"
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.treesitter.enable
+
+
+
+
+Whether to enable Elixir treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.elixir.treesitter.package
+
+
+
+
+The elixir treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.elixir
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.enable
+
+
+
+
+Whether to enable F# language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.format.enable
+
+
+
+
+Whether to enable F# formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.format.package
+
+
+
+
+F# formatter package
+
+Type:
+package
+
+Default:
+<derivation fantomas-7.0.2>
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.format.type
+
+
+
+
+F# formatter to use
+
+Type:
+value “fantomas” (singular enum)
+
+Default:
+"fantomas"
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.lsp.enable
+
+
+
+
+Whether to enable F# LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.lsp.package
+
+
+
+
+F# LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation fsautocomplete-0.78.3>
+
+Example:
+"[lib.getExe pkgs.fsautocomplete \"--state-directory\" \"~/.cache/fsautocomplete\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.lsp.server
+
+
+
+
+F# LSP server to use
+
+Type:
+value “fsautocomplete” (singular enum)
+
+Default:
+"fsautocomplete"
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.treesitter.enable
+
+
+
+
+Whether to enable F# treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.fsharp.treesitter.package
+
+
+
+
+The fsharp treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.fsharp
+
+Declared by:
+
+
+
+
+ vim.languages.gleam.enable
+
+
+
+
+Whether to enable Gleam language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.gleam.lsp.enable
+
+
+
+
+Whether to enable Gleam LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.gleam.lsp.package
+
+
+
+
+Gleam LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation gleam-1.11.1>
+
+Declared by:
+
+
+
+
+ vim.languages.gleam.lsp.server
+
+
+
+
+Gleam LSP server to use
+
+Type:
+value “gleam” (singular enum)
+
+Default:
+"gleam"
+
+Declared by:
+
+
+
+
+ vim.languages.gleam.treesitter.enable
+
+
+
+
+Whether to enable Gleam treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.gleam.treesitter.package
+
+
+
+
+The gleam treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.gleam
+
+Declared by:
+
+
+
+
+ vim.languages.go.enable
+
+
+
+
+Whether to enable Go language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.go.dap.enable
+
+
+
+
+Enable Go Debug Adapter via nvim-dap-go plugin
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.go.dap.package
+
+
+
+
+Go debugger package.
+
+Type:
+package
+
+Default:
+<derivation delve-1.25.0>
+
+Declared by:
+
+
+
+
+ vim.languages.go.dap.debugger
+
+
+
+
+Go debugger to use
+
+Type:
+value “delve” (singular enum)
+
+Default:
+"delve"
+
+Declared by:
+
+
+
+
+ vim.languages.go.format.enable
+
+
+
+
+Whether to enable Go formatting.
+
+Type:
+boolean
+
+Default:
+disabled if Go LSP is enabled, otherwise follows vim.languages.enableFormat
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.go.format.package
+
+
+
+
+Go formatter package
+
+Type:
+package
+
+Default:
+<derivation go-1.24.3>
+
+Declared by:
+
+
+
+
+ vim.languages.go.format.type
+
+
+
+
+Go formatter to use
+
+Type:
+one of “gofmt”, “gofumpt”, “golines”
+
+Default:
+"gofmt"
+
+Declared by:
+
+
+
+
+ vim.languages.go.lsp.enable
+
+
+
+
+Whether to enable Go LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.go.lsp.package
+
+
+
+
+Go LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation gopls-0.19.0>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"
+
+Declared by:
+
+
+
+
+ vim.languages.go.lsp.server
+
+
+
+
+Go LSP server to use
+
+Type:
+value “gopls” (singular enum)
+
+Default:
+"gopls"
+
+Declared by:
+
+
+
+
+ vim.languages.go.treesitter.enable
+
+
+
+
+Whether to enable Go treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.go.treesitter.package
+
+
+
+
+The go treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.go
+
+Declared by:
+
+
+
+
+ vim.languages.haskell.enable
+
+
+
+
+Whether to enable Haskell support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.haskell.dap.enable
+
+
+
+
+Whether to enable DAP support for Haskell.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.haskell.dap.package
+
+
+
+
+Haskell DAP package or command to run the Haskell DAP
+
+Type:
+package or list of string
+
+Default:
+<derivation haskell-debug-adapter-0.0.42.0>
+
+Declared by:
+
+
+
+
+ vim.languages.haskell.lsp.enable
+
+
+
+
+Whether to enable LSP support for Haskell.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.haskell.lsp.package
+
+
+
+
+Haskell LSP package or command to run the Haskell LSP
+
+Type:
+package or list of string
+
+Default:
+<derivation haskell-language-server-2.10.0.0>
+
+Example:
+"[ (lib.getExe pkgs.haskellPackages.haskell-language-server) \"--debug\" ]"
+
+Declared by:
+
+
+
+
+ vim.languages.haskell.treesitter.enable
+
+
+
+
+Whether to enable Treesitter support for Haskell.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.haskell.treesitter.package
+
+
+
+
+The haskell treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.haskell
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.enable
+
+
+
+
+Whether to enable HCL support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.format.enable
+
+
+
+
+Enable HCL formatting
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.format.package
+
+
+
+
+HCL formatter package
+
+Type:
+package
+
+Default:
+<derivation hclfmt-2.23.0>
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.format.type
+
+
+
+
+HCL formatter to use
+
+Type:
+value “hclfmt” (singular enum)
+
+Default:
+"hclfmt"
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.lsp.enable
+
+
+
+
+Whether to enable HCL LSP support (terraform-ls).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.lsp.package
+
+
+
+
+HCL language server package (terraform-ls)
+
+Type:
+package
+
+Default:
+<derivation terraform-ls-0.36.5>
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.treesitter.enable
+
+
+
+
+Whether to enable HCL treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.hcl.treesitter.package
+
+
+
+
+The hcl treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.hcl
+
+Declared by:
+
+
+
+
+ vim.languages.helm.enable
+
+
+
+
+Whether to enable Helm language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.helm.lsp.enable
+
+
+
+
+Whether to enable Helm LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.helm.lsp.package
+
+
+
+
+Helm LSP server package
+
+Type:
+package or list of string
+
+Default:
+<derivation helm-ls-0.4.0>
+
+Declared by:
+
+
+
+
+ vim.languages.helm.lsp.server
+
+
+
+
+Helm LSP server to use
+
+Type:
+value “helm-ls” (singular enum)
+
+Default:
+"helm-ls"
+
+Declared by:
+
+
+
+
+ vim.languages.helm.treesitter.enable
+
+
+
+
+Whether to enable Helm treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.helm.treesitter.package
+
+
+
+
+The helm treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.helm
+
+Declared by:
+
+
+
+
+ vim.languages.html.enable
+
+
+
+
+Whether to enable HTML language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.html.treesitter.enable
+
+
+
+
+Whether to enable HTML treesitter support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.html.treesitter.package
+
+
+
+
+The html treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.html
+
+Declared by:
+
+
+
+
+ vim.languages.html.treesitter.autotagHtml
+
+
+
+
+Enable autoclose/autorename of html tags (nvim-ts-autotag)
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.java.enable
+
+
+
+
+Whether to enable Java language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.java.lsp.enable
+
+
+
+
+Whether to enable Java LSP support (java-language-server).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.java.lsp.package
+
+
+
+
+java language server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation jdt-language-server-1.47.0>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.java.treesitter.enable
+
+
+
+
+Whether to enable Java treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.java.treesitter.package
+
+
+
+
+The java treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.java
+
+Declared by:
+
+
+
+
+ vim.languages.julia.enable
+
+
+
+
+Whether to enable Julia language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.julia.lsp.enable
+
+
+
+
+Whether to enable Julia LSP support.
Note The entirety of Julia is bundled with nvf, if you enable this
+option, since there is no way to provide only the LSP server.
If you want to avoid that, you have to change
+vim.languages.julia.lsp.package to use the Julia binary
+in PATH (set it to null), and add the LanguageServer package to
+Julia in your devshells.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.julia.lsp.package
+
+
+
+
+Julia LSP server package, null to use the Julia binary in PATH, or
+the command to run as a list of strings.
+
+Type:
+null or package or list of string
+
+Default:
+<derivation julia-1.11.5-env>
+
+Declared by:
+
+
+
+
+ vim.languages.julia.lsp.server
+
+
+
+
+Julia LSP server to use
+
+Type:
+value “julials” (singular enum)
+
+Default:
+"julials"
+
+Declared by:
+
+
+
+
+ vim.languages.julia.treesitter.enable
+
+
+
+
+Whether to enable Julia treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.julia.treesitter.package
+
+
+
+
+The julia treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.julia
+
+Declared by:
+
+
+
+
+ vim.languages.kotlin.enable
+
+
+
+
+Whether to enable Kotlin/HCL support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.kotlin.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Kotlin diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.kotlin.extraDiagnostics.types
+
+
+
+
+List of Kotlin diagnostics to enable
+
+Type:
+list of (value “ktlint” (singular enum) or (submodule))
+
+Default:
[
+ "ktlint"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.kotlin.lsp.enable
+
+
+
+
+Whether to enable Kotlin LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.kotlin.lsp.package
+
+
+
+
+kotlin_language_server package with Kotlin runtime
+
+Type:
+package or list of string
+
+Default:
+<derivation kotlin-language-server-1.3.13>
+
+Example:
pkgs.symlinkJoin {
+ name = "kotlin-language-server-wrapped";
+ paths = [pkgs.kotlin-language-server];
+ nativeBuildInputs = [pkgs.makeBinaryWrapper];
+ postBuild = ''
+ wrapProgram $out/bin/kotlin-language-server \
+ --prefix PATH : ${pkgs.kotlin}/bin
+ '';
+};
+
+
+
+Declared by:
+
+
+
+
+ vim.languages.kotlin.treesitter.enable
+
+
+
+
+Whether to enable Kotlin treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.kotlin.treesitter.package
+
+
+
+
+The kotlin treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.kotlin
+
+Declared by:
+
+
+
+
+ vim.languages.lua.enable
+
+
+
+
+Whether to enable Lua language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.lua.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Lua diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.lua.extraDiagnostics.types
+
+
+
+
+List of Lua diagnostics to enable
+
+Type:
+list of (value “luacheck” (singular enum) or (submodule))
+
+Default:
[
+ "luacheck"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.lua.format.enable
+
+
+
+
+Enable Lua formatting
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.lua.format.package
+
+
+
+
+Lua formatter package
+
+Type:
+package
+
+Default:
+<derivation stylua-2.1.0>
+
+Declared by:
+
+
+
+
+ vim.languages.lua.format.type
+
+
+
+
+Lua formatter to use
+
+Type:
+value “stylua” (singular enum)
+
+Default:
+"stylua"
+
+Declared by:
+
+
+
+
+ vim.languages.lua.lsp.enable
+
+
+
+
+Whether to enable Lua LSP support via LuaLS.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.lua.lsp.package
+
+
+
+
+LuaLS package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation lua-language-server-3.14.0>
+
+Declared by:
+
+
+
+
+ vim.languages.lua.lsp.lazydev.enable
+
+
+
+
+Whether to enable lazydev.nvim integration, useful for neovim plugin developers.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.lua.treesitter.enable
+
+
+
+
+Whether to enable Lua Treesitter support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.lua.treesitter.package
+
+
+
+
+The lua treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.lua
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.enable
+
+
+
+
+Whether to enable Markdown markup language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.extensions.markview-nvim.enable
+
+
+
+
+markview.nvim - a hackable markdown, Typst, latex, html(inline) & YAML previewer
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.extensions.markview-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of markview-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.extensions.render-markdown-nvim.enable
+
+
+
+
+Inline Markdown rendering with render-markdown.nvim
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.extensions.render-markdown-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of render-markdown
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.extensions.render-markdown-nvim.setupOpts.file_types
+
+
+
+
+List of buffer filetypes to enable this plugin in.
This will cause the plugin to attach to new buffers who
+have any of these filetypes.
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Markdown diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.extraDiagnostics.types
+
+
+
+
+List of Markdown diagnostics to enable
+
+Type:
+list of (value “markdownlint-cli2” (singular enum) or (submodule))
+
+Default:
[
+ "markdownlint-cli2"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.format.enable
+
+
+
+
+Whether to enable Markdown formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.format.package
+
+
+
+
+Markdown formatter package
+
+Type:
+package
+
+Default:
+<derivation deno-2.3.5>
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.format.extraFiletypes
+
+
+
+
+Extra filetypes to format with the Markdown formatter
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.format.type
+
+
+
+
+Markdown formatter to use. denofmt is deprecated and currently aliased to deno_fmt.
+
+Type:
+one of “deno_fmt”, “denofmt”, “prettierd”
+
+Default:
+"deno_fmt"
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.lsp.enable
+
+
+
+
+Whether to enable Enable Markdown LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.lsp.package
+
+
+
+
+Markdown LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation marksman-2024-12-18>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.lsp.server
+
+
+
+
+Markdown LSP server to use
+
+Type:
+value “marksman” (singular enum)
+
+Default:
+"marksman"
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.treesitter.enable
+
+
+
+
+Enable Markdown treesitter
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.treesitter.mdInlinePackage
+
+
+
+
+The markdown-inline treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.markdown-inline
+
+Declared by:
+
+
+
+
+ vim.languages.markdown.treesitter.mdPackage
+
+
+
+
+The markdown treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.markdown
+
+Declared by:
+
+
+
+
+ vim.languages.nim.enable
+
+
+
+
+Whether to enable Nim language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nim.format.enable
+
+
+
+
+Whether to enable Nim formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nim.format.package
+
+
+
+
+Nim formatter package
+
+Type:
+package
+
+Default:
+<derivation x86_64-unknown-linux-gnu-nim-wrapper-2.2.4>
+
+Declared by:
+
+
+
+
+ vim.languages.nim.format.type
+
+
+
+
+Nim formatter to use
+
+Type:
+value “nimpretty” (singular enum)
+
+Default:
+"nimpretty"
+
+Declared by:
+
+
+
+
+ vim.languages.nim.lsp.enable
+
+
+
+
+Whether to enable Nim LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nim.lsp.package
+
+
+
+
+Nim LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation nimlsp-0.4.6>
+
+Example:
+"[lib.getExe pkgs.nimlsp]"
+
+Declared by:
+
+
+
+
+ vim.languages.nim.lsp.server
+
+
+
+
+Nim LSP server to use
+
+Type:
+string
+
+Default:
+"nimlsp"
+
+Declared by:
+
+
+
+
+ vim.languages.nim.treesitter.enable
+
+
+
+
+Whether to enable Nim treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nim.treesitter.package
+
+
+
+
+The nim treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.nim
+
+Declared by:
+
+
+
+
+ vim.languages.nix.enable
+
+
+
+
+Whether to enable Nix language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nix.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Nix diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nix.extraDiagnostics.types
+
+
+
+
+List of Nix diagnostics to enable
+
+Type:
+list of (one of “deadnix”, “statix” or (submodule))
+
+Default:
[
+ "statix"
+ "deadnix"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.nix.format.enable
+
+
+
+
+Whether to enable Nix formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nix.format.package
+
+
+
+
+Nix formatter package
+
+Type:
+package
+
+Default:
+<derivation alejandra-4.0.0>
+
+Declared by:
+
+
+
+
+ vim.languages.nix.format.type
+
+
+
+
+Nix formatter to use
+
+Type:
+one of “alejandra”, “nixfmt”
+
+Default:
+"alejandra"
+
+Declared by:
+
+
+
+
+ vim.languages.nix.lsp.enable
+
+
+
+
+Whether to enable Nix LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nix.lsp.package
+
+
+
+
+Nix LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation nil-2025-06-13>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.nix.lsp.options
+
+
+
+
+Options to pass to nixd LSP server
+
+Type:
+null or (attribute set of anything)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.languages.nix.lsp.server
+
+
+
+
+Nix LSP server to use
+
+Type:
+one of “nil”, “nixd”
+
+Default:
+"nil"
+
+Declared by:
+
+
+
+
+ vim.languages.nix.treesitter.enable
+
+
+
+
+Whether to enable Nix treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nix.treesitter.package
+
+
+
+
+The nix treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.nix
+
+Declared by:
+
+
+
+
+ vim.languages.nu.enable
+
+
+
+
+Whether to enable Nu language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nu.lsp.enable
+
+
+
+
+Whether to enable Nu LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nu.lsp.package
+
+
+
+
+Nu LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation nushell-0.104.1>
+
+Example:
+"[(lib.getExe pkgs.nushell) \"--lsp\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.nu.lsp.server
+
+
+
+
+Nu LSP server to use
+
+Type:
+string
+
+Default:
+"nushell"
+
+Declared by:
+
+
+
+
+ vim.languages.nu.treesitter.enable
+
+
+
+
+Whether to enable Nu treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.nu.treesitter.package
+
+
+
+
+The nu treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.nu
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.enable
+
+
+
+
+Whether to enable OCaml language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.format.enable
+
+
+
+
+Whether to enable OCaml formatting support (ocamlformat).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.format.package
+
+
+
+
+OCaml formatter package
+
+Type:
+package
+
+Default:
+<derivation ocaml5.3.0-ocamlformat-0.27.0>
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.format.type
+
+
+
+
+OCaml formatter to use
+
+Type:
+value “ocamlformat” (singular enum)
+
+Default:
+"ocamlformat"
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.lsp.enable
+
+
+
+
+Whether to enable OCaml LSP support (ocaml-lsp).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.lsp.package
+
+
+
+
+OCaml language server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation ocaml5.3.0-ocaml-lsp-server-1.22.0>
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.lsp.server
+
+
+
+
+OCaml LSP server to user
+
+Type:
+value “ocaml-lsp” (singular enum)
+
+Default:
+"ocaml-lsp"
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.treesitter.enable
+
+
+
+
+Whether to enable OCaml treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ocaml.treesitter.package
+
+
+
+
+The ocaml treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.ocaml
+
+Declared by:
+
+
+
+
+ vim.languages.odin.enable
+
+
+
+
+Whether to enable Odin language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.odin.lsp.enable
+
+
+
+
+Whether to enable Odin LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.odin.lsp.package
+
+
+
+
+Ols package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation ols-0-unstable-2025-06-05>
+
+Declared by:
+
+
+
+
+ vim.languages.odin.lsp.server
+
+
+
+
+Odin LSP server to use
+
+Type:
+value “ols” (singular enum)
+
+Default:
+"ols"
+
+Declared by:
+
+
+
+
+ vim.languages.odin.treesitter.enable
+
+
+
+
+Whether to enable Odin treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.odin.treesitter.package
+
+
+
+
+The odin treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.odin
+
+Declared by:
+
+
+
+
+ vim.languages.php.enable
+
+
+
+
+Whether to enable PHP language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.php.lsp.enable
+
+
+
+
+Whether to enable PHP LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.php.lsp.package
+
+
+
+
+PHP LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation phpactor-2025.04.17.0>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"
+
+Declared by:
+
+
+
+
+ vim.languages.php.lsp.server
+
+
+
+
+PHP LSP server to use
+
+Type:
+one of “intelephense”, “phan”, “phpactor”
+
+Default:
+"phpactor"
+
+Declared by:
+
+
+
+
+ vim.languages.php.treesitter.enable
+
+
+
+
+Whether to enable PHP treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.php.treesitter.package
+
+
+
+
+The php treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.php
+
+Declared by:
+
+
+
+
+ vim.languages.python.enable
+
+
+
+
+Whether to enable Python language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.python.dap.enable
+
+
+
+
+Enable Python Debug Adapter
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.python.dap.package
+
+
+
+
+Python debugger package.
+This is a python package with debugpy installed, see https://nixos.wiki/wiki/Python#Install_Python_Packages.
+
+Type:
+package
+
+Default:
+<derivation python3-3.12.10-env>
+
+Example:
+with pkgs; python39.withPackages (ps: with ps; [debugpy])
+
+Declared by:
+
+
+
+
+ vim.languages.python.dap.debugger
+
+
+
+
+Python debugger to use
+
+Type:
+value “debugpy” (singular enum)
+
+Default:
+"debugpy"
+
+Declared by:
+
+
+
+
+ vim.languages.python.format.enable
+
+
+
+
+Whether to enable Python formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.python.format.package
+
+
+
+
+Python formatter package
+
+Type:
+package
+
+Default:
+<derivation black-25.1.0>
+
+Declared by:
+
+
+
+
+ vim.languages.python.format.type
+
+
+
+
+Python formatter to use
+
+Type:
+one of “black”, “black-and-isort”, “isort”, “ruff”
+
+Default:
+"black"
+
+Declared by:
+
+
+
+
+ vim.languages.python.lsp.enable
+
+
+
+
+Whether to enable Python LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.python.lsp.package
+
+
+
+
+python LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation basedpyright-1.29.4>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.python.lsp.server
+
+
+
+
+Python LSP server to use
+
+Type:
+one of “basedpyright”, “pyright”, “python-lsp-server”
+
+Default:
+"basedpyright"
+
+Declared by:
+
+
+
+
+ vim.languages.python.treesitter.enable
+
+
+
+
+Whether to enable Python treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.python.treesitter.package
+
+
+
+
+Python treesitter grammar to use
+
+Type:
+package
+
+Default:
+<derivation python-grammar-0.0.0+rev=710796b>
+
+Declared by:
+
+
+
+
+ vim.languages.r.enable
+
+
+
+
+Whether to enable R language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.r.format.enable
+
+
+
+
+Whether to enable R formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.r.format.package
+
+
+
+
+R formatter package
+
+Type:
+package
+
+Default:
+<derivation R-4.5.0-wrapper>
+
+Declared by:
+
+
+
+
+ vim.languages.r.format.type
+
+
+
+
+R formatter to use
+
+Type:
+one of “format_r”, “styler”
+
+Default:
+"format_r"
+
+Declared by:
+
+
+
+
+ vim.languages.r.lsp.enable
+
+
+
+
+Whether to enable R LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.r.lsp.package
+
+
+
+
+R LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation r_lsp>
+
+Example:
+[ (lib.getExe pkgs.jdt-language-server) "-data" "~/.cache/jdtls/workspace" ]
+
+Declared by:
+
+
+
+
+ vim.languages.r.lsp.server
+
+
+
+
+R LSP server to use
+
+Type:
+value “r_language_server” (singular enum)
+
+Default:
+"r_language_server"
+
+Declared by:
+
+
+
+
+ vim.languages.r.treesitter.enable
+
+
+
+
+Whether to enable R treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.r.treesitter.package
+
+
+
+
+The r treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.r
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.enable
+
+
+
+
+Whether to enable Ruby language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.extraDiagnostics.enable
+
+
+
+
+Whether to enable Ruby extra diagnostics support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.extraDiagnostics.types
+
+
+
+
+List of Ruby diagnostics to enable
+
+Type:
+list of (value “rubocop” (singular enum) or (submodule))
+
+Default:
[
+ "rubocop"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.format.enable
+
+
+
+
+Whether to enable Ruby formatter support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.format.package
+
+
+
+
+Ruby formatter package
+
+Type:
+package
+
+Default:
+<derivation ruby3.3-rubocop-1.75.2>
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.format.type
+
+
+
+
+Ruby formatter to use
+
+Type:
+value “rubocop” (singular enum)
+
+Default:
+"rubocop"
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.lsp.enable
+
+
+
+
+Whether to enable Ruby LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.lsp.package
+
+
+
+
+Ruby LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation ruby3.3-solargraph-0.54.0>
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.lsp.server
+
+
+
+
+Ruby LSP server to use
+
+Type:
+one of “rubylsp”, “rubyserver”
+
+Default:
+"rubyserver"
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.treesitter.enable
+
+
+
+
+Whether to enable Ruby treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ruby.treesitter.package
+
+
+
+
+The ruby treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.ruby
+
+Declared by:
+
+
+
+
+ vim.languages.rust.enable
+
+
+
+
+Whether to enable Rust language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.rust.crates.enable
+
+
+
+
+Whether to enable crates-nvim, tools for managing dependencies.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.rust.crates.codeActions
+
+
+
+
+Enable code actions through null-ls
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.rust.dap.enable
+
+
+
+
+Rust Debug Adapter support
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.rust.dap.package
+
+
+
+
+lldb package
+
+Type:
+package
+
+Default:
+<derivation lldb-19.1.7>
+
+Declared by:
+
+
+
+
+ vim.languages.rust.format.enable
+
+
+
+
+Whether to enable Rust formatting.
+
+Type:
+boolean
+
+Default:
+Disabled if Rust LSP is enabled, otherwise follows vim.languages.enableFormat
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.rust.format.package
+
+
+
+
+Rust formatter package
+
+Type:
+package
+
+Default:
+<derivation rustfmt-1.86.0>
+
+Declared by:
+
+
+
+
+ vim.languages.rust.format.type
+
+
+
+
+Rust formatter to use
+
+Type:
+value “rustfmt” (singular enum)
+
+Default:
+"rustfmt"
+
+Declared by:
+
+
+
+
+ vim.languages.rust.lsp.enable
+
+
+
+
+Whether to enable Rust LSP support (rust-analyzer with extra tools).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.rust.lsp.package
+
+
+
+
+rust-analyzer package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation rust-analyzer-2025-06-09>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.rust.lsp.opts
+
+
+
+
+Options to pass to rust analyzer
+
+Type:
+string
+
+Default:
+""
+
+Example:
''
+ ['rust-analyzer'] = {
+ cargo = {allFeature = true},
+ checkOnSave = true,
+ procMacro = {
+ enable = true,
+ },
+ },
+''
+
+
+Declared by:
+
+
+
+
+ vim.languages.rust.treesitter.enable
+
+
+
+
+Whether to enable Rust treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.rust.treesitter.package
+
+
+
+
+The rust treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.rust
+
+Declared by:
+
+
+
+
+ vim.languages.scala.enable
+
+
+
+
+Whether to enable Scala language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.scala.dap.enable
+
+
+
+
+Whether to enable Scala Debug Adapter support (metals).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.scala.dap.config
+
+
+
+
+Lua configuration for dap
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ dap.configurations.scala = {
+ {
+ type = "scala",
+ request = "launch",
+ name = "RunOrTest",
+ metals = {
+ runType = "runOrTestFile",
+ --args = { "firstArg", "secondArg", "thirdArg" }, -- here just as an example
+ },
+ },
+ {
+ type = "scala",
+ request = "launch",
+ name = "Test Target",
+ metals = {
+ runType = "testTarget",
+ },
+ },
+ }
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.languages.scala.fixShortmess
+
+
+
+
+Remove the ‘F’ flag from shortmess to allow messages to be shown. Without doing this, autocommands that deal with filetypes prohibit messages from being shown
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.scala.lsp.enable
+
+
+
+
+Whether to enable Scala LSP support (metals).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.scala.lsp.package
+
+
+
+
+The metals package to use.
+
+Type:
+package
+
+Default:
+pkgs.metals
+
+Declared by:
+
+
+
+
+ vim.languages.scala.lsp.extraMappings.listCommands
+
+
+
+
+List Metals commands
+
+Type:
+null or string
+
+Default:
+"<leader>lc"
+
+Declared by:
+
+
+
+
+ vim.languages.scala.lsp.extraSettings
+
+
+
+
+Extra settings passed to the metals config. Check nvim-metals docs for available options
+
+Type:
+attribute set of anything
+
+Default:
{
+ excludedPackages = [
+ "akka.actor.typed.javadsl"
+ "com.github.swagger.akka.javadsl"
+ ];
+ showImplicitArguments = true;
+ showImplicitConversionsAndClasses = true;
+ showInferredType = true;
+}
+
+
+Declared by:
+
+
+
+
+ vim.languages.scala.treesitter.enable
+
+
+
+
+Whether to enable Scala treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.scala.treesitter.package
+
+
+
+
+The scala treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.scala
+
+Declared by:
+
+
+
+
+ vim.languages.sql.enable
+
+
+
+
+Whether to enable SQL language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.sql.dialect
+
+
+
+
+SQL dialect for sqlfluff (if used)
+
+Type:
+string
+
+Default:
+"ansi"
+
+Declared by:
+
+
+
+
+ vim.languages.sql.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra SQL diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.sql.extraDiagnostics.types
+
+
+
+
+List of SQL diagnostics to enable
+
+Type:
+list of (value “sqlfluff” (singular enum) or (submodule))
+
+Default:
[
+ "sqlfluff"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.sql.format.enable
+
+
+
+
+Whether to enable SQL formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.sql.format.package
+
+
+
+
+SQL formatter package
+
+Type:
+package
+
+Default:
+<derivation sqlfluff-3.4.1>
+
+Declared by:
+
+
+
+
+ vim.languages.sql.format.type
+
+
+
+
+SQL formatter to use
+
+Type:
+value “sqlfluff” (singular enum)
+
+Default:
+"sqlfluff"
+
+Declared by:
+
+
+
+
+ vim.languages.sql.lsp.enable
+
+
+
+
+Whether to enable SQL LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.sql.lsp.package
+
+
+
+
+SQL LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation sqls-0.2.28>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.sql.lsp.server
+
+
+
+
+SQL LSP server to use
+
+Type:
+value “sqls” (singular enum)
+
+Default:
+"sqls"
+
+Declared by:
+
+
+
+
+ vim.languages.sql.treesitter.enable
+
+
+
+
+Whether to enable SQL treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.sql.treesitter.package
+
+
+
+
+SQL treesitter grammar to use
+
+Type:
+package
+
+Default:
+<derivation sql-grammar-0.0.0+rev=b1ec2aa>
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.enable
+
+
+
+
+Whether to enable Svelte language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Svelte diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.extraDiagnostics.types
+
+
+
+
+List of Svelte diagnostics to enable
+
+Type:
+list of (value “eslint_d” (singular enum) or (submodule))
+
+Default:
[
+ "eslint_d"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.format.enable
+
+
+
+
+Whether to enable Svelte formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.format.package
+
+
+
+
+Svelte formatter package
+
+Type:
+package
+
+Default:
+<derivation prettier-3.5.3>
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.format.type
+
+
+
+
+Svelte formatter to use
+
+Type:
+one of “biome”, “prettier”
+
+Default:
+"prettier"
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.lsp.enable
+
+
+
+
+Whether to enable Svelte LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.lsp.package
+
+
+
+
+Svelte LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation svelte-language-server-0.17.15>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.lsp.server
+
+
+
+
+Svelte LSP server to use
+
+Type:
+value “svelte” (singular enum)
+
+Default:
+"svelte"
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.treesitter.enable
+
+
+
+
+Whether to enable Svelte treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.svelte.treesitter.sveltePackage
+
+
+
+
+The svelte treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.svelte
+
+Declared by:
+
+
+
+
+ vim.languages.tailwind.enable
+
+
+
+
+Whether to enable Tailwindcss language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.tailwind.lsp.enable
+
+
+
+
+Whether to enable Tailwindcss LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.tailwind.lsp.package
+
+
+
+
+Tailwindcss LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation tailwindcss-language-server-0.14.21>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"
+
+Declared by:
+
+
+
+
+ vim.languages.tailwind.lsp.server
+
+
+
+
+Tailwindcss LSP server to use
+
+Type:
+value “tailwindcss-language-server” (singular enum)
+
+Default:
+"tailwindcss-language-server"
+
+Declared by:
+
+
+
+
+ vim.languages.terraform.enable
+
+
+
+
+Whether to enable Terraform/HCL support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.terraform.lsp.enable
+
+
+
+
+Whether to enable Terraform LSP support (terraform-ls).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.terraform.lsp.package
+
+
+
+
+terraform-ls package
+
+Type:
+package
+
+Default:
+<derivation terraform-ls-0.36.5>
+
+Declared by:
+
+
+
+
+ vim.languages.terraform.treesitter.enable
+
+
+
+
+Whether to enable Terraform treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.terraform.treesitter.package
+
+
+
+
+The terraform treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.terraform
+
+Declared by:
+
+
+
+
+ vim.languages.ts.enable
+
+
+
+
+Whether to enable Typescript/Javascript language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ts.extensions.ts-error-translator.enable
+
+
+
+
+Whether to enable [ts-error-translator.nvim]: https://github.com/dmmulroy/ts-error-translator.nvim
Typescript error translation with [ts-error-translator.nvim]
.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ts.extensions.ts-error-translator.setupOpts
+
+
+
+
+Option table to pass into the setup function of ts-error-translator
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.languages.ts.extensions.ts-error-translator.setupOpts.auto_override_publish_diagnostics
+
+
+
+
+Automatically override the publish_diagnostics handler
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ts.extraDiagnostics.enable
+
+
+
+
+Whether to enable extra Typescript/Javascript diagnostics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ts.extraDiagnostics.types
+
+
+
+
+List of Typescript/Javascript diagnostics to enable
+
+Type:
+list of (value “eslint_d” (singular enum) or (submodule))
+
+Default:
[
+ "eslint_d"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.ts.format.enable
+
+
+
+
+Whether to enable Typescript/Javascript formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ts.format.package
+
+
+
+
+Typescript/Javascript formatter package
+
+Type:
+package
+
+Default:
+<derivation prettier-3.5.3>
+
+Declared by:
+
+
+
+
+ vim.languages.ts.format.type
+
+
+
+
+Typescript/Javascript formatter to use
+
+Type:
+one of “biome”, “prettier”, “prettierd”
+
+Default:
+"prettier"
+
+Declared by:
+
+
+
+
+ vim.languages.ts.lsp.enable
+
+
+
+
+Whether to enable Typescript/Javascript LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ts.lsp.package
+
+
+
+
+Typescript/Javascript LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation typescript-language-server-4.3.3>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.ts.lsp.server
+
+
+
+
+Typescript/Javascript LSP server to use
+
+Type:
+one of “denols”, “ts_ls”, “tsserver”
+
+Default:
+"ts_ls"
+
+Declared by:
+
+
+
+
+ vim.languages.ts.treesitter.enable
+
+
+
+
+Whether to enable Typescript/Javascript treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.ts.treesitter.jsPackage
+
+
+
+
+The javascript treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.javascript
+
+Declared by:
+
+
+
+
+ vim.languages.ts.treesitter.tsPackage
+
+
+
+
+The tsx treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.tsx
+
+Declared by:
+
+
+
+
+ vim.languages.typst.enable
+
+
+
+
+Whether to enable Typst language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.typst.extensions.typst-preview-nvim.enable
+
+
+
+
+Whether to enable [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim
Low latency typst preview for Neovim via [typst-preview.nvim]
+.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.typst.extensions.typst-preview-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of typst-preview-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.languages.typst.extensions.typst-preview-nvim.setupOpts.dependencies_bin
+
+
+
+
+Provide the path to binaries for dependencies. Setting this
+to a non-null value will skip the download of the binary by
+the plugin.
+
+Type:
+attribute set of string
+
+Default:
{
+ tinymist = "\${pkgs.tinymist.out}/bin/tinymist";
+ websocat = "\${pkgs.websocat.out}/bin/websocat";
+}
+
+
+Declared by:
+
+
+
+
+ vim.languages.typst.extensions.typst-preview-nvim.setupOpts.extra_args
+
+
+
+
+A list of extra arguments (or null) to be passed to previewer
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Example:
[
+ "--input=ver=draft"
+ "--ignore-system-fonts"
+]
+
+
+Declared by:
+
+
+
+
+ vim.languages.typst.extensions.typst-preview-nvim.setupOpts.open_cmd
+
+
+
+
+Custom format string to open the output link provided with %s
+
+Type:
+null or string
+
+Default:
+null
+
+Example:
+"firefox %s -P typst-preview --class typst-preview"
+
+Declared by:
+
+
+
+
+ vim.languages.typst.format.enable
+
+
+
+
+Whether to enable Typst document formatting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.typst.format.package
+
+
+
+
+Typst formatter package
+
+Type:
+package
+
+Default:
+<derivation typstfmt-0.2.10>
+
+Declared by:
+
+
+
+
+ vim.languages.typst.format.type
+
+
+
+
+Typst formatter to use
+
+Type:
+one of “typstfmt”, “typstyle”
+
+Default:
+"typstfmt"
+
+Declared by:
+
+
+
+
+ vim.languages.typst.lsp.enable
+
+
+
+
+Whether to enable Typst LSP support (typst-lsp).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.typst.lsp.package
+
+
+
+
+typst-lsp package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation tinymist-0.13.12>
+
+Example:
+"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"
+
+Declared by:
+
+
+
+
+ vim.languages.typst.lsp.server
+
+
+
+
+Typst LSP server to use
+
+Type:
+one of “tinymist”, “typst-lsp”
+
+Default:
+"tinymist"
+
+Declared by:
+
+
+
+
+ vim.languages.typst.treesitter.enable
+
+
+
+
+Whether to enable Typst treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.typst.treesitter.package
+
+
+
+
+The typst treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.typst
+
+Declared by:
+
+
+
+
+ vim.languages.vala.enable
+
+
+
+
+Whether to enable Vala language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.vala.lsp.enable
+
+
+
+
+Whether to enable Vala LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.vala.lsp.package
+
+
+
+
+Vala LSP server package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation vala-language-server-wrapper>
+
+Declared by:
+
+
+
+
+ vim.languages.vala.lsp.server
+
+
+
+
+Vala LSP server to use
+
+Type:
+value “vala_ls” (singular enum)
+
+Default:
+"vala_ls"
+
+Declared by:
+
+
+
+
+ vim.languages.vala.treesitter.enable
+
+
+
+
+Whether to enable Vala treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.vala.treesitter.package
+
+
+
+
+The vala treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.vala
+
+Declared by:
+
+
+
+
+ vim.languages.wgsl.enable
+
+
+
+
+Whether to enable WGSL language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.wgsl.lsp.enable
+
+
+
+
+Whether to enable WGSL LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.wgsl.lsp.package
+
+
+
+
+wgsl-analyzer package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation wgsl-analyzer-2025-06-02>
+
+Example:
+[(lib.getExe pkgs.wgsl-analyzer)]
+
+Declared by:
+
+
+
+
+ vim.languages.wgsl.lsp.server
+
+
+
+
+WGSL LSP server to use
+
+Type:
+value “wgsl-analyzer” (singular enum)
+
+Default:
+"wgsl-analyzer"
+
+Declared by:
+
+
+
+
+ vim.languages.wgsl.treesitter.enable
+
+
+
+
+Whether to enable WGSL treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.wgsl.treesitter.package
+
+
+
+
+The wgsl treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.wgsl
+
+Declared by:
+
+
+
+
+ vim.languages.yaml.enable
+
+
+
+
+Whether to enable YAML language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.yaml.lsp.enable
+
+
+
+
+Whether to enable YAML LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.yaml.lsp.package
+
+
+
+
+YAML LSP server package
+
+Type:
+package or list of string
+
+Default:
+<derivation yaml-language-server-1.18.0>
+
+Declared by:
+
+
+
+
+ vim.languages.yaml.lsp.server
+
+
+
+
+YAML LSP server to use
+
+Type:
+value “yaml-language-server” (singular enum)
+
+Default:
+"yaml-language-server"
+
+Declared by:
+
+
+
+
+ vim.languages.yaml.treesitter.enable
+
+
+
+
+Whether to enable YAML treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.yaml.treesitter.package
+
+
+
+
+The yaml treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.yaml
+
+Declared by:
+
+
+
+
+ vim.languages.zig.enable
+
+
+
+
+Whether to enable Zig language support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.zig.dap.enable
+
+
+
+
+Enable Zig Debug Adapter
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.languages.zig.dap.package
+
+
+
+
+Zig debugger package.
+
+Type:
+package
+
+Default:
+<derivation lldb-19.1.7>
+
+Declared by:
+
+
+
+
+ vim.languages.zig.dap.debugger
+
+
+
+
+Zig debugger to use
+
+Type:
+value “lldb-vscode” (singular enum)
+
+Default:
+"lldb-vscode"
+
+Declared by:
+
+
+
+
+ vim.languages.zig.lsp.enable
+
+
+
+
+Whether to enable Zig LSP support.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.zig.lsp.package
+
+
+
+
+ZLS package, or the command to run as a list of strings
+
+Type:
+package or list of string
+
+Default:
+<derivation zls-0.14.0>
+
+Declared by:
+
+
+
+
+ vim.languages.zig.lsp.server
+
+
+
+
+Zig LSP server to use
+
+Type:
+value “zls” (singular enum)
+
+Default:
+"zls"
+
+Declared by:
+
+
+
+
+ vim.languages.zig.treesitter.enable
+
+
+
+
+Whether to enable Zig treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.languages.zig.treesitter.package
+
+
+
+
+The zig treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.zig
+
+Declared by:
+
+
+
+
+ vim.lazy.enable
+
+
+
+
+Whether to enable plugin lazy-loading via lz.n and lzn-auto-require.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lazy.enableLznAutoRequire
+
+
+
+
+Enable lzn-auto-require. Since builtin plugins rely on this, only turn
+off for debugging.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.lazy.loader
+
+
+
+
+Lazy loader to use
+
+Type:
+value “lz.n” (singular enum)
+
+Default:
+"lz.n"
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins
+
+
+
+
+Plugins to lazy load.
The attribute key is used as the plugin name: for the default vim.g.lz_n.load
+function this should be either the package.pname or package.name.
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Example:
''
+ {
+ toggleterm-nvim = {
+ package = "toggleterm-nvim";
+ setupModule = "toggleterm";
+ setupOpts = cfg.setupOpts;
+
+ after = "require('toggleterm').do_something()";
+ cmd = ["ToggleTerm"];
+ };
+
+ $''${pkgs.vimPlugins.vim-bbye.pname} = {
+ package = pkgs.vimPlugins.vim-bbye;
+ cmd = ["Bdelete" "Bwipeout"];
+ };
+ }
+''
+
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.enabled
+
+
+
+
+When false, or if the lua function returns false, this plugin will not be included in the spec
+
+Type:
+null or boolean or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.package
+
+
+
+
+Plugin package.
If null, a custom load function must be provided
+
+Type:
+null or null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.after
+
+
+
+
+Lua code to run after plugin is loaded. This will be wrapped in a function.
If vim.lazy.plugins.<name>.setupModule is provided, the setup will be ran before after.
+
+Type:
+null or strings concatenated with “\n”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.before
+
+
+
+
+Lua code to run before plugin is loaded. This will be wrapped in a function.
+
+Type:
+null or strings concatenated with “\n”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.beforeAll
+
+
+
+
+Lua code to run before any plugins are loaded. This will be wrapped in a function.
+
+Type:
+null or strings concatenated with “\n”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.beforeSetup
+
+
+
+
+Lua code to run after the plugin is loaded, but before the setup
+function is called.
+
+Type:
+null or strings concatenated with “\n”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.cmd
+
+
+
+
+Lazy-load on command
+
+Type:
+null or string or list of string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.colorscheme
+
+
+
+
+Lazy-load on colorscheme.
+
+Type:
+null or string or list of string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.event
+
+
+
+
+Lazy-load on event
+
+Type:
+null or string or (submodule) or list of (string or (submodule))
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.ft
+
+
+
+
+Lazy-load on filetype
+
+Type:
+null or string or list of string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.keys
+
+
+
+
+Lazy-load on key mapping
+
+Type:
+null or string or list of (submodule) or list of string
+
+Default:
+null
+
+Example:
''
+ keys = [
+ {
+ mode = "n";
+ key = "<leader>s";
+ action = ":DapStepOver<cr>";
+ desc = "DAP Step Over";
+ }
+ {
+ mode = ["n", "x"];
+ key = "<leader>dc";
+ action = "function() require('dap').continue() end";
+ lua = true;
+ desc = "DAP Continue";
+ }
+ ]
+''
+
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.lazy
+
+
+
+
+Force enable/disable lazy-loading. null means only lazy-load if
+a valid lazy-load condition is set e.g. cmd, ft, keys etc.
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.load
+
+
+
+
+Lua code to override the vim.g.lz_n.load() function for a single plugin.
This will be wrapped in a function(name) ... end.
+
+Type:
+null or strings concatenated with “\n”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.priority
+
+
+
+
+Only useful for stat plugins (not lazy-loaded) to force loading certain plugins first.
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.setupModule
+
+
+
+
+Lua module to run setup function on.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lazy.plugins.<name>.setupOpts
+
+
+
+
+Options to pass to the setup function
+
+Type:
+attribute set of anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lineNumberMode
+
+
+
+
+How line numbers are displayed.
+
+Type:
+one of “relative”, “number”, “relNumber”, “none”
+
+Default:
+"relNumber"
+
+Example:
+"none"
+
+Declared by:
+
+
+
+
+ vim.lsp.enable
+
+
+
+
+Whether to enable global LSP functionality for Neovim.
This option controls whether to enable LSP functionality within modules under
+vim.languages. You do not need to set this to true for language
+servers defined in vim.lsp.servers to take effect, since they are
+enabled automatically.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.formatOnSave
+
+
+
+
+Whether to enable format on save.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.inlayHints.enable
+
+
+
+
+Whether to enable inlay hints.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.lightbulb.enable
+
+
+
+
+Whether to enable Lightbulb for code actions. Requires an emoji font.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.lightbulb.autocmd.enable
+
+
+
+
+Whether to enable updating lightbulb glyph automatically.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.lightbulb.autocmd.events
+
+
+
+
+Events on which to update nvim-lightbulb glyphs
+
+Type:
+list of string
+
+Default:
[
+ "CursorHold"
+ "CursorHoldI"
+]
+
+
+Declared by:
+
+
+
+
+ vim.lsp.lightbulb.autocmd.pattern
+
+
+
+
+File patterns or buffer names to match, determining which files or buffers trigger
+glyph updates.
+
+Type:
+string or (luaInline)
+
+Default:
+"*"
+
+Declared by:
+
+
+
+
+ vim.lsp.lightbulb.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-lightbulb
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.lspSignature.enable
+
+
+
+
+Whether to enable lsp signature viewer.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.lspSignature.setupOpts
+
+
+
+
+Option table to pass into the setup function of lsp-signature
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.lspconfig.enable
+
+
+
+
+Whether to enable nvim-lspconfig, also enabled automatically.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.lspconfig.sources
+
+
+
+
+nvim-lspconfig sources
+
+Type:
+attribute set of string
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.lspkind.enable
+
+
+
+
+Whether to enable vscode-like pictograms for lsp [lspkind].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.lspkind.setupOpts
+
+
+
+
+Option table to pass into the setup function of lspkind.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.lspkind.setupOpts.before
+
+
+
+
+The function that will be called before lspkind’s modifications are applied
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lsp.lspkind.setupOpts.mode
+
+
+
+
+Defines how annotations are shown
+
+Type:
+one of “text”, “text_symbol”, “symbol_text”, “symbol”
+
+Default:
+"symbol_text"
+
+Declared by:
+
+
+
+
+ vim.lsp.lspsaga.enable
+
+
+
+
+Whether to enable LSP Saga.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.lspsaga.setupOpts
+
+
+
+
+Option table to pass into the setup function of lspsaga
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.lspsaga.setupOpts.border_style
+
+
+
+
+Border type, see :help nvim_open_win
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.addWorkspaceFolder
+
+
+
+
+Add workspace folder
+
+Type:
+null or string
+
+Default:
+"<leader>lwa"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.codeAction
+
+
+
+
+Code action
+
+Type:
+null or string
+
+Default:
+"<leader>la"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.documentHighlight
+
+
+
+
+Document highlight
+
+Type:
+null or string
+
+Default:
+"<leader>lH"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.format
+
+
+
+
+Format
+
+Type:
+null or string
+
+Default:
+"<leader>lf"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.goToDeclaration
+
+
+
+
+Go to declaration
+
+Type:
+null or string
+
+Default:
+"<leader>lgD"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.goToDefinition
+
+
+
+
+Go to definition
+
+Type:
+null or string
+
+Default:
+"<leader>lgd"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.goToType
+
+
+
+
+Go to type
+
+Type:
+null or string
+
+Default:
+"<leader>lgt"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.hover
+
+
+
+
+Trigger hover
+
+Type:
+null or string
+
+Default:
+"<leader>lh"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.listDocumentSymbols
+
+
+
+
+List document symbols
+
+Type:
+null or string
+
+Default:
+"<leader>lS"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.listImplementations
+
+
+
+
+List implementations
+
+Type:
+null or string
+
+Default:
+"<leader>lgi"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.listReferences
+
+
+
+
+List references
+
+Type:
+null or string
+
+Default:
+"<leader>lgr"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.listWorkspaceFolders
+
+
+
+
+List workspace folders
+
+Type:
+null or string
+
+Default:
+"<leader>lwl"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.listWorkspaceSymbols
+
+
+
+
+List workspace symbols
+
+Type:
+null or string
+
+Default:
+"<leader>lws"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.nextDiagnostic
+
+
+
+
+Go to next diagnostic
+
+Type:
+null or string
+
+Default:
+"<leader>lgn"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.openDiagnosticFloat
+
+
+
+
+Open diagnostic float
+
+Type:
+null or string
+
+Default:
+"<leader>le"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.previousDiagnostic
+
+
+
+
+Go to previous diagnostic
+
+Type:
+null or string
+
+Default:
+"<leader>lgp"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.removeWorkspaceFolder
+
+
+
+
+Remove workspace folder
+
+Type:
+null or string
+
+Default:
+"<leader>lwr"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.renameSymbol
+
+
+
+
+Rename symbol
+
+Type:
+null or string
+
+Default:
+"<leader>ln"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.signatureHelp
+
+
+
+
+Signature help
+
+Type:
+null or string
+
+Default:
+"<leader>ls"
+
+Declared by:
+
+
+
+
+ vim.lsp.mappings.toggleFormatOnSave
+
+
+
+
+Toggle format on save
+
+Type:
+null or string
+
+Default:
+"<leader>ltf"
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.enable
+
+
+
+
+Whether to enable null-ls, plugin to use Neovim as a language server to inject LSP diagnostics,
+code actions, and more via Lua.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.setupOpts
+
+
+
+
+Option table to pass into the setup function of null-ls
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.setupOpts.debounce
+
+
+
+
+Amount of time between the last change to a buffer and the next textDocument/didChange notification.
+
+Type:
+signed integer
+
+Default:
+250
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.setupOpts.debug
+
+
+
+
+Whether to enable debugging information for null-ls.
Displays all possible log messages and writes them to the null-ls log,
+which you can view with the command :NullLsLog
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.setupOpts.default_timeout
+
+
+
+
+Amount of time (in milliseconds) after which built-in sources will time out.
Note Built-in sources can define their own timeout period and users can override
+the timeout period on a per-source basis
+
+Type:
+signed integer
+
+Default:
+5000
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.setupOpts.diagnostics_format
+
+
+
+
+Sets the default format used for diagnostics. null-ls will replace th
+e following special components with the relevant diagnostic information:
+
+Type:
+string
+
+Default:
+"[#{m}] #{s} (#{c})"
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.setupOpts.on_attach
+
+
+
+
+Defines an on_attach callback to run whenever null-ls attaches to a buffer.
+
+Type:
+null or (luaInline)
+
+Default:
{
+ _type = "lua-inline";
+ expr = "on_attach";
+}
+
+
+Declared by:
+
+
+
+
+ vim.lsp.null-ls.setupOpts.sources
+
+
+
+
+Sources for null-ls to register
+
+Type:
+null or (list of (luaInline))
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.enable
+
+
+
+
+Whether to enable nvim-docs-view, for displaying lsp hover documentation in a side panel…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.mappings.viewToggle
+
+
+
+
+Open or close the docs view panel
+
+Type:
+null or string
+
+Default:
+"<leader>lvt"
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.mappings.viewUpdate
+
+
+
+
+Manually update the docs view panel
+
+Type:
+null or string
+
+Default:
+"<leader>lvu"
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-docs-view
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.setupOpts.height
+
+
+
+
+Height of the docs view panel if the position is set to either top or bottom
+
+Type:
+signed integer
+
+Default:
+10
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.setupOpts.position
+
+
+
+
+Where to open the docs view panel
+
+Type:
+one of “left”, “right”, “top”, “bottom”
+
+Default:
+"right"
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.setupOpts.update_mode
+
+
+
+
+Determines the mechanism used to update the docs view panel content.
If auto, the content will update upon cursor move.
If manual, the content will only update once :DocsViewUpdate is called
+
+Type:
+one of “auto”, “manual”
+
+Default:
+"auto"
+
+Declared by:
+
+
+
+
+ vim.lsp.nvim-docs-view.setupOpts.width
+
+
+
+
+Width of the docs view panel if the position is set to either left or right
+
+Type:
+signed integer
+
+Default:
+60
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.enable
+
+
+
+
+Whether to enable lsp features and a code completion source for code embedded in other documents [otter-nvim]
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.mappings.toggle
+
+
+
+
+Activate LSP on Cursor Position [otter-nvim]
+
+Type:
+null or string
+
+Default:
+"<leader>lo"
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of otter.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.setupOpts.buffers.set_filetype
+
+
+
+
+if set to true, the filetype of the otterbuffers will be set. Other wide only
+the autocommand of lspconfig that attaches the language server will be
+executed without setting the filetype
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.setupOpts.buffers.write_to_disk
+
+
+
+
+write <path>.otter.<embedded language extension> files to disk on save of main buffer.
+Useful for some linters that require actual files.
+Otter files are deleted on quit or main buffer close
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.setupOpts.handle_leading_whitespace
+
+
+
+
+otter may not work the way you expect when entire code blocks are indented
+(eg. in Org files) When true, otter handles these cases fully.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.setupOpts.lsp.diagnostic_update_event
+
+
+
+
+:h events that cause the diagnostic to update.
+Set to: {“BufWritePost”, “InsertLeave”, “TextChanged” }
+for less performant but more instant diagnostic updates
+
+Type:
+list of string
+
+Default:
[
+ "BufWritePost"
+]
+
+
+Declared by:
+
+
+
+
+ vim.lsp.otter-nvim.setupOpts.strip_wrapping_quote_characters
+
+
+
+
+Type:
+list of string
+
+Default:
[
+ "'"
+ "\""
+ "`"
+]
+
+
+Declared by:
+
+
+
+
+ vim.lsp.servers
+
+
+
+
+LSP configurations that will be managed using vim.lsp.config() and related
+utilities added in Neovim 0.11. LSPs defined here will be added to the
+resulting init.lua using vim.lsp.config and enabled through
+vim.lsp.enable() API from Neovim below the configuration table.
You may review the generated configuration by running nvf-print-config
+in a shell. Please see :help lsp-config for more details
+on the underlying API.
+
+Type:
+attribute set of (attribute set of anything)
+
+Default:
+{ }
+
+Example:
''
+ {
+ "*" = {
+ root_markers = [".git"];
+ capabilities = {
+ textDocument = {
+ semanticTokens = {
+ multilineTokenSupport = true;
+ };
+ };
+ };
+ };
+
+ "clangd" = {
+ filetypes = ["c"];
+ };
+ }
+''
+
+
+Declared by:
+
+
+
+
+ vim.lsp.servers.<name>.enable
+
+
+
+
+Whether to enable this LSP server.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.servers.<name>.capabilities
+
+
+
+
+LSP capabilitiess to pass to lspconfig
+
+Type:
+null or (luaInline) or attribute set of anything
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lsp.servers.<name>.cmd
+
+
+
+
+Command used to start the LSP server
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lsp.servers.<name>.filetypes
+
+
+
+
+Filetypes to auto-attach LSP in
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lsp.servers.<name>.on_attach
+
+
+
+
+Function to execute when an LSP server attaches to a buffer
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lsp.servers.<name>.root_markers
+
+
+
+
+“root markers” used to determine the root directory of the workspace, and
+the filetypes associated with this LSP server.
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.enable
+
+
+
+
+Whether to enable trouble diagnostics viewer.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.mappings.documentDiagnostics
+
+
+
+
+Document diagnostics [trouble]
+
+Type:
+null or string
+
+Default:
+"<leader>ld"
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.mappings.locList
+
+
+
+
+LOCList [trouble]
+
+Type:
+null or string
+
+Default:
+"<leader>xl"
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.mappings.lspReferences
+
+
+
+
+LSP References [trouble]
+
+Type:
+null or string
+
+Default:
+"<leader>lr"
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.mappings.quickfix
+
+
+
+
+QuickFix [trouble]
+
+Type:
+null or string
+
+Default:
+"<leader>xq"
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.mappings.symbols
+
+
+
+
+Symbols [trouble]
+
+Type:
+null or string
+
+Default:
+"<leader>xs"
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.mappings.workspaceDiagnostics
+
+
+
+
+Workspace diagnostics [trouble]
+
+Type:
+null or string
+
+Default:
+"<leader>lwd"
+
+Declared by:
+
+
+
+
+ vim.lsp.trouble.setupOpts
+
+
+
+
+Option table to pass into the setup function of Trouble
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.luaConfigPost
+
+
+
+
+Verbatim lua code that will be inserted after
+the result of the luaConfigRc DAG has been resolved
This option does not take a DAG set, but a string
+instead. Useful when you’d like to insert contents
+of lua configs after the DAG result.
+
+Type:
+string
+
+Default:
+""
+
+Example:
+${builtins.readFile ./my-lua-config-post.lua}
+
+Declared by:
+
+
+
+
+ vim.luaConfigPre
+
+
+
+
+Verbatim lua code that will be inserted before
+the result of luaConfigRc DAG has been resolved.
This option does not take a DAG set, but a string
+instead. Useful when you’d like to insert contents
+of lua configs after the DAG result.
Warning You do not want to override this option with mkForce
+It is used internally to set certain options as early
+as possible and should be avoided unless you know what
+you’re doing. Passing a string to this option will
+merge it with the default contents.
+
+Type:
+string
+
+Default:
+By default, this option will append paths in
+vim.additionalRuntimePaths
+to the runtimepath and enable the experimental Lua module loader
+if vim.enableLuaLoader is set to true.
+
+Example:
+${builtins.readFile ./my-lua-config-pre.lua}
+
+Declared by:
+
+
+
+
+ vim.luaConfigRC
+
+
+
+
+Lua configuration, either as a string or a DAG.
If this option is passed as a DAG, it will be resolved
+according to the DAG resolution rules (e.g. entryBefore
+or entryAfter) as per the nvf extended library.
+
+Type:
+(DAG of strings concatenated with “\n”) or string
+
+Default:
+{ }
+
+Example:
-- Set the tab size to 4 spaces
+vim.opt.tabstop = 4
+vim.opt.shiftwidth = 4
+vim.opt.expandtab = true
+
+
+Declared by:
+
+
+
+
+ vim.luaPackages
+
+
+
+
+List of lua packages to install
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Example:
+"[\"magick\" \"serpent\"]"
+
+Declared by:
+
+
+
+
+ vim.maps.command
+
+
+
+
+Mappings for command-line mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.command.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insert
+
+
+
+
+Mappings for insert mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.insert.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand
+
+
+
+
+Mappings for insert and command-line mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.insertCommand.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.lang
+
+
+
+
+Mappings for insert, command-line and lang-arg mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.lang.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normal
+
+
+
+
+Mappings for normal mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.normal.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp
+
+
+
+
+Mappings for normal, visual, select and operator-pending (same as plain ‘map’) mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.normalVisualOp.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.operator
+
+
+
+
+Mappings for operator-pending mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.operator.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.select
+
+
+
+
+Mappings for select mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.select.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.terminal
+
+
+
+
+Mappings for terminal mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.terminal.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visual
+
+
+
+
+Mappings for visual and select mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.visual.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly
+
+
+
+
+Mappings for visual only mode
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.action
+
+
+
+
+The command to execute.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.desc
+
+
+
+
+A description of this keybind, to be shown in which-key, if you have it enabled.
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.expr
+
+
+
+
+Means that the action is actually an expression. Equivalent to adding <expr> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.lua
+
+
+
+
+If true, action is considered to be lua code.
+Thus, it will not be wrapped in "".
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.noremap
+
+
+
+
+Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.nowait
+
+
+
+
+Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.script
+
+
+
+
+Equivalent to adding <script> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.silent
+
+
+
+
+Whether this mapping should be silent. Equivalent to adding <silent> to a map.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.maps.visualOnly.<name>.unique
+
+
+
+
+Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.mini.ai.enable
+
+
+
+
+Whether to enable mini.ai.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.ai.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.ai
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.align.enable
+
+
+
+
+Whether to enable mini.align.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.align.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.align
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.animate.enable
+
+
+
+
+Whether to enable mini.animate.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.animate.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.animate
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.basics.enable
+
+
+
+
+Whether to enable mini.basics.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.basics.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.basics
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.bracketed.enable
+
+
+
+
+Whether to enable mini.bracketed.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.bracketed.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.bracketed
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.bufremove.enable
+
+
+
+
+Whether to enable mini.bufremove.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.bufremove.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.bufremove
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.clue.enable
+
+
+
+
+Whether to enable mini.clue.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.clue.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.clue
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.colors.enable
+
+
+
+
+Whether to enable mini.colors.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.comment.enable
+
+
+
+
+Whether to enable mini.comment.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.comment.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.comment
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.completion.enable
+
+
+
+
+Whether to enable mini.completion.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.completion.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.completion
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.cursorword.enable
+
+
+
+
+Whether to enable mini.cursorword.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.cursorword.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.cursorword
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.diff.enable
+
+
+
+
+Whether to enable mini.diff.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.diff.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.diff
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.doc.enable
+
+
+
+
+Whether to enable mini.doc.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.doc.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.doc
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.extra.enable
+
+
+
+
+Whether to enable mini.extra.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.files.enable
+
+
+
+
+Whether to enable mini.files.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.files.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.files
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.fuzzy.enable
+
+
+
+
+Whether to enable mini.fuzzy.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.fuzzy.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.fuzzy
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.git.enable
+
+
+
+
+Whether to enable mini.git.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.git.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.git
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.hipatterns.enable
+
+
+
+
+Whether to enable mini.hipatterns.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.hipatterns.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.hipatterns
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.hues.enable
+
+
+
+
+Whether to enable mini.hues.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.hues.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.hues
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.hues.setupOpts.background
+
+
+
+
+The hex color for the background color of the color scheme, prefixed with #
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.mini.hues.setupOpts.foreground
+
+
+
+
+The hex color for the foreground color of the color scheme, prefixed with #
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.mini.icons.enable
+
+
+
+
+Whether to enable mini.icons.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.icons.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.icons
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.indentscope.enable
+
+
+
+
+Whether to enable mini.indentscope.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.indentscope.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.indentscope
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.indentscope.setupOpts.ignore_filetypes
+
+
+
+
+File types to ignore for illuminate
+
+Type:
+list of string
+
+Default:
[
+ "help"
+ "neo-tree"
+ "notify"
+ "NvimTree"
+ "TelescopePrompt"
+]
+
+
+Declared by:
+
+
+
+
+ vim.mini.jump.enable
+
+
+
+
+Whether to enable mini.jump.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.jump.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.jump
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.jump2d.enable
+
+
+
+
+Whether to enable mini.jump2d.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.jump2d.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.jump2d
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.map.enable
+
+
+
+
+Whether to enable mini.map.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.map.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.map
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.misc.enable
+
+
+
+
+Whether to enable mini.misc.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.misc.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.misc
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.move.enable
+
+
+
+
+Whether to enable mini.move.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.move.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.move
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.notify.enable
+
+
+
+
+Whether to enable mini.notify.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts
+
+
+
+
+Option table to pass into the setup function of mini.notify notifications
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.DEBUG.duration
+
+
+
+
+The duration of the debug notification
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.DEBUG.hl_group
+
+
+
+
+The highlight group of the debug notification
+
+Type:
+string
+
+Default:
+"DiagnosticHint"
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.ERROR.duration
+
+
+
+
+The duration of the error notification
+
+Type:
+signed integer
+
+Default:
+5000
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.ERROR.hl_group
+
+
+
+
+The highlight group of the error notification
+
+Type:
+string
+
+Default:
+"DiagnosticError"
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.INFO.duration
+
+
+
+
+The duration of the info notification
+
+Type:
+signed integer
+
+Default:
+5000
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.INFO.hl_group
+
+
+
+
+The highlight group of the info notification
+
+Type:
+string
+
+Default:
+"DiagnosticInfo"
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.OFF.duration
+
+
+
+
+The duration of the off notification
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.OFF.hl_group
+
+
+
+
+The highlight group of the off notification
+
+Type:
+string
+
+Default:
+"MiniNotifyNormal"
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.TRACE.duration
+
+
+
+
+The duration of the trace notification
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.TRACE.hl_group
+
+
+
+
+The highlight group of the trace notification
+
+Type:
+string
+
+Default:
+"DiagnosticOk"
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.WARN.duration
+
+
+
+
+The duration of the warn notification
+
+Type:
+signed integer
+
+Default:
+5000
+
+Declared by:
+
+
+
+
+ vim.mini.notify.notifyOpts.WARN.hl_group
+
+
+
+
+The highlight group of the warn notification
+
+Type:
+string
+
+Default:
+"DiagnosticWarn"
+
+Declared by:
+
+
+
+
+ vim.mini.notify.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.notify
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.notify.setupOpts.window.config.border
+
+
+
+
+The border type for the mini.notify-notifications
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.mini.operators.enable
+
+
+
+
+Whether to enable mini.operators.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.operators.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.operators
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.pairs.enable
+
+
+
+
+Whether to enable mini.pairs.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.pairs.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.pairs
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.pick.enable
+
+
+
+
+Whether to enable mini.pick.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.pick.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.pick
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.sessions.enable
+
+
+
+
+Whether to enable mini.sessions.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.sessions.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.sessions
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.snippets.enable
+
+
+
+
+Whether to enable mini.snippets.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.snippets.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.snippets
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.splitjoin.enable
+
+
+
+
+Whether to enable mini.splitjoin.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.splitjoin.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.splitjoin
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.starter.enable
+
+
+
+
+Whether to enable mini.starter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.starter.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.starter
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.statusline.enable
+
+
+
+
+Whether to enable mini.statusline.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.statusline.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.statusline
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.surround.enable
+
+
+
+
+Whether to enable mini.surround.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.surround.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.surround
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.tabline.enable
+
+
+
+
+Whether to enable mini.tabline.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.tabline.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.tabline
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.test.enable
+
+
+
+
+Whether to enable mini.test.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.test.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.test
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.trailspace.enable
+
+
+
+
+Whether to enable mini.trailspace.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.trailspace.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.trailspace
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.mini.visits.enable
+
+
+
+
+Whether to enable mini.visits.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.mini.visits.setupOpts
+
+
+
+
+Option table to pass into the setup function of mini.visits
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.minimap.codewindow.enable
+
+
+
+
+Whether to enable codewindow plugin for minimap view.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.minimap.codewindow.mappings.close
+
+
+
+
+Close minimap [codewindow]
+
+Type:
+null or string
+
+Default:
+"<leader>mc"
+
+Declared by:
+
+
+
+
+ vim.minimap.codewindow.mappings.open
+
+
+
+
+Open minimap [codewindow]
+
+Type:
+null or string
+
+Default:
+"<leader>mo"
+
+Declared by:
+
+
+
+
+ vim.minimap.codewindow.mappings.toggle
+
+
+
+
+Toggle minimap [codewindow]
+
+Type:
+null or string
+
+Default:
+"<leader>mm"
+
+Declared by:
+
+
+
+
+ vim.minimap.codewindow.mappings.toggleFocus
+
+
+
+
+Toggle minimap focus [codewindow]
+
+Type:
+null or string
+
+Default:
+"<leader>mf"
+
+Declared by:
+
+
+
+
+ vim.minimap.minimap-vim.enable
+
+
+
+
+Whether to enable minimap view [minimap-vim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.enable
+
+
+
+
+Whether to enable Quick bookmarks on keybinds [Harpoon].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.mappings.file1
+
+
+
+
+Go to marked file 1 [Harpoon]
+
+Type:
+null or string
+
+Default:
+"<C-j>"
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.mappings.file2
+
+
+
+
+Go to marked file 2 [Harpoon]
+
+Type:
+null or string
+
+Default:
+"<C-k>"
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.mappings.file3
+
+
+
+
+Go to marked file 3 [Harpoon]
+
+Type:
+null or string
+
+Default:
+"<C-l>"
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.mappings.file4
+
+
+
+
+Go to marked file 4 [Harpoon]
+
+Type:
+null or string
+
+Default:
+"<C-;>"
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.mappings.listMarks
+
+
+
+
+List marked files [Harpoon]
+
+Type:
+null or string
+
+Default:
+"<C-e>"
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.mappings.markFile
+
+
+
+
+Mark file [Harpoon]
+
+Type:
+null or string
+
+Default:
+"<leader>a"
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.setupOpts
+
+
+
+
+Option table to pass into the setup function of Harpoon
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.setupOpts.defaults.key
+
+
+
+
+How the out list key is looked up. This can be useful
+when using worktrees and using git remote instead of file path
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function()
+ return vim.loop.cwd()
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.setupOpts.defaults.save_on_toggle
+
+
+
+
+Any time the ui menu is closed then we will save the
+state back to the backing list, not to the fs
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.navigation.harpoon.setupOpts.defaults.sync_on_ui_close
+
+
+
+
+Any time the ui menu is closed then the state of the
+list will be sync’d back to the fs
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.notes.mind-nvim.enable
+
+
+
+
+Whether to enable note organizer tool for Neovim [mind-nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.enable
+
+
+
+
+Whether to enable Neorg: An intuitive note-taking and organization tool with a structured nested syntax.
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.setupOpts
+
+
+
+
+Option table to pass into the setup function of Neorg
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.setupOpts.load."core.defaults"
+
+
+
+
+all of the most important modules that any user would want to have a “just works” experience
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.setupOpts.load."core.defaults".enable
+
+
+
+
+Whether to enable all of the most important modules that any user would want to have a “just works” experience
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.setupOpts.load."core.defaults".config.disable
+
+
+
+
+list of modules from to be disabled from core.defaults
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Example:
[
+ "core.autocommands"
+ "core.itero"
+]
+
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.treesitter.enable
+
+
+
+
+Whether to enable Neorg treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.treesitter.norgMetaPackage
+
+
+
+
+The norg-meta treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.tree-sitter-grammars.tree-sitter-norg-meta
+
+Declared by:
+
+
+
+
+ vim.notes.neorg.treesitter.norgPackage
+
+
+
+
+The norg-meta treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.tree-sitter-grammars.tree-sitter-norg
+
+Declared by:
+
+
+
+
+ vim.notes.obsidian.enable
+
+
+
+
+Whether to enable complementary neovim plugins for Obsidian editor.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.obsidian.setupOpts
+
+
+
+
+Option table to pass into the setup function of Obsidian.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.notes.obsidian.setupOpts.completion.nvim_cmp
+
+
+
+
+If using nvim-cmp, otherwise set to false
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.notes.obsidian.setupOpts.daily_notes.date_format
+
+
+
+
+Date format used for creating daily notes
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.notes.obsidian.setupOpts.daily_notes.folder
+
+
+
+
+Directory in which daily notes should be created
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.notes.orgmode.enable
+
+
+
+
+Whether to enable nvim-orgmode: Neovim plugin for Emacs Orgmode. Get the best of both worlds.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.orgmode.setupOpts
+
+
+
+
+Option table to pass into the setup function of Orgmode
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.notes.orgmode.setupOpts.org_agenda_files
+
+
+
+
+List of org files to be used as agenda files.
+
+Type:
+list of string
+
+Default:
[
+ "~/Documents/org/*"
+ "~/my-orgs/**/*"
+]
+
+
+Declared by:
+
+
+
+
+ vim.notes.orgmode.setupOpts.org_default_notes_file
+
+
+
+
+Default org file to be used for notes.
+
+Type:
+string
+
+Default:
+"~/Documents/org/refile.org"
+
+Declared by:
+
+
+
+
+ vim.notes.orgmode.treesitter.enable
+
+
+
+
+Whether to enable Orgmode treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.orgmode.treesitter.orgPackage
+
+
+
+
+The org treesitter package to use.
+
+Type:
+package
+
+Default:
+pkgs.vimPlugins.nvim-treesitter.builtGrammars.org
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.enable
+
+
+
+
+Whether to enable todo-comments: highlight and search for todo comments like TODO, HACK, BUG in your code base.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.mappings.quickFix
+
+
+
+
+Open Todo-s in a quickfix list
+
+Type:
+null or string
+
+Default:
+"<leader>tdq"
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.mappings.telescope
+
+
+
+
+Open Todo-s in telescope
+
+Type:
+null or string
+
+Default:
+"<leader>tds"
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.mappings.trouble
+
+
+
+
+Open Todo-s in Trouble
+
+Type:
+null or string
+
+Default:
+"<leader>tdt"
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.setupOpts
+
+
+
+
+Option table to pass into the setup function of todo-comments.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.setupOpts.highlight.pattern
+
+
+
+
+vim regex pattern used for highlighting comments
+
+Type:
+string
+
+Default:
+".*<(KEYWORDS)(\\([^\\)]*\\))?:"
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.setupOpts.search.args
+
+
+
+
+arguments to pass to the search command
+
+Type:
+list of string
+
+Default:
[
+ "--color=never"
+ "--no-heading"
+ "--with-filename"
+ "--line-number"
+ "--column"
+]
+
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.setupOpts.search.command
+
+
+
+
+search command
+
+Type:
+string
+
+Default:
+"\${pkgs.ripgrep}/bin/rg"
+
+Declared by:
+
+
+
+
+ vim.notes.todo-comments.setupOpts.search.pattern
+
+
+
+
+ripgrep regex pattern used for searching comments
+
+Type:
+string
+
+Default:
+"\\b(KEYWORDS)(\\([^\\)]*\\))?:"
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.enable
+
+
+
+
+Whether to enable nvim-notify notifications.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-notify
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.setupOpts.background_colour
+
+
+
+
+The background colour of the notification
+
+Type:
+string
+
+Default:
+"NotifyBackground"
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.setupOpts.icons
+
+
+
+
+The icons of the notification
+
+Type:
+attribute set of string
+
+Default:
{
+ DEBUG = "";
+ ERROR = "";
+ INFO = "";
+ TRACE = "";
+ WARN = "";
+}
+
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.setupOpts.position
+
+
+
+
+The position of the notification
+
+Type:
+one of “top_left”, “top_right”, “bottom_left”, “bottom_right”
+
+Default:
+"top_right"
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.setupOpts.render
+
+
+
+
+Custom rendering method to be used for displaying notifications
+
+Type:
+one of “default”, “minimal”, “simple”, “compact”, “wrapped-compact” or (luaInline)
+
+Default:
+"compact"
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.setupOpts.stages
+
+
+
+
+The stages of the notification
+
+Type:
+one of “fade_in_slide_out”, “fade”, “slide”, “static”
+
+Default:
+"fade_in_slide_out"
+
+Declared by:
+
+
+
+
+ vim.notify.nvim-notify.setupOpts.timeout
+
+
+
+
+The timeout of the notification
+
+Type:
+signed integer
+
+Default:
+1000
+
+Declared by:
+
+
+
+
+ vim.optPlugins
+
+
+
+
+List of plugins to optionally load on startup.
This option has the same type definition as vim.startPlugins
+and plugins in this list are appended to vim.startPlugins by
+the wrapper during the build process.
To avoid overriding packages and dependencies provided by startPlugins, you
+are recommended to use this option or vim.extraPlugins option.
+
+Type:
+list of (null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)
+
+Default:
+[ ]
+
+Example:
''
+ [pkgs.vimPlugins.vim-ghost]
+''
+
+
+Declared by:
+
+
+
+
+ vim.options
+
+
+
+
+A freeform attribute set containing vim options to be set as early as possible.
+If populated, this option will set vim options in the built luaConfigRC
+after basic and before pluginConfigs DAG entries.
Note {foo = "bar";} will set vim.o.foo to “bar”, where the type of bar in the
+resulting Lua value will be inferred from the type of the value in the
+{name = value;} pair passed to the option.
+
+Type:
+attribute set of anything
+
+Default:
+{ }
+
+Example:
{
+ visualbell = true;
+}
+
+
+Declared by:
+
+
+
+
+ vim.options.autoindent
+
+
+
+
+Enable auto indent
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.options.cmdheight
+
+
+
+
+Height of the command pane
+
+Type:
+signed integer
+
+Default:
+1
+
+Declared by:
+
+
+
+
+ vim.options.cursorlineopt
+
+
+
+
+Highlight the text line of the cursor with CursorLine hl-CursorLine
+
+Type:
+one of “line”, “screenline”, “number”, “both”
+
+Default:
+"line"
+
+Declared by:
+
+
+
+
+ vim.options.mouse
+
+
+
+
+Set modes for mouse support.
This option takes a string to ensure proper conversion to the corresponding Lua type.
+As such, we do not check the value passed to this option. Please ensure that any value
+that is set here is a valid value as per neovim documentation .
+
+Type:
+string
+
+Default:
+"nvi"
+
+Example:
+"a"
+
+Declared by:
+
+
+
+
+ vim.options.shiftwidth
+
+
+
+
+Number of spaces to use for each step of (auto)indent. Used for
+cindent, >>, <<, etc.
When zero the tabstop value will be used.
+
+Type:
+signed integer
+
+Default:
+8
+
+Declared by:
+
+
+
+
+ vim.options.signcolumn
+
+
+
+
+Whether to show the sign column
+
+Type:
+string
+
+Default:
+"yes"
+
+Example:
+"no"
+
+Declared by:
+
+
+
+
+ vim.options.splitbelow
+
+
+
+
+New splits will open below instead of on top
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.options.splitright
+
+
+
+
+New splits will open to the right
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.options.tabstop
+
+
+
+
+Number of spaces that a <Tab> in the file counts for. Also see
+the :retab command, and the softtabstop option.
+
+Type:
+signed integer
+
+Default:
+8
+
+Declared by:
+
+
+
+
+ vim.options.termguicolors
+
+
+
+
+Set terminal up for 256 colours
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.options.tm
+
+
+
+
+Timeout in ms that Neovim will wait for mapped action to complete
+
+Type:
+signed integer
+
+Default:
+500
+
+Declared by:
+
+
+
+
+ vim.options.updatetime
+
+
+
+
+The number of milliseconds till Cursor Hold event is fired
+
+Type:
+signed integer
+
+Default:
+300
+
+Declared by:
+
+
+
+
+ vim.options.wrap
+
+
+
+
+Enable word wrapping.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.pluginOverrides
+
+
+
+
+Attribute set of plugins to override default values
+
+Type:
+attribute set of package
+
+Default:
+{ }
+
+Example:
''
+ {
+ lazydev-nvim = pkgs.fetchFromGitHub {
+ owner = "folke";
+ repo = "lazydev.nvim";
+ rev = "";
+ hash = "";
+ };
+ }
+''
+
+
+Declared by:
+
+
+
+
+ vim.pluginRC
+
+
+
+
+The DAG used to configure plugins. If a string is passed, entryAnywhere is automatically applied.
+
+Type:
+(DAG of strings concatenated with “\n”) or string
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.enable
+
+
+
+
+Whether to enable neocord plugin for discord rich presence.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts
+
+
+
+
+Option table to pass into the setup function of neocord
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.enable_line_number
+
+
+
+
+Show line number on the RPC item
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.auto_update
+
+
+
+
+Automatically update the presence
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.blacklist
+
+
+
+
+List of filetypes to ignore
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Example:
+["Alpha"]
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.client_id
+
+
+
+
+Client ID of the application
+
+Type:
+string
+
+Default:
+"1157438221865717891"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.debounce_timeout
+
+
+
+
+Number of seconds to debounce events
+
+Type:
+signed integer
+
+Default:
+10
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.editing_text
+
+
+
+
+Text displayed when editing a file
+
+Type:
+string
+
+Default:
+"Editing %s"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.file_explorer_text
+
+
+
+
+Text displayed when browsing files
+
+Type:
+string
+
+Default:
+"Browsing %s"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.git_commit_text
+
+
+
+
+Text displayed when committing changes
+
+Type:
+string
+
+Default:
+"Committing changes"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.line_number_text
+
+
+
+
+Text displayed when showing line number
+
+Type:
+string
+
+Default:
+"Line %s out of %s"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.log_level
+
+
+
+
+Log level to be used by the plugin
+
+Type:
+null or one of “debug”, “info”, “warn”, “error”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.logo
+
+
+
+
+Logo to be displayed on the RPC item
This must be either “auto” or an URL to your image of choice
+
+Type:
+string
+
+Default:
+"auto"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.logo_tooltip
+
+
+
+
+Text displayed when hovering over the Neovim image
+
+Type:
+string
+
+Default:
+"The One True Text Editor"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.main_image
+
+
+
+
+Main image to be displayed
+
+Type:
+one of “language”, “logo”
+
+Default:
+"language"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.plugin_manager_text
+
+
+
+
+Text displayed when managing plugins
+
+Type:
+string
+
+Default:
+"Managing plugins"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.reading_text
+
+
+
+
+Text displayed when reading a file
+
+Type:
+string
+
+Default:
+"Reading %s"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.show_time
+
+
+
+
+Show time on the RPC item
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.terminal_text
+
+
+
+
+Text displayed when working on the terminal
+
+Type:
+string
+
+Default:
+"Working on the terminal"
+
+Declared by:
+
+
+
+
+ vim.presence.neocord.setupOpts.workspace_text
+
+
+
+
+Text displayed when working on a project
+
+Type:
+string
+
+Default:
+"Working on %s"
+
+Declared by:
+
+
+
+
+ vim.preventJunkFiles
+
+
+
+
+Prevent swapfile and backupfile from being created.
false is the default Neovim behaviour. If you wish to create
+backup and swapfiles, set this option to false.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.enable
+
+
+
+
+Whether to enable project-nvim for project management.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of Project.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.detection_methods
+
+
+
+
+Detection methods to use
+
+Type:
+list of string
+
+Default:
[
+ "lsp"
+ "pattern"
+]
+
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.exclude_dirs
+
+
+
+
+Directories to exclude from project root search
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.lsp_ignored
+
+
+
+
+LSP servers no ignore by name
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.manual_mode
+
+
+
+
+don’t automatically change the root directory so the user has the option to manually do so using :ProjectRoot command
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.patterns
+
+
+
+
+Patterns to use for pattern detection method
+
+Type:
+list of string
+
+Default:
[
+ ".git"
+ "_darcs"
+ ".hg"
+ ".bzr"
+ ".svn"
+ "Makefile"
+ "package.json"
+ "flake.nix"
+ "cargo.toml"
+]
+
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.scope_chdir
+
+
+
+
+What scope to change the directory
+
+Type:
+one of “global”, “tab”, “win”
+
+Default:
+"global"
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.show_hidden
+
+
+
+
+Show hidden files in telescope picker
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.projects.project-nvim.setupOpts.silent_chdir
+
+
+
+
+Silently change directory when changing project
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.python3Packages
+
+
+
+
+List of python packages to install
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Example:
+"[\"pynvim\"]"
+
+Declared by:
+
+
+
+
+ vim.repl.conjure.enable
+
+
+
+
+Whether to enable Conjure.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.runner.run-nvim.enable
+
+
+
+
+Whether to enable run.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.runner.run-nvim.mappings.run
+
+
+
+
+Run cached
+
+Type:
+null or string
+
+Default:
+"<leader>ri"
+
+Declared by:
+
+
+
+
+ vim.runner.run-nvim.mappings.runCommand
+
+
+
+
+Run prompt
+
+Type:
+null or string
+
+Default:
+"<leader>rc"
+
+Declared by:
+
+
+
+
+ vim.runner.run-nvim.mappings.runOverride
+
+
+
+
+Run and override
+
+Type:
+null or string
+
+Default:
+"<leader>ro"
+
+Declared by:
+
+
+
+
+ vim.runner.run-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of run.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.searchCase
+
+
+
+
+Set the case sensitivity of search
+
+Type:
+one of “ignore”, “smart”, “sensitive”
+
+Default:
+"sensitive"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.enable
+
+
+
+
+Whether to enable nvim-session-manager: manage sessions like folders in VSCode.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.mappings.deleteSession
+
+
+
+
+Delete session
+
+Type:
+null or string
+
+Default:
+"<leader>sd"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.mappings.loadLastSession
+
+
+
+
+Load last session
+
+Type:
+null or string
+
+Default:
+"<leader>slt"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.mappings.loadSession
+
+
+
+
+Load session
+
+Type:
+null or string
+
+Default:
+"<leader>sl"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.mappings.saveCurrentSession
+
+
+
+
+Save current session
+
+Type:
+null or string
+
+Default:
+"<leader>sc"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts
+
+
+
+
+Option table to pass into the setup function of which-key
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.autoload_mode
+
+
+
+
+Define what to do when Neovim is started without arguments.
Takes either one of "Disabled", "CurrentDir", "LastSession", "GitSession" in which case the value
+will be inserted into sm.AutoloadMode.<value>, or an inline Lua value.
+
+Type:
+one of “Disabled”, “CurrentDir”, “LastSession”, “GitSession” or (luaInline)
+
+Default:
+"LastSession"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.autosave_ignore_buftypes
+
+
+
+
+All buffers of these buffer types will be closed before the session is saved
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.autosave_ignore_dirs
+
+
+
+
+A list of directories where the session will not be autosaved
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.autosave_ignore_filetypes
+
+
+
+
+All buffers of these file types will be closed before the session is saved
+
+Type:
+list of string
+
+Default:
[
+ "gitcommit"
+]
+
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.autosave_ignore_not_normal
+
+
+
+
+Plugin will not save a session when no buffers are opened, or all of them are
+not writable or listed
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.autosave_last_session
+
+
+
+
+Automatically save last session on exit and on session switch
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.autosave_only_in_session
+
+
+
+
+Always autosaves session. If true, only autosaves after a session is active
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.colon_replacer
+
+
+
+
+The character to which the colon symbol will be replaced for session files
+
+Type:
+string
+
+Default:
+"++"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.max_path_length
+
+
+
+
+Shorten the display path if length exceeds this threshold.
Use 0 if don’t want to shorten the path at all
+
+Type:
+null or signed integer
+
+Default:
+80
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.setupOpts.path_replacer
+
+
+
+
+The character to which the path separator will be replaced for session files
+
+Type:
+string
+
+Default:
+"__"
+
+Declared by:
+
+
+
+
+ vim.session.nvim-session-manager.usePicker
+
+
+
+
+Whether we should use dressing.nvim to build a session picker UI
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.enable
+
+
+
+
+Whether to enable luasnip.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.customSnippets.snipmate
+
+
+
+
+A list containing custom snippets in the SnipMate format to be loaded by LuaSnip.
+
+Type:
+attribute set of list of (submodule)
+
+Default:
+{ }
+
+Example:
''
+ {
+ all = [
+ {
+ trigger = "if";
+ body = "if $1 else $2";
+ }
+ ];
+ nix = [
+ {
+ trigger = "mkOption";
+ body = '''
+ mkOption {
+ type = $1;
+ default = $2;
+ description = $3;
+ example = $4;
+ }
+ ''';
+ }
+ ];
+ }
+''
+
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.customSnippets.snipmate.<name>.*.body
+
+
+
+
+The body of the snippet in SnipMate format (see LuaSnip Documentation ).
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.customSnippets.snipmate.<name>.*.description
+
+
+
+
+The description shown for this snippet.
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.customSnippets.snipmate.<name>.*.trigger
+
+
+
+
+The trigger used to activate this snippet.
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.loaders
+
+
+
+
+Lua code used to load snippet providers.
+
+Type:
+strings concatenated with “\n”
+
+Default:
require('luasnip.loaders.from_vscode').lazy_load()
+
+
+Example:
require("luasnip.loaders.from_snipmate").lazy_load()
+
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.providers
+
+
+
+
+The snippet provider packages.
Note These are simply appended to {option} vim.startPlugins.
+
+Type:
+list of (null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)
+
+Default:
[
+ "friendly-snippets"
+]
+
+
+Example:
+["vimPlugins.vim-snippets"]
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.setupOpts
+
+
+
+
+Option table to pass into the setup function of LuaSnip
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.snippets.luasnip.setupOpts.enable_autosnippets
+
+
+
+
+Whether to enable autosnippets.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.spellcheck.enable
+
+
+
+
+Whether to enable Neovim’s built-in spellchecking.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.spellcheck.extraSpellWords
+
+
+
+
+Additional words to be used for spellchecking. The names of each key will be
+used as the language code for the spell file. For example
"en.utf-8" = [ ... ];
+will result in en.utf-8.add.spl being added to Neovim’s runtime in the
+spell directory.
Warning The attribute keys must be in "<name>.<encoding>" format for Neovim to
+compile your spellfiles without mangling the resulting file names. Please
+make sure that you enter the correct value, as nvf does not do any kind of
+internal checking. Please see :help mkspell for more details.
Example:
# "en" is the name, and "utf-8" is the encoding. For most use cases, utf-8
+# will be enough, however, you may change it to any encoding format Neovim
+# accepts, e.g., utf-16.
+"en.utf-8" = ["nvf" "word_you_want_to_add"];
+=> $out/spell/en-utf-8.add.spl
+Note that while adding a new language, you will still need to add the name of
+the language (e.g. “en”) to the vim.spellcheck.languages list by name
+in order to enable spellchecking for the language. By default only "en" is in
+the list.
+
+Type:
+attribute set of list of string
+
+Default:
+{ }
+
+Example:
+{"en.utf-8" = ["nvf" "word_you_want_to_add"];}
+
+Declared by:
+
+
+
+
+ vim.spellcheck.ignoredFiletypes
+
+
+
+
+A list of filetypes for which spellchecking will be disabled.
Tip You may use :echo &filetype in Neovim to find out the
+filetype for a specific buffer.
+
+Type:
+list of string
+
+Default:
[
+ "toggleterm"
+]
+
+
+Example:
+["markdown" "gitcommit"]
+
+Declared by:
+
+
+
+
+ vim.spellcheck.languages
+
+
+
+
+A list of languages that should be used for spellchecking.
To add your own language files, you may place your spell directory in either
+$XDG_CONFIG_HOME/nvf or in a path that is included in the
+additionalRuntimePaths list provided by nvf.
+
+Type:
+list of string
+
+Default:
[
+ "en"
+]
+
+
+Example:
+["en" "de"]
+
+Declared by:
+
+
+
+
+ vim.spellcheck.programmingWordlist.enable
+
+
+
+
+Whether to enable vim-dirtytalk, a wordlist for programmers containing
+common programming terms.
Note Enabling this option will unconditionally set
+vim.spellcheck.enable to true as vim-dirtytalk
+depends on spellchecking having been set up.
Run :DirtytalkUpdate on first use to download the spellfile.
.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.spellcheck.vim-dirtytalk.enable
+
+
+
+
+Alias of vim.spellcheck.programmingWordlist.enable.
+
+Type:
+boolean
+
+Declared by:
+
+
+
+
+ vim.startPlugins
+
+
+
+
+List of plugins to load on startup. This is used
+internally to add plugins to Neovim’s runtime.
To add additional plugins to your configuration, consider
+using the vim.extraPlugins
+option.
+
+Type:
+list of (null or package or one of “blink-cmp”, “aerial-nvim”, “alpha-nvim”, “avante-nvim”, “base16”, “blink-cmp-spell”, “blink-compat”, “blink-emoji-nvim”, “blink-ripgrep-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc-nvim”, “cellular-automaton-nvim”, “chatgpt-nvim”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codecompanion-nvim”, “codewindow-nvim”, “comment-nvim”, “conform-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended-lsp-nvim”, “dashboard-nvim”, “diffview-nvim”, “direnv-vim”, “dracula”, “dressing-nvim”, “elixir-tools-nvim”, “fastaction-nvim”, “fidget-nvim”, “flash-nvim”, “flutter-tools-nvim”, “friendly-snippets”, “fzf-lua”, “gesture-nvim”, “git-conflict-nvim”, “github”, “gitlinker-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “hardtime-nvim”, “harpoon”, “haskell-tools-nvim”, “highlight-undo-nvim”, “hop-nvim”, “hydra-nvim”, “icon-picker-nvim”, “image-nvim”, “img-clip”, “indent-blankline-nvim”, “lazydev-nvim”, “leap-nvim”, “leetcode-nvim”, “lsp-signature-nvim”, “lspkind-nvim”, “lspsaga-nvim”, “lua-utils-nvim”, “lualine-nvim”, “luasnip”, “lz-n”, “lzn-auto-require”, “markview-nvim”, “mind-nvim”, “mini-ai”, “mini-align”, “mini-animate”, “mini-base16”, “mini-basics”, “mini-bracketed”, “mini-bufremove”, “mini-clue”, “mini-colors”, “mini-comment”, “mini-completion”, “mini-cursorword”, “mini-diff”, “mini-doc”, “mini-extra”, “mini-files”, “mini-fuzzy”, “mini-git”, “mini-hipatterns”, “mini-hues”, “mini-icons”, “mini-indentscope”, “mini-jump”, “mini-jump2d”, “mini-map”, “mini-misc”, “mini-move”, “mini-notify”, “mini-operators”, “mini-pairs”, “mini-pick”, “mini-sessions”, “mini-snippets”, “mini-splitjoin”, “mini-starter”, “mini-statusline”, “mini-surround”, “mini-tabline”, “mini-test”, “mini-trailspace”, “mini-visits”, “minimap-vim”, “mkdir-nvim”, “modes-nvim”, “multicursors-nvim”, “neo-tree-nvim”, “neocord”, “neogit”, “neorg”, “neorg-telescope”, “neovim-session-manager”, “new-file-template-nvim”, “nix-develop-nvim”, “noice-nvim”, “none-ls-nvim”, “nord”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lint”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip-lua”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-treesitter-textobjects”, “nvim-ts-autotag”, “nvim-ufo”, “nvim-web-devicons”, “obsidian-nvim”, “oil-nvim”, “omnisharp-extended-lsp-nvim”, “onedark”, “orgmode”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “promise-async”, “rainbow-delimiters-nvim”, “registers-nvim”, “render-markdown-nvim”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smart-splits”, “smartcolumn-nvim”, “snacks-nvim”, “solarized”, “solarized-osaka”, “sqls-nvim”, “supermaven-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors-nvim”, “todo-comments-nvim”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator-nvim”, “typst-preview-nvim”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-sleuth”, “vim-startify”, “which-key-nvim”, “yanky-nvim”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)
+
+Default:
[
+ "plenary-nvim"
+]
+
+
+Example:
''
+ [pkgs.vimPlugins.telescope-nvim]
+''
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.enable
+
+
+
+
+Whether to enable lualine statusline plugin.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.activeSection.a
+
+
+
+
+active config for: | (A) | B | C X | Y | Z |
+
+Type:
+list of string
+
+Default:
[
+ ''
+ {
+ "mode",
+ icons_enabled = true,
+ separator = {
+ left = '▎',
+ right = ''
+ },
+ }
+ ''
+ ''
+ {
+ "",
+ draw_empty = true,
+ separator = { left = '', right = '' }
+ }
+ ''
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.activeSection.b
+
+
+
+
+active config for: | A | (B) | C X | Y | Z |
+
+Type:
+list of string
+
+Default:
[
+ ''
+ {
+ "filetype",
+ colored = true,
+ icon_only = true,
+ icon = { align = 'left' }
+ }
+ ''
+ ''
+ {
+ "filename",
+ symbols = {modified = ' ', readonly = ' '},
+ separator = {right = ''}
+ }
+ ''
+ ''
+ {
+ "",
+ draw_empty = true,
+ separator = { left = '', right = '' }
+ }
+ ''
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.activeSection.c
+
+
+
+
+active config for: | A | B | © X | Y | Z |
+
+Type:
+list of string
+
+Default:
[
+ ''
+ {
+ "diff",
+ colored = false,
+ diff_color = {
+ -- Same color values as the general color option can be used here.
+ added = 'DiffAdd', -- Changes the diff's added color
+ modified = 'DiffChange', -- Changes the diff's modified color
+ removed = 'DiffDelete', -- Changes the diff's removed color you
+ },
+ symbols = {added = '+', modified = '~', removed = '-'}, -- Changes the diff symbols
+ separator = {right = ''}
+ }
+ ''
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.activeSection.x
+
+
+
+
+active config for: | A | B | C (X) | Y | Z |
+
+Type:
+list of string
+
+Default:
[
+ ''
+ {
+ -- Lsp server name
+ function()
+ local buf_ft = vim.bo.filetype
+ local excluded_buf_ft = { toggleterm = true, NvimTree = true, ["neo-tree"] = true, TelescopePrompt = true }
+
+ if excluded_buf_ft[buf_ft] then
+ return ""
+ end
+
+ local bufnr = vim.api.nvim_get_current_buf()
+ local clients = vim.lsp.get_clients({ bufnr = bufnr })
+
+ if vim.tbl_isempty(clients) then
+ return "No Active LSP"
+ end
+
+ local active_clients = {}
+ for _, client in ipairs(clients) do
+ table.insert(active_clients, client.name)
+ end
+
+ return table.concat(active_clients, ", ")
+ end,
+ icon = ' ',
+ separator = {left = ''},
+ }
+ ''
+ ''
+ {
+ "diagnostics",
+ sources = {'nvim_lsp', 'nvim_diagnostic', 'nvim_diagnostic', 'vim_lsp', 'coc'},
+ symbols = {error = ' ', warn = ' ', info = ' ', hint = ' '},
+ colored = true,
+ update_in_insert = false,
+ always_visible = false,
+ diagnostics_color = {
+ color_error = { fg = 'red' },
+ color_warn = { fg = 'yellow' },
+ color_info = { fg = 'cyan' },
+ },
+ }
+ ''
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.activeSection.y
+
+
+
+
+active config for: | A | B | C X | (Y) | Z |
+
+Type:
+list of string
+
+Default:
[
+ ''
+ {
+ "",
+ draw_empty = true,
+ separator = { left = '', right = '' }
+ }
+ ''
+ ''
+ {
+ 'searchcount',
+ maxcount = 999,
+ timeout = 120,
+ separator = {left = ''}
+ }
+ ''
+ ''
+ {
+ "branch",
+ icon = ' •',
+ separator = {left = ''}
+ }
+ ''
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.activeSection.z
+
+
+
+
+active config for: | A | B | C X | Y | (Z) |
+
+Type:
+list of string
+
+Default:
[
+ ''
+ {
+ "",
+ draw_empty = true,
+ separator = { left = '', right = '' }
+ }
+ ''
+ ''
+ {
+ "progress",
+ separator = {left = ''}
+ }
+ ''
+ ''
+ {"location"}
+ ''
+ ''
+ {
+ "fileformat",
+ color = {fg='black'},
+ symbols = {
+ unix = '', -- e712
+ dos = '', -- e70f
+ mac = '', -- e711
+ }
+ }
+ ''
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.alwaysDivideMiddle
+
+
+
+
+Always divide middle section
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.componentSeparator.left
+
+
+
+
+Component separator for left side
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.componentSeparator.right
+
+
+
+
+Component separator for right side
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.disabledFiletypes
+
+
+
+
+Filetypes to disable lualine on
+
+Type:
+list of string
+
+Default:
[
+ "alpha"
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraActiveSection.a
+
+
+
+
+Extra entries for activeSection.a
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraActiveSection.b
+
+
+
+
+Extra entries for activeSection.b
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraActiveSection.c
+
+
+
+
+Extra entries for activeSection.c
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraActiveSection.x
+
+
+
+
+Extra entries for activeSection.x
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraActiveSection.y
+
+
+
+
+Extra entries for activeSection.y
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraActiveSection.z
+
+
+
+
+Extra entries for activeSection.z
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraInactiveSection.a
+
+
+
+
+Extra entries for inactiveSection.a
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraInactiveSection.b
+
+
+
+
+Extra entries for inactiveSection.b
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraInactiveSection.c
+
+
+
+
+Extra entries for inactiveSection.c
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraInactiveSection.x
+
+
+
+
+Extra entries for inactiveSection.x
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraInactiveSection.y
+
+
+
+
+Extra entries for inactiveSection.y
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.extraInactiveSection.z
+
+
+
+
+Extra entries for inactiveSection.z
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.globalStatus
+
+
+
+
+Enable global status for lualine
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.icons.enable
+
+
+
+
+Whether to enable icons for lualine.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.ignoreFocus
+
+
+
+
+If current filetype is in this list it’ll always be drawn as inactive statusline
+and the last window will be drawn as active statusline.
+
+Type:
+list of string
+
+Default:
[
+ "NvimTree"
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.inactiveSection.a
+
+
+
+
+inactive config for: | (A) | B | C X | Y | Z |
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.inactiveSection.b
+
+
+
+
+inactive config for: | A | (B) | C X | Y | Z |
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.inactiveSection.c
+
+
+
+
+inactive config for: | A | B | © X | Y | Z |
+
+Type:
+list of string
+
+Default:
[
+ "'filename'"
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.inactiveSection.x
+
+
+
+
+inactive config for: | A | B | C (X) | Y | Z |
+
+Type:
+list of string
+
+Default:
[
+ "'location'"
+]
+
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.inactiveSection.y
+
+
+
+
+inactive config for: | A | B | C X | (Y) | Z |
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.inactiveSection.z
+
+
+
+
+inactive config for: | A | B | C X | Y | (Z) |
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.refresh.statusline
+
+
+
+
+Refresh rate for lualine
+
+Type:
+signed integer
+
+Default:
+1000
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.refresh.tabline
+
+
+
+
+Refresh rate for tabline
+
+Type:
+signed integer
+
+Default:
+1000
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.refresh.winbar
+
+
+
+
+Refresh rate for winbar
+
+Type:
+signed integer
+
+Default:
+1000
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.sectionSeparator.left
+
+
+
+
+Section separator for left side
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.sectionSeparator.right
+
+
+
+
+Section separator for right side
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.setupOpts
+
+
+
+
+Option table to pass into the setup function of Lualine
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.statusline.lualine.theme
+
+
+
+
+Theme for lualine
+
+Type:
+one of “auto”, “16color”, “ayu_dark”, “ayu_light”, “ayu_mirage”, “ayu”, “base16”, “codedark”, “dracula”, “everforest”, “github_dark”, “github_light”, “github_dark_dimmed”, “github_dark_default”, “github_light_default”, “github_dark_high_contrast”, “github_light_high_contrast”, “github_dark_colorblind”, “github_light_colorblind”, “github_dark_tritanopia”, “github_light_tritanopia”, “gruvbox”, “gruvbox_dark”, “gruvbox_light”, “gruvbox-material”, “horizon”, “iceberg_dark”, “iceberg_light”, “iceberg”, “jellybeans”, “material”, “modus-vivendi”, “molokai”, “moonfly”, “nightfly”, “nord”, “OceanicNext”, “onedark”, “onelight”, “palenight”, “papercolor_dark”, “papercolor_light”, “PaperColor”, “powerline_dark”, “powerline”, “pywal”, “seoul256”, “solarized_dark”, “solarized_light”, “Tomorrow”, “wombat”, “onedark”
+
+Default:
+"`config.vim.theme.name` if theme supports lualine else \"auto\""
+
+Declared by:
+
+
+
+
+ vim.syntaxHighlighting
+
+
+
+
+Enable syntax highlighting
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.enable
+
+
+
+
+Whether to enable neovim bufferline.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.closeCurrent
+
+
+
+
+Close buffer
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.cycleNext
+
+
+
+
+Next buffer
+
+Type:
+null or string
+
+Default:
+"<leader>bn"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.cyclePrevious
+
+
+
+
+Previous buffer
+
+Type:
+null or string
+
+Default:
+"<leader>bp"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.moveNext
+
+
+
+
+Move next buffer
+
+Type:
+null or string
+
+Default:
+"<leader>bmn"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.movePrevious
+
+
+
+
+Move previous buffer
+
+Type:
+null or string
+
+Default:
+"<leader>bmp"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.pick
+
+
+
+
+Pick buffer
+
+Type:
+null or string
+
+Default:
+"<leader>bc"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.sortByDirectory
+
+
+
+
+Sort buffers by directory
+
+Type:
+null or string
+
+Default:
+"<leader>bsd"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.sortByExtension
+
+
+
+
+Sort buffers by extension
+
+Type:
+null or string
+
+Default:
+"<leader>bse"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.mappings.sortById
+
+
+
+
+Sort buffers by ID
+
+Type:
+null or string
+
+Default:
+"<leader>bsi"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts
+
+
+
+
+Option table to pass into the setup function of Bufferline-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.highlights
+
+
+
+
+Overrides the highlight groups of bufferline.
See :help bufferline-highlights.
+
+Type:
+(attribute set) or (luaInline)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.always_show_bufferline
+
+
+
+
+Whether to always show bufferline
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.auto_toggle_bufferline
+
+
+
+
+Whether to auto toggle bufferline
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.buffer_close_icon
+
+
+
+
+Icon for close button
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.close_command
+
+
+
+
+Command to run when closing a buffer
+
+Type:
+string or (luaInline)
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(bufnum)
+ require("bufdelete").bufdelete(bufnum, false)
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.close_icon
+
+
+
+
+Icon for close button
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.color_icons
+
+
+
+
+Whether or not to add filetype icon highlights
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.custom_filter
+
+
+
+
+Custom filter function for filtering out buffers.
Note This will be called a lot, so you are encouraged to keep it as
+short and lightweight as possible unless you are fully aware
+of the performance implications.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Example:
custom_filter = function(buf_number, buf_numbers)
+ -- filter out filetypes you don't want to see
+ if vim.bo[buf_number].filetype ~= "<i-dont-want-to-see-this>" then
+ return true
+ end
+ -- filter out by buffer name
+ if vim.fn.bufname(buf_number) ~= "<buffer-name-I-dont-want>" then
+ return true
+ end
+ -- filter out based on arbitrary rules
+ -- e.g. filter out vim wiki buffer from tabline in your work repo
+ if vim.fn.getcwd() == "<work-repo>" and vim.bo[buf_number].filetype ~= "wiki" then
+ return true
+ end
+ -- filter out by it's index number in list (don't show first buffer)
+ if buf_numbers[1] ~= buf_number then
+ return true
+ end
+end
+
+
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.diagnostics
+
+
+
+
+Diagnostics provider to be used in buffer LSP indicators
+
+Type:
+one of false, “nvim_lsp”, “coc”
+
+Default:
+"nvim_lsp"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.diagnostics_indicator
+
+
+
+
+Function to get the diagnostics indicator.
+The function should return a string to be used as the indicator.
Can be set to nil to keep the buffer name highlight, but delete the
+highlighting.
+
+Type:
+null or (luaInline)
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(count, level, diagnostics_dict, context)
+ local s = " "
+ for e, n in pairs(diagnostics_dict) do
+ local sym = e == "error" and " "
+ or (e == "warning" and " " or " " )
+ s = s .. n .. sym
+ end
+ return s
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.diagnostics_update_in_insert
+
+
+
+
+Whether to update diagnostics while in insert mode.
Setting this to true has performance implications, but they may be
+negligible depending on your setup. Set it to true if you know what
+you are doing.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.duplicates_across_groups
+
+
+
+
+Whether to consider duplicate paths in different groups as duplicates
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.enforce_regular_tabs
+
+
+
+
+Whether to enforce regular tabs
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.get_element_icon
+
+
+
+
+The function bufferline uses to get the icon. Recommended to leave as default.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Example:
function(element)
+ local custom_map = {my_thing_ft: {icon = "my_thing_icon", hl = "DevIconDefault"}}
+ return custom_map[element.filetype]
+end
+
+
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.hover.enabled
+
+
+
+
+Whether to enable hover.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.hover.delay
+
+
+
+
+Delay for hover, in ms
+
+Type:
+signed integer
+
+Default:
+200
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.hover.reveal
+
+
+
+
+Reveal hover window
+
+Type:
+list of string
+
+Default:
[
+ "close"
+]
+
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.indicator.icon
+
+
+
+
+The indicator icon to use for the current buffer.
Warning This must be omitted while style is not icon
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.indicator.style
+
+
+
+
+Style for indicator
+
+Type:
+one of “icon”, “underline”, “none”
+
+Default:
+"underline"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.left_mouse_command
+
+
+
+
+Command to run when left clicking a buffer
+
+Type:
+null or string or (luaInline)
+
+Default:
+"buffer %d"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.left_trunc_marker
+
+
+
+
+Icon for left truncation
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.max_name_length
+
+
+
+
+Max name length
+
+Type:
+signed integer
+
+Default:
+18
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.max_prefix_length
+
+
+
+
+Length of the prefix used when a buffer is de-duplicated
+
+Type:
+signed integer
+
+Default:
+15
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.middle_mouse_command
+
+
+
+
+Command to run when middle clicking a buffer
+
+Type:
+null or string or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.mode
+
+
+
+
+Mode to use for bufferline
+
+Type:
+one of “tabs”, “buffers”
+
+Default:
+"buffers"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.modified_icon
+
+
+
+
+Icon for modified buffer
+
+Type:
+string
+
+Default:
+"● "
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.move_wraps_at_ends
+
+
+
+
+Whether or not the move command “wraps” at the first or last position
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.name_formatter
+
+
+
+
+name_formatter can be used to change the buffer’s label in the
+bufferline.
Note Some names can/will break the bufferline so use this at your
+discretion knowing that it has some limitations that will
+NOT be fixed.
+
+Type:
+null or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.numbers
+
+
+
+
+Whether or not to show buffer numbers
+
+Type:
+one of “none”, “ordinal”, “buffer_id”, “both” or (luaInline)
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(opts)
+ return string.format('%s·%s', opts.raise(opts.id), opts.lower(opts.ordinal))
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.offsets
+
+
+
+
+The windows to offset bufferline above, see :help bufferline-offset
+
+Type:
+list of (attribute set)
+
+Default:
[
+ {
+ filetype = "NvimTree";
+ highlight = "Directory";
+ separator = true;
+ text = "File Explorer";
+ }
+ {
+ filetype = "neo-tree";
+ highlight = "Directory";
+ separator = true;
+ text = "File Explorer";
+ }
+ {
+ filetype = "snacks_layout_box";
+ highlight = "Directory";
+ separator = true;
+ text = "File Explorer";
+ }
+]
+
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.persist_buffer_sort
+
+
+
+
+Whether or not custom sorted buffers should persist
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.right_mouse_command
+
+
+
+
+Command to run when right clicking a buffer
+
+Type:
+null or string or (luaInline)
+
+Default:
+"vertical sbuffer %d"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.right_trunc_marker
+
+
+
+
+Icon for right truncation
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.separator_style
+
+
+
+
+The type of separator used to separate buffers and tabs.
Either one of the listed types, or a list of 2 characters for either side.
+
+Type:
+null or one of “slant”, “padded_slant”, “slope”, “padded_slope”, “thick”, “thin” or list of string
+
+Default:
+"thin"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.show_buffer_close_icons
+
+
+
+
+Whether or not to show buffer close icons
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.show_buffer_icons
+
+
+
+
+Whether or not to show buffer icons
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.show_close_icon
+
+
+
+
+Whether or not to show the close icon
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.show_duplicate_prefix
+
+
+
+
+Whether or not to show duplicate buffer prefixes
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.show_tab_indicators
+
+
+
+
+Whether or not to show tab indicators
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.sort_by
+
+
+
+
+Method to sort buffers by. Must be one of the supported values, or an inline Lua value.
+
+Type:
+one of “insert_after_current”, “insert_at_end”, “id”, “extension”, “relative_directory”, “directory”, “tabs” or (luaInline)
+
+Default:
+"extension"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.style_preset
+
+
+
+
+The base style of bufferline
+
+Type:
+one of “default”, “minimal”, “no_bold”, “no_italic”
+
+Default:
+"default"
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.tab_size
+
+
+
+
+The size of the tabs in bufferline
+
+Type:
+signed integer
+
+Default:
+18
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.themable
+
+
+
+
+Whether or not to allow highlight groups to be overridden.
While false, bufferline.nvim sets highlights as default.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.tabline.nvimBufferline.setupOpts.options.truncate_names
+
+
+
+
+Truncate names
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.telescope.enable
+
+
+
+
+Whether to enable telescope.nvim: multi-purpose search and picker utility.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.telescope.extensions
+
+
+
+
+Individual extension configurations containing name , packages and setup
+fields to resolve dependencies, handle load_extension calls and add the setup
+table into the extensions portion of Telescope’s setup table.
+
+Type:
+list of (submodule)
+
+Default:
+[ ]
+
+Example:
[
+ {
+ name = "fzf";
+ packages = [pkgs.vimPlugins.telescope-fzf-native-nvim];
+ setup = {fzf = {fuzzy = true;};};
+ }
+]
+
+
+
+Declared by:
+
+
+
+
+ vim.telescope.extensions.*.packages
+
+
+
+
+Package or packages providing the Telescope extension to be loaded.
+
+Type:
+list of (string or package)
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.telescope.extensions.*.name
+
+
+
+
+Name of the extension, will be used to load it with a require
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.telescope.extensions.*.setup
+
+
+
+
+Named attribute set to be inserted into Telescope’s extensions table.
+
+Type:
+attribute set of anything
+
+Default:
+{ }
+
+Example:
{
+ fzf = {
+ fuzzy = true;
+ };
+}
+
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.buffers
+
+
+
+
+Buffers [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fb"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.diagnostics
+
+
+
+
+Diagnostics [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fld"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.findFiles
+
+
+
+
+Find files [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>ff"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.findProjects
+
+
+
+
+Find projects [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fp"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.gitBranches
+
+
+
+
+Git branches [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fvb"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.gitBufferCommits
+
+
+
+
+Git buffer commits [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fvcb"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.gitCommits
+
+
+
+
+Git commits [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fvcw"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.gitStash
+
+
+
+
+Git stash [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fvx"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.gitStatus
+
+
+
+
+Git status [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fvs"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.helpTags
+
+
+
+
+Help tags [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fh"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.liveGrep
+
+
+
+
+Live grep [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fg"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.lspDefinitions
+
+
+
+
+LSP Definitions [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>flD"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.lspDocumentSymbols
+
+
+
+
+LSP Document Symbols [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>flsb"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.lspImplementations
+
+
+
+
+LSP Implementations [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fli"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.lspReferences
+
+
+
+
+LSP References [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>flr"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.lspTypeDefinitions
+
+
+
+
+LSP Type Definitions [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>flt"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.lspWorkspaceSymbols
+
+
+
+
+LSP Workspace Symbols [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>flsw"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.open
+
+
+
+
+Open [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>ft"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.resume
+
+
+
+
+Resume (previous search) [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fr"
+
+Declared by:
+
+
+
+
+ vim.telescope.mappings.treesitter
+
+
+
+
+Treesitter [Telescope]
+
+Type:
+null or string
+
+Default:
+"<leader>fs"
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts
+
+
+
+
+Option table to pass into the setup function of Telescope
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.color_devicons
+
+
+
+
+Whether to enable colored devicons.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.entry_prefix
+
+
+
+
+Prefix in front of each result entry. Current selection not included.
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.extensions
+
+
+
+
+Attribute set containing per-extension settings for Telescope
+
+Type:
+attribute set of anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.file_ignore_patterns
+
+
+
+
+File patterns to omit from Telescope results
+
+Type:
+list of string
+
+Default:
[
+ "node_modules"
+ "%.git/"
+ "dist/"
+ "build/"
+ "target/"
+ "result/"
+]
+
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.initial_mode
+
+
+
+
+Determines in which mode telescope starts.
+
+Type:
+one of “insert”, “normal”
+
+Default:
+"insert"
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_config
+
+
+
+
+Determines the default configuration values for layout strategies.
+See telescope.layout for details of the configurations options for
+each strategy.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_config.height
+
+
+
+
+How tall to make Telescope’s entire layout
+
+Type:
+floating point number
+
+Default:
+0.8
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_config.horizontal.preview_width
+
+
+
+
+Change the width of Telescope’s preview window
+
+Type:
+floating point number
+
+Default:
+0.55
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_config.horizontal.prompt_position
+
+
+
+
+Where to place prompt window
+
+Type:
+one of “top”, “bottom”
+
+Default:
+"top"
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_config.preview_cutoff
+
+
+
+
+When lines are less than this value, the preview will be disabled
+
+Type:
+signed integer
+
+Default:
+120
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_config.vertical.mirror
+
+
+
+
+Flip the location of the results/prompt and preview windows
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_config.width
+
+
+
+
+How wide to make Telescope’s entire layout
+
+Type:
+floating point number
+
+Default:
+0.8
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.layout_strategy
+
+
+
+
+Determines the default layout of Telescope pickers. See :help telescope.layout.
+
+Type:
+string
+
+Default:
+"horizontal"
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.path_display
+
+
+
+
+Determines how file paths are displayed.
+
+Type:
+list of (one of “hidden”, “tail”, “absolute”, “smart”, “shorten”, “truncate”)
+
+Default:
[
+ "absolute"
+]
+
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.pickers.find_command
+
+
+
+
+Command to use for finding files. If using an executable from PATH then you must
+make sure that the package is available in vim.extraPackages .
+
+Type:
+(list of string) or (luaInline)
+
+Default:
[
+ "\${pkgs.fd}/bin/fd"
+]
+
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.prompt_prefix
+
+
+
+
+Shown in front of Telescope’s prompt
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.selection_caret
+
+
+
+
+Character(s) to show in front of the current selection
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.selection_strategy
+
+
+
+
+Determines how the cursor acts after each sort iteration.
+
+Type:
+one of “reset”, “follow”, “row”, “closest”, “none”
+
+Default:
+"reset"
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.set_env
+
+
+
+
+Set an environment for term_previewer
+
+Type:
+attribute set of string
+
+Default:
{
+ COLORTERM = "truecolor";
+}
+
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.sorting_strategy
+
+
+
+
+Determines the direction “better” results are sorted towards.
+
+Type:
+one of “descending”, “ascending”
+
+Default:
+"ascending"
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.vimgrep_arguments
+
+
+
+
+Defines the command that will be used for live_grep and grep_string pickers.
+Make sure that color is set to never because telescope does not yet interpret color codes.
+
+Type:
+list of string
+
+Default:
[
+ "\${pkgs.ripgrep}/bin/rg"
+ "--color=never"
+ "--no-heading"
+ "--with-filename"
+ "--line-number"
+ "--column"
+ "--smart-case"
+ "--hidden"
+ "--no-ignore"
+]
+
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.defaults.winblend
+
+
+
+
+Pseudo-transparency of keymap hints floating window
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.telescope.setupOpts.pickers.find_files.find_command
+
+
+
+
+cmd to use for finding files
+
+Type:
+(list of string) or (luaInline)
+
+Default:
[
+ "\${pkgs.fd}/bin/fd"
+ "--type=file"
+]
+
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.enable
+
+
+
+
+Whether to enable toggleterm as a replacement to built-in terminal command.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.lazygit.enable
+
+
+
+
+Whether to enable LazyGit integration.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.lazygit.package
+
+
+
+
+The package that should be used for lazygit. Setting it to null will attempt to use lazygit from your PATH
+
+Type:
+null or package
+
+Default:
+<derivation lazygit-0.52.0>
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.lazygit.direction
+
+
+
+
+Direction of the lazygit window
+
+Type:
+one of “horizontal”, “vertical”, “tab”, “float”
+
+Default:
+"float"
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.lazygit.mappings.open
+
+
+
+
+Open lazygit [toggleterm]
+
+Type:
+null or string
+
+Default:
+"<leader>gg"
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.mappings.open
+
+
+
+
+The keymapping to open toggleterm
+
+Type:
+null or string
+
+Default:
+"<c-t>"
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.setupOpts
+
+
+
+
+Option table to pass into the setup function of ToggleTerm
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.setupOpts.enable_winbar
+
+
+
+
+Enable winbar
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.setupOpts.direction
+
+
+
+
+Direction of the terminal
+
+Type:
+one of “horizontal”, “vertical”, “tab”, “float”
+
+Default:
+"horizontal"
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.setupOpts.size
+
+
+
+
+Number or lua function which is passed to the current terminal
+
+Type:
+(luaInline) or signed integer
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(term)
+ if term.direction == "horizontal" then
+ return 15
+ elseif term.direction == "vertical" then
+ return vim.o.columns * 0.4
+ end
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.setupOpts.winbar.enabled
+
+
+
+
+Whether to enable winbar in terminal.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.terminal.toggleterm.setupOpts.winbar.name_formatter
+
+
+
+
+Winbar formatter function.
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(term)
+ return term.name
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.theme.enable
+
+
+
+
+Enable theming
+
+Type:
+boolean
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base00
+
+
+
+
+The base00 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base01
+
+
+
+
+The base01 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base02
+
+
+
+
+The base02 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base03
+
+
+
+
+The base03 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base04
+
+
+
+
+The base04 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base05
+
+
+
+
+The base05 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base06
+
+
+
+
+The base06 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base07
+
+
+
+
+The base07 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base08
+
+
+
+
+The base08 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base09
+
+
+
+
+The base09 color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base0A
+
+
+
+
+The base0A color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base0B
+
+
+
+
+The base0B color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base0C
+
+
+
+
+The base0C color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base0D
+
+
+
+
+The base0D color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base0E
+
+
+
+
+The base0E color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.base16-colors.base0F
+
+
+
+
+The base0F color to use
+
+Type:
+RGB color in hex format
+
+Declared by:
+
+
+
+
+ vim.theme.extraConfig
+
+
+
+
+Additional lua configuration to add before setup
+
+Type:
+strings concatenated with “\n”
+
+Declared by:
+
+
+
+
+ vim.theme.name
+
+
+
+
+Supported themes can be found in supportedThemes.nix.
+Setting the theme to “base16” enables base16 theming and
+requires all of the colors in vim.theme.base16-colors to be set.
+
+Type:
+one of “base16”, “catppuccin”, “dracula”, “github”, “gruvbox”, “mini-base16”, “nord”, “onedark”, “oxocarbon”, “rose-pine”, “solarized”, “solarized-osaka”, “tokyonight”
+
+Declared by:
+
+
+
+
+ vim.theme.style
+
+
+
+
+Specific style for theme if it supports it
+
+Type:
+one of “dark”, “darker”, “cool”, “deep”, “warm”, “warmer”
+
+Declared by:
+
+
+
+
+ vim.theme.transparent
+
+
+
+
+Whether or not transparency should be enabled. Has no effect for themes that do not support transparency
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.treesitter.enable
+
+
+
+
+Whether to enable treesitter, also enabled automatically through language options.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.addDefaultGrammars
+
+
+
+
+Whether to add the default grammars to the list of grammars
+to install.
This option is only relevant if treesitter has been enabled.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.autotagHtml
+
+
+
+
+Whether to enable autoclose and rename html tag.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.enable
+
+
+
+
+Whether to enable context of current buffer contents [nvim-treesitter-context] .
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts
+
+
+
+
+Option table to pass into the setup function of treesitter-context
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.line_numbers
+
+
+
+
+Whether to display line numbers in current context
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.max_lines
+
+
+
+
+How many lines the window should span.
Values >= 0 mean there will be no limit.
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.min_window_height
+
+
+
+
+Minimum editor window height to enable context.
Values >= 0 mean there will be no limit.
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.mode
+
+
+
+
+Line used to calculate context.
+
+Type:
+one of “cursor”, “topline”
+
+Default:
+"cursor"
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.multiline_threshold
+
+
+
+
+Maximum number of lines to collapse for a single context line.
+
+Type:
+signed integer
+
+Default:
+20
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.separator
+
+
+
+
+Separator between context and content. This option should
+be a single character string, like ‘-’.
When separator is set, the context will only show up when
+there are at least 2 lines above cursorline.
+
+Type:
+null or string
+
+Default:
+"-"
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.trim_scope
+
+
+
+
+Which context lines to discard if
+vim.treesitter.context.setupOpts.max_lines is exceeded.
+
+Type:
+one of “inner”, “outer”
+
+Default:
+"outer"
+
+Declared by:
+
+
+
+
+ vim.treesitter.context.setupOpts.zindex
+
+
+
+
+The Z-index of the context window.
+
+Type:
+signed integer
+
+Default:
+20
+
+Declared by:
+
+
+
+
+ vim.treesitter.fold
+
+
+
+
+Whether to enable fold with treesitter.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.grammars
+
+
+
+
+List of treesitter grammars to install. For grammars to be installed properly,
+you must use grammars from pkgs.vimPlugins.nvim-treesitter.builtGrammars.
For languages already supported by nvf, you may use
+vim.language.<lang>.treesitter options, which will automatically add
+the required grammars to this.
+
+Type:
+list of package
+
+Default:
+[ ]
+
+Example:
pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
+ regex
+ kdl
+];
+
+
+
+Declared by:
+
+
+
+
+ vim.treesitter.highlight.enable
+
+
+
+
+Whether to enable highlighting with treesitter.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.highlight.additionalVimRegexHighlighting
+
+
+
+
+Takes either a boolean or a list of languages.
Setting this to true will run :h syntax and tree-sitter at the same time.
+You may this to true if you depend on ‘syntax’ being enabled (like for
+indentation).
Note Using this option may slow down your editor, and you may see some duplicate
+highlights.
+
+Type:
+boolean or list of string
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.treesitter.highlight.disable
+
+
+
+
+List of treesitter grammars to disable highlighting for.
This option can be either a list, in which case it will be
+converted to a Lua table containing grammars to disable
+highlighting for, or a string containing a lua function
+that will be read as is.
Warning A comma will be added at the end of your function, so you
+do not need to add it yourself. Doing so will cause in
+syntax errors within your Neovim configuration.
+
+Type:
+(list of string) or (luaInline)
+
+Default:
+[ ]
+
+Example:
-- Disable slow treesitter highlight for large files
+function(lang, buf)
+ local max_filesize = 1000 * 1024 -- 1MB
+ local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
+ if ok and stats and stats.size > max_filesize then
+ return true
+ end
+end
+
+
+Declared by:
+
+
+
+
+ vim.treesitter.incrementalSelection.enable
+
+
+
+
+Whether to enable incremental selection with treesitter.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.incrementalSelection.disable
+
+
+
+
+List of treesitter grammars to disable incremental selection
+for.
This option can be either a list, in which case it will be
+converted to a Lua table containing grammars to disable
+indentation for, or a string containing a lua function
+that will be read as is.
Warning A comma will be added at the end of your function, so you
+do not need to add it yourself. Doing so will cause in
+syntax errors within your Neovim configuration.
+
+Type:
+(list of string) or (luaInline)
+
+Default:
+[ ]
+
+Example:
+["c" "rust" ]
+
+Declared by:
+
+
+
+
+ vim.treesitter.indent.enable
+
+
+
+
+Whether to enable indentation with treesitter.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.indent.disable
+
+
+
+
+List of treesitter grammars to disable indentation for.
This option can be either a list, in which case it will be
+converted to a Lua table containing grammars to disable
+indentation for, or a string containing a lua function
+that will be read as is.
Warning A comma will be added at the end of your function, so you
+do not need to add it yourself. Doing so will cause in
+syntax errors within your Neovim configuration.
+
+Type:
+(list of string) or (luaInline)
+
+Default:
+[ ]
+
+Example:
+["c" "rust"]
+
+Declared by:
+
+
+
+
+ vim.treesitter.mappings.incrementalSelection.decrementByNode
+
+
+
+
+Decrement selection by node [treesitter]
+
+Type:
+null or string
+
+Default:
+"grm"
+
+Declared by:
+
+
+
+
+ vim.treesitter.mappings.incrementalSelection.incrementByNode
+
+
+
+
+Increment selection by node [treesitter]
+
+Type:
+null or string
+
+Default:
+"grn"
+
+Declared by:
+
+
+
+
+ vim.treesitter.mappings.incrementalSelection.incrementByScope
+
+
+
+
+Increment selection by scope [treesitter]
+
+Type:
+null or string
+
+Default:
+"grc"
+
+Declared by:
+
+
+
+
+ vim.treesitter.mappings.incrementalSelection.init
+
+
+
+
+Init selection [treesitter]
+
+Type:
+null or string
+
+Default:
+"gnn"
+
+Declared by:
+
+
+
+
+ vim.treesitter.textobjects.enable
+
+
+
+
+Whether to enable Treesitter textobjects.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.treesitter.textobjects.setupOpts
+
+
+
+
+Option table to pass into the setup function of treesitter-textobjects
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Example:
{
+ select = {
+ enable = true;
+ keymaps = {
+ af = "@function.outer";
+ };
+ lookahead = true;
+ };
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.borders.enable
+
+
+
+
+Whether to enable visible borders for most windows.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.borders.globalStyle
+
+
+
+
+The global border style to use.
If a list is given, it should have a length of eight or any divisor of
+eight. The array will specify the eight chars building up the border in
+a clockwise fashion starting with the top-left corner. You can specify
+a different highlight group for each character by passing a
+[char, “YourHighlightGroup”] instead
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Example:
[
+ "╔"
+ "═"
+ "╗"
+ "║"
+ "╝"
+ "═"
+ "╚"
+ "║"
+]
+
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.fastaction.enable
+
+
+
+
+Whether to enable borders for the fastaction plugin.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.fastaction.style
+
+
+
+
+The border style to use for the fastaction plugin
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.lsp-signature.enable
+
+
+
+
+Whether to enable borders for the lsp-signature plugin.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.lsp-signature.style
+
+
+
+
+The border style to use for the lsp-signature plugin
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.lspsaga.enable
+
+
+
+
+Whether to enable borders for the lspsaga plugin.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.lspsaga.style
+
+
+
+
+The border style to use for the lspsaga plugin
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.nvim-cmp.enable
+
+
+
+
+Whether to enable borders for the nvim-cmp plugin.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.nvim-cmp.style
+
+
+
+
+The border style to use for the nvim-cmp plugin
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.which-key.enable
+
+
+
+
+Whether to enable borders for the which-key plugin.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.borders.plugins.which-key.style
+
+
+
+
+The border style to use for the which-key plugin
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.enable
+
+
+
+
+Whether to enable breadcrumbs.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.lualine.winbar.enable
+
+
+
+
+Whether to automatically configure a winbar component for
+Lualine on the Winbar section.
Note This is set to true by default , which means nvim-navic
+will occupy winbar.lualine_c for the breadcrumbs feature
+unless this option is set to false.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.lualine.winbar.alwaysRender
+
+
+
+
+Whether to always display the breadcrumbs component
+on winbar.
Note This will pass draw_empty to the nvim_navic winbar
+component, which causes the component to be drawn even
+if it’s empty.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+false
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.enable
+
+
+
+
+Whether to enable navbuddy LSP helper UI. Enabling this option automatically loads and enables nvim-navic.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.appendName
+
+
+
+
+Insert at the end of name.
+
+Type:
+string
+
+Default:
+"a"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.appendScope
+
+
+
+
+Insert at the end of scope.
+
+Type:
+string
+
+Default:
+"A"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.children
+
+
+
+
+Navigate to the child node.
+
+Type:
+string
+
+Default:
+"l"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.close
+
+
+
+
+Close and return the cursor to its original location.
+
+Type:
+string
+
+Default:
+"<esc>"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.comment
+
+
+
+
+Comment the node.
+
+Type:
+string
+
+Default:
+"c"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.delete
+
+
+
+
+Delete the node.
+
+Type:
+string
+
+Default:
+"d"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.foldCreate
+
+
+
+
+Create a new fold of the node.
+
+Type:
+string
+
+Default:
+"f"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.foldDelete
+
+
+
+
+Delete the current fold of the node.
+
+Type:
+string
+
+Default:
+"F"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.help
+
+
+
+
+Open the mappings help window.
+
+Type:
+string
+
+Default:
+"g?"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.hsplit
+
+
+
+
+Open the node in a horizontal split.
+
+Type:
+string
+
+Default:
+"<C-s>"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.insertName
+
+
+
+
+Insert at the start of name.
+
+Type:
+string
+
+Default:
+"i"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.insertScope
+
+
+
+
+Insert at the start of scope.
+
+Type:
+string
+
+Default:
+"I"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.moveDown
+
+
+
+
+Move the node down.
+
+Type:
+string
+
+Default:
+"J"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.moveUp
+
+
+
+
+Move the node up.
+
+Type:
+string
+
+Default:
+"K"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.nextSibling
+
+
+
+
+Navigate to the next sibling node.
+
+Type:
+string
+
+Default:
+"j"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.parent
+
+
+
+
+Navigate to the parent node.
+
+Type:
+string
+
+Default:
+"h"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.previousSibling
+
+
+
+
+Navigate to the previous sibling node.
+
+Type:
+string
+
+Default:
+"k"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.rename
+
+
+
+
+Rename the node.
+
+Type:
+string
+
+Default:
+"r"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.root
+
+
+
+
+Navigate to the root node.
+
+Type:
+string
+
+Default:
+"0"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.select
+
+
+
+
+Goto the node.
+
+Type:
+string
+
+Default:
+"<enter>"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.telescope
+
+
+
+
+Start fuzzy finder at the current level.
+
+Type:
+string
+
+Default:
+"t"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.togglePreview
+
+
+
+
+Toggle the preview.
+
+Type:
+string
+
+Default:
+"s"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.visualName
+
+
+
+
+Select the name visually.
+
+Type:
+string
+
+Default:
+"v"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.visualScope
+
+
+
+
+Select the scope visually.
+
+Type:
+string
+
+Default:
+"V"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.vsplit
+
+
+
+
+Open the node in a vertical split.
+
+Type:
+string
+
+Default:
+"<C-v>"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.yankName
+
+
+
+
+Yank the name to system clipboard.
+
+Type:
+string
+
+Default:
+"y"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.mappings.yankScope
+
+
+
+
+Yank the scope to system clipboard.
+
+Type:
+string
+
+Default:
+"Y"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts
+
+
+
+
+Option table to pass into the setup function of navbuddy
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Array
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Boolean
+
+
+
+
+Type:
+string
+
+Default:
+"◩ "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Class
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Constant
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Constructor
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Enum
+
+
+
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.EnumMember
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Event
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Field
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.File
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Function
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Interface
+
+
+
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Key
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Method
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Module
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Namespace
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Null
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Number
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Object
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Operator
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Package
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Property
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.String
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Struct
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.TypeParameter
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.icons.Variable
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.lsp.auto_attach
+
+
+
+
+Whether to attach to LSP server manually.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.lsp.preference
+
+
+
+
+The preference list ranking LSP servers.
+
+Type:
+null or (list of string)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.node_markers.enable
+
+
+
+
+Whether to enable node markers.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.node_markers.icons.branch
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.node_markers.icons.leaf
+
+
+
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.node_markers.icons.leaf_selected
+
+
+
+
+Type:
+string
+
+Default:
+" → "
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.followNode
+
+
+
+
+Whether to keep the current node in focus in the source buffer.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.highlight
+
+
+
+
+Whether to highlight the currently focused node in the source buffer.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.reorient
+
+
+
+
+The mode for reorienting the source buffer after moving nodes.
+
+Type:
+one of “smart”, “top”, “mid”, “none”
+
+Default:
+"smart"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.source_buffer.scrolloff
+
+
+
+
+The scrolloff value in the source buffer when Navbuddy is open.
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.useDefaultMappings
+
+
+
+
+Add the default Navbuddy keybindings in addition to the keybinding added by this module.
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.window.border
+
+
+
+
+The border style to use.
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.window.scrolloff
+
+
+
+
+The scrolloff value within a navbuddy window.
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.left.border
+
+
+
+
+The border style to use for the left section of the Navbuddy UI.
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.mid.border
+
+
+
+
+The border style to use for the middle section of the Navbuddy UI.
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.right.border
+
+
+
+
+The border style to use for the right section of the Navbuddy UI.
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"rounded"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.navbuddy.setupOpts.window.sections.right.preview
+
+
+
+
+The display mode of the preview on the right section.
+
+Type:
+one of “leaf”, “always”, “never”
+
+Default:
+"leaf"
+
+Declared by:
+
+
+
+
+ vim.ui.breadcrumbs.source
+
+
+
+
+The source to be used for breadcrumbs component. Null means no breadcrumbs.
+
+Type:
+null or value “nvim-navic” (singular enum)
+
+Default:
+"nvim-navic"
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.enable
+
+
+
+
+Whether to enable color highlighting [nvim-colorizer.lua].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts
+
+
+
+
+Option table to pass into the setup function of colorizer
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes
+
+
+
+
+Filetypes to enable on and their option overrides.
"*" means enable on all filetypes. Filetypes prefixed with "!" are disabled.
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Example:
{
+ "!vim" = { };
+ "*" = { };
+ javascript = {
+ AARRGGBB = false;
+ };
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.AARRGGBB
+
+
+
+
+Colorize 0xAARRGGBB hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.RGB
+
+
+
+
+Colorize #RGB hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.RRGGBB
+
+
+
+
+Colorize #RRGGBB hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.RRGGBBAA
+
+
+
+
+Colorize #RRGGBBAA hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.always_update
+
+
+
+
+Update color values even if buffer is not focused. Example use: cmp_menu, cmp_docs
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.css
+
+
+
+
+Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.css_fn
+
+
+
+
+Enable all CSS functions : rgb_fn, hsl_fn
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.hsl_fn
+
+
+
+
+Colorize CSS hsl() and hsla() functions
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.mode
+
+
+
+
+Set the display mode
+
+Type:
+null or one of “foreground”, “background”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.names
+
+
+
+
+Colorize “Name” codes like Blue
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.rgb_fn
+
+
+
+
+Colorize CSS rgb() and rgba() functions
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.sass
+
+
+
+
+Enable sass colors
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.tailwind
+
+
+
+
+Enable tailwind colors
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.filetypes.<name>.virtualtext
+
+
+
+
+String to display as virtualtext
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options
+
+
+
+
+user_default_options is the second parameter to nvim-colorizer’s setup function.
Anything set here is the inverse of the previous setup configuration.
+
+Type:
+submodule
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.AARRGGBB
+
+
+
+
+Colorize 0xAARRGGBB hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.RGB
+
+
+
+
+Colorize #RGB hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.RRGGBB
+
+
+
+
+Colorize #RRGGBB hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.RRGGBBAA
+
+
+
+
+Colorize #RRGGBBAA hex codes
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.always_update
+
+
+
+
+Update color values even if buffer is not focused. Example use: cmp_menu, cmp_docs
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.css
+
+
+
+
+Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.css_fn
+
+
+
+
+Enable all CSS functions : rgb_fn, hsl_fn
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.hsl_fn
+
+
+
+
+Colorize CSS hsl() and hsla() functions
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.mode
+
+
+
+
+Set the display mode
+
+Type:
+null or one of “foreground”, “background”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.names
+
+
+
+
+Colorize “Name” codes like Blue
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.rgb_fn
+
+
+
+
+Colorize CSS rgb() and rgba() functions
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.sass
+
+
+
+
+Enable sass colors
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.tailwind
+
+
+
+
+Enable tailwind colors
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.colorizer.setupOpts.user_default_options.virtualtext
+
+
+
+
+String to display as virtualtext
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.fastaction.enable
+
+
+
+
+Whether to enable overriding vim.ui.select with fastaction.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.fastaction.setupOpts
+
+
+
+
+Option table to pass into the setup function of fastaction
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.illuminate.enable
+
+
+
+
+Whether to enable automatically highlight other uses of the word under the cursor [vim-illuminate]
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.illuminate.setupOpts
+
+
+
+
+Option table to pass into the setup function of vim-illuminate
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.illuminate.setupOpts.filetypes_denylist
+
+
+
+
+Filetypes to not illuminate, this overrides filetypes_allowlist
+
+Type:
+list of string
+
+Default:
[
+ "dirvish"
+ "fugitive"
+ "help"
+ "neo-tree"
+ "notify"
+ "NvimTree"
+ "TelescopePrompt"
+]
+
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.enable
+
+
+
+
+Whether to enable modes.nvim’s prismatic line decorations.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.setupOpts.colors
+
+
+
+
+Option table to pass into the setup function of modes.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.setupOpts.colors.copy
+
+
+
+
+The #RRGGBB color code for the visual mode highlights
+
+Type:
+string
+
+Default:
+"#f5c359"
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.setupOpts.colors.delete
+
+
+
+
+The #RRGGBB color code for the visual mode highlights
+
+Type:
+string
+
+Default:
+"#c75c6a"
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.setupOpts.colors.insert
+
+
+
+
+The #RRGGBB color code for the visual mode highlights
+
+Type:
+string
+
+Default:
+"#78ccc5"
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.setupOpts.colors.visual
+
+
+
+
+The #RRGGBB color code for the visual mode highlights
+
+Type:
+string
+
+Default:
+"#9745be"
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.setupOpts.line_opacity.visual
+
+
+
+
+Set opacity for cursorline and number background
+
+Type:
+floating point number
+
+Default:
+0.0
+
+Declared by:
+
+
+
+
+ vim.ui.modes-nvim.setupOpts.setCursorline
+
+
+
+
+Set a colored cursorline on current line
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.ui.noice.enable
+
+
+
+
+Whether to enable noice.nvim UI modification library.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts
+
+
+
+
+Option table to pass into the setup function of noice.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.format.cmdline
+
+
+
+
+formatting options for the cmdline
+
+Type:
+null or anything
+
+Default:
{
+ icon = "";
+ lang = "vim";
+ pattern = "^:";
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.format.filter
+
+
+
+
+formatting options for filter
+
+Type:
+null or anything
+
+Default:
{
+ icon = "";
+ lang = "bash";
+ pattern = "^:%s*!";
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.format.help
+
+
+
+
+formatting options for help
+
+Type:
+null or anything
+
+Default:
{
+ icon = "";
+ pattern = "^:%s*he?l?p?%s+";
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.format.lua
+
+
+
+
+formatting options for lua
+
+Type:
+null or anything
+
+Default:
{
+ icon = "";
+ lang = "lua";
+ pattern = "^:%s*lua%s+";
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.format.search_down
+
+
+
+
+formatting options for search_down
+
+Type:
+null or anything
+
+Default:
{
+ icon = " ";
+ kind = "search";
+ lang = "regex";
+ pattern = "^/";
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.format.search_up
+
+
+
+
+formatting options for search_up
+
+Type:
+null or anything
+
+Default:
{
+ icon = " ";
+ kind = "search";
+ lang = "regex";
+ pattern = "^%?";
+}
+
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.lsp.override."cmp.entry.get_documentation"
+
+
+
+
+override cmp documentation with Noice
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.lsp.override."vim.lsp.util.convert_input_to_markdown_lines"
+
+
+
+
+override the default lsp markdown formatter with Noice
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.lsp.override."vim.lsp.util.stylize_markdown"
+
+
+
+
+override the lsp markdown formatter with Noice
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.lsp.signature.enabled
+
+
+
+
+Whether to enable signature help.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.presets.bottom_search
+
+
+
+
+use a classic bottom cmdline for search
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.presets.command_palette
+
+
+
+
+position the cmdline and popupmenu together
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.presets.inc_rename
+
+
+
+
+enables an input dialog for inc-rename.nvim
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.presets.long_message_to_split
+
+
+
+
+long messages will be sent to a split
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.presets.lsp_doc_border
+
+
+
+
+add a border to hover docs and signature help
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.routes
+
+
+
+
+How to route messages
+
+Type:
+list of (submodule)
+
+Default:
+"Hide written messages"
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.routes.*.filter
+
+
+
+
+a filter for messages matching this route
+
+Type:
+anything
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.routes.*.opts
+
+
+
+
+options for the view and the route
+
+Type:
+null or anything
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.noice.setupOpts.routes.*.view
+
+
+
+
+how this route is viewed
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.ui.nvim-ufo.enable
+
+
+
+
+Whether to enable nvim-ufo.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.nvim-ufo.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-ufo
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.smartcolumn.enable
+
+
+
+
+Whether to enable line length indicator.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.ui.smartcolumn.setupOpts
+
+
+
+
+Option table to pass into the setup function of smartcolumn.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.ui.smartcolumn.setupOpts.colorcolumn
+
+
+
+
+The position at which the column will be displayed. Set to null to disable
+
+Type:
+null or string or list of string
+
+Default:
+"120"
+
+Declared by:
+
+
+
+
+ vim.ui.smartcolumn.setupOpts.custom_colorcolumn
+
+
+
+
+The position at which smart column should be displayed for each individual buffer type
+
+Type:
+attribute set of (string or list of string)
+
+Default:
+{ }
+
+Example:
vim.ui.smartcolumn.setupOpts.custom_colorcolumn = {
+ nix = "110";
+ ruby = "120";
+ java = "130";
+ go = ["90" "130"];
+};
+
+
+
+Declared by:
+
+
+
+
+ vim.ui.smartcolumn.setupOpts.disabled_filetypes
+
+
+
+
+The filetypes smartcolumn will be disabled for.
+
+Type:
+list of string
+
+Default:
[
+ "help"
+ "text"
+ "markdown"
+ "NvimTree"
+ "alpha"
+]
+
+
+Declared by:
+
+
+
+
+ vim.undoFile.enable
+
+
+
+
+Whether to enable undofile for persistent undo behaviour.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.undoFile.path
+
+
+
+
+Path to the directory in which undo history will be stored
+
+Type:
+string or (luaInline)
+
+Default:
mkLuaInline "vim.fn.stdpath('state') .. '/undo'"
+
+
+Example:
mkLuaInline "os.getenv('XDG_DATA_HOME') .. '/nvf/undo'"
+
+
+Declared by:
+
+
+
+
+ vim.utility.ccc.enable
+
+
+
+
+Whether to enable ccc color picker for neovim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.ccc.mappings.decrease10
+
+
+
+
+Decrease the value times delta of the slider
+
+Type:
+null or string
+
+Default:
+"<H>"
+
+Declared by:
+
+
+
+
+ vim.utility.ccc.mappings.increase10
+
+
+
+
+Increase the value times delta of the slider
+
+Type:
+null or string
+
+Default:
+"<L>"
+
+Declared by:
+
+
+
+
+ vim.utility.ccc.mappings.quit
+
+
+
+
+Cancel and close the UI without replace or insert
+
+Type:
+null or string
+
+Default:
+"<Esc>"
+
+Declared by:
+
+
+
+
+ vim.utility.diffview-nvim.enable
+
+
+
+
+Whether to enable diffview-nvim: cycle through diffs for all modified files for any git rev.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.diffview-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of Fidget
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.direnv.enable
+
+
+
+
+Whether to enable syncing nvim shell environment with direnv’s using direnv.vim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.icon-picker.enable
+
+
+
+
+Whether to enable nerdfonts icon picker for nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.enable
+
+
+
+
+Whether to enable image support in Neovim [image.nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of image.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.backend
+
+
+
+
+The backend to use for rendering images.
kitty - best in class, works great and is very snappy
ueberzug - backed by ueberzugpp, supports any terminal,
+but has lower performance
+
+Type:
+one of “kitty”, “ueberzug”
+
+Default:
+"ueberzug"
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.editorOnlyRenderWhenFocused
+
+
+
+
+Whether to enable only rendering images when the editor is focused.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.hijackFilePatterns
+
+
+
+
+File patterns to hijack for image.nvim. This is useful for
+filetypes that don’t have a dedicated integration.
+
+Type:
+list of string
+
+Default:
[
+ "*.png"
+ "*.jpg"
+ "*.jpeg"
+ "*.gif"
+ "*.webp"
+]
+
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.markdown.enable
+
+
+
+
+Whether to enable image.nvim in markdown files.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.markdown.clearInInsertMode
+
+
+
+
+Whether to enable clearing of images when entering insert mode.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.markdown.downloadRemoteImages
+
+
+
+
+Whether to enable downloading remote images.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.markdown.filetypes
+
+
+
+
+Filetypes to enable image.nvim in. Markdown extensions
+(i.e. quarto) can go here
+
+Type:
+list of string
+
+Default:
[
+ "markdown"
+ "vimwiki"
+]
+
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.markdown.onlyRenderAtCursor
+
+
+
+
+Whether to enable only rendering images at cursor.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.maxWidth
+
+
+
+
+The maximum width of images to render. Images larger than
+this will be scaled down to fit within this width.
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.neorg.enable
+
+
+
+
+Whether to enable image.nvim in Neorg files.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.neorg.clearInInsertMode
+
+
+
+
+Whether to enable clearing of images when entering insert mode.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.neorg.downloadRemoteImages
+
+
+
+
+Whether to enable downloading remote images.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.neorg.filetypes
+
+
+
+
+Filetypes to enable image.nvim in.
+
+Type:
+list of string
+
+Default:
[
+ "neorg"
+]
+
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.integrations.neorg.onlyRenderAtCursor
+
+
+
+
+Whether to enable only rendering images at cursor.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.maxHeight
+
+
+
+
+The maximum height of images to render. Images larger than
+this will be scaled down to fit within this height.
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.maxHeightWindowPercentage
+
+
+
+
+The maximum height of images to render as a percentage of the
+window height. Images larger than this will be scaled down to
+fit within this height.
+
+Type:
+null or signed integer
+
+Default:
+50
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.maxWidthWindowPercentage
+
+
+
+
+The maximum width of images to render as a percentage of the
+window width. Images larger than this will be scaled down to
+fit within this width.
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.windowOverlapClear.enable
+
+
+
+
+Whether to enable clearing of images when they overlap with the window.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.image-nvim.setupOpts.windowOverlapClear.ftIgnore
+
+
+
+
+Filetypes to ignore window overlap clearing in.
+
+Type:
+list of string
+
+Default:
[
+ "cmp_menu"
+ "cmp_docs"
+ ""
+]
+
+
+Declared by:
+
+
+
+
+ vim.utility.images.img-clip.enable
+
+
+
+
+Whether to enable img-clip to paste images into any markup language.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.images.img-clip.setupOpts
+
+
+
+
+Option table to pass into the setup function of img-clip
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.enable
+
+
+
+
+Whether to enable complementary neovim plugin for leetcode.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of leetcode-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.arg
+
+
+
+
+Argument for Neovim
+
+Type:
+string
+
+Default:
+"leetcode.nvim"
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.cn.enabled
+
+
+
+
+Whether to enable leetcode.cn instead of leetcode.com.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.cn.translate_problems
+
+
+
+
+Whether to enable translation for problem questions.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.cn.translator
+
+
+
+
+Whether to enable translator.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.image_support
+
+
+
+
+Whether to enable question description images using image.nvim (image-nvim must be enabled)…
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.lang
+
+
+
+
+Language to start your session with
+
+Type:
+one of “cpp”, “java”, “python”, “python3”, “c”, “csharp”, “javascript”, “typescript”, “php”, “swift”, “kotlin”, “dart”, “golang”, “ruby”, “scala”, “rust”, “racket”, “erlang”, “elixir”, “bash”
+
+Default:
+"python3"
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.logging
+
+
+
+
+Whether to enable logging for leetcode.nvim status notifications…
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.plugins.non_standalone
+
+
+
+
+Whether to enable leetcode.nvim in a non-standalone mode.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.storage.cache
+
+
+
+
+Cache storage directory
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = "vim.fn.stdpath(\"cache\") .. \"/leetcode\"";
+}
+
+
+Declared by:
+
+
+
+
+ vim.utility.leetcode-nvim.setupOpts.storage.home
+
+
+
+
+Home storage directory
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = "vim.fn.stdpath(\"data\") .. \"/leetcode\"";
+}
+
+
+Declared by:
+
+
+
+
+ vim.utility.mkdir.enable
+
+
+
+
+Whether to enable parent directory creation when editing a nested path that does not exist using mkdir.nvim
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.motion.flash-nvim.enable
+
+
+
+
+Whether to enable enhanced code navigation with flash.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.motion.flash-nvim.mappings.jump
+
+
+
+
+Jump
+
+Type:
+null or string
+
+Default:
+"s"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.flash-nvim.mappings.remote
+
+
+
+
+Remote Flash
+
+Type:
+null or string
+
+Default:
+"r"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.flash-nvim.mappings.toggle
+
+
+
+
+Toggle Flash Search
+
+Type:
+null or string
+
+Default:
+"<c-s>"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.flash-nvim.mappings.treesitter
+
+
+
+
+Treesitter
+
+Type:
+null or string
+
+Default:
+"S"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.flash-nvim.mappings.treesitter_search
+
+
+
+
+Treesitter Search
+
+Type:
+null or string
+
+Default:
+"R"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.flash-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of flash-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.motion.hop.enable
+
+
+
+
+Whether to enable Hop.nvim plugin (easy motion).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.motion.hop.mappings.hop
+
+
+
+
+Jump to occurrences [hop.nvim]
+
+Type:
+null or string
+
+Default:
+"<leader>h"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.leap.enable
+
+
+
+
+Whether to enable leap.nvim plugin (easy motion).
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.motion.leap.mappings.leapBackwardTill
+
+
+
+
+Leap backward till
+
+Type:
+null or string
+
+Default:
+"<leader>sX"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.leap.mappings.leapBackwardTo
+
+
+
+
+Leap backward to
+
+Type:
+null or string
+
+Default:
+"<leader>sS"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.leap.mappings.leapForwardTill
+
+
+
+
+Leap forward till
+
+Type:
+null or string
+
+Default:
+"<leader>sx"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.leap.mappings.leapForwardTo
+
+
+
+
+Leap forward to
+
+Type:
+null or string
+
+Default:
+"<leader>ss"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.leap.mappings.leapFromWindow
+
+
+
+
+Leap from window
+
+Type:
+null or string
+
+Default:
+"gs"
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.enable
+
+
+
+
+Whether to enable assisted motion discovery[precognition.nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts
+
+
+
+
+Option table to pass into the setup function of precognition.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.disabled_fts
+
+
+
+
+Filetypes that automatically disable ‘precognition’
+
+Type:
+list of string
+
+Default:
[
+ "startify"
+]
+
+
+Example:
+["startify"]
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.gutterHints
+
+
+
+
+What motions display and at what priority. Only appears in gutters
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.gutterHints.<name>.prio
+
+
+
+
+The priority of the hint
+
+Type:
+signed integer
+
+Default:
+1
+
+Example:
+10
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.gutterHints.<name>.text
+
+
+
+
+The easier-to-read depiction of the motion
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.highlightColor
+
+
+
+
+The highlight for the virtual text
+
+Type:
+attribute set of string
+
+Default:
{
+ link = "Comment";
+}
+
+
+Example:
{ link = "Comment"; }
+# or
+{ foreground = "#0000FF"; background = "#000000"; };
+
+
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.hints
+
+
+
+
+What motions display, and at what priority
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.hints.<name>.prio
+
+
+
+
+The priority of the hint
+
+Type:
+signed integer
+
+Default:
+1
+
+Example:
+10
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.hints.<name>.text
+
+
+
+
+The easier-to-read depiction of the motion
+
+Type:
+string
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.showBlankVirtLine
+
+
+
+
+Whether to show a blank virtual line when no movements are shown
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.motion.precognition.setupOpts.startVisible
+
+
+
+
+Whether to start ‘precognition’ automatically
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.enable
+
+
+
+
+Whether to enable vscode like multiple cursors [multicursor.nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts
+
+
+
+
+Option table to pass into the setup function of multicursors
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.DEBUG_MODE
+
+
+
+
+Enable debug mode.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.create_commands
+
+
+
+
+Create Multicursor user commands
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.generate_hints
+
+
+
+
+The configuration for generating hints
+
+Type:
+submodule
+
+Default:
{
+ config = {
+ column_count = null;
+ max_hint_length = 25;
+ };
+ extend = true;
+ insert = true;
+ normal = true;
+}
+
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.generate_hints.config
+
+
+
+
+The configuration for generating hints for multicursors.nvim
+
+Type:
+submodule
+
+Default:
{
+ column_count = null;
+ max_hint_length = 25;
+}
+
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.generate_hints.config.column_count
+
+
+
+
+The number of columns to use for the hint window
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.generate_hints.config.max_hint_length
+
+
+
+
+The maximum length of the hint
+
+Type:
+signed integer
+
+Default:
+25
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.generate_hints.extend
+
+
+
+
+Generate hints for the extend mode
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.generate_hints.insert
+
+
+
+
+Generate hints for the insert mode
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.generate_hints.normal
+
+
+
+
+Generate hints for the normal mode
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.hint_config
+
+
+
+
+The configuration for the hint window
+
+Type:
+submodule
+
+Default:
{
+ float_opts = {
+ border = "none";
+ };
+ position = "bottom";
+}
+
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.hint_config.float_opts
+
+
+
+
+The options for the floating hint window
+
+Type:
+submodule
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.hint_config.float_opts.border
+
+
+
+
+The border style for the hint window
+
+Type:
+string
+
+Default:
+"none"
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.hint_config.position
+
+
+
+
+The position of the hint window
+
+Type:
+string
+
+Default:
+"bottom"
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.mode_keys
+
+
+
+
+The keys to use for each mode
+
+Type:
+attribute set of string
+
+Default:
{
+ append = "a";
+ change = "c";
+ extend = "e";
+ insert = "i";
+}
+
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.nowait
+
+
+
+
+Don’t wait for the cursor to move before updating the cursor
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.multicursors.setupOpts.updatetime
+
+
+
+
+The time in milliseconds to wait before updating the cursor in insert mode
+
+Type:
+signed integer
+
+Default:
+50
+
+Declared by:
+
+
+
+
+ vim.utility.new-file-template.enable
+
+
+
+
+new-file-template.nvim: Automatically insert a template on new files in neovim.
Note For custom templates add a directory containing lua/templates/*.lua
+to vim.additionalRuntimePaths.
More documentation on the templates available at custom-template-docs
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.new-file-template.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-file-template.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.new-file-template.setupOpts.disableAutocmd
+
+
+
+
+Disable the autocmd that creates the template
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.new-file-template.setupOpts.disableFiletype
+
+
+
+
+Disable default templates for specific filetypes
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.utility.new-file-template.setupOpts.disableInsert
+
+
+
+
+Enter insert mode after inserting the template
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.new-file-template.setupOpts.disableSpecific
+
+
+
+
+Disable specific regexp for the default templates.
+
+Type:
+attribute set of list of string
+
+Default:
+{ }
+
+Example:
+"{ ruby = [\".*\"]; }"
+
+Declared by:
+
+
+
+
+ vim.utility.new-file-template.setupOpts.suffixAsFiletype
+
+
+
+
+Use suffix of filename rather than vim.bo.filetype as filetype
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.nix-develop.enable
+
+
+
+
+Whether to enable in-neovim nix develop, nix shell, and more using nix-develop.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.oil-nvim.enable
+
+
+
+
+Whether to enable Neovim file explorer: edit your filesystem like a buffer [oil-nvim]
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.oil-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of oil-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.outline.aerial-nvim.enable
+
+
+
+
+Whether to enable Aerial.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.outline.aerial-nvim.mappings.toggle
+
+
+
+
+Toggle aerial window
+
+Type:
+null or string
+
+Default:
+"gO"
+
+Declared by:
+
+
+
+
+ vim.utility.outline.aerial-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of aerial.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.preview.glow.enable
+
+
+
+
+Whether to enable markdown preview in neovim with glow.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.preview.glow.mappings.openPreview
+
+
+
+
+Open preview
+
+Type:
+null or string
+
+Default:
+"<leader>p"
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.enable
+
+
+
+
+Whether to enable Markdown preview in neovim with markdown-preview.nvim.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.alwaysAllowPreview
+
+
+
+
+Allow preview on all filetypes
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.autoClose
+
+
+
+
+Automatically close the preview window after leaving a Markdown buffer
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.autoStart
+
+
+
+
+Automatically open the preview window after entering a Markdown buffer
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.broadcastServer
+
+
+
+
+Allow for outside and network wide connections
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.customIP
+
+
+
+
+IP-address to use
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.customPort
+
+
+
+
+Port to use
+
+Type:
+string
+
+Default:
+""
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.filetypes
+
+
+
+
+Allowed filetypes
+
+Type:
+list of string
+
+Default:
[
+ "markdown"
+]
+
+
+Declared by:
+
+
+
+
+ vim.utility.preview.markdownPreview.lazyRefresh
+
+
+
+
+Only update preview when saving or leaving insert mode
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.sleuth.enable
+
+
+
+
+Whether to enable automatically adjusting options such as shiftwidth or expandtab, using vim-sleuth
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.enable
+
+
+
+
+Whether to enable smart-splits.nvim, a Neovim plugin for smart,
+seamless, directional navigation and resizing of splits.
Supports tmux, Wezterm, Kitty, and Zellij multiplexer integrations.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.move_cursor_down
+
+
+
+
+Focus Window/Pane Below
+
+Type:
+null or string
+
+Default:
+"<C-j>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.move_cursor_left
+
+
+
+
+Focus Window/Pane on the Left
+
+Type:
+null or string
+
+Default:
+"<C-h>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.move_cursor_previous
+
+
+
+
+Focus Previous Window/Pane
+
+Type:
+null or string
+
+Default:
+"<C-\\>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.move_cursor_right
+
+
+
+
+Focus Window/Pane on the Right
+
+Type:
+null or string
+
+Default:
+"<C-l>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.move_cursor_up
+
+
+
+
+Focus Window/Pane Above
+
+Type:
+null or string
+
+Default:
+"<C-k>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.resize_down
+
+
+
+
+Resize Window/Pane Down
+
+Type:
+null or string
+
+Default:
+"<A-j>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.resize_left
+
+
+
+
+Resize Window/Pane Left
+
+Type:
+null or string
+
+Default:
+"<A-h>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.resize_right
+
+
+
+
+Resize Window/Pane Right
+
+Type:
+null or string
+
+Default:
+"<A-l>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.resize_up
+
+
+
+
+Resize Window/Pane Up
+
+Type:
+null or string
+
+Default:
+"<A-k>"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.swap_buf_down
+
+
+
+
+Swap Buffer Down
+
+Type:
+null or string
+
+Default:
+"<leader><leader>j"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.swap_buf_left
+
+
+
+
+Swap Buffer Left
+
+Type:
+null or string
+
+Default:
+"<leader><leader>h"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.swap_buf_right
+
+
+
+
+Swap Buffer Right
+
+Type:
+null or string
+
+Default:
+"<leader><leader>l"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.keymaps.swap_buf_up
+
+
+
+
+Swap Buffer Up
+
+Type:
+null or string
+
+Default:
+"<leader><leader>k"
+
+Declared by:
+
+
+
+
+ vim.utility.smart-splits.setupOpts
+
+
+
+
+Option table to pass into the setup function of smart-splits
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.snacks-nvim.enable
+
+
+
+
+Whether to enable collection of QoL plugins for Neovim [snacks-nvim]
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.snacks-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of snacks-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.surround.enable
+
+
+
+
+Whether to enable nvim-surround, Neovim plugin to add/change/delete
+surrounding delimiter pairs with ease.
Note The default mappings deviate from upstream to avoid conflicts with nvim-leap.
+You may change those in your configuration if you do not use nvim-leap
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-surround
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.change
+
+
+
+
+keymap for change
+
+Type:
+string
+
+Default:
+"gzr"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.change_line
+
+
+
+
+keymap for change_line
+
+Type:
+string
+
+Default:
+"gZR"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.delete
+
+
+
+
+keymap for delete
+
+Type:
+string
+
+Default:
+"gzd"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.insert
+
+
+
+
+keymap for insert
+
+Type:
+string
+
+Default:
+"<C-g>z"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.insert_line
+
+
+
+
+keymap for insert_line
+
+Type:
+string
+
+Default:
+"<C-g>Z"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.normal
+
+
+
+
+keymap for normal
+
+Type:
+string
+
+Default:
+"gz"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.normal_cur
+
+
+
+
+keymap for normal_cur
+
+Type:
+string
+
+Default:
+"gZ"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.normal_cur_line
+
+
+
+
+keymap for normal_cur_line
+
+Type:
+string
+
+Default:
+"gZZ"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.normal_line
+
+
+
+
+keymap for normal_line
+
+Type:
+string
+
+Default:
+"gzz"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.visual
+
+
+
+
+keymap for visual
+
+Type:
+string
+
+Default:
+"gz"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.setupOpts.keymaps.visual_line
+
+
+
+
+keymap for visual_line
+
+Type:
+string
+
+Default:
+"gZ"
+
+Declared by:
+
+
+
+
+ vim.utility.surround.useVendoredKeybindings
+
+
+
+
+Use alternative set of keybindings that avoids conflicts with other popular plugins, e.g. nvim-leap
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.vim-wakatime.enable
+
+
+
+
+Whether to enable automatic time tracking and metrics generated from your programming activity [vim-wakatime]
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.vim-wakatime.cli-package
+
+
+
+
+The package that should be used for wakatime-cli.
+Set as null to use the default path in $XDG_DATA_HOME
+
+Type:
+null or package
+
+Default:
+<derivation wakatime-cli-1.115.3>
+
+Example:
+null
+
+Declared by:
+
+
+
+
+ vim.utility.yanky-nvim.enable
+
+
+
+
+Whether to enable improved Yank and Put functionalities for Neovim [yanky-nvim]
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.yanky-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of yanky-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.yanky-nvim.setupOpts.ring.storage
+
+
+
+
+storage mode for ring values.
shada : this will save pesistantly using Neovim ShaDa feature.
+This means that history will be persisted between each session of Neovim.
memory : each Neovim instance will have his own history and it will be
+lost between sessions.
sqlite : more reliable than shada, requires sqlite.lua as a dependency.
+nvf will add this dependency to PATH automatically.
+
+Type:
+one of “shada”, “sqlite”, “memory”
+
+Default:
+"shada"
+
+Example:
+"sqlite"
+
+Declared by:
+
+
+
+
+ vim.utility.yazi-nvim.enable
+
+
+
+
+Whether to enable companion plugin for the yazi terminal file manager [yazi-nvim]
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.utility.yazi-nvim.mappings.openYazi
+
+
+
+
+Open yazi at the current file [yazi.nvim]
+
+Type:
+null or string
+
+Default:
+"<leader>-"
+
+Declared by:
+
+
+
+
+ vim.utility.yazi-nvim.mappings.openYaziDir
+
+
+
+
+Open the file manager in nvim’s working directory [yazi.nvim]
+
+Type:
+null or string
+
+Default:
+"<leader>cw"
+
+Declared by:
+
+
+
+
+ vim.utility.yazi-nvim.mappings.yaziToggle
+
+
+
+
+Resume the last yazi session [yazi.nvim]
+
+Type:
+null or string
+
+Default:
+"<c-up>"
+
+Declared by:
+
+
+
+
+ vim.utility.yazi-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of yazi-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.utility.yazi-nvim.setupOpts.open_for_directories
+
+
+
+
+Whether to open Yazi instead of netrw
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.viAlias
+
+
+
+
+Enable the vi alias for nvim
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.vimAlias
+
+
+
+
+Enable the vim alias for nvim
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.cellular-automaton.enable
+
+
+
+
+Whether to enable cellular-automaton to help you cope with stubborn code [cellular-automaton].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.cellular-automaton.animation.register
+
+
+
+
+Whether to enable registering configured animation(s) automatically.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.cellular-automaton.animation.setup
+
+
+
+
+Configuration used to generate an animation to be registered.
The final value for ca_config will be used to register a new
+animation using require("cellular-automaton").register_animation(ca_config)
Warning ca_config must eval to a valid Lua table. nvf does not and cannot
+perform any kind of validation on your Lua code, so bogus values will
+result in errors when the animation is registered.
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ local ca_config = {
+ fps = 50,
+ name = 'slide',
+ }
+
+ -- init function is invoked only once at the start
+ -- config.init = function (grid)
+ --
+ -- end
+
+ -- update function
+ ca_config.update = function (grid)
+ for i = 1, #grid do
+ local prev = grid[i][#(grid[i])]
+ for j = 1, #(grid[i]) do
+ grid[i][j], prev = prev, grid[i][j]
+ end
+ end
+ return true
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.cellular-automaton.mappings.makeItRain
+
+
+
+
+Make it rain [cellular-automaton]
+
+Type:
+null or string
+
+Default:
+"<leader>fml"
+
+Declared by:
+
+
+
+
+ vim.visuals.cinnamon-nvim.enable
+
+
+
+
+Whether to enable smooth scrolling for ANY command [cinnamon-nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.cinnamon-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of cinnamon.nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.cinnamon-nvim.setupOpts.keymaps.basic
+
+
+
+
+Whether to enable basic animation keymaps.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.cinnamon-nvim.setupOpts.keymaps.extra
+
+
+
+
+Whether to enable extra animation keymaps.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.cinnamon-nvim.setupOpts.options
+
+
+
+
+Scroll options
+
+Type:
+attribute set
+
+Default:
{
+ count_only = false;
+ mode = "cursor";
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.enable
+
+
+
+
+Whether to enable nvim LSP UI element [fidget-nvim].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts
+
+
+
+
+Option table to pass into the setup function of Fidget
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.integration.nvim-tree.enable
+
+
+
+
+Integrate with nvim-tree/nvim-tree.lua (if enabled)
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.integration.xcodebuild-nvim.enable
+
+
+
+
+Integrate with wojciech-kulik/xcodebuild.nvim (if enabled)
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.logger.float_precision
+
+
+
+
+Limit the number of decimals displayed for floats
+
+Type:
+floating point number
+
+Default:
+0.01
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.logger.level
+
+
+
+
+Minimum logging level
+
+Type:
+one of “debug”, “error”, “info”, “trace”, “warn”, “off”
+
+Default:
+"warn"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.logger.max_size
+
+
+
+
+Maximum log file size, in KB
+
+Type:
+signed integer
+
+Default:
+10000
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.logger.path
+
+
+
+
+Where Fidget writes its logs to
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ string.format("%s/fidget.nvim.log", vim.fn.stdpath("cache"))
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.configs
+
+
+
+
+How to configure notification groups when instantiated
+
+Type:
+attribute set of (luaInline)
+
+Default:
{
+ default = {
+ _type = "lua-inline";
+ expr = "require('fidget.notification').default_config";
+ };
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.filter
+
+
+
+
+Minimum notifications level
+
+Type:
+one of “debug”, “info”, “warn”, “error”
+
+Default:
+"info"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.history_size
+
+
+
+
+Number of removed messages to retain in history
+
+Type:
+signed integer
+
+Default:
+128
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.override_vim_notify
+
+
+
+
+Automatically override vim.notify() with Fidget
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.poll_rate
+
+
+
+
+How frequently to update and render notifications
+
+Type:
+signed integer
+
+Default:
+10
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.redirect
+
+
+
+
+Conditionally redirect notifications to another backend
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(msg, level, opts)
+ if opts and opts.on_open then
+ return require("fidget.integration.nvim-notify").delegate(msg, level, opts)
+ end
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.view.group_separator
+
+
+
+
+Separator between notification groups
+
+Type:
+string
+
+Default:
+"---"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.view.group_separator_hl
+
+
+
+
+Highlight group used for group separator
+
+Type:
+string
+
+Default:
+"Comment"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.view.icon_separator
+
+
+
+
+Separator between group name and icon
+
+Type:
+string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.view.render_message
+
+
+
+
+How to render notification messages
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(msg, cnt)
+ return cnt == 1 and msg or string.format("(%dx) %s", cnt, msg)
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.view.stack_upwards
+
+
+
+
+Display notification items from bottom to top
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.align
+
+
+
+
+How to align the notification window
+
+Type:
+one of “top”, “bottom”
+
+Default:
+"bottom"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.border
+
+
+
+
+Border style of the notification window
+
+Type:
+one of “none”, “single”, “double”, “rounded”, “solid”, “shadow” or list of (string or list of string)
+
+Default:
+"none"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.max_height
+
+
+
+
+Maximum height of the notification window
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.max_width
+
+
+
+
+Maximum width of the notification window
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.normal_hl
+
+
+
+
+Base highlight group in the notification window
+
+Type:
+string
+
+Default:
+"Comment"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.relative
+
+
+
+
+What the notification window position is relative to
+
+Type:
+one of “editor”, “win”
+
+Default:
+"editor"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.winblend
+
+
+
+
+Background color opacity in the notification window
+
+Type:
+signed integer
+
+Default:
+100
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.x_padding
+
+
+
+
+Padding from right edge of window boundary
+
+Type:
+signed integer
+
+Default:
+1
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.y_padding
+
+
+
+
+Padding from bottom edge of window boundary
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.notification.window.zindex
+
+
+
+
+Stacking priority of the notification window
+
+Type:
+signed integer
+
+Default:
+45
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.done_icon
+
+
+
+
+Icon shown when LSP progress tasks are completed
+
+Type:
+string
+
+Default:
+"✓"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.done_style
+
+
+
+
+Highlight group for completed LSP tasks
+
+Type:
+string
+
+Default:
+"Constant"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.done_ttl
+
+
+
+
+How long a message should persist when complete
+
+Type:
+signed integer
+
+Default:
+3
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.format_annote
+
+
+
+
+How to format a progress annotation
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(msg) return msg.title end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.format_group_name
+
+
+
+
+How to format a progress notification group’s name
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(group) return tostring(group) end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.format_message
+
+
+
+
+How to format a progress message
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ require("fidget.progress.display").default_format_message
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.group_style
+
+
+
+
+Highlight group for group name (LSP server name)
+
+Type:
+string
+
+Default:
+"Title"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.icon_style
+
+
+
+
+Highlight group for group icons
+
+Type:
+string
+
+Default:
+"Question"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides
+
+
+
+
+Overrides the default configuration for a notification group defined
+in vim.visuals.fidget-nvim.setupOpts.notification.configs .
If any of the fields are null, the value from the default
+configuration is used.
If default configuration is not defined, the following defaults are used:
{
+ name = "Notifications",
+ icon = "❰❰",
+ ttl = 5,
+ group_style = "Title",
+ icon_style = "Special",
+ annote_style = "Question",
+ debug_style = "Comment",
+ info_style = "Question",
+ warn_style = "WarningMsg",
+ error_style = "ErrorMsg",
+ debug_annote = "DEBUG",
+ info_annote = "INFO",
+ warn_annote = "WARN",
+ error_annote = "ERROR",
+ update_hook = function(item)
+ notification.set_content_key(item)
+ end,
+ }
+
+
+Type:
+attribute set of (submodule)
+
+Default:
+{ }
+
+Example:
{
+ rust_analyzer = {
+ name = "Rust Analyzer";
+ };
+}
+
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.annote_separator
+
+
+
+
+Separator between message from annote
+
+Type:
+null or string
+
+Default:
+" "
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.annote_style
+
+
+
+
+Default style used to highlight item annotes
+
+Type:
+null or string
+
+Default:
+"Question"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.debug_annote
+
+
+
+
+Default annotation for debug items
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.debug_style
+
+
+
+
+Style used to highlight debug item annotes
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.error_annote
+
+
+
+
+Default annotation for error items
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.error_style
+
+
+
+
+Style used to highlight error item annotes
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.group_style
+
+
+
+
+Style used to highlight group name
+
+Type:
+null or string
+
+Default:
+"Title"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.icon
+
+
+
+
+Icon of the group, displayed in the notification window.
+Can be a string or a function that returns a string.
If a function, it is invoked every render cycle with the items
+list, useful for rendering animations and other dynamic content.
Note If you’re looking for detailed information into the function
+signature, you can refer to the fidget API documentation available
+here
+
+Type:
+null or string or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.icon_on_left
+
+
+
+
+If true, icon is rendered on the left instead of right
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.icon_style
+
+
+
+
+Style used to highlight icon, if null, use group_style
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.info_annote
+
+
+
+
+Default annotation for info items
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.info_style
+
+
+
+
+Style used to highlight info item annotes
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.name
+
+
+
+
+Name of the group, displayed in the notification window.
+Can be a string or a function that returns a string.
If a function, it is invoked every render cycle with the items
+list, useful for rendering animations and other dynamic content.
Note If you’re looking for detailed information into the function
+signature, you can refer to the fidget API documentation available
+here
+
+Type:
+null or string or (luaInline)
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.priority
+
+
+
+
+Order in which group should be displayed
+
+Type:
+null or signed integer
+
+Default:
+50
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.render_limit
+
+
+
+
+How many notification items to show at once
+
+Type:
+null or signed integer
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.skip_history
+
+
+
+
+Whether messages should be preserved in history
+
+Type:
+null or boolean
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.ttl
+
+
+
+
+How long a notification item should exist
+
+Type:
+null or signed integer
+
+Default:
+5
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.update_hook
+
+
+
+
+Called when an item is updated.
If false, no action is taken.
+If a function, it is invoked with the item being updated.
Note If you’re looking for detailed information into the function
+signature, you can refer to the fidget API documentation available
+here
+
+Type:
+null or boolean or (luaInline)
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.warn_annote
+
+
+
+
+Default annotation for warn items
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.overrides.<name>.warn_style
+
+
+
+
+Style used to highlight warn item annotes
+
+Type:
+null or string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.priority
+
+
+
+
+Priority of the progress notification
+
+Type:
+signed integer
+
+Default:
+30
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.progress_icon.pattern
+
+
+
+
+Pattern shown when LSP progress tasks are in progress
+
+Type:
+one of “dots”, “dots_negative”, “dots_snake”, “dots_footsteps”, “dots_hop”, “line”, “pipe”, “dots_ellipsis”, “dots_scrolling”, “star”, “flip”, “hamburger”, “grow_vertical”, “grow_horizontal”, “noise”, “dots_bounce”, “triangle”, “arc”, “circle”, “square_corners”, “circle_quarters”, “circle_halves”, “dots_toggle”, “box_toggle”, “arrow”, “zip”, “bouncing_bar”, “bouncing_ball”, “clock”, “earth”, “moon”, “dots_pulse”, “meter”
+
+Default:
+"dots"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.progress_icon.period
+
+
+
+
+Period of the pattern
+
+Type:
+signed integer
+
+Default:
+1
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.progress_style
+
+
+
+
+Highlight group for in-progress LSP tasks
+
+Type:
+string
+
+Default:
+"WarningMsg"
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.progress_ttl
+
+
+
+
+How long a message should persist when in progress
+
+Type:
+signed integer
+
+Default:
+99999
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.render_limit
+
+
+
+
+Maximum number of messages to render
+
+Type:
+signed integer
+
+Default:
+16
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.display.skip_history
+
+
+
+
+Skip adding messages to history
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.ignore
+
+
+
+
+Ignore LSP servers by name
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.ignore_done_already
+
+
+
+
+Ignore new tasks that are already done
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.ignore_empty_message
+
+
+
+
+Ignore new tasks with empty messages
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.lsp.log_handler
+
+
+
+
+Log $/progress handler invocations
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.lsp.progress_ringbuf_size
+
+
+
+
+Nvim’s LSP client ring buffer size
+
+Type:
+signed integer
+
+Default:
+100
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.notification_group
+
+
+
+
+How to get a progress message’s notification group key
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = ''
+ function(msg)
+ return msg.lsp_client.name
+ end
+ '';
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.poll_rate
+
+
+
+
+How frequently to poll for LSP progress messages
+
+Type:
+signed integer
+
+Default:
+0
+
+Declared by:
+
+
+
+
+ vim.visuals.fidget-nvim.setupOpts.progress.suppress_on_insert
+
+
+
+
+Suppress new messages when in insert mode
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.highlight-undo.enable
+
+
+
+
+Whether to enable highlight undo [highlight-undo].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.highlight-undo.setupOpts
+
+
+
+
+Option table to pass into the setup function of highlight-undo
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.highlight-undo.setupOpts.duration
+
+
+
+
+Duration of the highlight
+
+Type:
+signed integer
+
+Default:
+500
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.enable
+
+
+
+
+Whether to enable indentation guides [indent-blankline].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts
+
+
+
+
+Option table to pass into the setup function of indent-blankline
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.debounce
+
+
+
+
+Debounce time in milliseconds
+
+Type:
+signed integer
+
+Default:
+200
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.indent.char
+
+
+
+
+Character(s) for indentation guide
+
+Type:
+string or list of string
+
+Default:
+"│"
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.indent.highlight
+
+
+
+
+The highlight group(s) applied to the indentation guide.
See :help ibl.config.indent.highlight.
+
+Type:
+null or string or list of string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.indent.priority
+
+
+
+
+Virtual text priority for the indentation guide
+
+Type:
+signed integer
+
+Default:
+1
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.indent.repeat_linebreak
+
+
+
+
+Repeat indentation guides on wrapped lines
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.indent.smart_indent_cap
+
+
+
+
+Caps the number of indentation levels based on surrounding code
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.indent.tab_char
+
+
+
+
+Character(s) for tab indentation guide.
See :help ibl.config.indent.tab_char.
+
+Type:
+null or string or list of string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.enabled
+
+
+
+
+Highlight current scope from treesitter
+
+Type:
+boolean
+
+Default:
+config.vim.treesitter.enable
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.char
+
+
+
+
+The character(s) for the scope indentation guide
+
+Type:
+string or list of string
+
+Default:
+config.vim.visuals.indent-blankline.setupOpts.indent.char
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.exclude.language
+
+
+
+
+The list of treesitter languages to disable scope for.
* can be used as a wildcard for every language/node type.
+
+Type:
+list of string
+
+Default:
+[ ]
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.exclude.node_type
+
+
+
+
+Nodes to ignore in scope checking, per language.
* can be used as a wildcard for every language.
+
+Type:
+attribute set of list of string
+
+Default:
{
+ "*" = [
+ "source_file"
+ "program"
+ ];
+ lua = [
+ "chunk"
+ ];
+ python = [
+ "module"
+ ];
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.highlight
+
+
+
+
+The highlight group(s) applied to the scope.
See :help ibl.config.scope.highlight`.
+
+Type:
+null or string or list of string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.include.node_type
+
+
+
+
+Additional nodes to be used for scope checking, per language
+
+Type:
+attribute set of list of string
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.injected_languages
+
+
+
+
+Check for injected languages (treesitter)
+
+Type:
+boolean
+
+Default:
+config.vim.treesitter.enable
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.priority
+
+
+
+
+Virtual text priority for the scope
+
+Type:
+signed integer
+
+Default:
+1024
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.show_end
+
+
+
+
+Show an underline on the last line of the scope
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.show_exact_scope
+
+
+
+
+Show the scope underline at the exact start of the scope, even if that’s to the right of the indentation guide
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.scope.show_start
+
+
+
+
+Show an underline on the first line of the scope
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.viewport_buffer.max
+
+
+
+
+Number of lines above and below of what is currently
+visible in the window
+
+Type:
+signed integer
+
+Default:
+500
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.viewport_buffer.min
+
+
+
+
+Number of lines above and below of what is currently
+visible in the window
+
+Type:
+signed integer
+
+Default:
+30
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.whitespace.highlight
+
+
+
+
+The highlight group(s) applied to whitespace.
See :help ibl.config.whitespace.highlight.
+
+Type:
+null or string or list of string
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.indent-blankline.setupOpts.whitespace.remove_blankline_trail
+
+
+
+
+Remove trailing whitespace on blanklines
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.enable
+
+
+
+
+Whether to enable cursor word and line highlighting [nvim-cursorline].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-cursorline
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts.cursorline.enable
+
+
+
+
+Whether to enable cursor line highlighting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts.cursorline.number
+
+
+
+
+If true, vim.wo.cursorlineopt will be set to “number”
+when the trigger conditions are met.
+
+Type:
+boolean
+
+Default:
+false
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts.cursorline.timeout
+
+
+
+
+Cursorline timeout
+
+Type:
+signed integer
+
+Default:
+1000
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts.cursorword.enable
+
+
+
+
+Whether to enable cursor word highlighting.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts.cursorword.hl.underline
+
+
+
+
+Whether to underline matching cursorword
+
+Type:
+boolean
+
+Default:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts.cursorword.min_length
+
+
+
+
+The min_length option defines the minimum number of characters
+a word must have to be highlighted as a “cursor word.” Any word
+shorter than this value will be ignored and not highlighted.
+
+Type:
+signed integer
+
+Default:
+3
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-cursorline.setupOpts.cursorword.timeout
+
+
+
+
+Cursorword timeout
+
+Type:
+signed integer
+
+Default:
+1000
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-scrollbar.enable
+
+
+
+
+Whether to enable extensible Neovim Scrollbar [nvim-scrollbar].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-scrollbar.setupOpts
+
+
+
+
+Option table to pass into the setup function of scrollbar-nvim
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-scrollbar.setupOpts.excluded_filetypes
+
+
+
+
+Filetypes to hide the scrollbar on
+
+Type:
+list of string
+
+Default:
[
+ "prompt"
+ "TelescopePrompt"
+ "noice"
+ "NvimTree"
+ "neo-tree"
+ "alpha"
+ "notify"
+ "Navbuddy"
+ "fastaction_popup"
+]
+
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-web-devicons.enable
+
+
+
+
+Whether to enable Neovim dev icons [nvim-web-devicons].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-web-devicons.setupOpts
+
+
+
+
+Option table to pass into the setup function of nvim-web-devicons
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-web-devicons.setupOpts.color_icons
+
+
+
+
+Whether to enable different highlight colors per icon.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-web-devicons.setupOpts.override
+
+
+
+
+Your personal icon overrides.
You can specify color or cterm_color instead of specifying
+both of them. DevIcon will be appended to name
+
+Type:
+attribute set of (attribute set)
+
+Default:
+{ }
+
+Example:
{
+ zsh = {
+ name = "Zsh";
+ icon = "";
+ color = "#428850";
+ cterm_color = "65";
+ };
+}
+
+
+
+Declared by:
+
+
+
+
+ vim.visuals.nvim-web-devicons.setupOpts.variant
+
+
+
+
+Set the light or dark variant manually, instead of relying on background
+
+Type:
+null or one of “light”, “dark”
+
+Default:
+null
+
+Declared by:
+
+
+
+
+ vim.visuals.rainbow-delimiters.enable
+
+
+
+
+Whether to enable rainbow-delimiters.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.rainbow-delimiters.setupOpts
+
+
+
+
+Option table to pass into the setup function of rainbow-delimiters
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.tiny-devicons-auto-colors.enable
+
+
+
+
+Whether to enable alternative nvim-web-devicons icon colors [tiny-devicons-auto-colors].
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.tiny-devicons-auto-colors.setupOpts
+
+
+
+
+Option table to pass into the setup function of tiny-devicons-auto-colors
You can pass in any additional options even if they’re
+not listed in the docs
+
+Type:
+anything
+
+Default:
+{ }
+
+Declared by:
+
+
+
+
+ vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.cache.enabled
+
+
+
+
+Whether to enable caching of icon colors. This will greatly improve performance.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.cache.path
+
+
+
+
+Path to the cache file
+
+Type:
+luaInline
+
+Default:
{
+ _type = "lua-inline";
+ expr = "vim.fn.stdpath(\"cache\") .. \"/tiny-devicons-auto-colors-cache.json\"";
+}
+
+
+Declared by:
+
+
+
+
+ vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.chroma
+
+
+
+
+Chroma factor of icons
+
+Type:
+signed integer
+
+Default:
+1
+
+Declared by:
+
+
+
+
+ vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.hue
+
+
+
+
+Hue factor of icons
+
+Type:
+floating point number
+
+Default:
+1.25
+
+Declared by:
+
+
+
+
+ vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.lightness
+
+
+
+
+Lightness factor of icons
+
+Type:
+floating point number
+
+Default:
+1.76
+
+Declared by:
+
+
+
+
+ vim.withNodeJs
+
+
+
+
+Whether to enable NodeJs support in the Neovim wrapper
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.withPython3
+
+
+
+
+Whether to enable Python3 support in the Neovim wrapper
+.
+
+Type:
+boolean
+
+Default:
+false
+
+Example:
+true
+
+Declared by:
+
+
+
+
+ vim.withRuby
+
+
+
+
+Whether to enable Ruby support in the Neovim wrapper.
+.
+
+Type:
+boolean
+
+Default:
+true
+
+Example:
+true
+
+Declared by:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs-preview-1014/quirks.html b/docs-preview-1014/quirks.html
new file mode 100644
index 00000000..94944908
--- /dev/null
+++ b/docs-preview-1014/quirks.html
@@ -0,0 +1,56 @@
+
+
+
+
+
+ Appendix A. Known Issues and Quirks
+
+
+
+
+
+
+
+
Appendix A. Known Issues and Quirks 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.
When working with NodeJS, everything works as expected, but some projects have
+settings that can fool nvf.
If this plugin or similar
+is included, you might get a situation where your eslint configuration diagnoses
+your formatting according to its own config (usually .eslintrc.js).
The issue there is your formatting is made via prettierd.
This results in auto-formatting relying on your prettier config, while your
+eslint config diagnoses formatting
+which it’s not supposed to )
In the end, you get discrepancies between what your editor does and what it
+wants.
Solutions are:
Don’t add a formatting config to eslint, and separate prettier and eslint.
PR this repo to add an ESLint formatter and configure nvf to use it.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs-preview-1014/release-notes.html b/docs-preview-1014/release-notes.html
new file mode 100644
index 00000000..1256e183
--- /dev/null
+++ b/docs-preview-1014/release-notes.html
@@ -0,0 +1,382 @@
+
+
+
+
+
+ Appendix C. Release Notes
+
+
+
+
+
+
+
+
Appendix C. Release Notes This section lists the release notes for tagged version of nvf and the
+current main current main branch
This is the current master branch and information here is not final. These are
+changes from the v0.1 tag.
Special thanks to home-manager
+for this release. Docs/manual generation, the new module evaluation system, and
+DAG implementation are from them.
jordanisaacs :
Removed hare language support (lsp/tree-sitter/etc). vim.lsp.hare is no
+longer defined. If you use hare and would like it added back, please file an
+issue.
vim.startPlugins & vim.optPlugins are now an enum of
+string for options sourced from the flake inputs. Users can still provide
+vim plugin packages.
neovimBuilder has been removed for configuration. Using an overlay is no
+longer required. See the manual for the new way to configuration.
Treesitter grammars are now configurable with
+vim.treesitter.grammars . Utilizes the nixpkgs nvim-treesitter
+plugin rather than a custom input in order to take advantage of build support
+of pinned versions. See the relevant discourse post for more information.
+Packages can be found under the vimPlugins.nvim-treesitter.builtGrammars
+namespace.
vim.configRC and vim.luaConfigRC are now of type DAG lines. This
+allows for ordering of the config. Usage is the same is in home-manager’s
+home.activation option.
vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
+MoritzBoehme :
+
+
+
Release notes for release 0.2
notashelf :
Added two minimap plugins under vim.minimap. codewindow.nvim is enabled by
+default, while minimap.vim is available with its code-minimap dependency.
A complementary plugin, obsidian.nvim and the Neovim alternative for Emacs’
+orgmode with orgmode.nvim have been added. Both will be disabled by default.
Smooth scrolling for ANY movement command is now available with
+cinnamon.nvim
You will now notice a dashboard on startup. This is provided by the
+alpha.nvim plugin. You can use any of the three available dashboard plugins,
+or disable them entirely.
There is now a scrollbar on active buffers, which can highlight errors by
+hooking to your LSPs. This is on by default, but can be toggled off under
+vim.visuals if seen necessary.
Discord Rich Presence has been added through presence.nvim for those who
+want to flex that they are using the superior text editor.
An icon picker is now available with telescope integration. You can use
+:IconPickerInsert or :IconPickerYank to add icons to your code.
A general-purpose cheatsheet has been added through cheatsheet.nvim. Forget
+no longer!
ccc.nvim has been added to the default plugins to allow picking colors with
+ease.
Most UI components of Neovim have been replaced through the help of
+noice.nvim. There are also notifications and custom UI elements available
+for Neovim messages and prompts.
A (floating by default) terminal has been added through toggleterm.nvim.
Harness the power of ethical (tabnine.nvim) and not-so-ethical
+(copilot.lua) AI by those new assistant plugins. Both are off by default,
+TabNine needs to be wrapped before it’s working.
Experimental mouse gestures have been added through gesture.nvim. See plugin
+page and the relevant module for more details on how to use.
Re-open last visited buffers via nvim-session-manager. Disabled by default
+as deleting buffers seems to be problematic at the moment.
Most of NvimTree’s configuration options have been changed with some options
+being toggled to off by default.
Lualine had its configuration simplified and style toned down. Less color,
+more info.
Modules where multiple plugin configurations were in the same directory have
+been simplified. Each plugin inside a single module gets its directory to be
+imported.
Separate config options with the same parent attribute have been merged into
+one for simplicity.
+
+
+
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.
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.
We now provide a home-manager module. Do note that it is still far from
+perfect, but it works.
nodejs_16 is now bundled with Copilot.lua if the user has enabled Copilot
+assistant.
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 +prefix
Most of presence.nvim’s options have been made fully configurable through
+your configuration file.
Most of the modules have been refactored to separate config and options
+attributes.
Darwin has been deprecated as the Zig package is marked as broken. We will
+attempt to use the Zig overlay to return Darwin support.
Fidget.nvim has been added as a neat visual addition for LSP installations.
diffview.nvim has been added to provide a convenient diff utility.
Treesitter grammars are now configurable with
+vim.treesitter.grammars . Utilizes the nixpkgs nvim-treesitter
+plugin rather than a custom input in order to take advantage of build support
+of pinned versions. See discourse for more information. Packages can be
+found under the pkgs.vimPlugins.nvim-treesitter.builtGrammars 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: comment ,
+toml , make , html , css , graphql , json .
A new section has been added for language support: vim.languages.<language>.
vim.git.gitsigns.codeActions has been added, allowing you to turn on
+Gitsigns’ code actions.
Removed the plugins document in the docs. Was too unwieldy to keep updated.
vim.visual.lspkind has been moved to vim.lsp.lspkind.enable
Improved handling of completion formatting. When setting
+vim.autocomplete.sources, can also include optional menu mapping. And can
+provide your own function with vim.autocomplete.formatting.format.
For vim.visuals.indentBlankline.fillChar and
+vim.visuals.indentBlankline.eolChar options, turning them off should be done
+by using null rather than "" now.
Transparency has been made optional and has been disabled by default.
+vim.theme.transparent option can be used to enable or disable
+transparency for your configuration.
Fixed deprecated configuration method for Tokyonight, and added new style
+“moon”
Dart language support as well as extended flutter support has been added.
+Thanks to @FlafyDev for his contributions towards Dart language support.
Elixir language support has been added through elixir-tools.nvim.
hop.nvim and leap.nvim have been added for fast navigation.
modes.nvim has been added to the UI plugins as a minor error highlighter.
smartcollumn.nvim has been added to dynamically display a colorcolumn when
+the limit has been exceeded, providing per-buftype column position and more.
project.nvim has been added for better project management inside Neovim.
More configuration options have been added to nvim-session-manager.
Editorconfig support has been added to the core functionality, with an enable
+option.
venn-nvim has been dropped due to broken keybinds.
+
+
+
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 (vim.keybinds = {}) 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.
Alongside customizable keybinds, there are a few quality of life updates, such
+as lazygit integration and the new experimental Lua loader of Neovim 0.9
+thanks to our awesome contributors who made this update possible during my
+absence.
n3oney :
Streamlined keybind adding process towards new functions in extended stdlib.
Moved default keybinds into keybinds section of each module
Simplified luaConfigRC and configRC setting - they can now just take strings
Refactored the resolveDag function - you can just provide a string now, which
+will default to dag.entryAnywhere
Fixed formatting sometimes removing parts of files
Made formatting synchronous
Gave null-ls priority over other formatters
horriblename :
Added clangd as alternative lsp for C/++.
Added toggleterm integration for lazygit.
Added new option enableluaLoader to enable neovim’s experimental module
+loader for faster startup time.
Fixed bug where flutter-tools can’t find dart LSP
Added Debug Adapter (DAP) support for clang, rust, go, python and dart.
notashelf :
Made Copilot’s Node package configurable. It is recommended to keep as
+default, but providing a different NodeJS version is now possible.
Added vim.cursorlineOpt for configuring Neovim’s vim.o.cursorlineopt.
Added filetree.nvimTreeLua.view.cursorline, default false, to enable
+cursorline in nvimtre.
Added Fidget.nvim support for the Catppuccin theme.
Updated bundled NodeJS version used by Copilot.lua. v16 is now marked as
+insecure on Nixpkgs, and we updated to v18
Enabled Catppuccin modules for plugins available by default.
Added experimental Svelte support under vim.languages.
Removed unnecessary scrollbar element from notifications and codeaction
+warning UI.
vim.utility.colorizer has been renamed to vim.utility.ccc after the plugin
+it uses
Color preview via nvim-colorizer.lua
Updated Lualine statusline UI
Added vim-illuminate for smart highlighting
Added a module for enabling Neovim’s spellchecker
Added prettierd as an alternative formatter to prettier - currently defaults
+to prettier
Fixed presence.nvim inheriting the wrong client id
Cleaned up documentation
+
+
+
Release notes for release 0.5
vagahbond :
horriblename :
Added transparency support for tokyonight theme
Fixed a bug where cmp’s close and scrollDocs mappings wasn’t working
Streamlined and simplified extra plugin API with the addition of
+vim.extraPlugins
Allow using command names in place of LSP packages to avoid automatic
+installation
Add lua LSP and Treesitter support, and neodev.nvim plugin support
Add vim.lsp.mappings.toggleFormatOnSave keybind
amanse :
yavko :
Added Deno Language Server for Javascript/Typescript
Added support for multiple languages under vim.spellChecking.languages, and
+added vim-dirtytalk through vim.spellChecking.enableProgrammingWordList
frothymarrow :
Renamed vim.visuals.cursorWordline to vim.visuals.cursorline.enable
Added vim.visuals.cursorline.lineNumbersOnly to display cursorline only in
+the presence of line numbers
Added Oxocarbon to the list of available themes.
notashelf :
Added GitHub Copilot to nvim-cmp completion sources.
Added vim.ui.borders.enable for global and individual plugin border
+configuration.
LSP integrated breadcrumbs with vim.ui.breadcrumbs.enable through
+nvim-navic
LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically
+enabled if navic is enabled)
Added nvim-navic integration for Catppuccin theme
Fixed mismatching Zig language description
Added support for statix and deadnix through
+vim.languages.nix.extraDiagnostics.types
Added lsp_lines plugin for showing diagnostic messages
Added a configuration option for choosing the leader key
The package used for neovim is now customizable by the user, using
+vim.package . For best results, always use an unwrapped package
Added highlight-undo plugin for highlighting undo/redo targets
Added bash LSP and formatter support
Disabled Lualine LSP status indicator for Toggleterm buffer
Added nvim-docs-view, a plugin to display LSP hover documentation in a side
+panel
Switched to nixosOptionsDoc 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.”
Updated indent-blankine.nvim to v3 - this comes with a few option changes,
+which will be migrated with renamedOptionModule
poz :
ksonj :
Add support to change mappings to utility/surround
Add black-and-isort python formatter
Removed redundant “Enable …” in mkEnableOption descriptions
Add options to modify LSP key bindings and add proper which-key descriptions
Changed type of statusline.lualine.activeSection and
+statusline.lualine.inactiveSection from attrsOf str to
+attrsOf (listOf str)
Added statusline.lualine.extraActiveSection and
+statusline.lualine.extraInactiveSection
+
+
+
Release notes for release 0.6
Breaking Changes and Migration Guide In v0.6 we are introducing setupOpts: many plugin related options are moved
+into their respective setupOpts submodule, e.g. nvimTree.disableNetrw is
+renamed to nvimTree.setupOpts.disable_netrw.
Why? in short, you can now pass in anything to setupOpts and it will be passed
+to your require'plugin'.setup{...}. No need to wait for us to support every
+single plugin option.
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!
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):
-- 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 })
+
+
ksonj :
Added Terraform language support.
Added ChatGPT.nvim, which can be enabled with
+vim.assistant.chatgpt.enable . Do keep in mind that this option
+requires OPENAI_API_KEY environment variable to be set.
donnerinoern :
Added Gruvbox theme.
Added marksman LSP for Markdown.
Fixed markdown preview with Glow not working and added an option for changing
+the preview keybind.
colorizer.nvim: switched to a maintained fork.
Added markdown-preview.nvim, moved glow.nvim to a brand new
+vim.utility.preview category.
elijahimmer
poz :
horriblename :
Fixed empty winbar when breadcrumbs are disabled.
Added custom setupOpts for various plugins.
Removed support for deprecated plugin “nvim-compe”.
Moved most plugins to setupOpts method.
frothymarrow :
Added option vim.luaPackages to wrap neovim with extra Lua packages.
Rewrote the entire fidget.nvim module to include extensive configuration
+options. Option vim.fidget-nvim.align.bottom has been removed in favor of
+vim.fidget-nvim.notification.window.align, which now supports top and
+bottom values. vim.fidget-nvim.align.right has no longer any equivalent
+and also has been removed.
which-key.nvim categories can now be customized through
+vim.binds.whichKey.register
Added magick to vim.luaPackages for image.nvim.
Added alejandra to the default devShell.
Migrated neovim-flake to makeNeovimUnstable wrapper.
notashelf :
Finished moving to nixosOptionsDoc in the documentation and changelog. All
+documentation options and files are fully free of Asciidoc, and will now use
+Nixpkgs flavored markdown.
Bumped plugin inputs to their latest versions.
Deprecated presence.nvim in favor of neocord. This means
+vim.rich-presence.presence-nvim is removed and will throw a warning if used.
+You are recommended to rewrite your neocord configuration from scratch based
+on the. official documentation
Removed Tabnine plugin due to the usage of imperative tarball downloads. If
+you’d like to see it back, please create an issue.
Added support for css and tailwindcss through
+vscode-language-servers-extracted & tailwind-language-server. Those can be
+enabled through vim.languages.css and vim.languages.tailwind.
Lualine module now allows customizing always_divide_middle, ignore_focus
+and disabled_filetypes through the new options:
+vim.statusline.lualine.alwaysDivideMiddle ,
+vim.statusline.lualine.ignoreFocus
+and
+vim.statusline.lualine.disabledFiletypes .
Updated all plugin inputs to their latest versions (21.04.2024 ) - this
+brought minor color changes to the Catppuccin theme.
Moved home-manager module entrypoint to flake/modules and added an
+experimental Nixos module. This requires further testing before it can be
+considered ready for use.
Made lib calls explicit. E.g. lib.strings.optionalString instead of
+lib.optionalString. This is a pattern expected to be followed by all
+contributors in the future.
Added image.nvim for image previews.
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.
Changed the tree structure to distinguish between core options and plugin
+options.
Added plugin auto-discovery from plugin inputs. This is mostly from
+JordanIsaac’s neovim-flake .
+Allows contributors to add plugin inputs with the plugin- prefix to have
+them automatically discovered for the plugin type in lib/types.
Moved internal wrapLuaConfig to the extended library, structured its
+arguments to take luaBefore, luaConfig and luaAfter as strings, which
+are then concatted inside a lua block.
Added vim.luaConfigPre and vim.luaConfigPost 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.
Added vim.spellchecking.ignoredFiletypes and
+vim.spellChecking.programmingWordlist.enable for ignoring certain filetypes
+in spellchecking and enabling vim-dirtytalk respectively. The previously
+used vim.spellcheck.vim-dirtytalk aliases to the latter option.
Exposed withRuby, withNodeJs, withPython3, and python3Packages from
+the makeNeovimConfig function under their respective options.
Added vim.extraPackages for appending additional packages to the
+wrapper PATH, making said packages available while inside the Neovim session.
Made Treesitter options configurable, and moved treesitter-context to
+setupOpts while it is enabled.
Added vim.notify.nvim-notify.setupOpts.render 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.
+
+
+
Release notes for release 0.7
Breaking Changes and Migration Guide In v0.7 we are removing vim.configRC in favor of making vim.luaConfigRC the
+top-level DAG, and thereby making the entire configuration Lua based. This
+change introduces a few breaking changes:
vim.configRC 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.
After migrating your Vimscript-based configuration to Lua, you might not be
+able to use the same entry names in vim.luaConfigRC, because those have also
+slightly changed. See the new DAG entries in nvf manual for more details.
Why?
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.
+
Instead of specifying map modes using submodules (e.g., vim.maps.normal), a
+new vim.keymaps submodule with support for a mode 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 :help map-modes for more information.
For example:
vim.maps.normal."<leader>m" = { ... };
+has to be replaced by
vim.keymaps = [
+ {
+ key = "<leader>m";
+ mode = "n";
+ }
+ ...
+];
+
+
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
+vim.lsp.nvimCodeActionMenu, and set vim.ui.fastaction.enable to true.
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.
+
type based modules removed As part of the autocompletion rewrite, modules that used to use a type option
+have been replaced by per-plugin modules instead. Since both modules only had
+one type, you can simply change
+
nixpkgs-fmt removed in favor of nixfmt nixpkgs-fmt has been archived for a while, and it’s finally being removed in
+favor of nixfmt (more information can be found
+here .
To migrate to nixfmt, simply change vim.languages.nix.format.type to
+nixfmt.
+
This has been deprecated in favor of using the more generic vim.globals (you
+can use vim.globals.mapleader to change this instead).
Rust specific keymaps now use maplocalleader instead of localleader by
+default. This is to avoid conflicts with other modules. You can change
+maplocalleader with vim.globals.maplocalleader, but it’s recommended to set
+it to something other than mapleader to avoid conflicts.
+
Inline with the leader changes , we have removed some
+options that were under vim as convenient shorthands for vim.o.* options.
Warning As v0.7 features the addition of vim.options , those options are now
+considered as deprecated. You should migrate to the appropriate options in the
+vim.options submodule.
The changes are, in no particular order:
colourTerm, mouseSupport, cmdHeight, updateTime, mapTime,
+cursorlineOpt, splitBelow, splitRight, autoIndent and wordWrap have
+been mapped to their vim.options equivalents. Please see the module
+definition for the updated options.
tabWidth has been removed as it lead to confusing behaviour. You can
+replicate the same functionality by setting shiftwidth, tabstop and
+softtabstop under vim.options as you see fit.
+
+
+
ItsSorae :
frothymarrow :
horriblename :
Fix broken treesitter-context keybinds in visual mode
Deprecate use of __empty to define empty tables in Lua. Empty attrset are no
+longer filtered and thus should be used instead.
Add dap-go for better dap configurations
Make noice.nvim customizable
Standardize border style options and add custom borders
Remove vim.disableDefaultRuntimePaths in wrapper options.
poz :
diniamo :
Move the theme dag entry to before luaScript.
Add rustfmt as the default formatter for Rust.
Enabled the terminal integration of catppuccin for theming Neovim’s built-in
+terminal (this also affects toggleterm).
Migrate bufferline to setupOpts for more customizability
Use clangd as the default language server for C languages
Expose lib.nvim.types.pluginType, which for example allows the user to
+create abstractions for adding plugins
Migrate indent-blankline to setupOpts for more customizability. While the
+plugin’s options can now be found under indentBlankline.setupOpts, the
+previous iteration of the module also included out of place/broken options,
+which have been removed for the time being. These are:
listChar - this was already unused
fillChar - this had nothing to do with the plugin, please configure it
+yourself by adding vim.opt.listchars:append({ space = '<char>' }) to your
+lua configuration
eolChar - this also had nothing to do with the plugin, please configure it
+yourself by adding vim.opt.listchars:append({ eol = '<char>' }) to your
+lua configuration
Replace vim.lsp.nvimCodeActionMenu with vim.ui.fastaction, see the
+breaking changes section above for more details
Add a setupOpts option to nvim-surround, which allows modifying options that
+aren’t defined in nvf. Move the alternate nvim-surround keybinds to use
+setupOpts.
Remove autopairs.type, and rename autopairs.enable to
+autopairs.nvim-autopairs.enable. The new
+vim.autopairs.nvim-autopairs.enable supports setupOpts format by
+default.
Refactor of nvim-cmp and completion related modules
Add C# support under vim.languages.csharp, with support for both
+omnisharp-roslyn and csharp-language-server.
Add Julia support under vim.languages.julia. 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.
Add run.nvim support for running code
+using cached commands.
Make Neovim’s configuration file entirely Lua based. This comes with a few
+breaking changes:
vim.configRC has been removed. You will need to migrate your entries to
+Neovim-compliant Lua code, and add them to vim.luaConfigRC instead.
+Existing vimscript configurations may be preserved in vim.cmd functions.
+Please see Neovim documentation on vim.cmd
vim.luaScriptRC is now the top-level DAG, and the internal vim.pluginRC
+has been introduced for setting up internal plugins. See the “DAG entries in
+nvf” manual page for more information.
Rewrite vim.maps, see the breaking changes section above.
NotAShelf :
Add deno fmt as the default Markdown formatter. This will be enabled
+automatically if you have autoformatting enabled, but can be disabled manually
+if you choose to.
Add vim.extraLuaFiles for optionally sourcing additional lua files in your
+configuration.
Refactor programs.languages.elixir to use lspconfig and none-ls for LSP and
+formatter setups respectively. Diagnostics support is considered, and may be
+added once the credo linter has been added to nixpkgs. A pull request is
+currently open.
Remove vim-tidal and friends.
Clean up Lualine module to reduce theme dependency on Catppuccin, and fixed
+blending issues in component separators.
Add [ts-ereror-translator.nvim] extension of the TS language module, under
+vim.languages.ts.extensions.ts-error-translator to aid with Typescript
+development.
Add neo-tree.nvim as an alternative file-tree plugin. It will be available
+under vim.filetree.neo-tree, similar to nvimtree.
Add nvf-print-config & nvf-print-config-path helper scripts to Neovim
+closure. Both of those scripts have been automatically added to your PATH upon
+using neovimConfig or programs.nvf.enable.
nvf-print-config will display your init.lua, in full.
nvf-print-config-path will display the path to a clone of your
+init.lua. This is not the path used by the Neovim wrapper, but an
+identical clone.
Add vim.ui.breadcrumbs.lualine to allow fine-tuning breadcrumbs behaviour on
+Lualine. Only vim.ui.breadcrumbs.lualine.winbar is supported for the time
+being.
Add basedpyright as a Python LSP
+server and make it default.
Add python-lsp-server as an
+additional Python LSP server.
Add vim.options to set vim.o values in in your nvf configuration
+without using additional Lua. See option documentation for more details.
Add vim.dashboard.dashboard-nvim.setupOpts to allow user
+configuration for dashboard.nvim
Update lualine.nvim input and add missing themes:
Adds ayu, gruvbox_dark, iceberg, moonfly, onedark,
+powerline_dark and solarized_light themes.
Add vim.spellcheck.extraSpellWords to allow adding arbitrary
+spellfiles to Neovim’s runtime with ease.
Add combined nvf configuration (config.vim) into the final package’s
+passthru as passthru.neovimConfiguration for easier debugging.
Add support for tiny-devicons-auto-colors under
+vim.visuals.tiny-devicons-auto-colors
Move options that used to set vim.o values (e.g. vim.wordWrap) into
+vim.options as default values. Some are left as they don’t have a direct
+equivalent, but expect a switch eventually.
ppenguin :
Soliprem :
Add LSP and Treesitter support for R under vim.languages.R.
Add Otter support under vim.lsp.otter and an assert to prevent conflict with
+ccc
Fixed typo in Otter’s setupOpts
Add Neorg support under vim.notes.neorg
Add LSP, diagnostics, formatter and Treesitter support for Kotlin under
+vim.languages.kotlin
changed default keybinds for leap.nvim to avoid altering expected behavior
Add LSP, formatter and Treesitter support for Vala under vim.languages.vala
Add [Tinymist](https://github.com/Myriad-Dreamin/tinymist] as a formatter for
+the Typst language module.
Add LSP and Treesitter support for Assembly under vim.languages.assembly
Move which-key to the new spec
Add LSP and Treesitter support for Nushell under vim.languages.nu
Add LSP and Treesitter support for Gleam under vim.languages.gleam
Bloxx12
ksonj :
nezia1 :
Nowaaru :
DamitusThyYeeticus123 :
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs-preview-1014/script/anchor-min.js b/docs-preview-1014/script/anchor-min.js
new file mode 100644
index 00000000..70565172
--- /dev/null
+++ b/docs-preview-1014/script/anchor-min.js
@@ -0,0 +1,10 @@
+// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
+//
+// AnchorJS - v5.0.0 - 2023-01-18
+// https://www.bryanbraun.com/anchorjs/
+// Copyright (c) 2023 Bryan Braun; Licensed MIT
+//
+// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
+!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(globalThis,function(){"use strict";return function(A){function u(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function d(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],u(this.options),this.add=function(A){var e,t,o,i,n,s,a,r,l,c,h,p=[];if(u(this.options),0!==(e=d(A=A||"h2, h3, h4, h5, h6")).length){for(null===document.head.querySelector("style.anchorjs")&&((A=document.createElement("style")).className="anchorjs",A.appendChild(document.createTextNode("")),void 0===(h=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(A):document.head.insertBefore(A,h),A.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",A.sheet.cssRules.length),A.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",A.sheet.cssRules.length),A.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",A.sheet.cssRules.length),A.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',A.sheet.cssRules.length)),h=document.querySelectorAll("[id]"),t=[].map.call(h,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}});
+// @license-end
+
diff --git a/docs-preview-1014/script/anchor-use.js b/docs-preview-1014/script/anchor-use.js
new file mode 100644
index 00000000..d2f2fe6c
--- /dev/null
+++ b/docs-preview-1014/script/anchor-use.js
@@ -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)');
+});
+
diff --git a/docs-preview-1014/script/search.js b/docs-preview-1014/script/search.js
new file mode 100644
index 00000000..e20c2314
--- /dev/null
+++ b/docs-preview-1014/script/search.js
@@ -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 = `
+
+
+ `;
+ 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);
+ });
+});
diff --git a/docs-preview-1014/style.css b/docs-preview-1014/style.css
new file mode 100644
index 00000000..2ec4c76b
--- /dev/null
+++ b/docs-preview-1014/style.css
@@ -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 */
diff --git a/options.html b/options.html
index ded8dc15..66b7153a 100644
--- a/options.html
+++ b/options.html
@@ -32569,7 +32569,7 @@ luaInline
_type = "lua-inline";
expr = ''
function()
- return vim.uv.cwd()
+ return vim.loop.cwd()
end
'';
}
@@ -40874,7 +40874,7 @@ syntax errors within your Neovim configuration.
Example:
-- Disable slow treesitter highlight for large files
function(lang, buf)
local max_filesize = 1000 * 1024 -- 1MB
- local ok, stats = pcall(vim.uv.fs_stat, vim.api.nvim_buf_get_name(buf))
+ local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end