polydiff 0.1.2 → 0.3.0

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.
Files changed (85) hide show
  1. package/README.md +4 -4
  2. package/bin/polydiff.mjs +6 -1
  3. package/dist/assets/{angular-html-C76KiGzD.js → angular-html-BDYhAK3q.js} +1 -1
  4. package/dist/assets/{angular-ts-BD3Mnzbu.js → angular-ts-BdnjfwP5.js} +1 -1
  5. package/dist/assets/{apl-DnigSV4a.js → apl-Bc36b9b7.js} +1 -1
  6. package/dist/assets/{astro-qsSokj8B.js → astro-CY7xRnYI.js} +1 -1
  7. package/dist/assets/{blade-U2J3SHwq.js → blade-K0ed7zA3.js} +1 -1
  8. package/dist/assets/{c-Cy48DBYM.js → c-CAC2_l42.js} +1 -1
  9. package/dist/assets/{chapel-DU0nbvcT.js → chapel-CBJgLl2b.js} +1 -1
  10. package/dist/assets/{cobol-APxYRU6S.js → cobol-CxOKpmHI.js} +1 -1
  11. package/dist/assets/{coffee-CMVtIQ8B.js → coffee-BsKI-FCI.js} +1 -1
  12. package/dist/assets/{cpp-DiEjTdBd.js → cpp-BnOjebzW.js} +1 -1
  13. package/dist/assets/{crystal-_rYX393W.js → crystal-BRbQazSx.js} +1 -1
  14. package/dist/assets/{css-BtU1DKpW.js → css-0npLFpd3.js} +1 -1
  15. package/dist/assets/{edge-Br4ksFXa.js → edge-CKKDXRhI.js} +1 -1
  16. package/dist/assets/{elixir-Bv_4y_zG.js → elixir-4mYJfPHv.js} +1 -1
  17. package/dist/assets/{elm-Cx-dMND_.js → elm-BhVRmyKp.js} +1 -1
  18. package/dist/assets/{erb-COPrSViz.js → erb-Dt3ZI_Kt.js} +1 -1
  19. package/dist/assets/{git-rebase-D4D90lTW.js → git-rebase-D-5BbYS2.js} +1 -1
  20. package/dist/assets/{glimmer-js-C4gWrPQL.js → glimmer-js-CaBJU7JF.js} +1 -1
  21. package/dist/assets/{glimmer-ts-C99h3W7n.js → glimmer-ts-nSbs_eoN.js} +1 -1
  22. package/dist/assets/{glsl-RHBJe3ld.js → glsl-KPRPjqfE.js} +1 -1
  23. package/dist/assets/{graphql-BPqUaGZt.js → graphql-Cfc_RCWr.js} +1 -1
  24. package/dist/assets/{hack-99V0ltvY.js → hack-BUflPso9.js} +1 -1
  25. package/dist/assets/{haml-xERa5XyT.js → haml-DP7fGdbp.js} +1 -1
  26. package/dist/assets/{handlebars-MxX_GTuw.js → handlebars-BRpYbpLo.js} +1 -1
  27. package/dist/assets/{html-DQ9PwQ1m.js → html-B6PEItnp.js} +1 -1
  28. package/dist/assets/{html-derivative-Da9qILg2.js → html-derivative-Cu0gkSIY.js} +1 -1
  29. package/dist/assets/{http-BuqmB53K.js → http-BXJZN8bp.js} +1 -1
  30. package/dist/assets/{hurl-XOQLnEit.js → hurl-Sozh16k0.js} +1 -1
  31. package/dist/assets/index-DZfCHZEa.css +1 -0
  32. package/dist/assets/index-o8teOerm.js +2813 -0
  33. package/dist/assets/{java-UC978eZQ.js → java-CQgLFC3r.js} +1 -1
  34. package/dist/assets/{javascript-Cd1RGTih.js → javascript-Ca5wtGox.js} +1 -1
  35. package/dist/assets/{jinja-BHqpe9-0.js → jinja-DK7nBXyB.js} +1 -1
  36. package/dist/assets/{jison-CyfJfEgg.js → jison-FaEdxf3w.js} +1 -1
  37. package/dist/assets/{json-DaP6JbRl.js → json-CpZdDm0X.js} +1 -1
  38. package/dist/assets/{jsx-Cssoyj6k.js → jsx-Dlyak9fB.js} +1 -1
  39. package/dist/assets/{julia-BjB65CXm.js → julia-BdOQvn1u.js} +1 -1
  40. package/dist/assets/{just-D2b48Zu1.js → just-tdR_jz5U.js} +1 -1
  41. package/dist/assets/{latex-8j1UKNrn.js → latex-Csh5kBo3.js} +1 -1
  42. package/dist/assets/{liquid-D5v7uHS3.js → liquid-C_Bh3N1_.js} +1 -1
  43. package/dist/assets/{lua-BkDLRwYN.js → lua-EWeadZNs.js} +1 -1
  44. package/dist/assets/{marko-CDSu0yiU.js → marko-DDXcAJw5.js} +1 -1
  45. package/dist/assets/{mdc-DlSfqxlb.js → mdc-BUuC1mBj.js} +1 -1
  46. package/dist/assets/{nginx-DO1j2OMH.js → nginx-CTHZ7kVp.js} +1 -1
  47. package/dist/assets/{nim-DW4cM62z.js → nim-uW3e7fnb.js} +1 -1
  48. package/dist/assets/{org-BAp2JzOV.js → org-Bo982Leg.js} +1 -1
  49. package/dist/assets/{perl-DB9IU3wX.js → perl-tBMJ0nmV.js} +1 -1
  50. package/dist/assets/{php-DXrf_D3v.js → php-DGVipmif.js} +1 -1
  51. package/dist/assets/{pug-Bs1r0pSU.js → pug-XNROkKeI.js} +1 -1
  52. package/dist/assets/{qml-Doo9Cky4.js → qml-CE5_Hm-V.js} +1 -1
  53. package/dist/assets/{r-VQJF91wR.js → r-B0aFx50S.js} +1 -1
  54. package/dist/assets/{razor-Dk2kv2By.js → razor-CJBbA8gN.js} +1 -1
  55. package/dist/assets/{regexp-GqRnLewn.js → regexp-D28TaMEp.js} +1 -1
  56. package/dist/assets/{rst-C6ecNsTn.js → rst-ChZ7WUJ3.js} +1 -1
  57. package/dist/assets/{ruby-BabyW0G3.js → ruby-D-OMBmHn.js} +1 -1
  58. package/dist/assets/{sas-Cp-D0gCy.js → sas-M3diriry.js} +1 -1
  59. package/dist/assets/{scss-CLMXRvFR.js → scss-e5vhruEK.js} +1 -1
  60. package/dist/assets/{shellscript-GvcLJj0i.js → shellscript-COWV_GR4.js} +1 -1
  61. package/dist/assets/{shellsession-KR2Dmt63.js → shellsession-DicLj0XW.js} +1 -1
  62. package/dist/assets/{soy-U6NbpSMz.js → soy-Qm2SrIFE.js} +1 -1
  63. package/dist/assets/{sql-DktaOtqw.js → sql-BenyLjEP.js} +1 -1
  64. package/dist/assets/{stata-yvKR4kbi.js → stata-R1OlXkDM.js} +1 -1
  65. package/dist/assets/{surrealql-B171yI6F.js → surrealql-GXg22AnQ.js} +1 -1
  66. package/dist/assets/{svelte-B_bXEc_n.js → svelte-CWMaItBF.js} +1 -1
  67. package/dist/assets/{templ-tqWE5SlP.js → templ-5Iqkiz2f.js} +1 -1
  68. package/dist/assets/{tex-B6G2B11r.js → tex-CecD59wK.js} +1 -1
  69. package/dist/assets/{ts-tags-D5u9DmEU.js → ts-tags-D61jPV4F.js} +1 -1
  70. package/dist/assets/{tsx-CTl-K_ZZ.js → tsx-C2e9DOS9.js} +1 -1
  71. package/dist/assets/{twig-BUTDHjkY.js → twig-DOsaNSdS.js} +1 -1
  72. package/dist/assets/{typescript-CYAHNX2C.js → typescript-BCl73SLq.js} +1 -1
  73. package/dist/assets/{typst-Bio4TaT2.js → typst-CTOHmHKs.js} +1 -1
  74. package/dist/assets/{vue-B-YWRyzE.js → vue-BiESt-xg.js} +1 -1
  75. package/dist/assets/{vue-html-Cb0eicOD.js → vue-html-CjDeV515.js} +1 -1
  76. package/dist/assets/{vue-vine-DxrdWx_w.js → vue-vine-ClPHQk3q.js} +1 -1
  77. package/dist/assets/{xml-B2i4V3Dl.js → xml-BWKfSg_O.js} +1 -1
  78. package/dist/assets/{xsl-Cys3IUoN.js → xsl-DhJohUnx.js} +1 -1
  79. package/dist/assets/{yaml-CedrTYT2.js → yaml-tLVWzSMz.js} +1 -1
  80. package/dist/index.html +2 -2
  81. package/package.json +4 -3
  82. package/server/db.mjs +36 -20
  83. package/server/git.mjs +5 -5
  84. package/dist/assets/index-BzbDgOIS.css +0 -1
  85. package/dist/assets/index-CB-nNij5.js +0 -2800
@@ -1 +1 @@
1
- import{t as e}from"./index-CB-nNij5.js";import{t}from"./java-UC978eZQ.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
+ import{t as e}from"./index-o8teOerm.js";import{t}from"./java-CQgLFC3r.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-B2i4V3Dl.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
+ import{t as e}from"./xml-BWKfSg_O.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-CB-nNij5.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-o8teOerm.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/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
7
7
  <title>polydiff</title>
8
- <script type="module" crossorigin src="/assets/index-CB-nNij5.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-BzbDgOIS.css">
8
+ <script type="module" crossorigin src="/assets/index-o8teOerm.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-DZfCHZEa.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polydiff",
3
- "version": "0.1.2",
3
+ "version": "0.3.0",
4
4
  "description": "Review changes across repos and worktrees in one local workspace.",
5
5
  "license": "MIT",
6
6
  "author": "Vaibhav Acharya",
@@ -43,7 +43,7 @@
43
43
  "scripts": {
44
44
  "dev": "vite",
45
45
  "start": "node bin/polydiff.mjs",
46
- "test": "node --test \"server/*.test.mjs\"",
46
+ "test": "node --test \"server/*.test.mjs\" && vitest run --dir src",
47
47
  "prepack": "pnpm build",
48
48
  "build": "tsc -b && vite build",
49
49
  "lint": "eslint .",
@@ -76,6 +76,7 @@
76
76
  "prettier": "^3.9.6",
77
77
  "typescript": "~6.0.2",
78
78
  "typescript-eslint": "^8.69.0",
79
- "vite": "^8.3.0"
79
+ "vite": "^8.3.0",
80
+ "vitest": "^5.0.0"
80
81
  }
81
82
  }
package/server/db.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import os from "node:os";
4
+ import { defaultIgnored } from "./git.mjs";
4
5
 
5
6
  const directory =
6
7
  process.env.POLYDIFF_HOME || path.join(os.homedir(), ".polydiff");
@@ -14,9 +15,10 @@ export const defaults = {
14
15
  wordDiff: "word-alt",
15
16
  expansionLines: 20,
16
17
  density: "compact",
18
+ sidebarWidth: 304,
17
19
  scanDepth: 8,
18
20
  scanBudget: 10000,
19
- ignore: [],
21
+ ignore: defaultIgnored,
20
22
  };
21
23
  const choices = {
22
24
  theme: ["system", "light", "dark"],
@@ -25,15 +27,16 @@ const choices = {
25
27
  density: ["compact", "default", "relaxed"],
26
28
  };
27
29
  const ranges = {
30
+ sidebarWidth: [220, 640],
28
31
  expansionLines: [5, 200],
29
32
  scanDepth: [1, 16],
30
33
  scanBudget: [100, 200000],
31
34
  };
32
- const selections = ["changed", "all", "none", "custom"];
35
+ const selections = ["changed", "all", "none"];
33
36
 
34
37
  function blank() {
35
38
  return {
36
- version: 2,
39
+ version: 4,
37
40
  revision: 0,
38
41
  settings: { ...defaults },
39
42
  activeTab: null,
@@ -63,10 +66,10 @@ function cleanSettings(value) {
63
66
  !/[/\\]/.test(name),
64
67
  ),
65
68
  ),
66
- ].slice(0, 100);
69
+ ].slice(0, 200);
67
70
  return settings;
68
71
  }
69
- function cleanRepos(value) {
72
+ function cleanRepos(value, keepSelected = true) {
70
73
  if (!value || typeof value !== "object") return {};
71
74
  const repos = {};
72
75
  for (const [repo, settings] of Object.entries(value)) {
@@ -81,43 +84,42 @@ function cleanRepos(value) {
81
84
  settings.target !== "@working"
82
85
  )
83
86
  clean.target = settings.target;
84
- if (typeof settings.selected === "boolean")
87
+ if (keepSelected && typeof settings.selected === "boolean")
85
88
  clean.selected = settings.selected;
86
89
  if (Object.keys(clean).length) repos[repo] = clean;
87
90
  }
88
91
  return repos;
89
92
  }
90
- function cleanTab(value, seen, migrating) {
93
+ function cleanTab(value, seen, version) {
91
94
  if (!value || typeof value !== "object") return null;
92
95
  if (typeof value.id !== "string" || !value.id || seen.has(value.id))
93
96
  return null;
94
97
  if (typeof value.root !== "string" || !path.isAbsolute(value.root))
95
98
  return null;
96
99
  seen.add(value.id);
97
- const repos = cleanRepos(value.repos);
98
- // Version 1 had no selection mode. A tab where every repository was ticked
99
- // by hand is a custom selection; anything else followed the changes.
100
- const inferred =
101
- migrating &&
102
- Object.values(repos).some((settings) => settings.selected !== undefined)
103
- ? "custom"
104
- : "changed";
100
+ // Before version 4 a tick only counted in the retired custom mode, so a tick
101
+ // stored under any other mode was inert and must not become an exception.
102
+ // Version 1 had no mode and read a ticked repository as custom.
103
+ const repos = cleanRepos(
104
+ value.repos,
105
+ version >= 4 || version === 1 || value.selection === "custom",
106
+ );
105
107
  return {
106
108
  id: value.id,
107
109
  root: value.root,
108
110
  selection: selections.includes(value.selection)
109
111
  ? value.selection
110
- : inferred,
112
+ : "changed",
111
113
  repos,
112
114
  };
113
115
  }
114
116
  export function sanitize(value) {
115
117
  if (!value || typeof value !== "object") return blank();
116
- const migrating = value.version !== 2;
118
+ const version = Number(value.version) || 0;
117
119
  const seen = new Set();
118
120
  const list = (input) =>
119
121
  (Array.isArray(input) ? input : [])
120
- .map((tab) => cleanTab(tab, seen, migrating))
122
+ .map((tab) => cleanTab(tab, seen, version))
121
123
  .filter(Boolean);
122
124
  const tabs = list(value.tabs);
123
125
  const recent = list(value.recent).slice(0, recentLimit);
@@ -126,9 +128,21 @@ export function sanitize(value) {
126
128
  ? value.revision
127
129
  : 0;
128
130
  return {
129
- version: 2,
131
+ version: 4,
130
132
  revision,
131
- settings: cleanSettings(value.settings),
133
+ settings: cleanSettings(
134
+ version === 1 || version === 2
135
+ ? {
136
+ ...value.settings,
137
+ ignore: [
138
+ ...defaultIgnored,
139
+ ...(Array.isArray(value.settings?.ignore)
140
+ ? value.settings.ignore
141
+ : []),
142
+ ],
143
+ }
144
+ : value.settings,
145
+ ),
132
146
  activeTab: tabs.some((tab) => tab.id === value.activeTab)
133
147
  ? value.activeTab
134
148
  : (tabs[0]?.id ?? null),
@@ -153,6 +167,8 @@ function insert(state, tab, index) {
153
167
  }
154
168
  export function apply(state, command) {
155
169
  const op = command && typeof command === "object" ? command.op : null;
170
+ if (op === "reset-settings")
171
+ return { ...state, settings: cleanSettings(null) };
156
172
  if (op === "settings")
157
173
  return {
158
174
  ...state,
package/server/git.mjs CHANGED
@@ -23,10 +23,10 @@ export async function git(cwd, args, allowed = [0]) {
23
23
  throw new Error(error.stderr?.trim() || error.message, { cause: error });
24
24
  }
25
25
  }
26
- // Directory names that never hold a repository worth reviewing. Build output
26
+ // Default directory names to skip during discovery. Build output
27
27
  // names like build, dist, and target are deliberately absent: they are also
28
28
  // ordinary repository names.
29
- const ignored = new Set([
29
+ export const defaultIgnored = [
30
30
  ".git",
31
31
  "node_modules",
32
32
  "vendor",
@@ -48,15 +48,15 @@ const ignored = new Set([
48
48
  ".terraform",
49
49
  "DerivedData",
50
50
  "Pods",
51
- ]);
51
+ ];
52
52
  // macOS bundles are directory trees presented as single files.
53
53
  const bundle = /\.(app|framework|bundle|xcassets|photoslibrary)$/i;
54
54
  export async function scan(
55
55
  root,
56
- { depth = 8, budget = 10000, ignore = [] } = {},
56
+ { depth = 8, budget = 10000, ignore = defaultIgnored } = {},
57
57
  ) {
58
58
  if (!(await stat(root)).isDirectory()) throw new Error("Choose a directory.");
59
- const skip = ignore.length ? new Set([...ignored, ...ignore]) : ignored;
59
+ const skip = new Set(ignore);
60
60
  const repos = [];
61
61
  const warnings = [];
62
62
  let visited = 0;
@@ -1 +0,0 @@
1
- @font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(/assets/IBMPlexSans-latin-ext-KUPCjGsn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(/assets/IBMPlexSans-latin-BD64o3ke.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lilex;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/Lilex-latin-ext-Rgd1-08h.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lilex;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/Lilex-latin-5ZnsGwUI.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-synthesis:none;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0a0a0a);--sidebar:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#111);--surface:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,#1c1c1c);--hover:var(--lightningcss-light,#ededed)var(--lightningcss-dark,#252525);--foreground:var(--lightningcss-light,#171717)var(--lightningcss-dark,#ededed);--muted:var(--lightningcss-light,#737373)var(--lightningcss-dark,#8e8e8e);--border:var(--lightningcss-light,#e5e5e5)var(--lightningcss-dark,#282828);--green:var(--lightningcss-light,#16834a)var(--lightningcss-dark,#63c995);--red:var(--lightningcss-light,#c04545)var(--lightningcss-dark,#e68888);--mono:"Lilex", ui-monospace, monospace;--diffs-font-family:var(--mono);--diffs-header-font-family:"IBM Plex Sans", sans-serif;--diffs-font-size:13px;--diffs-line-height:21px;color:var(--foreground);background:var(--background);font-family:IBM Plex Sans,sans-serif;font-size:13px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button,input{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}svg{flex:none}button:disabled,[data-disabled]{opacity:.45;cursor:default}button:focus-visible,[role=menuitem]:focus-visible,input:focus-visible{outline:2px solid var(--muted);outline-offset:2px}.push{flex:1}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.workspace-view{flex:1;grid-template-columns:304px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.workspace-view[hidden]{display:none}.tab-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;height:40px;padding:0 8px;display:flex}.tab-list{scrollbar-width:none;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.tab{background:var(--sidebar);height:28px;color:var(--muted);border-radius:7px;flex-shrink:0;align-items:center;gap:2px;padding-right:4px;display:inline-flex}.tab-separator{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 2px}.tab:hover{background:var(--hover);color:var(--foreground)}.tab:has([data-active]){background:var(--background);color:var(--foreground);box-shadow:inset 0 0 0 1px var(--border)}.tab-label{white-space:nowrap;text-overflow:ellipsis;max-width:168px;color:inherit;padding:0 2px 0 10px;font-size:12px;font-weight:500;line-height:28px;overflow:hidden}.tab-close,.tab-new{color:var(--muted);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tab-close{width:22px;height:22px}.tab-new{background:var(--hover);border-radius:50%;width:28px;height:28px}.tab-close:hover{background:color-mix(in oklab, var(--red) 14%, transparent);color:var(--red)}.tab-new:hover{background:var(--border);color:var(--foreground)}.tab-new:disabled{opacity:.5}.tab-bar-error{color:var(--red);padding-right:8px;font-size:11px}.desktop-sidebar{min-height:0}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;height:100%;display:flex}.sidebar-top{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;height:57px;padding:0 8px;display:flex}.icon-button{width:30px;height:30px;color:var(--muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-button:hover,.icon-button[data-popup-open],.icon-button[aria-pressed=true]{background:var(--hover);color:var(--foreground)}.selector-trigger{text-align:left;border-radius:6px;flex:1;align-items:center;gap:7px;min-width:0;height:34px;padding:0 8px;display:flex}.selector-trigger:hover,.selector-trigger[data-popup-open]{background:var(--hover)}.selector-trigger>svg:first-child{width:22px;height:22px;color:var(--muted)}.selector-trigger>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.selector-trigger strong{flex:1;min-width:0;font-size:13px;font-weight:500}.selector-trigger small{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.selector-trigger>svg:last-child{color:var(--muted);width:14px}.search-field{color:var(--muted);align-items:center;gap:8px;display:flex}.search-field input{background:0 0;border:0;outline:none;width:100%;min-width:0;height:32px;font-size:12px}.search-field:focus-within{outline:2px solid var(--border);outline-offset:1px}.sidebar-search{background:var(--background);border:1px solid var(--border);border-radius:6px;margin:8px 16px 12px;padding:0 8px}.sidebar-search>svg{width:15px}.text-button{color:var(--muted);text-align:left;align-items:center;gap:7px;padding:2px 0;font-size:12px;display:inline-flex}.text-button:hover,.text-button.active{color:var(--foreground)}.text-button>span{color:var(--muted);font-size:11px}.repository-list{scrollbar-width:thin;flex:1;min-height:0;padding:0 8px 20px;overflow:auto}.checkbox{background:var(--background);border:1px solid var(--lightningcss-light,#ccc)var(--lightningcss-dark,#4a4a4a);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:inline-flex}.checkbox[data-checked]{background:var(--foreground);border-color:var(--foreground);color:var(--background)}.checkbox svg{width:11px;height:11px;display:block}.disclosure{width:12px;height:12px;color:var(--muted);transition:transform .12s}[aria-expanded=true]>.disclosure{transform:rotate(90deg)}.file-tree{--trees-font-family-override:"IBM Plex Sans", sans-serif;--trees-font-size-override:12px;--trees-bg-override:var(--sidebar);--trees-selected-bg-override:var(--hover);max-height:48vh;display:block}.repo-note{color:var(--muted);padding:3px 8px;font-size:11px}.sidebar-error{color:var(--red);overflow-wrap:anywhere;padding:6px;font-size:11px}.sidebar-error .text-button{display:block}.busy-dot{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite pulse;display:inline-block}.has-error{color:var(--red)}.review-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.review-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:7px;height:57px;padding:0 20px;display:flex}.review-title{white-space:nowrap;align-items:center;gap:9px;display:flex}.review-title>svg{color:var(--muted)}.review-title strong{font-size:14px;font-weight:500}.count-badge{color:var(--muted);background:var(--surface);border-radius:5px;padding:0 6px;font-size:11px}.toolbar-caption{color:var(--muted);padding-left:8px;font-size:12px}.view-toggle{border:1px solid var(--border);border-radius:7px;gap:2px;margin:0 3px 0 10px;padding:2px;display:flex}.view-toggle button{width:29px;height:25px;color:var(--muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.view-toggle button[data-pressed]{background:var(--surface);color:var(--foreground);box-shadow:0 1px 2px #0001}.review-scroll{scrollbar-width:thin;flex:1;min-height:0;padding:8px 22px 32px;overflow:auto}.repo-diffs{scroll-margin-top:10px}.repo-divider{min-height:45px;color:var(--muted);align-items:center;gap:9px;padding:10px 0;font-size:11px;display:flex}.repo-divider strong{color:var(--foreground);overflow-wrap:anywhere;font-size:12px;font-weight:500}.divider-line{background:var(--border);flex:1;height:1px;margin-left:3px}.worktree-label{background:var(--surface);border-radius:4px;padding:1px 5px;font-size:10px}.diff-file{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;scroll-margin-top:12px;overflow:clip}.file-heading{text-align:left;background:var(--sidebar);align-items:center;gap:9px;width:100%;min-height:39px;padding:9px 12px;font-size:12px;display:flex}.file-heading:hover{background:var(--surface)}.file-heading>svg:not(.disclosure){width:16px;color:var(--muted)}.file-path{font-family:var(--mono);overflow-wrap:anywhere;flex:1;font-size:12px}.file-status{color:var(--muted);font-size:11px}.file-panel{border-top:1px solid var(--border)}.file-panel[data-collapsed]{border-top:0}.diff-stat{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;gap:7px;font-size:11px;display:inline-flex}.added{color:var(--green)}.removed{color:var(--red)}.diff-files[data-updating]{opacity:.55;pointer-events:none}.file-note{color:var(--muted);margin:0;padding:14px 16px;font-size:12px}.review-end{color:var(--muted);justify-content:center;align-items:center;gap:6px;padding:18px;font-size:11px;display:flex}.review-end>svg{width:14px}.notice{border:1px solid var(--border);border-left:3px solid var(--red);overflow-wrap:anywhere;border-radius:5px;margin:12px 0;padding:10px 13px;font-size:12px}.notice .text-button{margin-left:10px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:30px;display:flex}.empty-icon{border:1px solid var(--border);background:var(--sidebar);width:46px;height:46px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;display:flex}.empty-icon>svg{width:25px;height:25px}.empty-state h2{letter-spacing:-.3px;margin:18px 0 6px;font-size:17px;font-weight:500}.empty-state p{color:var(--muted);max-width:320px;margin:0;font-size:13px;line-height:1.7}.dialog-backdrop{z-index:20;background:#0006;position:fixed;inset:0}.floating{z-index:30;max-width:calc(100vw - 24px)}.popup{border:1px solid var(--border);background:var(--background);color:var(--foreground);transform-origin:var(--transform-origin);border-radius:10px;outline:none;padding:16px;box-shadow:0 8px 30px #0002,0 1px 3px #0001}.popup h2{letter-spacing:-.2px;margin:0;font-size:15px;font-weight:500}.popup p{margin:4px 0 14px;font-size:12px}.input{background:var(--background);border:1px solid var(--border);border-radius:6px;width:100%;height:35px;padding:7px 10px;font-size:13px}.control-label{color:var(--muted);margin:12px 0 5px;font-size:11px;display:block}.primary-button{background:var(--foreground);color:var(--background);border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:12px;padding:8px 12px;font-weight:500;display:flex}.primary-button:hover{opacity:.85}.comparison-popup{width:460px;max-width:calc(100vw - 24px)}.comparison-popup>p.muted{overflow-wrap:anywhere}.branch-trigger{border:1px solid var(--border);text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;height:34px;padding:0 9px;display:flex}.branch-trigger:hover,.branch-trigger[data-popup-open]{background:var(--surface)}.branch-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.branch-trigger>svg{width:15px;color:var(--muted)}.compare-connector{height:15px;color:var(--muted);justify-content:center;align-items:center;margin-bottom:-6px;display:flex}.compare-connector>svg{width:13px;transform:rotate(90deg)}.comparison-popup .popup-note{border-top:1px solid var(--border);color:var(--muted);margin:12px 0 0;padding-top:12px;font-size:11px;line-height:1.6}.branch-popup{width:max(var(--anchor-width), 520px);max-width:var(--available-width);padding:5px}.branch-popup .search-field{border-bottom:1px solid var(--border);padding:2px 8px}.option-list{max-height:min(300px, var(--available-height));padding:4px 0;overflow:auto}.option{cursor:default;border-radius:5px;align-items:center;gap:8px;min-height:32px;padding:6px 8px;font-size:12px;display:flex}.option>span:first-of-type{overflow-wrap:anywhere;flex:1}.option>svg,.option svg{width:15px;color:var(--muted)}.option[data-highlighted]{background:var(--hover);outline:none}.popup-empty{color:var(--muted);padding:15px 8px;font-size:12px}.popup-empty:empty{display:none}.menu [role=menuitem]{cursor:default;border-radius:5px;outline:none;padding:7px 9px;font-size:12px}.menu [data-highlighted]{background:var(--hover)}.tooltip{background:var(--foreground);color:var(--background);z-index:50;border-radius:5px;padding:5px 8px;font-size:11px;box-shadow:0 2px 5px #0002}.tree-skeleton{color:var(--muted);padding:9px 12px;font-size:11px}.tree-skeleton i{background:var(--hover);border-radius:3px;width:72%;height:8px;margin:11px 0;animation:1.4s infinite pulse;display:block}.tree-skeleton i:nth-child(2){width:50%}.tree-skeleton i:nth-child(3){width:64%}.review-loading{color:var(--muted);padding:25px 0;font-size:12px}.review-loading div{background:var(--sidebar);border:1px solid var(--border);border-radius:8px;height:90px;margin-top:14px;animation:1.4s infinite pulse}.mobile-only{display:none}.spinning{animation:1.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1000px){.workspace-view{grid-template-columns:270px minmax(0,1fr)}.divider-comparison,.toolbar-caption{display:none}.review-scroll,.review-toolbar{padding-inline:14px}}@media (width<=720px){.workspace-view{grid-template-columns:minmax(0,1fr)}.desktop-sidebar{display:none}.mobile-only{display:inline-flex}.toolbar-stat{display:none}.review-toolbar{gap:4px;padding:0 8px}.review-title{gap:6px}.review-title>svg{display:none}.review-scroll{padding-inline:10px}.file-heading{gap:6px;padding-inline:9px}.file-heading>svg:not(.disclosure),.file-status{display:none}.file-path{font-size:11px}.mobile-sidebar{z-index:21;outline:none;width:min(320px,100vw - 35px);position:fixed;inset:0 auto 0 0}.mobile-close{z-index:2;position:absolute;top:13px;right:46px}}.selector-popup{width:640px;max-width:calc(100vw - 24px);padding:8px}.selector-popup>.search-field{background:var(--background);border:1px solid var(--border);border-radius:6px;margin-bottom:6px;padding:0 8px}.selector-popup>.search-field>svg{width:15px}.selector-actions{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:6px;padding:0 2px 8px;display:flex}.selector-summary{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.selector-list{scrollbar-width:thin;max-height:min(420px,60vh);overflow:auto}.selector-row{border-radius:6px;align-items:center;gap:8px;min-height:34px;padding:0 6px;display:flex}.selector-row:hover{background:var(--hover)}.selector-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--muted);flex:1;align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.selector-row.is-selected .selector-name{color:var(--foreground);font-weight:500}.selector-count{text-align:right;min-width:22px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.selector-count svg{vertical-align:-2px;width:14px;height:14px}.compare-chip{max-width:300px;color:var(--muted);font-size:11px;font-family:var(--mono);border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:4px 6px;display:flex}.compare-chip:hover,.compare-chip[data-popup-open]{color:var(--foreground);background:var(--background);box-shadow:inset 0 0 0 1px var(--border)}.compare-chip svg{flex-shrink:0;width:12px;height:12px}.compare-chip>span{white-space:nowrap;align-items:center;gap:4px;display:flex;overflow:hidden}.sidebar-repo{margin-bottom:6px}.sidebar-repo-heading{text-align:left;border-radius:6px;align-items:center;gap:6px;width:100%;min-height:30px;padding:0 8px;font-size:12px;font-weight:500;display:flex}.sidebar-repo-heading>span:first-of-type{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-repo-heading .diff-stat,.sidebar-repo-heading .busy-dot{flex-shrink:0}.sidebar-repo-panel{overflow:hidden}.sidebar-repo-heading:hover{background:var(--hover)}.option-group:not(:first-child){border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.option-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 10px;font-size:10px;font-weight:600}.context-status{align-items:center;gap:8px;max-width:380px;padding:9px 10px;font-size:12px;display:flex}.context-status>svg{color:var(--red);flex-shrink:0}.divider-comparison{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:11px;overflow:hidden}.segmented{border:1px solid var(--border);background:var(--background);border-radius:7px;gap:2px;padding:2px;display:flex}.segmented button{color:var(--muted);white-space:nowrap;border-radius:5px;padding:3px 10px;font-size:12px}.segmented button:hover:not([data-pressed]){background:var(--hover)}.segmented button[data-pressed]{background:var(--surface);color:var(--foreground);box-shadow:0 1px 2px #0001}.menu{min-width:190px;padding:5px}.menu-item{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;outline:none;align-items:center;gap:9px;padding:6px 9px;font-size:12px;display:flex}.menu-item[data-highlighted]{background:var(--hover)}.settings-dialog{z-index:21;scrollbar-width:thin;border:1px solid var(--border);background:var(--background);border-radius:12px;outline:none;width:560px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 48px);padding:20px;position:fixed;top:50%;left:50%;overflow:auto;translate:-50% -50%;box-shadow:0 16px 50px #0003,0 1px 3px #0001}.settings-header{align-items:center;gap:9px;display:flex}.settings-header h2{letter-spacing:-.2px;margin:0;font-size:16px;font-weight:500}.settings-dialog>p.muted{margin:6px 0 4px;font-size:12px}.settings-group{border:0;margin:0;padding:0}.settings-legend{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;padding:22px 0 6px;font-size:11px}.setting{border-top:1px solid var(--border);align-items:center;gap:16px;min-height:42px;padding:4px 0;display:flex}.setting-text{flex-direction:column;gap:2px;margin-right:auto;display:flex}.setting-text small{color:var(--muted);font-size:11px}.setting>.input{width:220px}.settings-actions{justify-content:flex-end;margin-top:20px;display:flex}.settings-actions .primary-button{width:auto;margin:0;padding:8px 20px}.settings-dialog>.popup-note{margin-top:16px}.switch{background:var(--hover);border:1px solid var(--border);border-radius:999px;flex:none;width:38px;height:22px;padding:2px;transition:background .12s}.switch[data-checked]{background:var(--foreground);border-color:var(--foreground)}.switch-thumb{background:var(--background);border-radius:50%;width:16px;height:16px;transition:translate .12s;display:block;box-shadow:0 1px 2px #0003}.switch[data-checked] .switch-thumb{translate:16px}.counter-group{border:1px solid var(--border);background:var(--background);border-radius:7px;align-items:center;display:flex;overflow:hidden}.counter-group button{width:30px;height:30px;color:var(--muted);justify-content:center;align-items:center;display:flex}.counter-group button:hover{background:var(--hover);color:var(--foreground)}.counter-group input{border:0;border-inline:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;background:0 0;width:76px;height:30px;font-size:12px}.counter-group input:focus-visible{outline:2px solid var(--muted);outline-offset:-2px}