PageSourceSearch

https://www.lazyvim.org/assets/js/ee0aead6.2ceb90a5.js

js lazyvim.org collected 2026-10-03 21:21:39 UTC 13,196 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunklazyvim=self.webpackChunklazyvim||[]).push([[543],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>v});var a=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){r(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function u(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var o=a.createContext({}),s=function(e){var n=a.useContext(o),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},p=function(e){var n=s(e.components);return a.createElement(o.Provider,{value:n},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),c=s(t),d=r,v=c["".concat(o,".").concat(d)]||c[d]||m[d]||i;return t?a.createElement(v,l(l({ref:n},p),{},{components:t})):a.createElement(v,l({ref:n},p))}));function v(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var i=t.length,l=new Array(i);l[0]=d;var u={};for(var o in n)hasOwnProperty.call(n,o)&&(u[o]=n[o]);u.originalType=e,u[c]="string"==typeof e?e:r,l[1]=u;for(var s=2;s<i;s++)l[s]=t[s];return a.createElement.apply(null,l)}return a.createElement.apply(null,t)}d.displayName="MDXCreateElement"},5162:(e,n,t)=>{t.d(n,{Z:()=>l});var a=t(7294),r=t(6010);const i="tabItem_Ymn6";function l(e){let{children:n,hidden:t,className:l}=e;return a.createElement("div",{role:"tabpanel",className:(0,r.Z)(i,l),hidden:t},n)}},4866:(e,n,t)=>{t.d(n,{Z:()=>x});var a=t(7462),r=t(7294),i=t(6010),l=t(2466),u=t(6550),o=t(1980),s=t(7392),p=t(12);function c(e){return function(e){return r.Children.map(e,(e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}}))}function m(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??c(t);return function(e){const n=(0,s.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function d(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function v(e){let{queryString:n=!1,groupId:t}=e;const a=(0,u.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o._X)(i),(0,r.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(a.location.search);n.set(i,e),a.replace({...a.location,search:n.toString()})}),[i,a])]}function f(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,i=m(e),[l,u]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(n){if(!d({value:n,tabValues:t}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:i}))),[o,s]=v({queryString:t,groupId:a}),[c,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,i]=(0,p.Nk)(t);return[a,(0,r.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:a}),b=(()=>{const e=o??c;return d({value:e,tabValues:i})?e:null})();(0,r.useLayoutEffect)((()=>{b&&u(b)}),[b]);return{selectedValue:l,selectValue:(0,r.useCallback)((e=>{if(!d({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);u(e),s(e),f(e)}),[s,f,i]),tabValues:i}}var b=t(2389);const g="tabList__CuJ",h="tabItem_LNqP";function y(e){let{className:n,block:t,selectedValue:u,selectValue:o,tabValues:s}=e;const p=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),m=e=>{const n=e.currentTarget,t=p.indexOf(n),a=s[t].value;a!==u&&(c(n),o(a))},d=e=>{let n=null;switch(e.key){case"Enter":m(e);break;case"ArrowRight":{const t=p.indexOf(e.currentTarget)+1;n=p[t]??p[0];break}case"ArrowLeft":{const t=p.indexOf(e.currentTarget)-1;n=p[t]??p[p.length-1];break}}n?.focus()};return r.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n)},s.map((e=>{let{value:n,label:t,attributes:l}=e;return r.createElement("li",(0,a.Z)({role:"tab",tabIndex:u===n?0:-1,"aria-selected":u===n,key:n,ref:e=>p.push(e),onKeyDown:d,onClick:m},l,{className:(0,i.Z)("tabs__item",h,l?.className,{"tabs__item--active":u===n})}),t??n)})))}function k(e){let{lazy:n,children:t,selectedValue:a}=e;
1const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return r.createElement("div",{className:"margin-top--md"},i.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==a}))))}function T(e){const n=f(e);return r.createElement("div",{className:(0,i.Z)("tabs-container",g)},r.createElement(y,(0,a.Z)({},e,n)),r.createElement(k,(0,a.Z)({},e,n)))}function x(e){const n=(0,b.Z)();return r.createElement(T,(0,a.Z)({key:String(n)},e))}},6281:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>u,metadata:()=>s,toc:()=>c});var a=t(7462),r=(t(7294),t(3905)),i=t(4866),l=t(5162);const u={},o="Supermaven",s={unversionedId:"extras/ai/supermaven",id:"extras/ai/supermaven",title:"Supermaven",description:"You can enable the extra with the :LazyExtras command.",source:"@site/docs/extras/ai/supermaven.md",sourceDirName:"extras/ai",slug:"/extras/ai/supermaven",permalink:"/extras/ai/supermaven",draft:!1,editUrl:"https://github.com/LazyVim/lazyvim.github.io/tree/main/docs/extras/ai/supermaven.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Sidekick",permalink:"/extras/ai/sidekick"},next:{title:"Tabnine",permalink:"/extras/ai/tabnine"}},p={},c=[{value:"supermaven-nvim",id:"supermaven-nvim",level:2},{value:"supermaven-nvim",id:"supermaven-nvim-1",level:2},{value:"supermaven-nvim",id:"supermaven-nvim-2",level:2},{value:"supermaven-nvim",id:"supermaven-nvim-3",level:2},{value:"nvim-cmp <em>(optional)</em>",id:"nvim-cmp-optional",level:2}],m={toc:c};function d(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"supermaven"},(0,r.kt)("inlineCode",{parentName:"h1"},"Supermaven")),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"You can enable the extra with the ",(0,r.kt)("inlineCode",{parentName:"p"},":LazyExtras")," command.\nPlugins marked as optional will only be configured if they are installed.")),(0,r.kt)("p",null,"Below you can find a list of included plugins and their default settings."),(0,r.kt)("admonition",{type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"You don't need to copy the default settings to your config.\nThey are only shown here for reference.")),(0,r.kt)("h2",{id:"supermaven-nvim"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/supermaven-inc/supermaven-nvim"},"supermaven-nvim")),(0,r.kt)(i.Z,{mdxType:"Tabs"},(0,r.kt)(l.Z,{value:"opts",label:"Options",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'opts = {\n  keymaps = {\n    accept_suggestion = nil, -- handled by nvim-cmp / blink.cmp\n  },\n  disable_inline_completion = vim.g.ai_cmp,\n  ignore_filetypes = { "bigfile", "snacks_input", "snacks_notif" },\n}\n'))),(0,r.kt)(l.Z,{value:"code",label:"Full Spec",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'{\n  "supermaven-inc/supermaven-nvim",\n  event = "InsertEnter",\n  cmd = {\n    "SupermavenUseFree",\n    "SupermavenUsePro",\n  },\n  opts = {\n    keymaps = {\n      accept_suggestion = nil, -- handled by nvim-cmp / blink.cmp\n    },\n    disable_inline_completion = vim.g.ai_cmp,\n    ignore_filetypes = { "bigfile", "snacks_input", "snacks_notif" },\n  },\n}\n')))),(0,r.kt)("h2",{id:"supermaven-nvim-1"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/supermaven-inc/supermaven-nvim"},"supermaven-nvim")),(0,r.kt)("p",null," add ai_accept action"),(0,r.kt)(i.Z,{mdxType:"Tabs"},(0,r.kt)(l.Z,{value:"opts",label:"Options",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'opts = function()\n  require("supermaven-nvim.completion_preview").suggestion_group = "SupermavenSuggestion"\n  LazyVim.cmp.actions.ai_accept = function()\n    local suggestion = require("supermaven-nvim.completion_preview")\n    if suggestion.has_suggestion() then\n      LazyVim.create_undo()\n      vim.schedule(function()\n        suggestion.on_accept_suggestion()\n      end)\n      return true\n    end\n  end\nend\n'))),(0,r.kt)(l.Z,{value:"code",label:"Full Spec",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'{\n  "supermaven-inc/supermaven-nvim",\n  opts = function()\n    require("supermaven-nvim.completion_preview").suggestion_group = "SupermavenSuggestion"\n    LazyVim.cmp.actions.ai_accept = function()\n      local suggestion = require("supermaven-nvim.completion_preview")\n      if suggestion.has_suggestion() then\n        LazyVim.create_undo()\n        vim.schedule(function()\n          suggestion.on_accept_suggestion()\n        end)\n        return true\n      end\n    end\n  end,\n}\n')))),(0,r.kt)("h2",{id:"supermaven-nvim-2"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/supermaven-inc/supermaven-nvim"},"supermaven-nvim")),(0,r.kt)(i.Z,{mdxType:"Tabs"},(0,r.kt)(l.Z,{value:"opts",label:"Options",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},"opts = nil\n"))),(0,r.kt)(l.Z,{value:"code",label:"Full Spec",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'{ "supermaven-nvim" }\n')))),(0,r.kt)("h2",{id:"supermaven-nvim-3"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/supermaven-inc/supermaven-nvim"},"supermaven-nvim")),(0,r.kt)(i.Z,{mdxType:"Tabs"},(0,r.kt)(l.Z,{value:"opts",label:"Options",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},"opts = nil\n"))),(0,r.kt)(l.Z,{value:"code",label:"Full Spec",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'{ "supermaven-nvim", "saghen/blink.compat" }\n')))),(0,r.kt)("h2",{id:"nvim-cmp-optional"},(0,r.kt)("a",{parentName:"h2",href:"https://github.com/hrsh7th/nvim-cmp"},"nvim-cmp")," ",(0,r.kt)("em",{parentName:"h2"},"(optional)")),(0,r.kt)("p",null," cmp integration"),(0,r.kt)(i.Z,{mdxType:"Tabs"},(0,r.kt)(l.Z,{value:"opts",label:"Options",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'opts = function(_, opts)\n  if vim.g.ai_cmp then\n    table.insert(opts.sources, 1, {\n      name = "supermaven",\n      group_index = 1,\n      priority = 100,\n    })\n  end\nend\n'))),(0,r.kt)(l.Z,{value:"code",label:"Full Spec",mdxType:"TabItem"},(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-lua"},'{\n  "hrsh7th/nvim-cmp",\n  optional = true,\n  dependencies = { "supermaven-nvim" },\n  opts = function(_, opts)\n    if vim.g.ai_cmp then\n      table.insert(opts.sources, 1, {\n        name = "supermaven",\n        group_index = 1,\n        priority = 100,\n      })\n    end\n  end,\n}\n')))))}d.isMDXComponent=!0}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.