[{"data":1,"prerenderedAt":766},["ShallowReactive",2],{"navigation_docs":3,"-autocomplete-contexts":278,"-autocomplete-contexts-surround":761},[4,26,57,73,94,237,257],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":25},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage","i-lucide-play",false,{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":25},"Autocomplete","i-lucide-list-tree","\u002Fautocomplete","2.autocomplete",[32,37,42,47,52],{"title":33,"path":34,"stem":35,"icon":36},"Tour","\u002Fautocomplete\u002Ftour","2.autocomplete\u002F1.tour","i-lucide-map",{"title":38,"path":39,"stem":40,"icon":41},"Contexts","\u002Fautocomplete\u002Fcontexts","2.autocomplete\u002F2.contexts","i-lucide-crosshair",{"title":43,"path":44,"stem":45,"icon":46},"Chaining","\u002Fautocomplete\u002Fchaining","2.autocomplete\u002F3.chaining","i-lucide-link",{"title":48,"path":49,"stem":50,"icon":51},"Configuration","\u002Fautocomplete\u002Fconfiguration","2.autocomplete\u002F4.configuration","i-lucide-settings",{"title":53,"path":54,"stem":55,"icon":56},"Theming","\u002Fautocomplete\u002Ftheming","2.autocomplete\u002F5.theming","i-lucide-palette",{"title":58,"icon":59,"path":60,"stem":61,"children":62,"page":25},"Components","i-lucide-component","\u002Fcomponents","3.components",[63,68],{"title":64,"path":65,"stem":66,"icon":67},"Manifest","\u002Fcomponents\u002Fmanifest","3.components\u002F1.manifest","i-lucide-file-json",{"title":69,"path":70,"stem":71,"icon":72},"Vite plugin","\u002Fcomponents\u002Fvite-plugin","3.components\u002F2.vite-plugin","i-simple-icons-vite",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":25},"Bindings","i-lucide-braces","\u002Fbindings","4.bindings",[79,84,89],{"title":80,"path":81,"stem":82,"icon":83},"Roots","\u002Fbindings\u002Froots","4.bindings\u002F1.roots","i-lucide-git-branch",{"title":85,"path":86,"stem":87,"icon":88},"Data and meta","\u002Fbindings\u002Fdata-and-meta","4.bindings\u002F2.data-and-meta","i-lucide-database",{"title":90,"path":91,"stem":92,"icon":93},"Component scopes","\u002Fbindings\u002Fcomponent-scopes","4.bindings\u002F3.component-scopes","i-lucide-repeat",{"title":95,"icon":96,"path":97,"stem":98,"children":99},"Plugins","i-lucide-puzzle","\u002Fplugins","5.plugins",[100,102,107,137,211],{"title":95,"path":97,"stem":101,"icon":96},"5.plugins\u002Findex",{"title":103,"path":104,"stem":105,"icon":106},"Authoring","\u002Fplugins\u002Fauthoring","5.plugins\u002F1.authoring","i-lucide-pencil",{"title":108,"icon":109,"path":110,"stem":111,"children":112,"page":25},"Defaults","i-lucide-package-check","\u002Fplugins\u002Fdefaults","5.plugins\u002F2.defaults",[113,117,121,125,129,133],{"title":114,"path":115,"stem":116},"alert","\u002Fplugins\u002Fdefaults\u002Falert","5.plugins\u002F2.defaults\u002F0.alert",{"title":118,"path":119,"stem":120},"attributes","\u002Fplugins\u002Fdefaults\u002Fattributes","5.plugins\u002F2.defaults\u002F1.attributes",{"title":122,"path":123,"stem":124},"components","\u002Fplugins\u002Fdefaults\u002Fcomponents","5.plugins\u002F2.defaults\u002F2.components",{"title":126,"path":127,"stem":128},"frontmatter","\u002Fplugins\u002Fdefaults\u002Ffrontmatter","5.plugins\u002F2.defaults\u002F3.frontmatter",{"title":130,"path":131,"stem":132},"html","\u002Fplugins\u002Fdefaults\u002Fhtml","5.plugins\u002F2.defaults\u002F4.html",{"title":134,"path":135,"stem":136},"task-list","\u002Fplugins\u002Fdefaults\u002Ftask-list","5.plugins\u002F2.defaults\u002F5.task-list",{"title":138,"icon":139,"path":140,"stem":141,"children":142,"page":25},"Built-in","i-lucide-package","\u002Fplugins\u002Fbuilt-in","5.plugins\u002F3.built-in",[143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207],{"title":144,"path":145,"stem":146},"binding","\u002Fplugins\u002Fbuilt-in\u002Fbinding","5.plugins\u002F3.built-in\u002F0.binding",{"title":148,"path":149,"stem":150},"breaks","\u002Fplugins\u002Fbuilt-in\u002Fbreaks","5.plugins\u002F3.built-in\u002F1.breaks",{"title":152,"path":153,"stem":154},"punctuation","\u002Fplugins\u002Fbuilt-in\u002Fpunctuation","5.plugins\u002F3.built-in\u002F10.punctuation",{"title":156,"path":157,"stem":158},"rangi","\u002Fplugins\u002Fbuilt-in\u002Frangi","5.plugins\u002F3.built-in\u002F11.rangi",{"title":160,"path":161,"stem":162},"security","\u002Fplugins\u002Fbuilt-in\u002Fsecurity","5.plugins\u002F3.built-in\u002F12.security",{"title":164,"path":165,"stem":166},"shiki","\u002Fplugins\u002Fbuilt-in\u002Fshiki","5.plugins\u002F3.built-in\u002F13.shiki",{"title":168,"path":169,"stem":170},"summary","\u002Fplugins\u002Fbuilt-in\u002Fsummary","5.plugins\u002F3.built-in\u002F14.summary",{"title":172,"path":173,"stem":174},"toc","\u002Fplugins\u002Fbuilt-in\u002Ftoc","5.plugins\u002F3.built-in\u002F15.toc",{"title":176,"path":177,"stem":178},"twoslash","\u002Fplugins\u002Fbuilt-in\u002Ftwoslash","5.plugins\u002F3.built-in\u002F16.twoslash",{"title":180,"path":181,"stem":182},"code-blocks","\u002Fplugins\u002Fbuilt-in\u002Fcode-blocks","5.plugins\u002F3.built-in\u002F2.code-blocks",{"title":184,"path":185,"stem":186},"emoji","\u002Fplugins\u002Fbuilt-in\u002Femoji","5.plugins\u002F3.built-in\u002F3.emoji",{"title":188,"path":189,"stem":190},"footnotes","\u002Fplugins\u002Fbuilt-in\u002Ffootnotes","5.plugins\u002F3.built-in\u002F4.footnotes",{"title":192,"path":193,"stem":194},"headings","\u002Fplugins\u002Fbuilt-in\u002Fheadings","5.plugins\u002F3.built-in\u002F5.headings",{"title":196,"path":197,"stem":198},"json-render","\u002Fplugins\u002Fbuilt-in\u002Fjson-render","5.plugins\u002F3.built-in\u002F6.json-render",{"title":200,"path":201,"stem":202},"math","\u002Fplugins\u002Fbuilt-in\u002Fmath","5.plugins\u002F3.built-in\u002F7.math",{"title":204,"path":205,"stem":206},"mermaid","\u002Fplugins\u002Fbuilt-in\u002Fmermaid","5.plugins\u002F3.built-in\u002F8.mermaid",{"title":208,"path":209,"stem":210},"model","\u002Fplugins\u002Fbuilt-in\u002Fmodel","5.plugins\u002F3.built-in\u002F9.model",{"title":212,"icon":213,"path":214,"stem":215,"children":216,"page":25},"Ecosystem","i-lucide-boxes","\u002Fplugins\u002Fecosystem","5.plugins\u002F4.ecosystem",[217,221,225,229,233],{"title":218,"path":219,"stem":220},"email","\u002Fplugins\u002Fecosystem\u002Femail","5.plugins\u002F4.ecosystem\u002F0.email",{"title":222,"path":223,"stem":224},"etiket","\u002Fplugins\u002Fecosystem\u002Fetiket","5.plugins\u002F4.ecosystem\u002F1.etiket",{"title":226,"path":227,"stem":228},"flint","\u002Fplugins\u002Fecosystem\u002Fflint","5.plugins\u002F4.ecosystem\u002F2.flint",{"title":230,"path":231,"stem":232},"page-break","\u002Fplugins\u002Fecosystem\u002Fpage-break","5.plugins\u002F4.ecosystem\u002F3.page-break",{"title":234,"path":235,"stem":236},"vega","\u002Fplugins\u002Fecosystem\u002Fvega","5.plugins\u002F4.ecosystem\u002F4.vega",{"title":238,"icon":239,"path":240,"stem":241,"children":242,"page":25},"Agents","i-lucide-bot","\u002Fagents","6.agents",[243,247,252],{"title":244,"path":245,"stem":246,"icon":239},"Overview","\u002Fagents\u002Foverview","6.agents\u002F1.overview",{"title":248,"path":249,"stem":250,"icon":251},"Tools","\u002Fagents\u002Ftools","6.agents\u002F2.tools","i-lucide-wrench",{"title":253,"path":254,"stem":255,"icon":256},"Targets","\u002Fagents\u002Ftargets","6.agents\u002F3.targets","i-lucide-target",{"title":258,"icon":259,"path":260,"stem":261,"children":262,"page":25},"Reference","i-lucide-book-open","\u002Freference","7.reference",[263,268,273],{"title":264,"path":265,"stem":266,"icon":267},"Options","\u002Freference\u002Foptions","7.reference\u002F1.options","i-lucide-sliders-horizontal",{"title":269,"path":270,"stem":271,"icon":272},"API","\u002Freference\u002Fapi","7.reference\u002F2.api","i-lucide-code",{"title":274,"path":275,"stem":276,"icon":277},"Commands","\u002Freference\u002Fcommands","7.reference\u002F3.commands","i-lucide-terminal",{"id":279,"title":38,"body":280,"description":754,"extension":755,"links":756,"meta":757,"navigation":758,"path":39,"seo":759,"stem":40,"__hash__":760},"docs\u002F2.autocomplete\u002F2.contexts.md",{"type":281,"value":282,"toc":749},"minimark",[283,295,713,726,731,738,746],[284,285,286,290,291,294],"p",{},[287,288,289],"code",{},"resolveContext(state, pos)"," decides what the cursor is on. It reads the document index (frontmatter, props blocks, fences, math, the component stack) and the syntax tree (code spans, comments), then scans the line prefix — which works on incomplete input like ",[287,292,293],{},"::card{ti",". Completion, hover, lint fixes and agents all use it.",[296,297,298,320],"table",{},[299,300,301],"thead",{},[302,303,304,310,317],"tr",{},[305,306,307],"th",{},[287,308,309],{},"kind",[305,311,312,313,316],{},"Example (",[287,314,315],{},"‸"," is the cursor)",[305,318,319],{},"Offers",[321,322,323,352,373,412,427,449,467,482,498,518,539,558,573,587,608,623,637,657,678,696],"tbody",{},[302,324,325,331,349],{},[326,327,328],"td",{},[287,329,330],{},"block",[326,332,333,336,337,340,341,345,346],{},[287,334,335],{},"\u002F‸",", ",[287,338,339],{},"\u002Ftab‸",", empty line + ",[342,343,344],"kbd",{},"Ctrl","+",[342,347,348],{},"Space",[326,350,351],{},"components, slots of the current component, structure, callouts, code, plugin snippets",[302,353,354,359,370],{},[326,355,356],{},[287,357,358],{},"component-name",[326,360,361,336,364,336,367],{},[287,362,363],{},"::ca‸",[287,365,366],{},":::‸",[287,368,369],{},"Hello :ba‸",[326,371,372],{},"block or inline components, closer of the open component, names used in the document",[302,374,375,380,391],{},[326,376,377],{},[287,378,379],{},"attr-key",[326,381,382,336,385,336,388],{},[287,383,384],{},"::card{‸}",[287,386,387],{},"#footer{‸}",[287,389,390],{},"[text]{‸}",[326,392,393,394,397,398,401,402,336,405,336,408,411],{},"props (",[287,395,396],{},":","\u002F",[287,399,400],{},"::"," switch to bound and model props), ",[287,403,404],{},".class",[287,406,407],{},"#id",[287,409,410],{},"style",", owner-specific attributes",[302,413,414,419,424],{},[326,415,416],{},[287,417,418],{},"attr-value",[326,420,421],{},[287,422,423],{},"::card{variant=\"‸\"}",[326,425,426],{},"enum values, booleans, the default, values used elsewhere",[302,428,429,438,446],{},[326,430,431,434,435],{},[287,432,433],{},"attr-class"," \u002F ",[287,436,437],{},"attr-id",[326,439,440,336,443],{},[287,441,442],{},"{.‸}",[287,444,445],{},"{#‸}",[326,447,448],{},"classes used in the document, heading ids",[302,450,451,456,464],{},[326,452,453],{},[287,454,455],{},"binding-path",[326,457,458,336,461],{},[287,459,460],{},"{{ ‸",[287,462,463],{},":title=\"frontmatter.‸\"",[326,465,466],{},"roots, then keys of the shape at the path",[302,468,469,474,479],{},[326,470,471],{},[287,472,473],{},"binding-default",[326,475,476],{},[287,477,478],{},"{{ path ‸",[326,480,481],{},"`",[302,483,484,489,495],{},[326,485,486],{},[287,487,488],{},"slot",[326,490,491,494],{},[287,492,493],{},"#‸"," in a component",[326,496,497],{},"slots of the innermost component",[302,499,500,508,515],{},[326,501,502,434,505],{},[287,503,504],{},"props-key",[287,506,507],{},"props-value",[326,509,510,511,514],{},"inside ",[287,512,513],{},"---"," under an opener",[326,516,517],{},"props as YAML keys, their values",[302,519,520,528,533],{},[326,521,522,434,525],{},[287,523,524],{},"frontmatter-key",[287,526,527],{},"frontmatter-value",[326,529,530,531],{},"inside the leading ",[287,532,513],{},[326,534,535,536],{},"keys and values from ",[287,537,538],{},"frontmatterSchema",[302,540,541,549,555],{},[326,542,543,434,546],{},[287,544,545],{},"fence-lang",[287,547,548],{},"fence-meta",[326,550,551,554],{},[287,552,553],{},"```‸",", ```` ```ts",[326,556,557],{},"````",[302,559,560,565,570],{},[326,561,562],{},[287,563,564],{},"fence-body",[326,566,510,567],{},[287,568,569],{},"```mermaid",[326,571,572],{},"the fence language's own items (mermaid, twoslash)",[302,574,575,579,584],{},[326,576,577],{},[287,578,184],{},[326,580,581],{},[287,582,583],{},":+1‸",[326,585,586],{},"shortcodes with glyphs",[302,588,589,594,605],{},[326,590,591],{},[287,592,593],{},"link-url",[326,595,596,336,599,336,602],{},[287,597,598],{},"[x](‸",[287,600,601],{},"[x](#‸",[287,603,604],{},"![x](‸",[326,606,607],{},"pages, heading anchors, assets",[302,609,610,615,620],{},[326,611,612],{},[287,613,614],{},"footnote",[326,616,617],{},[287,618,619],{},"[^‸",[326,621,622],{},"defined ids, or a new footnote",[302,624,625,629,634],{},[326,626,627],{},[287,628,114],{},[326,630,631],{},[287,632,633],{},"> [!‸",[326,635,636],{},"alert types",[302,638,639,644,649],{},[326,640,641],{},[287,642,643],{},"task",[326,645,646],{},[287,647,648],{},"- [‸",[326,650,651,336,654],{},[287,652,653],{},"[ ]",[287,655,656],{},"[x]",[302,658,659,667,675],{},[326,660,661,434,664],{},[287,662,663],{},"html-tag",[287,665,666],{},"html-attr",[326,668,669,336,672],{},[287,670,671],{},"\u003C‸",[287,673,674],{},"\u003Ca ‸",[326,676,677],{},"tags (minus blocked ones), attributes, the closing tag",[302,679,680,684,693],{},[326,681,682],{},[287,683,200],{},[326,685,686,689,690],{},[287,687,688],{},"$\\fr‸",", inside ",[287,691,692],{},"$$",[326,694,695],{},"KaTeX commands",[302,697,698,703,710],{},[326,699,700],{},[287,701,702],{},"inline",[326,704,705,706,345,708],{},"mid-line + ",[342,707,344],{},[342,709,348],{},[326,711,712],{},"marks, link, image, span, binding, math",[284,714,715,716,336,719,722,723,725],{},"The context type is exported (",[287,717,718],{},"CursorContext",[287,720,721],{},"ContextKind","), and plugins register providers by ",[287,724,309],{},".",[727,728,730],"h2",{"id":729},"measured-coverage","Measured coverage",[284,732,733,734,737],{},"\"Autocomplete everything\" is a test. For every completable token in comark's own SPEC fixtures — component names, props, values, slots, YAML prop keys, binding segments, emoji, alert types, fence languages, task boxes — the test puts the cursor where the token starts and asks ",[287,735,736],{},"complete()",". The real token must be in the menu. Each fixture runs with a manifest derived from what it uses, the way a host's manifest would describe its components.",[284,739,740,741,745],{},"Current result: ",[742,743,744],"strong",{},"399 of 399 tokens",". A second test completes at 1,500 random positions across all fixtures and must never throw.",[284,747,748],{},"The same fixtures check the grammar: all 228 parse, and every block comark reports ends where the editor's syntax tree and outline end a block.",{"title":750,"searchDepth":751,"depth":751,"links":752},"",2,[753],{"id":729,"depth":751,"text":730},"Every place the editor completes, and how coverage is measured.","md",null,{},{"icon":41},{"title":38,"description":754},"NAuLkSLFMxal0Wjl0T87Fo5D6ToGMdzNBPTEf_OFiQk",[762,764],{"title":33,"path":34,"stem":35,"description":763,"icon":36,"children":-1},"Try every kind of menu in a few keystrokes.",{"title":43,"path":44,"stem":45,"description":765,"icon":46,"children":-1},"How one pick leads to the next menu, and the keys that move through it.",1791246302093]