[{"data":1,"prerenderedAt":128},["ShallowReactive",2],{"msfe-doc:\u002Fen\u002Fapi\u002Fsource":3},{"id":4,"title":5,"body":6,"description":116,"extension":117,"keywords":118,"locale":119,"meta":120,"navigation":121,"order":122,"path":123,"section":124,"seo":125,"stem":126,"__hash__":127},"docs\u002Fapi\u002Fsource.en.md","Source and component API",{"type":7,"value":8,"toc":107},"minimark",[9,14,26,30,34,37,40,43,47,53,56,60,69,72,75,78,82,88],[10,11,13],"h2",{"id":12},"field-codec","Field codec",[15,16,17,21,22,25],"p",{},[18,19,20],"code",{},"read"," derives fields from confirmed syntax ranges, while ",[18,23,24],{},"patch"," encodes precise source edits. You can install semantics without supplying a view.",[27,28],"msfe-api",{"name":29},"SourceDefinition",[10,31,33],{"id":32},"documents-and-syntax-ranges","Documents and syntax ranges",[15,35,36],{},"Ranges use UTF-16 offsets with an exclusive end. Syntax access is a derived query, not a second persistent document.",[27,38],{"name":39},"SourceDocument",[27,41],{"name":42},"SourceNode",[10,44,46],{"id":45},"node-components","Node components",[15,48,49,52],{},[18,50,51],{},"attrs"," are derived from source. Use the supplied guarded actions to update fields, delete nodes, or reveal source. Previously held props may become stale after document changes.",[27,54],{"name":55},"MsfeNodeViewProps",[10,57,59],{"id":58},"definitions-and-parse-demand","Definitions and parse demand",[15,61,62,63,68],{},"DefineSource separates reading, writing, fingerprints and resource acquisition. Resources do not replace persistent fields. See the ",[64,65,67],"a",{"href":66},"\u002Fen\u002Fextensions\u002Fcustom-node","node tutorial",".",[27,70],{"name":71},"defineSource",[15,73,74],{},"When semantic queries are pending, request parse demand and retry after accepted-state changes. This does not synchronously scan the whole file.",[27,76],{"name":77},"requestMarkdownParse",[10,79,81],{"id":80},"query-results","Query results",[15,83,84,87],{},[18,85,86],{},"editor.querySource(name, range?)"," returns status and matches containing name, extension kind, attributes, range and SourceNode; read node.kind for the actual syntax name. Use UTF-16 logical coordinates. The default queries current selections, not every node in the file.",[15,89,90,93,94,97,98,101,102,106],{},[18,91,92],{},"decodeMarkdownString",", ",[18,95,96],{},"decodeMarkdownDestination"," and ",[18,99,100],{},"encodeMarkdownField"," serve distinct Markdown fields. Encode only changed fields instead of normalizing the entire file. See ",[64,103,105],{"href":104},"\u002Fen\u002Fapi\u002Fcommands","Command API"," for positions and captured intent.",{"title":108,"searchDepth":109,"depth":109,"links":110},"",2,[111,112,113,114,115],{"id":12,"depth":109,"text":13},{"id":32,"depth":109,"text":33},{"id":45,"depth":109,"text":46},{"id":58,"depth":109,"text":59},{"id":80,"depth":109,"text":81},"Look up syntax readers, field updates, and the guarded actions available to components.","md",[29,39,42,55],"en",{},true,1,"\u002Fen\u002Fapi\u002Fsource","API reference",{"title":5,"description":116},"api\u002Fsource.en","5YfZj2GAfDm46pkmRglFhXHUtZXk4XNbPqNoV2XnzEE",1793046312777]