[{"data":1,"prerenderedAt":1150},["ShallowReactive",2],{"msfe-doc:\u002Fen\u002Fguide\u002Fcommands":3},{"id":4,"title":5,"body":6,"description":1137,"extension":1138,"keywords":1139,"locale":1143,"meta":1144,"navigation":189,"order":224,"path":1145,"section":1146,"seo":1147,"stem":1148,"__hash__":1149},"docs\u002Fguide\u002Fcommands.en.md","Commands and atomic transactions",{"type":7,"value":8,"toc":1129},"minimark",[9,14,23,147,162,166,489,500,504,519,542,552,556,624,638,642,759,763,785,800,814,825,1092,1106,1112,1125],[10,11,13],"h2",{"id":12},"three-ways-to-invoke-a-command","Three ways to invoke a command",[15,16,17,18,22],"p",{},"These calls assume ",[19,20,21],"code",{},"StarterKit"," is installed. A visible TypeScript command does not prove that its runtime feature is installed.",[24,25,30],"pre",{"className":26,"code":27,"language":28,"meta":29,"style":29},"language-ts shiki shiki-themes github-light github-light github-dark","const applied = editor.commands.toggleBold()\nconst enabled = editor.can().toggleBold()\nconst committed = editor.chain().insertText('A').insertText('B').run()\nif (!committed) console.warn(editor.lastCommandResult)\n","ts","",[19,31,32,59,82,126],{"__ignoreMap":29},[33,34,37,41,45,48,52,56],"span",{"class":35,"line":36},"line",1,[33,38,40],{"class":39},"sDD9d","const",[33,42,44],{"class":43},"sUNQB"," applied",[33,46,47],{"class":39}," =",[33,49,51],{"class":50},"sVPnS"," editor.commands.",[33,53,55],{"class":54},"sgQzM","toggleBold",[33,57,58],{"class":50},"()\n",[33,60,62,64,67,69,72,75,78,80],{"class":35,"line":61},2,[33,63,40],{"class":39},[33,65,66],{"class":43}," enabled",[33,68,47],{"class":39},[33,70,71],{"class":50}," editor.",[33,73,74],{"class":54},"can",[33,76,77],{"class":50},"().",[33,79,55],{"class":54},[33,81,58],{"class":50},[33,83,85,87,90,92,94,97,99,102,105,109,112,114,116,119,121,124],{"class":35,"line":84},3,[33,86,40],{"class":39},[33,88,89],{"class":43}," committed",[33,91,47],{"class":39},[33,93,71],{"class":50},[33,95,96],{"class":54},"chain",[33,98,77],{"class":50},[33,100,101],{"class":54},"insertText",[33,103,104],{"class":50},"(",[33,106,108],{"class":107},"s-HEn","'A'",[33,110,111],{"class":50},").",[33,113,101],{"class":54},[33,115,104],{"class":50},[33,117,118],{"class":107},"'B'",[33,120,111],{"class":50},[33,122,123],{"class":54},"run",[33,125,58],{"class":50},[33,127,129,132,135,138,141,144],{"class":35,"line":128},4,[33,130,131],{"class":39},"if",[33,133,134],{"class":50}," (",[33,136,137],{"class":39},"!",[33,139,140],{"class":50},"committed) console.",[33,142,143],{"class":54},"warn",[33,145,146],{"class":50},"(editor.lastCommandResult)\n",[15,148,149,150,153,154,157,158,161],{},"Commands return booleans. ",[19,151,152],{},"can()"," runs a disposable draft without publishing or changing ",[19,155,156],{},"lastCommandResult",". A chain executes sequentially on one draft and publishes once at ",[19,159,160],{},"run()",". Any failed step discards the complete chain. Chains cannot contain asynchronous steps.",[10,163,165],{"id":164},"author-a-chainable-business-command","Author a chainable business command",[24,167,169],{"className":26,"code":168,"language":28,"meta":29,"style":29},"import { Extension } from '@quirekit\u002Fmsfe-core'\n\ndeclare module '@quirekit\u002Fmsfe-core' {\n  interface Commands\u003CReturnType> {\n    \u002F** Commands installed by the signature feature. *\u002F\n    signature: {\n      \u002F** @param name - Literal author name. @returns Command outcome. *\u002F\n      insertSignature(name: string): ReturnType\n    }\n  }\n}\nexport const Signature = Extension.create({\n  name: 'signature',\n  addCommands() {\n    return {\n      insertSignature: (name: string) => ({ tr }) => {\n        if (!name.trim() || \u002F[\\r\\n]\u002F.test(name)) return false\n        return tr.insertText(`— ${name.trim()}`)\n      },\n    }\n  },\n})\n",[19,170,171,185,191,205,222,229,241,262,286,292,298,304,327,339,348,356,389,435,466,472,477,483],{"__ignoreMap":29},[33,172,173,176,179,182],{"class":35,"line":36},[33,174,175],{"class":39},"import",[33,177,178],{"class":50}," { Extension } ",[33,180,181],{"class":39},"from",[33,183,184],{"class":107}," '@quirekit\u002Fmsfe-core'\n",[33,186,187],{"class":35,"line":61},[33,188,190],{"emptyLinePlaceholder":189},true,"\n",[33,192,193,196,199,202],{"class":35,"line":84},[33,194,195],{"class":39},"declare",[33,197,198],{"class":39}," module",[33,200,201],{"class":107}," '@quirekit\u002Fmsfe-core'",[33,203,204],{"class":50}," {\n",[33,206,207,210,213,216,219],{"class":35,"line":128},[33,208,209],{"class":39},"  interface",[33,211,212],{"class":54}," Commands",[33,214,215],{"class":50},"\u003C",[33,217,218],{"class":54},"ReturnType",[33,220,221],{"class":50},"> {\n",[33,223,225],{"class":35,"line":224},5,[33,226,228],{"class":227},"sqmzS","    \u002F** Commands installed by the signature feature. *\u002F\n",[33,230,232,236,239],{"class":35,"line":231},6,[33,233,235],{"class":234},"sde8i","    signature",[33,237,238],{"class":39},":",[33,240,204],{"class":50},[33,242,244,247,250,253,256,259],{"class":35,"line":243},7,[33,245,246],{"class":227},"      \u002F** ",[33,248,249],{"class":39},"@param",[33,251,252],{"class":50}," name",[33,254,255],{"class":227}," - Literal author name. ",[33,257,258],{"class":39},"@returns",[33,260,261],{"class":227}," Command outcome. *\u002F\n",[33,263,265,268,270,273,275,278,281,283],{"class":35,"line":264},8,[33,266,267],{"class":54},"      insertSignature",[33,269,104],{"class":50},[33,271,272],{"class":234},"name",[33,274,238],{"class":39},[33,276,277],{"class":43}," string",[33,279,280],{"class":50},")",[33,282,238],{"class":39},[33,284,285],{"class":54}," ReturnType\n",[33,287,289],{"class":35,"line":288},9,[33,290,291],{"class":50},"    }\n",[33,293,295],{"class":35,"line":294},10,[33,296,297],{"class":50},"  }\n",[33,299,301],{"class":35,"line":300},11,[33,302,303],{"class":50},"}\n",[33,305,307,310,313,316,318,321,324],{"class":35,"line":306},12,[33,308,309],{"class":39},"export",[33,311,312],{"class":39}," const",[33,314,315],{"class":43}," Signature",[33,317,47],{"class":39},[33,319,320],{"class":50}," Extension.",[33,322,323],{"class":54},"create",[33,325,326],{"class":50},"({\n",[33,328,330,333,336],{"class":35,"line":329},13,[33,331,332],{"class":50},"  name: ",[33,334,335],{"class":107},"'signature'",[33,337,338],{"class":50},",\n",[33,340,342,345],{"class":35,"line":341},14,[33,343,344],{"class":54},"  addCommands",[33,346,347],{"class":50},"() {\n",[33,349,351,354],{"class":35,"line":350},15,[33,352,353],{"class":39},"    return",[33,355,204],{"class":50},[33,357,359,361,364,366,368,370,373,376,379,382,385,387],{"class":35,"line":358},16,[33,360,267],{"class":54},[33,362,363],{"class":50},": (",[33,365,272],{"class":234},[33,367,238],{"class":39},[33,369,277],{"class":43},[33,371,372],{"class":50},") ",[33,374,375],{"class":39},"=>",[33,377,378],{"class":50}," ({ ",[33,380,381],{"class":234},"tr",[33,383,384],{"class":50}," }) ",[33,386,375],{"class":39},[33,388,204],{"class":50},[33,390,392,395,397,399,402,405,408,411,414,417,420,423,426,429,432],{"class":35,"line":391},17,[33,393,394],{"class":39},"        if",[33,396,134],{"class":50},[33,398,137],{"class":39},[33,400,401],{"class":50},"name.",[33,403,404],{"class":54},"trim",[33,406,407],{"class":50},"() ",[33,409,410],{"class":39},"||",[33,412,413],{"class":107}," \u002F",[33,415,416],{"class":43},"[\\r\\n]",[33,418,419],{"class":107},"\u002F",[33,421,422],{"class":50},".",[33,424,425],{"class":54},"test",[33,427,428],{"class":50},"(name)) ",[33,430,431],{"class":39},"return",[33,433,434],{"class":43}," false\n",[33,436,438,441,444,446,448,451,453,455,457,460,463],{"class":35,"line":437},18,[33,439,440],{"class":39},"        return",[33,442,443],{"class":50}," tr.",[33,445,101],{"class":54},[33,447,104],{"class":50},[33,449,450],{"class":107},"`— ${",[33,452,272],{"class":50},[33,454,422],{"class":107},[33,456,404],{"class":54},[33,458,459],{"class":107},"()",[33,461,462],{"class":107},"}`",[33,464,465],{"class":50},")\n",[33,467,469],{"class":35,"line":468},19,[33,470,471],{"class":50},"      },\n",[33,473,475],{"class":35,"line":474},20,[33,476,291],{"class":50},[33,478,480],{"class":35,"line":479},21,[33,481,482],{"class":50},"  },\n",[33,484,486],{"class":35,"line":485},22,[33,487,488],{"class":50},"})\n",[15,490,491,492,495,496,499],{},"Install ",[19,493,494],{},"Signature"," before calling ",[19,497,498],{},"editor.can().insertSignature('Ada')",". If user text must remain literal Markdown content, encode the relevant field or constrain allowed characters; do not confuse text with a trusted syntax template.",[10,501,503],{"id":502},"draft-state-and-nested-commands","Draft state and nested commands",[15,505,506,507,510,511,514,515,518],{},"A command factory receives business arguments and returns a synchronous pure function. Read ",[19,508,509],{},"props.state"," or ",[19,512,513],{},"tr.state",", which includes preceding chain steps. ",[19,516,517],{},"props.editor.state"," still represents the mounted state before publication.",[15,520,521,522,525,526,529,530,533,534,537,538,541],{},"Continue the draft through ",[19,523,524],{},"props.commands",", ",[19,527,528],{},"props.chain()"," and ",[19,531,532],{},"tr.replace()",". Never call ",[19,535,536],{},"editor.commands"," to dispatch another mutation from a command, invoke ",[19,539,540],{},"dispatch"," yourself, make requests, open dialogs or mutate storage. Applicability queries execute your code too.",[15,543,544,547,548,551],{},[19,545,546],{},"tr.replace(from, to, insert)"," takes coordinates in the current draft. Recompute or map offsets after preceding steps change the length. The advanced ",[19,549,550],{},"tr.apply()"," CodeMirror entry follows the same coordinate rule.",[10,553,555],{"id":554},"adapt-an-existing-planner","Adapt an existing planner",[24,557,559],{"className":26,"code":558,"language":28,"meta":29,"style":29},"import { sourceCommand } from '@quirekit\u002Fmsfe-core'\n\neditor.chain().command(sourceCommand(state => ({\n  changes: { from: state.selection.main.from, to: state.selection.main.to, insert: 'approved' },\n}))).run()\n",[19,560,561,572,576,604,615],{"__ignoreMap":29},[33,562,563,565,568,570],{"class":35,"line":36},[33,564,175],{"class":39},[33,566,567],{"class":50}," { sourceCommand } ",[33,569,181],{"class":39},[33,571,184],{"class":107},[33,573,574],{"class":35,"line":61},[33,575,190],{"emptyLinePlaceholder":189},[33,577,578,581,583,585,588,590,593,595,598,601],{"class":35,"line":84},[33,579,580],{"class":50},"editor.",[33,582,96],{"class":54},[33,584,77],{"class":50},[33,586,587],{"class":54},"command",[33,589,104],{"class":50},[33,591,592],{"class":54},"sourceCommand",[33,594,104],{"class":50},[33,596,597],{"class":234},"state",[33,599,600],{"class":39}," =>",[33,602,603],{"class":50}," ({\n",[33,605,606,609,612],{"class":35,"line":128},[33,607,608],{"class":50},"  changes: { from: state.selection.main.from, to: state.selection.main.to, insert: ",[33,610,611],{"class":107},"'approved'",[33,613,614],{"class":50}," },\n",[33,616,617,620,622],{"class":35,"line":224},[33,618,619],{"class":50},"}))).",[33,621,123],{"class":54},[33,623,58],{"class":50},[15,625,626,629,630,633,634,637],{},[19,627,628],{},"editor.run(planner, target?)"," runs a pure planner directly and returns ",[19,631,632],{},"MsfeResult",". Return ",[19,635,636],{},"null"," when inapplicable. DOM mutations are not a substitute for transactions.",[10,639,641],{"id":640},"handle-failures","Handle failures",[643,644,645,660],"table",{},[646,647,648],"thead",{},[381,649,650,654,657],{},[651,652,653],"th",{},"Reason",[651,655,656],{},"Meaning",[651,658,659],{},"Host response",[661,662,663,677,690,703,716,729,742],"tbody",{},[381,664,665,671,674],{},[666,667,668],"td",{},[19,669,670],{},"not-installed",[666,672,673],{},"The runtime feature is absent",[666,675,676],{},"Check preset exclusions and installation",[381,678,679,684,687],{},[666,680,681],{},[19,682,683],{},"not-applicable",[666,685,686],{},"Syntax or selection does not admit the action",[666,688,689],{},"Disable the control or preserve content",[381,691,692,697,700],{},[666,693,694],{},[19,695,696],{},"readonly",[666,698,699],{},"Explicit readonly or locked mode",[666,701,702],{},"Disable writing",[381,704,705,710,713],{},[666,706,707],{},[19,708,709],{},"stale-target",[666,711,712],{},"Instance, document or revision changed",[666,714,715],{},"Reconfirm intent; never replay old offsets blindly",[381,717,718,723,726],{},[666,719,720],{},[19,721,722],{},"invalid-change",[666,724,725],{},"Invalid range or transaction",[666,727,728],{},"Check coordinates and field encoding",[381,730,731,736,739],{},[666,732,733],{},[19,734,735],{},"composing",[666,737,738],{},"Native composition owns input",[666,740,741],{},"Wait for composition; do not steal focus",[381,743,744,753,756],{},[666,745,746,749,750],{},[19,747,748],{},"destroyed"," \u002F ",[19,751,752],{},"not-mounted",[666,754,755],{},"Invalid lifetime",[666,757,758],{},"Stop and release resources",[10,760,762],{"id":761},"shortcuts-history-and-verification","Shortcuts, history and verification",[15,764,765,766,769,770,773,774,777,778,781,782,422],{},"Declare structural Enter behavior through ",[19,767,768],{},"addBlockInput()",": ",[19,771,772],{},"enter"," maps to Enter, ",[19,775,776],{},"lineBreak"," to Shift-Enter, and ",[19,779,780],{},"exit"," to Mod-Enter. Keep ordinary business shortcuts in ",[19,783,784],{},"addKeyboardShortcuts()",[15,786,787,788,791,792,795,796,799],{},"Handlers decide from current source, selection and block boundaries, without counting key presses. Return one ",[19,789,790],{},"TransactionSpec"," to handle the whole gesture, ",[19,793,794],{},"'parent'"," to delegate to an enclosing block, or ",[19,797,798],{},"'native'"," to resume the existing keymap chain. The latter two can also be constant rule values. Omitted intents delegate; unregistered syntax Block nodes prevent outer defaults from taking ownership. Explicitly delegate ordinary paragraph leaves so lists, quotes and custom containers can handle their contents.",[15,801,802,803,806,807,810,811,813],{},"The shared router checks mode, readonly, composition and accepted syntax before following each selection endpoint's ancestors. It invokes a handler once only when every endpoint resolves to the same function; otherwise the whole gesture falls through. ",[19,804,805],{},"targets"," contains endpoints and their owners, with two endpoints for each nonempty range. Plan edits from ",[19,808,809],{},"state.selection",". Handlers must be pure: never dispatch, call ",[19,812,536],{}," or mutate storage. The shared layer commits and undoes the edit atomically.",[15,815,816,817,820,821,824],{},"Each parser node has one declared owner. Override it with the existing extension's ",[19,818,819],{},".extend()"," instead of installing competing owners. This minimal example starts a paragraph after a top-level level-two heading; install it with ",[19,822,823],{},"StarterKit.configure({ heading: SectionHeading })",". MD Editor already provides complete defaults for paragraphs, headings, lists, quotes, containers, code and tables.",[24,826,828],{"className":26,"code":827,"language":28,"meta":29,"style":29},"import { Heading } from '@quirekit\u002Fmsfe-heading'\n\nexport const SectionHeading = Heading.extend({\n  \u002F** @returns A pure, source-owned heading boundary behavior. *\u002F\n  addBlockInput() {\n    return [{\n      nodes: ['ATXHeading2'],\n      enter: ({ state, targets }) => {\n        const range = state.selection.main\n        if (state.selection.ranges.length !== 1 || !range.empty\n          || !targets[0]!.node.parent?.type.isTop\n          || range.head !== targets[0]!.node.to) return 'native'\n        return {\n          changes: { from: range.head, insert: '\\n\\n' },\n          selection: { anchor: range.head + 2 },\n          scrollIntoView: true,\n          userEvent: 'input',\n        }\n      },\n      lineBreak: 'native',\n    }]\n  },\n})\n",[19,829,830,842,846,865,875,882,889,900,920,933,958,979,1006,1012,1027,1040,1050,1060,1065,1069,1078,1083,1087],{"__ignoreMap":29},[33,831,832,834,837,839],{"class":35,"line":36},[33,833,175],{"class":39},[33,835,836],{"class":50}," { Heading } ",[33,838,181],{"class":39},[33,840,841],{"class":107}," '@quirekit\u002Fmsfe-heading'\n",[33,843,844],{"class":35,"line":61},[33,845,190],{"emptyLinePlaceholder":189},[33,847,848,850,852,855,857,860,863],{"class":35,"line":84},[33,849,309],{"class":39},[33,851,312],{"class":39},[33,853,854],{"class":43}," SectionHeading",[33,856,47],{"class":39},[33,858,859],{"class":50}," Heading.",[33,861,862],{"class":54},"extend",[33,864,326],{"class":50},[33,866,867,870,872],{"class":35,"line":128},[33,868,869],{"class":227},"  \u002F** ",[33,871,258],{"class":39},[33,873,874],{"class":227}," A pure, source-owned heading boundary behavior. *\u002F\n",[33,876,877,880],{"class":35,"line":224},[33,878,879],{"class":54},"  addBlockInput",[33,881,347],{"class":50},[33,883,884,886],{"class":35,"line":231},[33,885,353],{"class":39},[33,887,888],{"class":50}," [{\n",[33,890,891,894,897],{"class":35,"line":243},[33,892,893],{"class":50},"      nodes: [",[33,895,896],{"class":107},"'ATXHeading2'",[33,898,899],{"class":50},"],\n",[33,901,902,905,908,910,912,914,916,918],{"class":35,"line":264},[33,903,904],{"class":54},"      enter",[33,906,907],{"class":50},": ({ ",[33,909,597],{"class":234},[33,911,525],{"class":50},[33,913,805],{"class":234},[33,915,384],{"class":50},[33,917,375],{"class":39},[33,919,204],{"class":50},[33,921,922,925,928,930],{"class":35,"line":288},[33,923,924],{"class":39},"        const",[33,926,927],{"class":43}," range",[33,929,47],{"class":39},[33,931,932],{"class":50}," state.selection.main\n",[33,934,935,937,940,943,946,949,952,955],{"class":35,"line":294},[33,936,394],{"class":39},[33,938,939],{"class":50}," (state.selection.ranges.",[33,941,942],{"class":43},"length",[33,944,945],{"class":39}," !==",[33,947,948],{"class":43}," 1",[33,950,951],{"class":39}," ||",[33,953,954],{"class":39}," !",[33,956,957],{"class":50},"range.empty\n",[33,959,960,963,965,968,971,974,976],{"class":35,"line":300},[33,961,962],{"class":39},"          ||",[33,964,954],{"class":39},[33,966,967],{"class":50},"targets[",[33,969,970],{"class":43},"0",[33,972,973],{"class":50},"]",[33,975,137],{"class":39},[33,977,978],{"class":50},".node.parent?.type.isTop\n",[33,980,981,983,986,989,992,994,996,998,1001,1003],{"class":35,"line":306},[33,982,962],{"class":39},[33,984,985],{"class":50}," range.head ",[33,987,988],{"class":39},"!==",[33,990,991],{"class":50}," targets[",[33,993,970],{"class":43},[33,995,973],{"class":50},[33,997,137],{"class":39},[33,999,1000],{"class":50},".node.to) ",[33,1002,431],{"class":39},[33,1004,1005],{"class":107}," 'native'\n",[33,1007,1008,1010],{"class":35,"line":329},[33,1009,440],{"class":39},[33,1011,204],{"class":50},[33,1013,1014,1017,1020,1023,1025],{"class":35,"line":341},[33,1015,1016],{"class":50},"          changes: { from: range.head, insert: ",[33,1018,1019],{"class":107},"'",[33,1021,1022],{"class":43},"\\n\\n",[33,1024,1019],{"class":107},[33,1026,614],{"class":50},[33,1028,1029,1032,1035,1038],{"class":35,"line":350},[33,1030,1031],{"class":50},"          selection: { anchor: range.head ",[33,1033,1034],{"class":39},"+",[33,1036,1037],{"class":43}," 2",[33,1039,614],{"class":50},[33,1041,1042,1045,1048],{"class":35,"line":358},[33,1043,1044],{"class":50},"          scrollIntoView: ",[33,1046,1047],{"class":43},"true",[33,1049,338],{"class":50},[33,1051,1052,1055,1058],{"class":35,"line":391},[33,1053,1054],{"class":50},"          userEvent: ",[33,1056,1057],{"class":107},"'input'",[33,1059,338],{"class":50},[33,1061,1062],{"class":35,"line":437},[33,1063,1064],{"class":50},"        }\n",[33,1066,1067],{"class":35,"line":468},[33,1068,471],{"class":50},[33,1070,1071,1074,1076],{"class":35,"line":474},[33,1072,1073],{"class":50},"      lineBreak: ",[33,1075,798],{"class":107},[33,1077,338],{"class":50},[33,1079,1080],{"class":35,"line":479},[33,1081,1082],{"class":50},"    }]\n",[33,1084,1085],{"class":35,"line":485},[33,1086,482],{"class":50},[33,1088,1090],{"class":35,"line":1089},23,[33,1091,488],{"class":50},[15,1093,1094,1095,1098,1099,1101,1102,1105],{},"An extension may return ",[19,1096,1097],{},"{ 'Mod-Shift-s': () => this.editor.commands.insertSignature('Ada') }"," from ",[19,1100,784],{},". Returning ",[19,1103,1104],{},"false"," lets other bindings handle the key. Preserve usable browser and input-method behavior.",[15,1107,1108,1109,1111],{},"Submit one user action through one chain where practical. Native typing still follows editor history grouping. Verify standalone and chained calls, complete rollback on failure, side-effect-free ",[19,1110,152],{},", readonly rejection, exact spelling after undo and explicit multiple-selection behavior.",[15,1113,1114,1115,1120,1121,422],{},"For asynchronous dialogs, read ",[1116,1117,1119],"a",{"href":1118},"\u002Fen\u002Fguide\u002Fselection","Selection and captured intent",". Exact contracts are in ",[1116,1122,1124],{"href":1123},"\u002Fen\u002Fapi\u002Fcommands","Command API",[1126,1127,1128],"style",{},"html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sUNQB, html code.shiki .sUNQB{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sgQzM, html code.shiki .sgQzM{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sqmzS, html code.shiki .sqmzS{--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sde8i, html code.shiki .sde8i{--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#FFAB70}",{"title":29,"searchDepth":61,"depth":61,"links":1130},[1131,1132,1133,1134,1135,1136],{"id":12,"depth":61,"text":13},{"id":164,"depth":61,"text":165},{"id":502,"depth":61,"text":503},{"id":554,"depth":61,"text":555},{"id":640,"depth":61,"text":641},{"id":761,"depth":61,"text":762},"Call, compose, query and author commands with failure and history semantics.","md",[1140,96,74,1141,696,1142],"commands","undo","transaction","en",{},"\u002Fen\u002Fguide\u002Fcommands","Integration",{"title":5,"description":1137},"guide\u002Fcommands.en","mrxU8scxcveUHOsg3D0nupvg8aZUYJoisYH3nw_kaRM",1793046311993]