diffsplain 0.6.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/dist/assets/{angular-html-vBvPnd6a.js → angular-html-CphzFC_v.js} +1 -1
- package/dist/assets/{angular-ts-CDzF1Z6a.js → angular-ts-Am0-mbFw.js} +1 -1
- package/dist/assets/{apl-Bm9bxvP7.js → apl-Cs2rPKDN.js} +1 -1
- package/dist/assets/{astro-RNrNWCYO.js → astro-CxKUUn9h.js} +1 -1
- package/dist/assets/{blade-On-NBYUv.js → blade-DqeCa6v5.js} +1 -1
- package/dist/assets/{c-hRmhFgD0.js → c-DdI6lknk.js} +1 -1
- package/dist/assets/{cobol-CIqc3k2t.js → cobol-COuAGE2X.js} +1 -1
- package/dist/assets/{coffee-Cd5EyvvS.js → coffee-BFlYT3Lp.js} +1 -1
- package/dist/assets/{cpp-zXFAAp_S.js → cpp-nywLU0Np.js} +1 -1
- package/dist/assets/{crystal-DRYY4cSw.js → crystal-BWp4dz1s.js} +1 -1
- package/dist/assets/{css-C4op_MsD.js → css-CRb9tUpU.js} +1 -1
- package/dist/assets/{edge-d3rJkErf.js → edge-rUYSbJy4.js} +1 -1
- package/dist/assets/{elixir-DPqlJhYM.js → elixir-DOq9ybIH.js} +1 -1
- package/dist/assets/{elm-DgU37I8a.js → elm-C8e38E5-.js} +1 -1
- package/dist/assets/{erb-CZVB_ntC.js → erb-BR9Q37Et.js} +1 -1
- package/dist/assets/{git-rebase-hUkltHZG.js → git-rebase-Coo2LUtB.js} +1 -1
- package/dist/assets/{glimmer-js-5XOT9GQ8.js → glimmer-js-C7hX9jg6.js} +1 -1
- package/dist/assets/{glimmer-ts-DT7D0Kfq.js → glimmer-ts-CZLT0F0k.js} +1 -1
- package/dist/assets/{glsl-Br4_Eh5O.js → glsl-BDZRv6e-.js} +1 -1
- package/dist/assets/{graphql--BmZ_AYP.js → graphql-DyzFc3y3.js} +1 -1
- package/dist/assets/{hack-CMdqGDoA.js → hack-CWnO7WsF.js} +1 -1
- package/dist/assets/{haml-DLEOHGmg.js → haml-CvDj-ghO.js} +1 -1
- package/dist/assets/{handlebars-BfUftoV0.js → handlebars-BnU_YcVA.js} +1 -1
- package/dist/assets/{html-uOgx2iYC.js → html-CjB2TKKa.js} +1 -1
- package/dist/assets/{html-derivative-D5cZE6C4.js → html-derivative-CYQqEXS6.js} +1 -1
- package/dist/assets/{http-cW9c66J_.js → http-NNQbnqIx.js} +1 -1
- package/dist/assets/{hurl-BztURO2n.js → hurl-DHaAA1BS.js} +1 -1
- package/dist/assets/{index-DZFM4-3L.js → index-f9ekN94b.js} +4 -4
- package/dist/assets/{java-Cy4mnKaj.js → java-D1J5V2CD.js} +1 -1
- package/dist/assets/{javascript-_Z02t_9Q.js → javascript-C3pX-HsE.js} +1 -1
- package/dist/assets/{jinja-BppBm5gt.js → jinja-BY9CIY8g.js} +1 -1
- package/dist/assets/{jison-Dzns436M.js → jison-Cr0H89gS.js} +1 -1
- package/dist/assets/{json-BYkfLOry.js → json-CA3kKNfq.js} +1 -1
- package/dist/assets/{jsx-DtAm8NUb.js → jsx-BuMkR-Lj.js} +1 -1
- package/dist/assets/{julia-CLIMRuh0.js → julia-C2sLwg3f.js} +1 -1
- package/dist/assets/{just-DMg47an6.js → just-pXpkLBXv.js} +1 -1
- package/dist/assets/{latex-D05ztCOx.js → latex-7v3EPOdF.js} +1 -1
- package/dist/assets/{liquid-DpImQR4t.js → liquid-CJZq0Z0t.js} +1 -1
- package/dist/assets/{lua--ZHUYQUU.js → lua-BimBzvTH.js} +1 -1
- package/dist/assets/{marko-Dh3Xi08i.js → marko-CCZHVnQN.js} +1 -1
- package/dist/assets/{mdc-Br6Pt78u.js → mdc-SLECNw2A.js} +1 -1
- package/dist/assets/{nginx-CwSU6U6d.js → nginx-DUwtUge2.js} +1 -1
- package/dist/assets/{nim-CBbTwyeq.js → nim-HD8o_Omp.js} +1 -1
- package/dist/assets/{perl-D3jQu3LN.js → perl-BGMeIkNk.js} +1 -1
- package/dist/assets/{php-BMeXBzlU.js → php-BL5xuY-v.js} +1 -1
- package/dist/assets/{pug-BGdY1g5E.js → pug-C8G1U_u8.js} +1 -1
- package/dist/assets/{qml-DsT5biza.js → qml-BGVSyw1x.js} +1 -1
- package/dist/assets/{r-CbS9PfN5.js → r-BDnRcclC.js} +1 -1
- package/dist/assets/{razor-Bwm8roHi.js → razor-I8tbEIVJ.js} +1 -1
- package/dist/assets/{regexp-Bc_9DyAu.js → regexp-D0yakB9Q.js} +1 -1
- package/dist/assets/{rst-Cj1Aii91.js → rst-DbTCn07T.js} +1 -1
- package/dist/assets/{ruby-BPMtFZnc.js → ruby-BwgPFIcO.js} +1 -1
- package/dist/assets/{sas-CoOau1t2.js → sas-dN4ePfXU.js} +1 -1
- package/dist/assets/{scss-CvfaI808.js → scss-T7M1A4iM.js} +1 -1
- package/dist/assets/{shellscript-B0C-TdLE.js → shellscript-HFjBHS7_.js} +1 -1
- package/dist/assets/{shellsession-UhmLiqcA.js → shellsession-DCAGskrx.js} +1 -1
- package/dist/assets/{soy-D419u0RL.js → soy-BgT96TF9.js} +1 -1
- package/dist/assets/{sql-Do9k0rRn.js → sql-DCIQeRzx.js} +1 -1
- package/dist/assets/{stata-x47J6BC4.js → stata-Dn0tad0_.js} +1 -1
- package/dist/assets/{surrealql-BERQ6pHu.js → surrealql-CCgFEQfW.js} +1 -1
- package/dist/assets/{svelte-dRWkyqKW.js → svelte-ITXimG8u.js} +1 -1
- package/dist/assets/{templ-CTq-KoWN.js → templ-DJVZZqPw.js} +1 -1
- package/dist/assets/{tex-CdRGjyYI.js → tex-Bn4N-OtH.js} +1 -1
- package/dist/assets/{ts-tags-CgaMqyVb.js → ts-tags-CxQ4PoC4.js} +1 -1
- package/dist/assets/{tsx-cpBQKcPG.js → tsx-CxwgcjkC.js} +1 -1
- package/dist/assets/{twig-vbs_PM4-.js → twig-CtbyTyMH.js} +1 -1
- package/dist/assets/{typescript-Cc--nwIo.js → typescript-d6ru12L8.js} +1 -1
- package/dist/assets/{vue-CgHwdBmB.js → vue-RvqAsYDm.js} +1 -1
- package/dist/assets/{vue-html-BHfoMw47.js → vue-html-BkHDVENe.js} +1 -1
- package/dist/assets/{vue-vine-_lVRp_NK.js → vue-vine-DvS3Mlkn.js} +1 -1
- package/dist/assets/{xml-G4NVmTde.js → xml-lzTq5A-V.js} +1 -1
- package/dist/assets/{xsl-s0so2M1i.js → xsl-BL0KXNWI.js} +1 -1
- package/dist/assets/{yaml-CpsmW05t.js → yaml-CF4XlBJS.js} +1 -1
- package/dist/demo-diff-data.json +6 -1
- package/dist/index.html +1 -1
- package/package.json +3 -2
- package/scripts/cli-args.mjs +15 -5
- package/scripts/coding-agents.mjs +265 -17
- package/scripts/doctor.mjs +27 -18
- package/scripts/generate-summaries.mjs +416 -58
- package/scripts/present.mjs +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-
|
|
1
|
+
import{t as e}from"./index-f9ekN94b.js";import{t}from"./java-D1J5V2CD.js";var n=e({default:()=>i}),r=Object.freeze(JSON.parse(`{"displayName":"XML","name":"xml","patterns":[{"begin":"(<\\\\?)\\\\s*([-0-9A-Z_a-z]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml","patterns":[{"match":" ([-A-Za-z]+)","name":"entity.other.attribute-name.xml"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"begin":"(<!)(DOCTYPE)\\\\s+([:A-Z_a-z][-.0-:A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.doctype.xml"},"3":{"name":"variable.language.documentroot.xml"}},"end":"\\\\s*(>)","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)(</)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"entity.name.tag.namespace.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#tagStuff"}]},{"begin":"(</?)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#tagStuff"}]},{"include":"#entity"},{"include":"#bare-ampersand"},{"begin":"<%@","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java-props.embedded.xml","patterns":[{"match":"page|include|taglib","name":"keyword.other.page-props.xml"}]},{"begin":"<%[!=]?(?!--)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"(?!--)%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java.embedded.xml","patterns":[{"include":"source.java"}]},{"begin":"<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"(<!)(ENTITY)\\\\s+(%\\\\s+)?([:A-Z_a-z][-.0-:A-Z_a-z]*)(\\\\s+(?:SYSTEM|PUBLIC)\\\\s+)?","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.entity.xml"},"3":{"name":"punctuation.definition.entity.xml"},"4":{"name":"variable.language.entity.xml"},"5":{"name":"keyword.other.entitytype.xml"}},"end":"(>)","patterns":[{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},"bare-ampersand":{"match":"&","name":"invalid.illegal.bad-ampersand.xml"},"comments":{"patterns":[{"begin":"<%--","captures":{"0":{"name":"punctuation.definition.comment.xml"},"end":"--%>","name":"comment.block.xml"}},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.xml"}},"end":"-->","name":"comment.block.xml","patterns":[{"begin":"--(?!>)","captures":{"0":{"name":"invalid.illegal.bad-comments-or-CDATA.xml"}}}]}]},"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.xml"},"internalSubset":{"begin":"(\\\\[)","captures":{"1":{"name":"punctuation.definition.constant.xml"}},"end":"(])","name":"meta.internalsubset.xml","patterns":[{"include":"#EntityDecl"},{"include":"#parameterEntity"},{"include":"#comments"}]},"parameterEntity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)","name":"constant.character.parameter-entity.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"tagStuff":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":"(?:^|\\\\s+)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)\\\\s*="},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]}},"scopeName":"text.xml","embeddedLangs":["java"]}`)),i=[...t,r];export{n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./xml-
|
|
1
|
+
import{t as e}from"./xml-lzTq5A-V.js";var t=Object.freeze(JSON.parse(`{"displayName":"XSL","name":"xsl","patterns":[{"begin":"(<)(xsl)((:))(template)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}},"scopeName":"text.xml.xsl","embeddedLangs":["xml"]}`)),n=[...e,t];export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-DZFM4-3L.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S)([^:\\\\s]|:\\\\S|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\\\|)|(>))([1-9])?([-+])?(.*\\\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\\\S)|(?!\\\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\\\1|\\\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\\\t ]*)|[\\\\t ]+)(?=#\\\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\\\G(YAML)[\\\\t ]+(\\\\d+\\\\.\\\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\\\G(TAG)(?:[\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\t ]+(!(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])*|(?![]!,\\\\[{}])(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\\\G(\\\\w+)(?:[\\\\t ]+(\\\\w+)(?:[\\\\t ]+(\\\\w+))?)?"},{"match":"\\\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\\\*))([^],/\\\\[{}\\\\s]+)([^],}\\\\s]\\\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s])([^],:\\\\[{}\\\\s]|:[^],\\\\[{}\\\\s]|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\\\\\([ \\"/0LN\\\\\\\\_abefnprtv]|x\\\\d\\\\d|u\\\\d{4}|U\\\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\\\&])","end":"(?!\\\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\\\G((&))([^],/\\\\[{}\\\\s]+)(\\\\S+)?"},{"match":"\\\\G!(?:<(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\h{2}|[#$\\\\&-+\\\\--;=?-Z_a-z~])+|)(?=[\\\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml","aliases":["yml"]}`))];export{t as n,n as t};
|
|
1
|
+
import{t as e}from"./index-f9ekN94b.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S)([^:\\\\s]|:\\\\S|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\\\|)|(>))([1-9])?([-+])?(.*\\\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\\\S)|(?!\\\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\\\1|\\\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\\\t ]*)|[\\\\t ]+)(?=#\\\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\\\G(YAML)[\\\\t ]+(\\\\d+\\\\.\\\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\\\G(TAG)(?:[\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\t ]+(!(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])*|(?![]!,\\\\[{}])(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\\\G(\\\\w+)(?:[\\\\t ]+(\\\\w+)(?:[\\\\t ]+(\\\\w+))?)?"},{"match":"\\\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\\\*))([^],/\\\\[{}\\\\s]+)([^],}\\\\s]\\\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s])([^],:\\\\[{}\\\\s]|:[^],\\\\[{}\\\\s]|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\\\\\([ \\"/0LN\\\\\\\\_abefnprtv]|x\\\\d\\\\d|u\\\\d{4}|U\\\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\\\&])","end":"(?!\\\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\\\G((&))([^],/\\\\[{}\\\\s]+)(\\\\S+)?"},{"match":"\\\\G!(?:<(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\h{2}|[#$\\\\&-+\\\\--;=?-Z_a-z~])+|)(?=[\\\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml","aliases":["yml"]}`))];export{t as n,n as t};
|
package/dist/demo-diff-data.json
CHANGED
|
@@ -31,7 +31,12 @@
|
|
|
31
31
|
"reviewFingerprint": "5d2d2bb7580d9040d31c2f29c55688264f6d4724d1ba921a86d4ba11513382d8",
|
|
32
32
|
"generatedFor": "5d2d2bb7580d9040d31c2f29c55688264f6d4724d1ba921a86d4ba11513382d8",
|
|
33
33
|
"fresh": true,
|
|
34
|
-
"complete": true
|
|
34
|
+
"complete": true,
|
|
35
|
+
"status": "complete",
|
|
36
|
+
"completedFiles": 10,
|
|
37
|
+
"totalFiles": 10,
|
|
38
|
+
"agent": "codex",
|
|
39
|
+
"model": "gpt-5.6-sol"
|
|
35
40
|
},
|
|
36
41
|
"files": [
|
|
37
42
|
{
|
package/dist/index.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<meta name="theme-color" content="#e9e2d5" />
|
|
11
11
|
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
|
|
12
12
|
<title>Diffsplain</title>
|
|
13
|
-
<script type="module" crossorigin src="./assets/index-
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-f9ekN94b.js"></script>
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/index-C2p_1iAk.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "diffsplain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Review Git diffs one file at a time with coding agent notes beside each patch.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"codex",
|
|
@@ -83,7 +83,8 @@
|
|
|
83
83
|
"fallow:audit": "fallow audit",
|
|
84
84
|
"present": "node scripts/present.mjs",
|
|
85
85
|
"package:verify": "node scripts/check.mjs --package-only",
|
|
86
|
-
"release": "node scripts/release.mjs",
|
|
86
|
+
"release:publish": "node scripts/release.mjs publish",
|
|
87
|
+
"release:verify": "node scripts/release.mjs verify",
|
|
87
88
|
"summarize": "node scripts/generate-summaries.mjs",
|
|
88
89
|
"snapshot": "node scripts/build-diff-data.mjs",
|
|
89
90
|
"watch:diff": "node scripts/build-diff-data.mjs --watch",
|
package/scripts/cli-args.mjs
CHANGED
|
@@ -40,6 +40,7 @@ export const cliOptions = defineCliOptions({
|
|
|
40
40
|
'--agent': { kind: 'agent' },
|
|
41
41
|
'--no-agent': { kind: 'no-agent' },
|
|
42
42
|
'--force': { kind: 'flag' },
|
|
43
|
+
'--skip-safety-checks': { kind: 'flag' },
|
|
43
44
|
'--worktree': { kind: 'flag' },
|
|
44
45
|
'--no-browser': { kind: 'flag' },
|
|
45
46
|
'--support-record': { kind: 'flag' },
|
|
@@ -86,13 +87,15 @@ Targets:
|
|
|
86
87
|
Options:
|
|
87
88
|
--repo PATH|URL|OWNER/NAME
|
|
88
89
|
Repo to review (default: current repo)
|
|
89
|
-
--agent NAME Use codex, claude, copilot, or opencode
|
|
90
|
+
--agent NAME Use codex, claude, copilot, cursor, or opencode
|
|
90
91
|
--no-agent Do not write agent notes
|
|
91
92
|
--model NAME Model for agent notes
|
|
92
93
|
--reasoning LEVEL Agent reasoning effort when supported
|
|
93
94
|
--batch-size COUNT Maximum files per agent pass (default: ${batchSizeOption.default})
|
|
94
95
|
--jobs COUNT Agent passes to run at once (default: ${jobsOption.default})
|
|
95
96
|
--force Regenerate all agent notes
|
|
97
|
+
--skip-safety-checks
|
|
98
|
+
Use Cursor without compatibility or boundary checks
|
|
96
99
|
--support-record Print a safe record if agent notes fail
|
|
97
100
|
--support-record-file FILE
|
|
98
101
|
Write a safe record if agent notes fail
|
|
@@ -107,12 +110,12 @@ Options:
|
|
|
107
110
|
-h, --help Show this help
|
|
108
111
|
-v, --version Show the installed version
|
|
109
112
|
|
|
110
|
-
|
|
111
|
-
codex, claude, copilot, opencode
|
|
113
|
+
Automatic agent selection:
|
|
114
|
+
codex, claude, copilot, cursor, opencode
|
|
112
115
|
|
|
113
116
|
Cursor:
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
Requires Cursor Agent 2026.08.11 or newer and a passing boundary canary.
|
|
118
|
+
Cursor contacts its service, but its review tools cannot access the host.
|
|
116
119
|
|
|
117
120
|
Examples:
|
|
118
121
|
diffsplain
|
|
@@ -271,6 +274,9 @@ export function parseCliArgs(
|
|
|
271
274
|
if (noAgent && options.has('--summaries')) {
|
|
272
275
|
fail('--no-agent cannot be used with --summaries');
|
|
273
276
|
}
|
|
277
|
+
if (options.has('--skip-safety-checks') && agent !== 'cursor') {
|
|
278
|
+
fail('--skip-safety-checks requires --agent cursor');
|
|
279
|
+
}
|
|
274
280
|
if (
|
|
275
281
|
noAgent &&
|
|
276
282
|
(options.has('--support-record') ||
|
|
@@ -368,6 +374,9 @@ export function parseCliArgs(
|
|
|
368
374
|
}
|
|
369
375
|
const agentArgs = [...commonArgs];
|
|
370
376
|
if (options.has('--force')) agentArgs.push('--force');
|
|
377
|
+
if (options.has('--skip-safety-checks')) {
|
|
378
|
+
agentArgs.push('--skip-safety-checks');
|
|
379
|
+
}
|
|
371
380
|
for (const name of [
|
|
372
381
|
'--codex-bin',
|
|
373
382
|
'--model',
|
|
@@ -472,5 +481,6 @@ export function parseCliArgs(
|
|
|
472
481
|
host,
|
|
473
482
|
browserEnabled: !options.has('--no-browser'),
|
|
474
483
|
forceSummaryRegeneration: options.has('--force'),
|
|
484
|
+
skipSafetyChecks: options.has('--skip-safety-checks'),
|
|
475
485
|
};
|
|
476
486
|
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { constants } from 'node:fs';
|
|
2
2
|
import { access } from 'node:fs/promises';
|
|
3
|
+
import { spawnSync } from 'node:child_process';
|
|
3
4
|
import {
|
|
5
|
+
basename,
|
|
4
6
|
delimiter,
|
|
5
7
|
dirname,
|
|
6
8
|
isAbsolute,
|
|
7
9
|
join,
|
|
10
|
+
resolve,
|
|
8
11
|
} from 'node:path';
|
|
9
12
|
|
|
10
13
|
export const codingAgentCapabilities = {
|
|
@@ -60,17 +63,134 @@ export function summaryAgentEnvironment(env = process.env) {
|
|
|
60
63
|
);
|
|
61
64
|
}
|
|
62
65
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
export function cursorAuthPaths(
|
|
67
|
+
home,
|
|
68
|
+
{
|
|
69
|
+
env = process.env,
|
|
70
|
+
platform = process.platform,
|
|
71
|
+
} = {},
|
|
72
|
+
) {
|
|
73
|
+
if (platform === 'linux') {
|
|
74
|
+
const configHome = env.XDG_CONFIG_HOME ||
|
|
75
|
+
(env.HOME ? resolve(env.HOME, '.config') : undefined);
|
|
76
|
+
return configHome
|
|
77
|
+
? {
|
|
78
|
+
source: resolve(configHome, 'cursor', 'auth.json'),
|
|
79
|
+
destination: resolve(home, '.config', 'cursor', 'auth.json'),
|
|
80
|
+
}
|
|
81
|
+
: undefined;
|
|
82
|
+
}
|
|
83
|
+
if (platform === 'win32') {
|
|
84
|
+
const roaming = env.APPDATA ||
|
|
85
|
+
(env.USERPROFILE
|
|
86
|
+
? resolve(env.USERPROFILE, 'AppData', 'Roaming')
|
|
87
|
+
: undefined);
|
|
88
|
+
return roaming
|
|
89
|
+
? {
|
|
90
|
+
source: resolve(roaming, 'Cursor', 'auth.json'),
|
|
91
|
+
destination: resolve(home, 'AppData', 'Roaming', 'Cursor', 'auth.json'),
|
|
92
|
+
}
|
|
93
|
+
: undefined;
|
|
94
|
+
}
|
|
68
95
|
return undefined;
|
|
69
96
|
}
|
|
70
97
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
98
|
+
const minimumCursorVersion = [2026, 8, 11];
|
|
99
|
+
const cursorBoundarySummary =
|
|
100
|
+
'Cursor needs Ask mode, a read-only sandbox, isolated settings, denied tools, and the hostile boundary canary.';
|
|
101
|
+
|
|
102
|
+
export const enabledCodingAgents = codingAgents;
|
|
103
|
+
|
|
104
|
+
function firstLine(value) {
|
|
105
|
+
return value
|
|
106
|
+
.replace(/\u001b\[[0-?]*[ -/]*[@-~]/g, '')
|
|
107
|
+
.split('\n')
|
|
108
|
+
.map((line) => line.trim())
|
|
109
|
+
.find(Boolean);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function cursorVersionParts(version) {
|
|
113
|
+
const match = version?.match(/^(\d{4})\.(\d{1,2})\.(\d{1,2})(?:-|$)/);
|
|
114
|
+
return match?.slice(1).map(Number);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function versionAtLeast(current, minimum) {
|
|
118
|
+
for (const [index, part] of current.entries()) {
|
|
119
|
+
if (part !== minimum[index]) return part > minimum[index];
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function cursorBoundaryError(detail) {
|
|
125
|
+
return `Cursor review boundary is incompatible: ${detail} ${cursorBoundarySummary} Upgrade Cursor Agent.`;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export function inspectCursorCompatibility(
|
|
129
|
+
command,
|
|
130
|
+
{
|
|
131
|
+
env = process.env,
|
|
132
|
+
timeout = 5_000,
|
|
133
|
+
} = {},
|
|
134
|
+
) {
|
|
135
|
+
const run = (args) => spawnSync(command, args, {
|
|
136
|
+
encoding: 'utf8',
|
|
137
|
+
env,
|
|
138
|
+
timeout,
|
|
139
|
+
windowsHide: true,
|
|
140
|
+
});
|
|
141
|
+
const versionResult = run(['--version']);
|
|
142
|
+
const version = firstLine(
|
|
143
|
+
`${versionResult.stdout || ''}\n${versionResult.stderr || ''}`,
|
|
144
|
+
);
|
|
145
|
+
if (versionResult.error || versionResult.status !== 0 || !version) {
|
|
146
|
+
return {
|
|
147
|
+
compatible: false,
|
|
148
|
+
version,
|
|
149
|
+
reason: cursorBoundaryError('The version check failed.'),
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
const parts = cursorVersionParts(version);
|
|
153
|
+
if (!parts || !versionAtLeast(parts, minimumCursorVersion)) {
|
|
154
|
+
return {
|
|
155
|
+
compatible: false,
|
|
156
|
+
version,
|
|
157
|
+
reason: cursorBoundaryError(
|
|
158
|
+
`Found ${version}; version 2026.08.11 or newer is required.`,
|
|
159
|
+
),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
const helpResult = run(['--help']);
|
|
163
|
+
const help = `${helpResult.stdout || ''}\n${helpResult.stderr || ''}`;
|
|
164
|
+
if (helpResult.error || helpResult.status !== 0) {
|
|
165
|
+
return {
|
|
166
|
+
compatible: false,
|
|
167
|
+
version,
|
|
168
|
+
reason: cursorBoundaryError('The CLI help check failed.'),
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
const requiredHelp = [
|
|
172
|
+
['--mode <mode>', 'Ask mode'],
|
|
173
|
+
['"ask"', 'Ask mode'],
|
|
174
|
+
['--sandbox <mode>', 'sandbox control'],
|
|
175
|
+
['"enabled"', 'sandbox control'],
|
|
176
|
+
['--workspace <path-or-name>', 'workspace isolation'],
|
|
177
|
+
['--output-format <format>', 'structured output'],
|
|
178
|
+
['--model <model>', 'model selection'],
|
|
179
|
+
];
|
|
180
|
+
const missing = requiredHelp
|
|
181
|
+
.filter(([text]) => !help.includes(text))
|
|
182
|
+
.map(([, label]) => label);
|
|
183
|
+
if (missing.length) {
|
|
184
|
+
return {
|
|
185
|
+
compatible: false,
|
|
186
|
+
version,
|
|
187
|
+
reason: cursorBoundaryError(
|
|
188
|
+
`The CLI lacks ${[...new Set(missing)].join(', ')}.`,
|
|
189
|
+
),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
return { compatible: true, version };
|
|
193
|
+
}
|
|
74
194
|
|
|
75
195
|
async function executable(path) {
|
|
76
196
|
try {
|
|
@@ -123,7 +243,34 @@ export async function commandAvailable(command, options) {
|
|
|
123
243
|
return Boolean(await findCommand(command, options));
|
|
124
244
|
}
|
|
125
245
|
|
|
126
|
-
|
|
246
|
+
export async function codingAgentAvailability(
|
|
247
|
+
agent,
|
|
248
|
+
{
|
|
249
|
+
binary = codingAgentBinary(agent),
|
|
250
|
+
env = process.env,
|
|
251
|
+
platform = process.platform,
|
|
252
|
+
skipSafetyChecks = false,
|
|
253
|
+
} = {},
|
|
254
|
+
) {
|
|
255
|
+
const path = await findCommand(binary, { env, platform });
|
|
256
|
+
if (!path) return { available: false, installed: false };
|
|
257
|
+
if (agent !== 'cursor') {
|
|
258
|
+
return { available: true, installed: true, path };
|
|
259
|
+
}
|
|
260
|
+
if (skipSafetyChecks) {
|
|
261
|
+
return { available: true, installed: true, path };
|
|
262
|
+
}
|
|
263
|
+
const inspection = inspectCursorCompatibility(path, { env });
|
|
264
|
+
return {
|
|
265
|
+
available: inspection.compatible,
|
|
266
|
+
installed: true,
|
|
267
|
+
path,
|
|
268
|
+
version: inspection.version,
|
|
269
|
+
reason: inspection.reason,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// fallow-ignore-next-line complexity -- validation and discovery share one public selector.
|
|
127
274
|
export async function selectCodingAgent(
|
|
128
275
|
requested,
|
|
129
276
|
available = commandAvailable,
|
|
@@ -134,19 +281,32 @@ export async function selectCodingAgent(
|
|
|
134
281
|
`Unsupported agent "${requested}". Choose ${enabledCodingAgents.join(', ')}.`,
|
|
135
282
|
);
|
|
136
283
|
}
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
284
|
+
const result = await available(requested);
|
|
285
|
+
const availableResult = typeof result === 'object'
|
|
286
|
+
? result.available
|
|
287
|
+
: result;
|
|
288
|
+
if (!availableResult) {
|
|
289
|
+
if (typeof result === 'object' && result.reason) {
|
|
290
|
+
throw new Error(result.reason);
|
|
291
|
+
}
|
|
140
292
|
throw new Error(`Coding agent "${requested}" is not available.`);
|
|
141
293
|
}
|
|
142
294
|
return requested;
|
|
143
295
|
}
|
|
144
296
|
|
|
297
|
+
let cursorReason;
|
|
145
298
|
for (const agent of enabledCodingAgents) {
|
|
146
|
-
|
|
299
|
+
const result = await available(agent);
|
|
300
|
+
const availableResult = typeof result === 'object'
|
|
301
|
+
? result.available
|
|
302
|
+
: result;
|
|
303
|
+
if (availableResult) return agent;
|
|
304
|
+
if (agent === 'cursor' && typeof result === 'object') {
|
|
305
|
+
cursorReason = result.reason;
|
|
306
|
+
}
|
|
147
307
|
}
|
|
148
308
|
throw new Error(
|
|
149
|
-
`No coding agent is available. Install one of: ${enabledCodingAgents.join(', ')}
|
|
309
|
+
`No coding agent is available. Install one of: ${enabledCodingAgents.join(', ')}.${cursorReason ? ` ${cursorReason}` : ''}`,
|
|
150
310
|
);
|
|
151
311
|
}
|
|
152
312
|
|
|
@@ -207,8 +367,40 @@ function parseOpenCodeResponse(stdout) {
|
|
|
207
367
|
return parseJsonText(parts.join(''), 'OpenCode');
|
|
208
368
|
}
|
|
209
369
|
|
|
370
|
+
export function parseCursorStreamResponse(stdout) {
|
|
371
|
+
const trimmed = stdout.trim();
|
|
372
|
+
const lines = trimmed.split('\n').filter(Boolean);
|
|
373
|
+
const events = lines.map(parseEvent);
|
|
374
|
+
if (!lines.length || !events.every(Boolean)) {
|
|
375
|
+
throw new Error('Cursor did not return a valid event stream');
|
|
376
|
+
}
|
|
377
|
+
const envelope = [...events]
|
|
378
|
+
.reverse()
|
|
379
|
+
.find((event) => event.type === 'result');
|
|
380
|
+
if (!envelope || envelope.subtype !== 'success' || envelope.is_error) {
|
|
381
|
+
throw new Error('Cursor did not return a successful result');
|
|
382
|
+
}
|
|
383
|
+
if (typeof envelope.result !== 'string') {
|
|
384
|
+
throw new Error('Cursor did not return summary JSON');
|
|
385
|
+
}
|
|
386
|
+
return {
|
|
387
|
+
events,
|
|
388
|
+
response: parseJsonText(envelope.result, 'Cursor'),
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
|
|
210
392
|
function parseCursorResponse(stdout) {
|
|
211
|
-
const
|
|
393
|
+
const trimmed = stdout.trim();
|
|
394
|
+
const lines = trimmed.split('\n').filter(Boolean);
|
|
395
|
+
if (lines.length > 1) {
|
|
396
|
+
const parsed = parseCursorStreamResponse(trimmed);
|
|
397
|
+
const toolCall = parsed.events.find((event) => event.type === 'tool_call');
|
|
398
|
+
if (toolCall) {
|
|
399
|
+
throw new Error('Cursor emitted an unexpected tool call');
|
|
400
|
+
}
|
|
401
|
+
return parsed.response;
|
|
402
|
+
}
|
|
403
|
+
const envelope = parseJsonText(trimmed, 'Cursor');
|
|
212
404
|
if (typeof envelope?.result === 'string') {
|
|
213
405
|
return parseJsonText(envelope.result, 'Cursor');
|
|
214
406
|
}
|
|
@@ -380,6 +572,62 @@ function openCodeCommand({
|
|
|
380
572
|
};
|
|
381
573
|
}
|
|
382
574
|
|
|
575
|
+
function cursorCommand({
|
|
576
|
+
binary,
|
|
577
|
+
inputPath,
|
|
578
|
+
model,
|
|
579
|
+
prompt,
|
|
580
|
+
schema,
|
|
581
|
+
summaryDirectory,
|
|
582
|
+
summaryEnv,
|
|
583
|
+
sourceEnv,
|
|
584
|
+
}) {
|
|
585
|
+
const args = [
|
|
586
|
+
'--print',
|
|
587
|
+
'--output-format',
|
|
588
|
+
'stream-json',
|
|
589
|
+
'--mode',
|
|
590
|
+
'ask',
|
|
591
|
+
'--sandbox',
|
|
592
|
+
'enabled',
|
|
593
|
+
'--workspace',
|
|
594
|
+
summaryDirectory,
|
|
595
|
+
];
|
|
596
|
+
if (model) args.push('--model', model);
|
|
597
|
+
args.push(
|
|
598
|
+
`${prompt}\n\nThe snapshot JSON follows this prompt on standard input. Return JSON that matches this schema:\n${JSON.stringify(schema)}`,
|
|
599
|
+
);
|
|
600
|
+
const controlDirectory = join(dirname(summaryDirectory), 'cursor-control');
|
|
601
|
+
const home = join(controlDirectory, 'home');
|
|
602
|
+
const temporary = join(controlDirectory, 'tmp');
|
|
603
|
+
const invocationName = basename(inputPath).replace(/[^A-Za-z0-9.-]/g, '-');
|
|
604
|
+
return {
|
|
605
|
+
command: binary,
|
|
606
|
+
args,
|
|
607
|
+
input: 'stdin',
|
|
608
|
+
cwd: summaryDirectory,
|
|
609
|
+
env: {
|
|
610
|
+
...summaryEnv,
|
|
611
|
+
HOME: home,
|
|
612
|
+
USERPROFILE: home,
|
|
613
|
+
APPDATA: join(home, 'AppData', 'Roaming'),
|
|
614
|
+
LOCALAPPDATA: join(home, 'AppData', 'Local'),
|
|
615
|
+
XDG_CONFIG_HOME: join(home, '.config'),
|
|
616
|
+
CURSOR_CONFIG_DIR: join(controlDirectory, 'config'),
|
|
617
|
+
CURSOR_DATA_DIR: join(controlDirectory, `data-${invocationName}`),
|
|
618
|
+
TEMP: temporary,
|
|
619
|
+
TMP: temporary,
|
|
620
|
+
TMPDIR: temporary,
|
|
621
|
+
...(sourceEnv.CURSOR_API_KEY
|
|
622
|
+
? { CURSOR_API_KEY: sourceEnv.CURSOR_API_KEY }
|
|
623
|
+
: {}),
|
|
624
|
+
...(sourceEnv.CURSOR_AUTH_TOKEN
|
|
625
|
+
? { CURSOR_AUTH_TOKEN: sourceEnv.CURSOR_AUTH_TOKEN }
|
|
626
|
+
: {}),
|
|
627
|
+
},
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
|
|
383
631
|
export function agentCommand({
|
|
384
632
|
agent,
|
|
385
633
|
binary = agent,
|
|
@@ -391,8 +639,6 @@ export function agentCommand({
|
|
|
391
639
|
inputPath,
|
|
392
640
|
env = process.env,
|
|
393
641
|
}) {
|
|
394
|
-
const disabled = agentDisabledReason(agent);
|
|
395
|
-
if (disabled) throw new Error(disabled);
|
|
396
642
|
const options = {
|
|
397
643
|
binary,
|
|
398
644
|
inputPath,
|
|
@@ -403,9 +649,11 @@ export function agentCommand({
|
|
|
403
649
|
schemaPath,
|
|
404
650
|
summaryDirectory: dirname(inputPath),
|
|
405
651
|
summaryEnv: summaryAgentEnvironment(env),
|
|
652
|
+
sourceEnv: env,
|
|
406
653
|
};
|
|
407
654
|
if (agent === 'codex') return codexCommand(options);
|
|
408
655
|
if (agent === 'claude') return claudeCommand(options);
|
|
409
656
|
if (agent === 'copilot') return copilotCommand(options);
|
|
657
|
+
if (agent === 'cursor') return cursorCommand(options);
|
|
410
658
|
return openCodeCommand(options);
|
|
411
659
|
}
|