texlite 0.9.1 → 0.9.3

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 (95) hide show
  1. package/DESIGN.md +36 -6
  2. package/OPERATIONS.md +70 -3
  3. package/README.md +11 -3
  4. package/README.zh-CN.md +11 -2
  5. package/THIRD_PARTY_NOTICES.md +29 -0
  6. package/dist/client/assets/AdminUsers-huwQK7Ly.js +1 -0
  7. package/dist/client/assets/CitationLibraryDialog-C5C3sPdw.js +1 -0
  8. package/dist/client/assets/Dashboard-DtHSc55D.js +2 -0
  9. package/dist/client/assets/{GitDialog-C9Loz4Al.js → GitDialog-BI7QIMsh.js} +1 -1
  10. package/dist/client/assets/{HistoryDialog-3UNN_jhU.js → HistoryDialog-DA7O9aF2.js} +1 -1
  11. package/dist/client/assets/LatexEditor-BYWWx5Km.js +138 -0
  12. package/dist/client/assets/{PdfPreview-BKhcS-2c.js → PdfPreview-mO9WS01q.js} +1 -1
  13. package/dist/client/assets/ProjectIconPickerDialog-B0q_r5dX.js +1 -0
  14. package/dist/client/assets/{ProjectNavigationDialogs-CZKTnxrl.js → ProjectNavigationDialogs-DwWYbB1A.js} +1 -1
  15. package/dist/client/assets/ProjectSettings-BpPFgdoj.js +1 -0
  16. package/dist/client/assets/ProjectWorkspace-CI2zKon5.js +32 -0
  17. package/dist/client/assets/{SelectionHistoryDialog-D3dO83lg.js → SelectionHistoryDialog-pWMI5izu.js} +2 -2
  18. package/dist/client/assets/SystemMetricsDialog-BmlO7oNg.js +1 -0
  19. package/dist/client/assets/TagManagementDialog-h4Ves4FR.js +1 -0
  20. package/dist/client/assets/{WordCountDialog-TwpyAP3m.js → WordCountDialog-DlBSP4y7.js} +1 -1
  21. package/dist/client/assets/check-BAdi_Lxq.js +1 -0
  22. package/dist/client/assets/editor-DZS7-wrd.js +14 -0
  23. package/dist/client/assets/{hard-drive-XHSiS_A7.js → hard-drive-DP2OHKMC.js} +1 -1
  24. package/dist/client/assets/index-CBrIrzgg.css +1 -0
  25. package/dist/client/assets/{index-Cd6-F29b.js → index-i5IY_PMw.js} +1 -1
  26. package/dist/client/assets/index-teah8iB2.js +12 -0
  27. package/dist/client/assets/katex-D9PXdmFF.css +1 -0
  28. package/dist/client/assets/{key-round-C-CXCWnz.js → key-round-D8sCqL2b.js} +1 -1
  29. package/dist/client/assets/{latexFormatterWorker-DYkYtcFy.js → latexFormatterWorker-BRmsns8a.js} +2 -2
  30. package/dist/client/assets/{minimize-2-BMDPVaF-.js → minimize-2-6tf519Ts.js} +1 -1
  31. package/dist/client/assets/{minus-BIa7-KuM.js → minus-CqvESp9M.js} +1 -1
  32. package/dist/client/assets/{pdf-BB1XvBIF.js → pdf-DUYcbPMK.js} +1 -1
  33. package/dist/client/assets/{plus-BKDWy4Ui.js → plus-DIrweesj.js} +1 -1
  34. package/dist/client/assets/{refresh-cw-Bo7-a7-I.js → refresh-cw-BDcwKu_d.js} +1 -1
  35. package/dist/client/assets/{search-Bz9Ob5mT.js → search-C9_Jyrnx.js} +1 -1
  36. package/dist/client/assets/{sigma-DxlHf9gv.js → sigma-p9-fBP0d.js} +1 -1
  37. package/dist/client/assets/spellCheck-Y0RlmXbl.js +1 -0
  38. package/dist/client/assets/{tags-IMZehjzE.js → tags-DjF3z21M.js} +1 -1
  39. package/dist/client/assets/{type-DTWpFQNQ.js → type-CNrDJnzR.js} +1 -1
  40. package/dist/client/assets/{user-plus--aVpd8K6.js → user-plus-C7exNawX.js} +1 -1
  41. package/dist/client/assets/x-BEVz0wdw.js +1 -0
  42. package/dist/client/index.html +6 -4
  43. package/dist/server/app.js +130 -83
  44. package/dist/server/cli.js +4 -2
  45. package/dist/server/collaboration.js +6 -19
  46. package/dist/server/compileArtifacts.js +3 -2
  47. package/dist/server/config.js +27 -0
  48. package/dist/server/db.js +91 -10
  49. package/dist/server/index.js +4 -2
  50. package/dist/server/instanceLock.js +4 -2
  51. package/dist/server/latexCompletion.js +126 -63
  52. package/dist/server/latexDocumentGraph.js +217 -0
  53. package/dist/server/latexSpellMask.js +3 -4
  54. package/dist/server/pm2.js +3 -2
  55. package/dist/server/projectOutline.js +103 -91
  56. package/dist/server/projectReferences.js +109 -0
  57. package/dist/server/routes/auth.js +5 -2
  58. package/dist/server/routes/comments.js +10 -4
  59. package/dist/server/routes/compile.js +2 -2
  60. package/dist/server/routes/projectFiles.js +12 -3
  61. package/dist/server/routes/projectReferences.js +36 -0
  62. package/dist/server/routes/projectShared.js +33 -12
  63. package/dist/server/routes/projects.js +5 -0
  64. package/dist/server/routes/system.js +1 -0
  65. package/dist/server/zip.js +2 -16
  66. package/dist/shared/basePath.js +44 -0
  67. package/dist/shared/bibtexReferences.js +135 -0
  68. package/dist/shared/collaborationProtocol.js +31 -0
  69. package/dist/shared/latexCommandSnippets.js +91 -0
  70. package/dist/shared/latexDependencies.js +131 -0
  71. package/dist/shared/latexLiterals.js +215 -0
  72. package/dist/shared/latexReferenceCommands.js +75 -0
  73. package/dist/shared/latexReferences.js +193 -0
  74. package/dist/shared/latexRoot.js +21 -0
  75. package/dist/shared/latexScanner.js +183 -0
  76. package/dist/shared/writingChecks.js +4 -0
  77. package/package.json +11 -4
  78. package/texlite.config.example.json +2 -4
  79. package/dist/client/assets/AdminUsers-Dazar9cj.js +0 -1
  80. package/dist/client/assets/CitationLibraryDialog-VSUiSPgG.js +0 -1
  81. package/dist/client/assets/Dashboard-CoE5ESfb.js +0 -2
  82. package/dist/client/assets/LatexEditor-Bq76v8sO.js +0 -65
  83. package/dist/client/assets/ProjectIconPickerDialog-BoWMjQVm.js +0 -1
  84. package/dist/client/assets/ProjectSettings-DiOQVJ40.js +0 -1
  85. package/dist/client/assets/ProjectWorkspace-DqLwkGpT.js +0 -27
  86. package/dist/client/assets/SystemMetricsDialog-0zCwLtH_.js +0 -1
  87. package/dist/client/assets/TagManagementDialog-C6KDwtvd.js +0 -1
  88. package/dist/client/assets/check-sZxOOKtS.js +0 -1
  89. package/dist/client/assets/chevron-left-32SrOwa5.js +0 -1
  90. package/dist/client/assets/editor-CiK7TK0p.js +0 -14
  91. package/dist/client/assets/index-BRr3Kuxh.css +0 -1
  92. package/dist/client/assets/index-BjzELSQ-.js +0 -12
  93. package/dist/client/assets/katex-CEK31ho9.css +0 -1
  94. package/dist/client/assets/spellCheck-BfZEnpwY.js +0 -1
  95. package/dist/client/assets/x-Tbo3aA0J.js +0 -1
@@ -1,65 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/katex-CEK31ho9.css"])))=>i.map(i=>d[i]);
2
- import{u as ki,r as Y,j as $e}from"./react-BVUjbTTn.js";import{s as rr,E as se,V as dt,D as te,a as Ht,R as wi,P as ir,S as xt,b as Me,f as xi,M as or,m as Bn,i as Si,c as bi,d as Mi,e as Li,g as Ai,h as Ei,j as Dn,k as ar,l as St,n as Oi,o as Ri,p as Ti,q as Ii,r as Ni,t as Pi,u as Bi,v as Di,w as _i,x as Ki,y as it,F as Yt,A as Xt,z as $i,W as sr,B as lr,C as _n,G as Fi,H as _t,I as Kt,J as Hi,K as Vi,L as ji,N as Wi,O as Ui,Q as zi,T as Qi,U as qi,X as Ji,Y as Zi,Z as Yi,_ as Xi,$ as Gi,a0 as eo,a1 as to,a2 as no,a3 as ro,a4 as io,a5 as oo,a6 as Gt,a7 as ao,a8 as so,a9 as lo,aa as co,ab as be,ac as uo,ad as fo}from"./editor-CiK7TK0p.js";import{r as Kn,a as ht,U as cr,b as Vt,d as jt,e as $n,m as ho,f as po,g as $t,t as Ct,h as kt,i as go}from"./ProjectWorkspace-DqLwkGpT.js";import{_ as Fn}from"./index-BjzELSQ-.js";import"./check-sZxOOKtS.js";import"./x-Tbo3aA0J.js";import"./search-Bz9Ob5mT.js";import"./user-plus--aVpd8K6.js";import"./refresh-cw-Bo7-a7-I.js";function vo(a){var i=a.Pos;function l(e,t,n){if(t.line===n.line&&t.ch>=n.ch-1){var r=e.getLine(t.line),o=r.charCodeAt(t.ch);55296<=o&&o<=55551&&(n.ch+=1)}return{start:t,end:n}}var c=[{keys:"<Left>",type:"keyToKey",toKeys:"h"},{keys:"<Right>",type:"keyToKey",toKeys:"l"},{keys:"<Up>",type:"keyToKey",toKeys:"k"},{keys:"<Down>",type:"keyToKey",toKeys:"j"},{keys:"g<Up>",type:"keyToKey",toKeys:"gk"},{keys:"g<Down>",type:"keyToKey",toKeys:"gj"},{keys:"<Space>",type:"keyToKey",toKeys:"l"},{keys:"<BS>",type:"keyToKey",toKeys:"h"},{keys:"<Del>",type:"keyToKey",toKeys:"x"},{keys:"<C-Space>",type:"keyToKey",toKeys:"W"},{keys:"<C-BS>",type:"keyToKey",toKeys:"B"},{keys:"<S-Space>",type:"keyToKey",toKeys:"w"},{keys:"<S-BS>",type:"keyToKey",toKeys:"b"},{keys:"<C-n>",type:"keyToKey",toKeys:"j"},{keys:"<C-p>",type:"keyToKey",toKeys:"k"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-[>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-c>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>"},{keys:"<C-Esc>",type:"keyToKey",toKeys:"<Esc>",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"<Home>",type:"keyToKey",toKeys:"0"},{keys:"<End>",type:"keyToKey",toKeys:"$"},{keys:"<PageUp>",type:"keyToKey",toKeys:"<C-b>"},{keys:"<PageDown>",type:"keyToKey",toKeys:"<C-f>"},{keys:"<CR>",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"<Ins>",type:"keyToKey",toKeys:"i",context:"normal"},{keys:"<Ins>",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"<C-f>",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"<C-b>",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"<C-d>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"<C-u>",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"g$",type:"motion",motion:"moveToEndOfDisplayLine"},{keys:"g^",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"g0",type:"motion",motion:"moveToStartOfDisplayLine"},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F<character>",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T<character>",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[<character>",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"gc",type:"operator",operator:"toggleComment",isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"gq",type:"operator",operator:"hardWrap"},{keys:"gw",type:"operator",operator:"hardWrap",operatorArgs:{keepCursor:!0}},{keys:"g?",type:"operator",operator:"rot13"},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"<C-u>",type:"operatorMotion",operator:"delete",motion:"moveToStartOfLine",context:"insert"},{keys:"<C-w>",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"<C-w>",type:"idle",context:"normal"},{keys:"<C-i>",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"<C-o>",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"<C-e>",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"<C-y>",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"<C-v>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"<C-q>",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r<character>",type:"action",action:"replace",isEdit:!0},{keys:"@<register>",type:"action",action:"replayMacro"},{keys:"q<register>",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"<C-r>",type:"action",action:"redo"},{keys:"m<register>",type:"action",action:"setMark"},{keys:'"<register>',type:"action",action:"setRegister"},{keys:"<C-r><register>",type:"action",action:"insertRegister",context:"insert",isEdit:!0},{keys:"<C-o>",type:"action",action:"oneNormalCommand",context:"insert"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z<CR>",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"<C-a>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"<C-x>",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"<C-t>",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"<C-d>",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a<register>",type:"motion",motion:"textObjectManipulation"},{keys:"i<register>",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],f=Object.create(null),v=c.length,C=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"omap",shortName:"om"},{name:"noremap",shortName:"no"},{name:"nnoremap",shortName:"nn"},{name:"vnoremap",shortName:"vn"},{name:"inoremap",shortName:"ino"},{name:"onoremap",shortName:"ono"},{name:"unmap"},{name:"mapclear",shortName:"mapc"},{name:"nmapclear",shortName:"nmapc"},{name:"vmapclear",shortName:"vmapc"},{name:"imapclear",shortName:"imapc"},{name:"omapclear",shortName:"omapc"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"startinsert",shortName:"start"},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"put",shortName:"pu"},{name:"delmarks",shortName:"delm"},{name:"marks",excludeFromCommandHistory:!0},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"vglobal",shortName:"v"},{name:"delete",shortName:"d"},{name:"join",shortName:"j"},{name:"normal",shortName:"norm"},{name:"global",shortName:"g"}],x=nn("");function S(e){e.setOption("disableInput",!0),e.setOption("showCursorWhenSelecting",!1),a.signal(e,"vim-mode-change",{mode:"normal"}),e.on("cursorActivity",On),Ee(e),a.on(e.getInputField(),"paste",R(e))}function T(e){e.setOption("disableInput",!1),e.off("cursorActivity",On),a.off(e.getInputField(),"paste",R(e)),e.state.vim=null,ut&&clearTimeout(ut)}function R(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor(ie(e.getCursor(),0,1)),Ze.enterInsertMode(e,{},t))}),t.onPasteFn}var L=/[\d]/,A=[a.isWordChar,function(e){return e&&!a.isWordChar(e)&&!/\s/.test(e)}],D=[function(e){return/\S/.test(e)}],_=["<",">"],j=["-",'"',".",":","_","/","+"],z=/^\w$/,q=/^[A-Z]$/;try{q=new RegExp("^[\\p{Lu}]$","u")}catch{}function W(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function ae(e){return/^[a-z]$/.test(e)}function le(e){return"()[]{}".indexOf(e)!=-1}function J(e){return L.test(e)}function ye(e){return q.test(e)}function re(e){return/^\s*$/.test(e)}function He(e){return".?!".indexOf(e)!=-1}function et(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var Ae={};function Ve(e,t,n,r,o){if(t===void 0&&!o)throw Error("defaultValue is required unless callback is provided");if(n||(n="string"),Ae[e]={type:n,defaultValue:t,callback:o},r)for(var s=0;s<r.length;s++)Ae[r[s]]=Ae[e];t&&Qe(e,t)}function Qe(e,t,n,r){var o=Ae[e];r=r||{};var s=r.scope;if(!o)return new Error("Unknown option: "+e);if(o.type=="boolean"){if(t&&t!==!0)return new Error("Invalid argument: "+e+"="+t);t!==!1&&(t=!0)}o.callback?(s!=="local"&&o.callback(t,void 0),s!=="global"&&n&&o.callback(t,n)):(s!=="local"&&(o.value=o.type=="boolean"?!!t:t),s!=="global"&&n&&(n.state.vim.options[e]={value:t}))}function de(e,t,n){var r=Ae[e];n=n||{};var o=n.scope;if(!r)return new Error("Unknown option: "+e);if(r.callback){let s=t&&r.callback(void 0,t);return o!=="global"&&s!==void 0?s:o!=="local"?r.callback():void 0}else return(o!=="global"&&t&&t.state.vim.options[e]||o!=="local"&&r||{}).value}Ve("filetype",void 0,"string",["ft"],function(e,t){if(t!==void 0)if(e===void 0){let n=t.getOption("mode");return n=="null"?"":n}else{let n=e==""?"null":e;t.setOption("mode",n)}}),Ve("textwidth",80,"number",["tw"],function(e,t){if(t!==void 0)if(e===void 0){var n=t.getOption("textwidth");return n}else{var r=Math.round(e);r>1&&t.setOption("textwidth",r)}});var pt=function(){var e=100,t=-1,n=0,r=0,o=new Array(e);function s(d,p,g){var y=t%e,k=o[y];function w(b){var M=++t%e,P=o[M];P&&P.clear(),o[M]=d.setBookmark(b)}if(k){var m=k.find();m&&!Re(m,p)&&w(p)}else w(p);w(g),n=t,r=t-e+1,r<0&&(r=0)}function u(d,p){t+=p,t>n?t=n:t<r&&(t=r);var g=o[(e+t)%e];if(g&&!g.find()){var y=p>0?1:-1,k,w=d.getCursor();do if(t+=y,g=o[(e+t)%e],g&&(k=g.find())&&!Re(w,k))break;while(t<n&&t>r)}return g}function h(d,p){var g=t,y=u(d,p);return t=g,y&&y.find()}return{cachedCursor:void 0,add:s,find:h,move:u}},at=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};class gt{constructor(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=at()}exitMacroRecordMode(){var t=E.macroModeState;t.onRecordingDone&&t.onRecordingDone(),t.onRecordingDone=void 0,t.isRecording=!1}enterMacroRecordMode(t,n){var r=E.registerController.getRegister(n);if(r){if(r.clear(),this.latestRegister=n,t.openDialog){var o=Ne("span",{class:"cm-vim-message"},"recording @"+n);this.onRecordingDone=t.openDialog(o,function(){},{bottom:!0})}this.isRecording=!0}}}function Ee(e){return e.state.vim||(e.state.vim={inputState:new rn,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:void 0,sel:{anchor:new i(0,0),head:new i(0,0)},options:{},expectLiteralNext:!1,status:""}),e.state.vim}var E;function tt(){E={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:pt(),macroModeState:new gt,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new Rr({}),searchHistoryController:new on,exCommandHistoryController:new on};for(var e in Ae){var t=Ae[e];t.value=t.defaultValue}}class we{constructor(t,n){this.keyName=t,this.key=n.key,this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.metaKey=n.metaKey,this.shiftKey=n.shiftKey}}var xe,pe={enterVimMode:S,leaveVimMode:T,buildKeyMap:function(){},getRegisterController:function(){return E.registerController},resetVimGlobalState_:tt,getVimGlobalState_:function(){return E},maybeInitVimState_:Ee,suppressErrorLogging:!1,InsertModeKey:we,map:function(e,t,n){Ce.map(e,t,n)},unmap:function(e,t){return Ce.unmap(e,t)},noremap:function(e,t,n){Ce.map(e,t,n,!0)},mapclear:function(e){var t=c.length,n=v,r=c.slice(0,t-n);if(c=c.slice(t-n),e)for(var o=r.length-1;o>=0;o--){var s=r[o];if(e!==s.context)if(s.context)this._mapCommand(s);else{var u=["normal","insert","visual"];for(var h in u)if(u[h]!==e){var d=Object.assign({},s);d.context=u[h],this._mapCommand(d)}}}},langmap:lt,vimKeyFromEvent:qe,setOption:Qe,getOption:de,defineOption:Ve,defineEx:function(e,t,n){if(!t)t=e;else if(e.indexOf(t)!==0)throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered');An[e]=n,Ce.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if(typeof r=="function")return r()},multiSelectHandleKey:Ci,findKey:function(e,t,n){var r=Ee(e),o=e;function s(){var g=E.macroModeState;if(g.isRecording){if(t=="q")return g.exitMacroRecordMode(),ce(o),!0;n!="mapping"&&vi(g,t)}}function u(){if(t=="<Esc>"){if(r.visualMode)_e(o);else if(r.insertMode)ze(o);else return;return ce(o),!0}}function h(){if(u())return!0;r.inputState.keyBuffer.push(t);var g=r.inputState.keyBuffer.join(""),y=t.length==1,k=Je.matchCommand(g,c,r.inputState,"insert"),w=r.inputState.changeQueue;if(k.type=="none")return ce(o),!1;if(k.type=="partial"){if(k.expectLiteralNext&&(r.expectLiteralNext=!0),xe&&window.clearTimeout(xe),xe=y&&window.setTimeout(function(){r.insertMode&&r.inputState.keyBuffer.length&&ce(o)},de("insertModeEscKeysTimeout")),y){var m=o.listSelections();(!w||w.removed.length!=m.length)&&(w=r.inputState.changeQueue=new Er),w.inserted+=t;for(var b=0;b<m.length;b++){var M=me(m[b].anchor,m[b].head),P=Ue(m[b].anchor,m[b].head),I=o.getRange(M,o.state.overwrite?ie(P,0,1):P);w.removed[b]=(w.removed[b]||"")+I}}return!y}else k.type=="full"&&(r.inputState.keyBuffer.length=0);if(r.expectLiteralNext=!1,xe&&window.clearTimeout(xe),k.command&&w){for(var m=o.listSelections(),b=0;b<m.length;b++){var N=m[b].head;o.replaceRange(w.removed[b]||"",ie(N,0,-w.inserted.length),N,"+input")}E.macroModeState.lastInsertModeChanges.changes.pop()}return k.command||ce(o),k.command}function d(){if(s()||u())return!0;r.inputState.keyBuffer.push(t);var g=r.inputState.keyBuffer.join("");if(/^[1-9]\d*$/.test(g))return!0;var y=/^(\d*)(.*)$/.exec(g);if(!y)return ce(o),!1;var k=r.visualMode?"visual":"normal",w=y[2]||y[1];r.inputState.operatorShortcut&&r.inputState.operatorShortcut.slice(-1)==w&&(w=r.inputState.operatorShortcut);var m=Je.matchCommand(w,c,r.inputState,k);return m.type=="none"?(ce(o),!1):m.type=="partial"?(m.expectLiteralNext&&(r.expectLiteralNext=!0),!0):m.type=="clear"?(ce(o),!0):(r.expectLiteralNext=!1,r.inputState.keyBuffer.length=0,y=/^(\d*)(.*)$/.exec(g),y&&y[1]&&y[1]!="0"&&r.inputState.pushRepeatDigit(y[1]),m.command)}var p=r.insertMode?h():d();if(p===!1)return!r.insertMode&&(t.length===1||a.isMac&&/<A-.>/.test(t))?function(){return!0}:void 0;if(p===!0)return function(){return!0};if(p)return function(){return o.operation(function(){o.curOp.isVimOp=!0;try{if(typeof p!="object")return;p.type=="keyToKey"?U(o,p.toKeys,p):Je.processCommand(o,r,p)}catch(g){throw o.state.vim=void 0,Ee(o),pe.suppressErrorLogging||console.log(g),g}return!0})}},handleEx:function(e,t){Ce.processCommand(e,t)},defineMotion:Tr,defineAction:Nr,defineOperator:Ir,mapCommand:pi,_mapCommand:Nt,defineRegister:Or,exitVisualMode:_e,exitInsertMode:ze},B=[],X=!1,O;function Z(e){if(!O)throw new Error("No prompt to send key to");if(e[0]=="<"){var t=e.toLowerCase().slice(1,-1),n=t.split("-");if(t=n.pop()||"",t=="lt")e="<";else if(t=="space")e=" ";else if(t=="cr")e=`
3
- `;else if(We[t]){var r=O.value||"",o={key:We[t],target:{value:r,selectionEnd:r.length,selectionStart:r.length}};O.onKeyDown&&O.onKeyDown(o,O.value,u),O&&O.onKeyUp&&O.onKeyUp(o,O.value,u);return}}if(e==`
4
- `){var s=O;O=null,s.onClose&&s.onClose(s.value)}else O.value=(O.value||"")+e;function u(h){O&&(typeof h=="string"?O.value=h:O=null)}}function U(e,t,n){var r=X;if(n){if(B.indexOf(n)!=-1)return;B.push(n),X=n.noremap!=!1}try{for(var o=Ee(e),s=/<(?:[CSMA]-)*\w+>|./gi,u;u=s.exec(t);){var h=u[0],d=o.insertMode;if(O){Z(h);continue}var p=pe.handleKey(e,h,"mapping");if(!p&&d&&o.insertMode){if(h[0]=="<"){var g=h.toLowerCase().slice(1,-1),y=g.split("-");if(g=y.pop()||"",g=="lt")h="<";else if(g=="space")h=" ";else if(g=="cr")h=`
5
- `;else if(We.hasOwnProperty(g)){h=We[g],Nn(e,h);continue}else h=h[0],s.lastIndex=u.index+1}e.replaceSelection(h)}}}finally{if(B.pop(),X=B.length?r:!1,!B.length&&O){var k=O;O=null,mt(e,k)}}}var Oe={Return:"CR",Backspace:"BS",Delete:"Del",Escape:"Esc",Insert:"Ins",ArrowLeft:"Left",ArrowRight:"Right",ArrowUp:"Up",ArrowDown:"Down",Enter:"CR"," ":"Space"},st={Shift:1,Alt:1,Command:1,Control:1,CapsLock:1,AltGraph:1,Dead:1,Unidentified:1},We={};"Left|Right|Up|Down|End|Home".split("|").concat(Object.keys(Oe)).forEach(function(e){We[(Oe[e]||"").toLowerCase()]=We[e.toLowerCase()]=e});function qe(e,t){var n=e.key;if(!st[n]){n.length>1&&n[0]=="n"&&(n=n.replace("Numpad","")),n=Oe[n]||n;var r="";if(e.ctrlKey&&(r+="C-"),e.altKey&&(r+="A-"),e.metaKey&&(r+="M-"),a.isMac&&r=="A-"&&n.length==1&&(r=r.slice(2)),(r||n.length>1)&&e.shiftKey&&(r+="S-"),t&&!t.expectLiteralNext&&n.length==1){if(x.keymap&&n in x.keymap)(x.remapCtrl!=!1||!r)&&(n=x.keymap[n]);else if(n.charCodeAt(0)>128&&!f[n]){var o=e.code?.slice(-1)||"";e.shiftKey||(o=o.toLowerCase()),o&&(n=o,!r&&e.altKey&&(r="A-"))}}return r+=n,r.length>1&&(r="<"+r+">"),r}}function lt(e,t){x.string!==e&&(x=nn(e)),x.remapCtrl=t}function nn(e){let t={};if(!e)return{keymap:t,string:""};function n(r){return r.split(/\\?(.)/).filter(Boolean)}return e.split(/((?:[^\\,]|\\.)+),/).map(r=>{if(!r)return;const o=r.split(/((?:[^\\;]|\\.)+);/);if(o.length==3){const s=n(o[1]),u=n(o[2]);if(s.length!==u.length)return;for(let h=0;h<s.length;++h)t[s[h]]=u[h]}else if(o.length==1){const s=n(r);if(s.length%2!==0)return;for(let u=0;u<s.length;u+=2)t[s[u]]=s[u+1]}}),{keymap:t,string:e}}Ve("langmap",void 0,"string",["lmap"],function(e,t){if(e===void 0)return x.string;lt(e)});class rn{constructor(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=void 0,this.changeQueue=null}pushRepeatDigit(t){this.operator?this.motionRepeat=this.motionRepeat.concat(t):this.prefixRepeat=this.prefixRepeat.concat(t)}getRepeat(){var t=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(t=1,this.prefixRepeat.length>0&&(t*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(t*=parseInt(this.motionRepeat.join(""),10))),t}}function ce(e,t){e.state.vim.inputState=new rn,e.state.vim.expectLiteralNext=!1,a.signal(e,"vim-command-done",t)}function Er(){this.removed=[],this.inserted=""}class Be{constructor(t,n,r){this.clear(),this.keyBuffer=[t||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!n,this.blockwise=!!r}setText(t,n,r){this.keyBuffer=[t||""],this.linewise=!!n,this.blockwise=!!r}pushText(t,n){n&&(this.linewise||this.keyBuffer.push(`
6
- `),this.linewise=!0),this.keyBuffer.push(t)}pushInsertModeChanges(t){this.insertModeChanges.push(at(t))}pushSearchQuery(t){this.searchQueries.push(t)}clear(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1}toString(){return this.keyBuffer.join("")}}function Or(e,t){var n=E.registerController.registers;if(!e||e.length!=1)throw Error("Register name must be 1 character");if(n[e])throw Error("Register already defined "+e);n[e]=t,j.push(e)}class Rr{constructor(t){this.registers=t,this.unnamedRegister=t['"']=new Be,t["."]=new Be,t[":"]=new Be,t["/"]=new Be,t["+"]=new Be}pushText(t,n,r,o,s){if(t!=="_"){o&&r.charAt(r.length-1)!==`
7
- `&&(r+=`
8
- `);var u=this.isValidRegister(t)?this.getRegister(t):null;if(!u||!t){switch(n){case"yank":this.registers[0]=new Be(r,o,s);break;case"delete":case"change":r.indexOf(`
9
- `)==-1?this.registers["-"]=new Be(r,o):(this.shiftNumericRegisters_(),this.registers[1]=new Be(r,o));break}this.unnamedRegister.setText(r,o,s);return}var h=ye(t);h?u.pushText(r,o):u.setText(r,o,s),t==="+"&&navigator.clipboard.writeText(r),this.unnamedRegister.setText(u.toString(),o)}}getRegister(t){return this.isValidRegister(t)?(t=t.toLowerCase(),this.registers[t]||(this.registers[t]=new Be),this.registers[t]):this.unnamedRegister}isValidRegister(t){return t&&(et(t,j)||z.test(t))}shiftNumericRegisters_(){for(var t=9;t>=2;t--)this.registers[t]=this.getRegister(""+(t-1))}}class on{constructor(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}nextMatch(t,n){var r=this.historyBuffer,o=n?-1:1;this.initialPrefix===null&&(this.initialPrefix=t);for(var s=this.iterator+o;n?s>=0:s<r.length;s+=o)for(var u=r[s],h=0;h<=u.length;h++)if(this.initialPrefix==u.substring(0,h))return this.iterator=s,u;if(s>=r.length)return this.iterator=r.length,this.initialPrefix;if(s<0)return t}pushInput(t){var n=this.historyBuffer.indexOf(t);n>-1&&this.historyBuffer.splice(n,1),t.length&&this.historyBuffer.push(t)}reset(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}}var Je={matchCommand:function(e,t,n,r){var o=Pr(e,t,r,n),s=o.full[0];if(!s)return o.partial.length?{type:"partial",expectLiteralNext:o.partial.length==1&&o.partial[0].keys.slice(-11)=="<character>"}:{type:"none"};if(s.keys.slice(-11)=="<character>"||s.keys.slice(-10)=="<register>"){var u=Dr(e);if(!u||u.length>1)return{type:"clear"};n.selectedCharacter=u}return{type:"full",command:s}},processCommand:function(e,t,n){switch(t.inputState.repeatOverride=n.repeatOverride,n.type){case"motion":this.processMotion(e,t,n);break;case"operator":this.processOperator(e,t,n);break;case"operatorMotion":this.processOperatorMotion(e,t,n);break;case"action":this.processAction(e,t,n);break;case"search":this.processSearch(e,t,n);break;case"ex":case"keyToEx":this.processEx(e,t,n);break}},processMotion:function(e,t,n){t.inputState.motion=n.motion,t.inputState.motionArgs=vt(n.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,n){var r=t.inputState;if(r.operator)if(r.operator==n.operator){r.motion="expandToLine",r.motionArgs={linewise:!0,repeat:1},this.evalInput(e,t);return}else ce(e);r.operator=n.operator,r.operatorArgs=vt(n.operatorArgs),n.keys.length>1&&(r.operatorShortcut=n.keys),n.exitVisualBlock&&(t.visualBlock=!1,nt(e)),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,n){var r=t.visualMode,o=vt(n.operatorMotionArgs);o&&r&&o.visualLine&&(t.visualLine=!0),this.processOperator(e,t,n),r||this.processMotion(e,t,n)},processAction:function(e,t,n){var r=t.inputState,o=r.getRepeat(),s=!!o,u=vt(n.actionArgs)||{repeat:1};r.selectedCharacter&&(u.selectedCharacter=r.selectedCharacter),n.operator&&this.processOperator(e,t,n),n.motion&&this.processMotion(e,t,n),(n.motion||n.operator)&&this.evalInput(e,t),u.repeat=o||1,u.repeatIsExplicit=s,u.registerName=r.registerName,ce(e),t.lastMotion=null,n.isEdit&&this.recordLastEdit(t,r,n),Ze[n.action](e,u,t)},processSearch:function(e,t,n){if(!e.getSearchCursor)return;var r=n.searchArgs.forward,o=n.searchArgs.wholeWordOnly;Ie(e).setReversed(!r);var s=r?"/":"?",u=Ie(e).getQuery(),h=e.getScrollInfo(),d="";function p(I,N,K){E.searchHistoryController.pushInput(I),E.searchHistoryController.reset();try{ct(e,I,N,K)}catch{Q(e,"Invalid regex: "+I),ce(e);return}Je.processMotion(e,t,{keys:"",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:n.searchArgs.toJumplist}})}function g(I){e.scrollTo(h.left,h.top),p(I,!0,!0);var N=E.macroModeState;N.isRecording&&yi(N,I)}function y(){return de("pcre")?"(JavaScript regexp: set pcre)":"(Vim regexp: set nopcre)"}function k(I,N,K){var F=qe(I),oe,ee;F=="<Up>"||F=="<Down>"?(oe=F=="<Up>",ee=I.target?I.target.selectionEnd:0,N=E.searchHistoryController.nextMatch(N,oe)||"",K(N),ee&&I.target&&(I.target.selectionEnd=I.target.selectionStart=Math.min(ee,I.target.value.length))):F&&F!="<Left>"&&F!="<Right>"&&E.searchHistoryController.reset(),d=N,w()}function w(){var I;try{I=ct(e,d,!0,!0)}catch{}I?e.scrollIntoView(Mn(e,!r,I),30):(rt(e),e.scrollTo(h.left,h.top))}function m(I,N,K){var F=qe(I);F=="<Esc>"||F=="<C-c>"||F=="<C-[>"||F=="<BS>"&&N==""?(E.searchHistoryController.pushInput(N),E.searchHistoryController.reset(),ct(e,u?.source||""),rt(e),e.scrollTo(h.left,h.top),a.e_stop(I),ce(e),K(),e.focus()):F=="<Up>"||F=="<Down>"?a.e_stop(I):F=="<C-u>"&&(a.e_stop(I),K(""))}switch(n.searchArgs.querySrc){case"prompt":var b=E.macroModeState;if(b.isPlaying){let N=b.replaySearchQueries.shift();p(N||"",!0,!1)}else mt(e,{onClose:g,prefix:s,desc:Ne("span",{$cursor:"pointer",onmousedown:function(N){N.preventDefault(),Qe("pcre",!de("pcre")),this.textContent=y(),w()}},y()),onKeyUp:k,onKeyDown:m});break;case"wordUnderCursor":var M=Ot(e,{noSymbol:!0}),P=!0;if(M||(M=Ot(e,{noSymbol:!1}),P=!1),!M){Q(e,"No word under cursor"),ce(e);return}let I=e.getLine(M.start.line).substring(M.start.ch,M.end.ch);P&&o?I="\\b"+I+"\\b":I=_r(I),E.jumpList.cachedCursor=e.getCursor(),e.setCursor(M.start),p(I,!0,!1);break}},processEx:function(e,t,n){function r(d){E.exCommandHistoryController.pushInput(d),E.exCommandHistoryController.reset(),Ce.processCommand(e,d),e.state.vim&&ce(e),rt(e)}function o(d,p,g){var y=qe(d),k,w;(y=="<Esc>"||y=="<C-c>"||y=="<C-[>"||y=="<BS>"&&p=="")&&(E.exCommandHistoryController.pushInput(p),E.exCommandHistoryController.reset(),a.e_stop(d),ce(e),rt(e),g(),e.focus()),y=="<Up>"||y=="<Down>"?(a.e_stop(d),k=y=="<Up>",w=d.target?d.target.selectionEnd:0,p=E.exCommandHistoryController.nextMatch(p,k)||"",g(p),w&&d.target&&(d.target.selectionEnd=d.target.selectionStart=Math.min(w,d.target.value.length))):y=="<C-u>"?(a.e_stop(d),g("")):y&&y!="<Left>"&&y!="<Right>"&&E.exCommandHistoryController.reset()}function s(d,p){var g=new a.StringStream(p),y={};try{if(Ce.parseInput_(e,g,y),y.commandName!="s"){rt(e);return}var k=Ce.matchCommand_(y.commandName);if(!k||(Ce.parseCommandArgs_(g,y,k),!y.argString))return;var w=bn(y.argString.slice(1),!0,!0);w&&Tt(e,w)}catch{}}if(n.type=="keyToEx")Ce.processCommand(e,n.exArgs.input);else{var u={onClose:r,onKeyDown:o,onKeyUp:s,prefix:":"};if(t.visualMode)u.value="'<,'>",u.selectValueOnOpen=!1;else{var h=t.inputState.getRepeat();h>1&&(u.value=".,.+"+(h-1),u.selectValueOnOpen=!1)}mt(e,u)}},evalInput:function(e,t){var n=t.inputState,r=n.motion,o=n.motionArgs||{repeat:1},s=n.operator,u=n.operatorArgs||{},h=n.registerName,d=t.sel,p=G(t.visualMode?ve(e,d.head):e.getCursor("head")),g=G(t.visualMode?ve(e,d.anchor):e.getCursor("anchor")),y=G(p),k=G(g),w,m,b;if(s&&this.recordLastEdit(t,n),n.repeatOverride!==void 0?b=n.repeatOverride:b=n.getRepeat(),b>0&&o.explicitRepeat?o.repeatIsExplicit=!0:(o.noRepeat||!o.explicitRepeat&&b===0)&&(b=1,o.repeatIsExplicit=!1),n.selectedCharacter&&(o.selectedCharacter=u.selectedCharacter=n.selectedCharacter),o.repeat=b,ce(e),r){var M=De[r](e,p,o,t,n);if(t.lastMotion=De[r],!M)return;if(o.toJumplist){var P=E.jumpList,I=P.cachedCursor;I?(hn(e,I,M),delete P.cachedCursor):hn(e,p,M)}M instanceof Array?(m=M[0],w=M[1]):w=M,w||(w=G(p)),t.visualMode?(t.visualBlock&&w.ch===1/0||(w=ve(e,w,y)),m&&(m=ve(e,m)),m=m||k,d.anchor=m,d.head=w,nt(e),je(e,t,"<",ne(m,w)?m:w),je(e,t,">",ne(m,w)?w:m)):s||(w=ve(e,w,y),e.setCursor(w.line,w.ch))}if(s){if(u.lastSel){m=k;var N=u.lastSel,K=Math.abs(N.head.line-N.anchor.line),F=Math.abs(N.head.ch-N.anchor.ch);N.visualLine?w=new i(k.line+K,k.ch):N.visualBlock?w=new i(k.line+K,k.ch+F):N.head.line==N.anchor.line?w=new i(k.line,k.ch+F):w=new i(k.line+K,k.ch),t.visualMode=!0,t.visualLine=N.visualLine,t.visualBlock=N.visualBlock,d=t.sel={anchor:m,head:w},nt(e)}else t.visualMode&&(u.lastSel={anchor:G(d.anchor),head:G(d.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var oe,ee,ue,V,$;if(t.visualMode){oe=me(d.head,d.anchor),ee=Ue(d.head,d.anchor),ue=t.visualLine||u.linewise,V=t.visualBlock?"block":ue?"line":"char";var ke=l(e,oe,ee);if($=Et(e,{anchor:ke.start,head:ke.end},V),ue){var fe=$.ranges;if(V=="block")for(var he=0;he<fe.length;he++)fe[he].head.ch=ge(e,fe[he].head.line);else V=="line"&&(fe[0].head=new i(fe[0].head.line+1,0))}}else{if(oe=G(m||k),ee=G(w||y),ne(ee,oe)){var Ye=oe;oe=ee,ee=Ye}ue=o.linewise||u.linewise,ue?Wr(e,oe,ee):o.forward&&jr(e,oe,ee),V="char";var Bt=!o.inclusive||ue,ke=l(e,oe,ee);$=Et(e,{anchor:ke.start,head:ke.end},V,Bt)}e.setSelections($.ranges,$.primary),t.lastMotion=null,u.repeat=b,u.registerName=h,u.linewise=ue;var Dt=Lt[s](e,u,$.ranges,k,w);t.visualMode&&_e(e,Dt!=null),Dt&&e.setCursor(Dt)}},recordLastEdit:function(e,t,n){var r=E.macroModeState;r.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=n,r.lastInsertModeChanges.changes=[],r.lastInsertModeChanges.expectCursorActivityForChange=!1,r.lastInsertModeChanges.visualBlock=e.visualBlock?e.sel.head.line-e.sel.anchor.line:0)}},De={moveToTopLine:function(e,t,n){var r=It(e).top+n.repeat-1;return new i(r,Ke(e.getLine(r)))},moveToMiddleLine:function(e){var t=It(e),n=Math.floor((t.top+t.bottom)*.5);return new i(n,Ke(e.getLine(n)))},moveToBottomLine:function(e,t,n){var r=It(e).bottom-n.repeat+1;return new i(r,Ke(e.getLine(r)))},expandToLine:function(e,t,n){var r=t;return new i(r.line+n.repeat-1,1/0)},findNext:function(e,t,n){var r=Ie(e),o=r.getQuery();if(o){var s=!n.forward;s=r.isReversed()?!s:s,Tt(e,o);var u=Mn(e,s,o,n.repeat);return u||Q(e,"No match found "+o+(de("pcre")?" (set nopcre to use Vim regexps)":"")),u}},findAndSelectNextInclusive:function(e,t,n,r,o){var s=Ie(e),u=s.getQuery();if(u){var h=!n.forward;h=s.isReversed()?!h:h;var d=li(e,h,u,n.repeat,r);if(d){if(o.operator)return d;var p=d[0],g=new i(d[1].line,d[1].ch-1);if(r.visualMode){(r.visualLine||r.visualBlock)&&(r.visualLine=!1,r.visualBlock=!1,a.signal(e,"vim-mode-change",{mode:"visual",subMode:""}));var y=r.sel.anchor;if(y)return s.isReversed()?n.forward?[y,p]:[y,g]:n.forward?[y,g]:[y,p]}else r.visualMode=!0,r.visualLine=!1,r.visualBlock=!1,a.signal(e,"vim-mode-change",{mode:"visual",subMode:""});return h?[g,p]:[p,g]}}},goToMark:function(e,t,n,r){var o=yt(e,r,n.selectedCharacter||"");return o?n.linewise?{line:o.line,ch:Ke(e.getLine(o.line))}:o:null},moveToOtherHighlightedEnd:function(e,t,n,r){var o=r.sel;return r.visualBlock&&n.sameLine?[ve(e,new i(o.anchor.line,o.head.ch)),ve(e,new i(o.head.line,o.anchor.ch))]:[o.head,o.anchor]},jumpToMark:function(e,t,n,r){for(var o=t,s=0;s<n.repeat;s++){var u=o;for(var h in r.marks)if(ae(h)){var d=r.marks[h].find(),p=n.forward?ne(d,u):ne(u,d);if(!p&&!(n.linewise&&d.line==u.line)){var g=Re(u,o),y=n.forward?ln(u,d,o):ln(o,d,u);(g||y)&&(o=d)}}}return n.linewise&&(o=new i(o.line,Ke(e.getLine(o.line)))),o},moveByCharacters:function(e,t,n){var r=t,o=n.repeat,s=n.forward?r.ch+o:r.ch-o;return new i(r.line,s)},moveByLines:function(e,t,n,r){var o=t,s=o.ch;switch(r.lastMotion){case this.moveByLines:case this.moveByDisplayLines:case this.moveByScroll:case this.moveToColumn:case this.moveToEol:s=r.lastHPos;break;default:r.lastHPos=s}var u=n.repeat+(n.repeatOffset||0),h=n.forward?o.line+u:o.line-u,d=e.firstLine(),p=e.lastLine(),g=e.findPosV(o,n.forward?u:-u,"line",r.lastHSPos),y=n.forward?g.line>h:g.line<h;return y&&(h=g.line,s=g.ch),h<d&&o.line==d?this.moveToStartOfLine(e,t,n,r):h>p&&o.line==p?vn(e,t,n,r,!0):(n.toFirstChar&&(s=Ke(e.getLine(h)),r.lastHPos=s),r.lastHSPos=e.charCoords(new i(h,s),"div").left,new i(h,s))},moveByDisplayLines:function(e,t,n,r){var o=t;switch(r.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:r.lastHSPos=e.charCoords(o,"div").left}for(var s=Math.round(n.repeat),u=0;u<s;u++){var h=e.findPosV(o,n.forward?1:-1,"line",r.lastHSPos);if(h.hitSide)break;o=h}return o!=t&&(r.lastHPos=o.ch),o},moveByPage:function(e,t,n){var r=t,o=n.repeat;return e.findPosV(r,n.forward?o:-o,"page")},moveByParagraph:function(e,t,n){var r=n.forward?1:-1;return mn(e,t,n.repeat,r).start},moveBySentence:function(e,t,n){var r=n.forward?1:-1;return Yr(e,t,n.repeat,r)},moveByScroll:function(e,t,n,r){var o=e.getScrollInfo(),s=null,u=n.repeat;u||(u=o.clientHeight/(2*e.defaultTextHeight()));var h=e.charCoords(t,"local");if(n.repeat=u,s=De.moveByDisplayLines(e,t,n,r),!s)return null;var d=e.charCoords(s,"local");return e.scrollTo(null,o.top+d.top-h.top),s},moveByWords:function(e,t,n){return qr(e,t,n.repeat,!!n.forward,!!n.wordEnd,!!n.bigWord)},moveTillCharacter:function(e,t,n){var r=n.repeat,o=Rt(e,r,n.forward,n.selectedCharacter,t),s=n.forward?-1:1;return dn(s,n),o?(o.ch+=s,o):null},moveToCharacter:function(e,t,n){var r=n.repeat;return dn(0,n),Rt(e,r,n.forward,n.selectedCharacter,t)||t},moveToSymbol:function(e,t,n){var r=n.repeat;return n.selectedCharacter&&Qr(e,r,n.forward,n.selectedCharacter)||t},moveToColumn:function(e,t,n,r){var o=n.repeat;return r.lastHPos=o-1,r.lastHSPos=e.charCoords(t,"div").left,Jr(e,o)},moveToEol:function(e,t,n,r){return vn(e,t,n,r,!1)},moveToFirstNonWhiteSpaceCharacter:function(e,t){var n=t;return new i(n.line,Ke(e.getLine(n.line)))},moveToMatchedSymbol:function(e,t){for(var n=t,r=n.line,o=n.ch,s=e.getLine(r),u;o<s.length;o++)if(u=s.charAt(o),u&&le(u)){var h=e.getTokenTypeAt(new i(r,o+1));if(h!=="string"&&h!=="comment")break}if(o<s.length){var d=u==="<"||u===">"?/[(){}[\]<>]/:/[(){}[\]]/,p=e.findMatchingBracket(new i(r,o),{bracketRegex:d});return p.to}else return n},moveToStartOfLine:function(e,t){return new i(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,n){var r=n.forward?e.lastLine():e.firstLine();return n.repeatIsExplicit&&(r=n.repeat-e.getOption("firstLineNumber")),new i(r,Ke(e.getLine(r)))},moveToStartOfDisplayLine:function(e){return e.execCommand("goLineLeft"),e.getCursor()},moveToEndOfDisplayLine:function(e){e.execCommand("goLineRight");var t=e.getCursor();return t.sticky=="before"&&t.ch--,t},textObjectManipulation:function(e,t,n,r){var o={"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"},s={"'":!0,'"':!0,"`":!0},u=n.selectedCharacter||"";u=="b"?u="(":u=="B"&&(u="{");var h=!n.textObjectInner,d,p;if(o[u]){if(p=!0,d=Cn(e,t,u,h),!d){var g=e.getSearchCursor(new RegExp("\\"+u,"g"),t);g.find()&&(d=Cn(e,g.from(),u,h))}}else if(s[u])p=!0,d=Xr(e,t,u,h);else if(u==="W"||u==="w")for(var y=n.repeat||1;y-- >0;){var k=Ot(e,{inclusive:h,innerWord:!h,bigWord:u==="W",noSymbol:u==="W",multiline:!0},d&&d.end);k&&(d||(d=k),d.end=k.end)}else if(u==="p")if(d=mn(e,t,n.repeat,0,h),n.linewise=!0,r.visualMode)r.visualLine||(r.visualLine=!0);else{var w=r.inputState.operatorArgs;w&&(w.linewise=!0),d.end.line--}else if(u==="t")d=Ur(e,t,h);else if(u==="s"){var m=e.getLine(t.line);t.ch>0&&He(m[t.ch])&&(t.ch-=1);var b=yn(e,t,n.repeat,1,h),M=yn(e,t,n.repeat,-1,h);re(e.getLine(M.line)[M.ch])&&re(e.getLine(b.line)[b.ch-1])&&(M={line:M.line,ch:M.ch+1}),d={start:M,end:b}}return d?e.state.vim.visualMode?Hr(e,d.start,d.end,p):[d.start,d.end]:null},repeatLastCharacterSearch:function(e,t,n){var r=E.lastCharacterSearch,o=n.repeat,s=n.forward===r.forward,u=(r.increment?1:0)*(s?-1:1);n.inclusive=!!s;var h=Rt(e,o,s,r.selectedCharacter,ie(t,0,-u));return h?(h.ch+=u,h):t}};function Tr(e,t){De[e]=t}function an(e,t){for(var n=[],r=0;r<t;r++)n.push(e);return n}var Lt={change:function(e,t,n){var r,o,s=e.state.vim,u=n[0].anchor,h=n[0].head;if(s.visualMode)if(t.fullLine)h.ch=Number.MAX_VALUE,h.line--,e.setSelection(u,h),o=e.getSelection(),e.replaceSelection(""),r=u;else{o=e.getSelection();var g=an("",n.length);e.replaceSelections(g),r=me(n[0].head,n[0].anchor)}else{o=e.getRange(u,h);var d=s.lastEditInputState;if(d?.motion=="moveByWords"&&!re(o)){var p=/\s+$/.exec(o);p&&d.motionArgs&&d.motionArgs.forward&&(h=ie(h,0,-p[0].length),o=o.slice(0,-p[0].length))}t.linewise&&(u=new i(u.line,Ke(e.getLine(u.line))),h.line>u.line&&(h=new i(h.line-1,Number.MAX_VALUE))),e.replaceRange("",u,h),r=u}E.registerController.pushText(t.registerName,"change",o,t.linewise,n.length>1),Ze.enterInsertMode(e,{head:r},e.state.vim)},delete:function(e,t,n){var r,o,s=e.state.vim;if(s.visualBlock){o=e.getSelection();var d=an("",n.length);e.replaceSelections(d),r=me(n[0].head,n[0].anchor)}else{var u=n[0].anchor,h=n[0].head;t.linewise&&h.line!=e.firstLine()&&u.line==e.lastLine()&&u.line==h.line-1&&(u.line==e.firstLine()?u.ch=0:u=new i(u.line-1,ge(e,u.line-1))),o=e.getRange(u,h),e.replaceRange("",u,h),r=u,t.linewise&&(r=De.moveToFirstNonWhiteSpaceCharacter(e,u))}return E.registerController.pushText(t.registerName,"delete",o,t.linewise,s.visualBlock),ve(e,r)},indent:function(e,t,n){var r=e.state.vim,o=r.visualMode&&t.repeat||1;if(r.visualBlock){for(var s=e.getOption("tabSize"),u=e.getOption("indentWithTabs")?" ":" ".repeat(s),h,d=n.length-1;d>=0;d--)if(h=me(n[d].anchor,n[d].head),t.indentRight)e.replaceRange(u.repeat(o),h,h);else{for(var p=e.getLine(h.line),g=0,y=0;y<o;y++){var k=p[h.ch+g];if(k==" ")g++;else if(k==" "){g++;for(var w=1;w<u.length&&(k=p[h.ch+g],k===" ");w++)g++}else break}e.replaceRange("",h,ie(h,0,g))}return h}else if(e.indentMore)for(var y=0;y<o;y++)t.indentRight?e.indentMore():e.indentLess();else{var m=n[0].anchor.line,b=r.visualBlock?n[n.length-1].anchor.line:n[0].head.line;t.linewise&&b--;for(var d=m;d<=b;d++)for(var y=0;y<o;y++)e.indentLine(d,t.indentRight)}return De.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},indentAuto:function(e,t,n){return e.execCommand("indentAuto"),De.moveToFirstNonWhiteSpaceCharacter(e,n[0].anchor)},hardWrap:function(e,t,n,r){if(e.hardWrap){var o=n[0].anchor.line,s=n[0].head.line;t.linewise&&s--;var u=e.hardWrap({from:o,to:s});return u>o&&t.linewise&&u--,t.keepCursor?r:new i(u,0)}},toggleComment:function(e,t,n,r,o){return e.execCommand("toggleLineComment"),o},changeCase:function(e,t,n,r,o){for(var s=e.getSelections(),u=[],h=t.toLower,d=0;d<s.length;d++){var p=s[d],g="";if(h===!0)g=p.toLowerCase();else if(h===!1)g=p.toUpperCase();else for(var y=0;y<p.length;y++){var k=p.charAt(y);g+=ye(k)?k.toLowerCase():k.toUpperCase()}u.push(g)}return e.replaceSelections(u),t.shouldMoveCursor?o:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?De.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:me(n[0].anchor,n[0].head)},yank:function(e,t,n,r){var o=e.state.vim,s=e.getSelection(),u=o.visualMode?me(o.sel.anchor,o.sel.head,n[0].head,n[0].anchor):r;E.registerController.pushText(t.registerName,"yank",s,t.linewise,o.visualBlock);var h=Math.abs(e.getCursor("end").line-e.getCursor("start").line)||1;return Q(e,h+" lines yanked"+(t.registerName?' into "'+t.registerName:""),!1,1500),u},rot13:function(e,t,n,r,o){for(var s=e.getSelections(),u=[],h=0;h<s.length;h++){const d=s[h].split("").map(p=>{const g=p.charCodeAt(0);return g>=65&&g<=90?String.fromCharCode(65+(g-65+13)%26):g>=97&&g<=122?String.fromCharCode(97+(g-97+13)%26):p}).join("");u.push(d)}return e.replaceSelections(u),t.shouldMoveCursor?o:!e.state.vim.visualMode&&t.linewise&&n[0].anchor.line+1==n[0].head.line?De.moveToFirstNonWhiteSpaceCharacter(e,r):t.linewise?r:me(n[0].anchor,n[0].head)}};function Ir(e,t){Lt[e]=t}var Ze={jumpListWalk:function(e,t,n){if(!n.visualMode){var r=t.repeat||1,o=t.forward,s=E.jumpList,u=s.move(e,o?r:-r),h=u?u.find():void 0;h=h||e.getCursor(),e.setCursor(h)}},scroll:function(e,t,n){if(!n.visualMode){var r=t.repeat||1,o=e.defaultTextHeight(),s=e.getScrollInfo().top,u=o*r,h=t.forward?s+u:s-u,d=G(e.getCursor()),p=e.charCoords(d,"local");if(t.forward)h>p.top?(d.line+=(h-p.top)/o,d.line=Math.ceil(d.line),e.setCursor(d),p=e.charCoords(d,"local"),e.scrollTo(null,p.top)):e.scrollTo(null,h);else{var g=h+e.getScrollInfo().clientHeight;g<p.bottom?(d.line-=(p.bottom-g)/o,d.line=Math.floor(d.line),e.setCursor(d),p=e.charCoords(d,"local"),e.scrollTo(null,p.bottom-e.getScrollInfo().clientHeight)):e.scrollTo(null,h)}}},scrollToCursor:function(e,t){var n=e.getCursor().line,r=e.charCoords(new i(n,0),"local"),o=e.getScrollInfo().clientHeight,s=r.top;switch(t.position){case"center":s=r.bottom-o/2;break;case"bottom":var u=new i(n,e.getLine(n).length-1),h=e.charCoords(u,"local"),d=h.bottom-s;s=s-o+d;break}e.scrollTo(null,s)},replayMacro:function(e,t,n){var r=t.selectedCharacter||"",o=t.repeat||1,s=E.macroModeState;for(r=="@"?r=s.latestRegister||"":s.latestRegister=r;o--;)gi(e,n,s,r)},enterMacroRecordMode:function(e,t){var n=E.macroModeState,r=t.selectedCharacter;E.registerController.isValidRegister(r)&&n.enterMacroRecordMode(e,r)},toggleOverwrite:function(e){e.state.overwrite?(e.toggleOverwrite(!1),e.setOption("keyMap","vim-insert"),a.signal(e,"vim-mode-change",{mode:"insert"})):(e.toggleOverwrite(!0),e.setOption("keyMap","vim-replace"),a.signal(e,"vim-mode-change",{mode:"replace"}))},enterInsertMode:function(e,t,n){if(!e.getOption("readOnly")){n.insertMode=!0,n.insertModeRepeat=t&&t.repeat||1;var r=t?t.insertAt:null,o=n.sel,s=t.head||e.getCursor("head"),u=e.listSelections().length;if(r=="eol")s=new i(s.line,ge(e,s.line));else if(r=="bol")s=new i(s.line,0);else if(r=="charAfter"){var h=l(e,s,ie(s,0,1));s=h.end}else if(r=="firstNonBlank"){var h=l(e,s,De.moveToFirstNonWhiteSpaceCharacter(e,s));s=h.end}else if(r=="startOfSelectedArea"){if(!n.visualMode)return;n.visualBlock?(s=new i(Math.min(o.head.line,o.anchor.line),Math.min(o.head.ch,o.anchor.ch)),u=Math.abs(o.head.line-o.anchor.line)+1):o.head.line<o.anchor.line?s=o.head:s=new i(o.anchor.line,0)}else if(r=="endOfSelectedArea"){if(!n.visualMode)return;n.visualBlock?(s=new i(Math.min(o.head.line,o.anchor.line),Math.max(o.head.ch,o.anchor.ch)+1),u=Math.abs(o.head.line-o.anchor.line)+1):o.head.line>=o.anchor.line?s=ie(o.head,0,1):s=new i(o.anchor.line,0)}else if(r=="inplace"){if(n.visualMode)return}else r=="lastEdit"&&(s=Ln(e)||s);e.setOption("disableInput",!1),t&&t.replace?(e.toggleOverwrite(!0),e.setOption("keyMap","vim-replace"),a.signal(e,"vim-mode-change",{mode:"replace"})):(e.toggleOverwrite(!1),e.setOption("keyMap","vim-insert"),a.signal(e,"vim-mode-change",{mode:"insert"})),E.macroModeState.isPlaying||(e.on("change",En),n.insertEnd&&n.insertEnd.clear(),n.insertEnd=e.setBookmark(s,{insertLeft:!0}),a.on(e.getInputField(),"keydown",Tn)),n.visualMode&&_e(e),un(e,s,u)}},toggleVisualMode:function(e,t,n){var r=t.repeat,o=e.getCursor(),s;if(n.visualMode)n.visualLine!=!!t.linewise||n.visualBlock!=!!t.blockwise?(n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,a.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),nt(e)):_e(e);else{n.visualMode=!0,n.visualLine=!!t.linewise,n.visualBlock=!!t.blockwise,s=ve(e,new i(o.line,o.ch+r-1));var u=l(e,o,s);n.sel={anchor:u.start,head:u.end},a.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""}),nt(e),je(e,n,"<",me(o,s)),je(e,n,">",Ue(o,s))}},reselectLastSelection:function(e,t,n){var r=n.lastSelection;if(n.visualMode&&fn(e,n),r){var o=r.anchorMark.find(),s=r.headMark.find();if(!o||!s)return;n.sel={anchor:o,head:s},n.visualMode=!0,n.visualLine=r.visualLine,n.visualBlock=r.visualBlock,nt(e),je(e,n,"<",me(o,s)),je(e,n,">",Ue(o,s)),a.signal(e,"vim-mode-change",{mode:"visual",subMode:n.visualLine?"linewise":n.visualBlock?"blockwise":""})}},joinLines:function(e,t,n){var r,o;if(n.visualMode){if(r=e.getCursor("anchor"),o=e.getCursor("head"),ne(o,r)){var s=o;o=r,r=s}o.ch=ge(e,o.line)-1}else{var u=Math.max(t.repeat,2);r=e.getCursor(),o=ve(e,new i(r.line+u-1,1/0))}for(var h=0,d=r.line;d<o.line;d++){h=ge(e,r.line);var p="",g=0;if(!t.keepSpaces){var y=e.getLine(r.line+1);g=y.search(/\S/),g==-1?g=y.length:p=" "}e.replaceRange(p,new i(r.line,h),new i(r.line+1,g))}var k=ve(e,new i(r.line,h));n.visualMode&&_e(e,!1),e.setCursor(k)},newLineAndEnterInsertMode:function(e,t,n){n.insertMode=!0;var r=G(e.getCursor());if(r.line===e.firstLine()&&!t.after)e.replaceRange(`
10
- `,new i(e.firstLine(),0)),e.setCursor(e.firstLine(),0);else{r.line=t.after?r.line:r.line-1,r.ch=ge(e,r.line),e.setCursor(r);var o=a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent;o(e)}this.enterInsertMode(e,{repeat:t.repeat},n)},paste:function(e,t,n){var r=E.registerController.getRegister(t.registerName);if(t.registerName==="+")navigator.clipboard.readText().then(s=>{this.continuePaste(e,t,n,s,r)});else{var o=r.toString();this.continuePaste(e,t,n,o,r)}},continuePaste:function(e,t,n,r,o){var s=G(e.getCursor());if(r){if(t.matchIndent){var u=e.getOption("tabSize"),h=function(fe){var he=fe.split(" ").length-1,Ye=fe.split(" ").length-1;return he*u+Ye*1},d=e.getLine(e.getCursor().line),p=h(d.match(/^\s*/)[0]),g=r.replace(/\n$/,""),y=r!==g,k=h(r.match(/^\s*/)[0]),r=g.replace(/^\s*/gm,function(fe){var he=p+(h(fe)-k);if(he<0)return"";if(e.getOption("indentWithTabs")){var Ye=Math.floor(he/u);return Array(Ye+1).join(" ")}else return Array(he+1).join(" ")});r+=y?`
11
- `:""}t.repeat>1&&(r=Array(t.repeat+1).join(r));var w=t.linewise==null?o.linewise:t.linewise,m=o.blockwise,b=m?r.split(`
12
- `):void 0;if(b){w&&b.pop();for(var M=0;M<b.length;M++)b[M]=b[M]==""?" ":b[M];s.ch+=t.after?1:0,s.ch=Math.min(ge(e,s.line),s.ch)}else w?n.visualMode?r=n.visualLine?r.slice(0,-1):`
13
- `+r.slice(0,r.length-1)+`
14
- `:t.after?(r=`
15
- `+r.slice(0,r.length-1),s.ch=ge(e,s.line)):s.ch=0:s.ch+=t.after?1:0;var P;if(n.visualMode){n.lastPastedText=r;var I,N=Fr(e),K=N[0],F=N[1],oe=e.getSelection(),ee=e.listSelections(),ue=new Array(ee.length).join("1").split("1");n.lastSelection&&(I=n.lastSelection.headMark.find()),E.registerController.unnamedRegister.setText(oe),m?(e.replaceSelections(ue),F=new i(K.line+r.length-1,K.ch),e.setCursor(K),cn(e,F),e.replaceSelections(r),P=K):n.visualBlock?(e.replaceSelections(ue),e.setCursor(K),e.replaceRange(r,K,K),P=K):(e.replaceRange(r,K,F),P=e.posFromIndex(e.indexFromPos(K)+r.length-1)),I&&(n.lastSelection.headMark=e.setBookmark(I)),w&&(P.ch=0)}else if(m&&b){e.setCursor(s);for(var M=0;M<b.length;M++){var V=s.line+M;V>e.lastLine()&&e.replaceRange(`
16
- `,new i(V,0));var $=ge(e,V);$<s.ch&&Kr(e,V,s.ch)}e.setCursor(s),cn(e,new i(s.line+b.length-1,s.ch)),e.replaceSelections(b),P=s}else if(e.replaceRange(r,s),w){var V=t.after?s.line+1:s.line;P=new i(V,Ke(e.getLine(V)))}else P=G(s),/\n/.test(r)||(P.ch+=r.length-(t.after?1:0));n.visualMode&&_e(e,!1),e.setCursor(P)}},undo:function(e,t){e.operation(function(){sn(e,a.commands.undo,t.repeat)(),e.setCursor(ve(e,e.getCursor("start")))})},redo:function(e,t){sn(e,a.commands.redo,t.repeat)()},setRegister:function(e,t,n){n.inputState.registerName=t.selectedCharacter},insertRegister:function(e,t,n){var r=t.selectedCharacter,o=E.registerController.getRegister(r),s=o&&o.toString();s&&e.replaceSelection(s)},oneNormalCommand:function(e,t,n){ze(e,!0),n.insertModeReturn=!0,a.on(e,"vim-command-done",function r(){n.visualMode||(n.insertModeReturn&&(n.insertModeReturn=!1,n.insertMode||Ze.enterInsertMode(e,{},n)),a.off(e,"vim-command-done",r))})},setMark:function(e,t,n){var r=t.selectedCharacter;r&&je(e,n,r,e.getCursor())},replace:function(e,t,n){var r=t.selectedCharacter||"",o=e.getCursor(),s,u,h=e.listSelections();if(n.visualMode)o=e.getCursor("start"),u=e.getCursor("end");else{var d=e.getLine(o.line);s=o.ch+t.repeat,s>d.length&&(s=d.length),u=new i(o.line,s)}var p=l(e,o,u);if(o=p.start,u=p.end,r==`
17
- `)n.visualMode||e.replaceRange("",o,u),(a.commands.newlineAndIndentContinueComment||a.commands.newlineAndIndent)(e);else{var g=e.getRange(o,u);if(g=g.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,r),g=g.replace(/[^\n]/g,r),n.visualBlock){var y=new Array(e.getOption("tabSize")+1).join(" ");g=e.getSelection(),g=g.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,r);var k=g.replace(/\t/g,y).replace(/[^\n]/g,r).split(`
18
- `);e.replaceSelections(k)}else e.replaceRange(g,o,u);n.visualMode?(o=ne(h[0].anchor,h[0].head)?h[0].anchor:h[0].head,e.setCursor(o),_e(e,!1)):e.setCursor(ie(u,0,-1))}},incrementNumberToken:function(e,t){for(var n=e.getCursor(),r=e.getLine(n.line),o=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi,s,u,h,d;(s=o.exec(r))!==null&&(u=s.index,h=u+s[0].length,!(n.ch<h)););if(!(!t.backtrack&&h<=n.ch)){if(s){var p=s[2]||s[4],g=s[3]||s[5],y=t.increase?1:-1,k={"0b":2,0:8,"":10,"0x":16}[p.toLowerCase()],w=parseInt(s[1]+g,k)+y*t.repeat;d=w.toString(k);var m=p?new Array(g.length-d.length+1+s[1].length).join("0"):"";d.charAt(0)==="-"?d="-"+p+m+d.substr(1):d=p+m+d;var b=new i(n.line,u),M=new i(n.line,h);e.replaceRange(d,b,M)}else return;e.setCursor(new i(n.line,u+d.length-1))}},repeatLastEdit:function(e,t,n){var r=n.lastEditInputState;if(r){var o=t.repeat;o&&t.repeatIsExplicit?r.repeatOverride=o:o=r.repeatOverride||o,In(e,n,o,!1)}},indent:function(e,t){e.indentLine(e.getCursor().line,t.indentRight)},exitInsertMode:function(e,t){ze(e)}};function Nr(e,t){Ze[e]=t}function ve(e,t,n){var r=e.state.vim,o=r.insertMode||r.visualMode,s=Math.min(Math.max(e.firstLine(),t.line),e.lastLine()),u=e.getLine(s),h=u.length-1+ +!!o,d=Math.min(Math.max(0,t.ch),h),p=u.charCodeAt(d);if(56320<=p&&p<=57343){var g=1;n&&n.line==s&&n.ch>d&&(g=-1),d+=g,d>h&&(d-=2)}return new i(s,d)}function vt(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function ie(e,t,n){return typeof t=="object"&&(n=t.ch,t=t.line),new i(e.line+t,e.ch+n)}function Pr(e,t,n,r){r.operator&&(n="operatorPending");for(var o,s=[],u=[],h=X?t.length-v:0,d=h;d<t.length;d++){var p=t[d];n=="insert"&&p.context!="insert"||p.context&&p.context!=n||r.operator&&p.type=="action"||!(o=Br(e,p.keys))||(o=="partial"&&s.push(p),o=="full"&&u.push(p))}return{partial:s,full:u}}function Br(e,t){const n=t.slice(-11)=="<character>",r=t.slice(-10)=="<register>";if(n||r){var o=t.length-(n?11:10),s=e.slice(0,o),u=t.slice(0,o);return s==u&&e.length>o?"full":u.indexOf(s)==0?"partial":!1}else return e==t?"full":t.indexOf(e)==0?"partial":!1}function Dr(e){var t=/^.*(<[^>]+>)$/.exec(e),n=t?t[1]:e.slice(-1);if(n.length>1)switch(n){case"<CR>":case"<S-CR>":n=`
19
- `;break;case"<Space>":case"<S-Space>":n=" ";break;default:n="";break}return n}function sn(e,t,n){return function(){for(var r=0;r<n;r++)t(e)}}function G(e){return new i(e.line,e.ch)}function Re(e,t){return e.ch==t.ch&&e.line==t.line}function ne(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function me(e,t){return arguments.length>2&&(t=me.apply(void 0,Array.prototype.slice.call(arguments,1))),ne(e,t)?e:t}function Ue(e,t){return arguments.length>2&&(t=Ue.apply(void 0,Array.prototype.slice.call(arguments,1))),ne(e,t)?t:e}function ln(e,t,n){var r=ne(e,t),o=ne(t,n);return r&&o}function ge(e,t){return e.getLine(t).length}function At(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function _r(e){return e.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1")}function Kr(e,t,n){var r=ge(e,t),o=new Array(n-r+1).join(" ");e.setCursor(new i(t,r)),e.replaceRange(o,e.getCursor())}function cn(e,t){var n=[],r=e.listSelections(),o=G(e.clipPos(t)),s=!Re(t,o),u=e.getCursor("head"),h=$r(r,u),d=Re(r[h].head,r[h].anchor),p=r.length-1,g=p-h>h?p:0,y=r[g].anchor,k=Math.min(y.line,o.line),w=Math.max(y.line,o.line),m=y.ch,b=o.ch,M=r[g].head.ch-m,P=b-m;M>0&&P<=0?(m++,s||b--):M<0&&P>=0?(m--,d||b++):M<0&&P==-1&&(m--,b++);for(var I=k;I<=w;I++){var N={anchor:new i(I,m),head:new i(I,b)};n.push(N)}return e.setSelections(n),t.ch=b,y.ch=m,y}function un(e,t,n){for(var r=[],o=0;o<n;o++){var s=ie(t,o,0);r.push({anchor:s,head:s})}e.setSelections(r,0)}function $r(e,t,n){for(var r=0;r<e.length;r++){var o=Re(e[r].anchor,t),s=Re(e[r].head,t);if(o||s)return r}return-1}function Fr(e,t){var n=e.listSelections(),r=n[0],o=n[n.length-1],s=ne(r.anchor,r.head)?r.anchor:r.head,u=ne(o.anchor,o.head)?o.head:o.anchor;return[s,u]}function fn(e,t){var n=t.sel.anchor,r=t.sel.head;t.lastPastedText&&(r=e.posFromIndex(e.indexFromPos(n)+t.lastPastedText.length),t.lastPastedText=void 0),t.lastSelection={anchorMark:e.setBookmark(n),headMark:e.setBookmark(r),anchor:G(n),head:G(r),visualMode:t.visualMode,visualLine:t.visualLine,visualBlock:t.visualBlock}}function Hr(e,t,n,r){var o=e.state.vim.sel,s=r?t:o.head,u=r?t:o.anchor,h;return ne(n,t)&&(h=n,n=t,t=h),ne(s,u)?(s=me(t,s),u=Ue(u,n)):(u=me(t,u),s=Ue(s,n),s=ie(s,0,-1),s.ch==-1&&s.line!=e.firstLine()&&(s=new i(s.line-1,ge(e,s.line-1)))),[u,s]}function nt(e,t,n){var r=e.state.vim;t=t||r.sel,n||(n=r.visualLine?"line":r.visualBlock?"block":"char");var o=Et(e,t,n);e.setSelections(o.ranges,o.primary)}function Et(e,t,n,r){var o=G(t.head),s=G(t.anchor);if(n=="char"){var u=!r&&!ne(t.head,t.anchor)?1:0,h=ne(t.head,t.anchor)?1:0;return o=ie(t.head,0,u),s=ie(t.anchor,0,h),{ranges:[{anchor:s,head:o}],primary:0}}else if(n=="line"){if(ne(t.head,t.anchor))o.ch=0,s.ch=ge(e,s.line);else{s.ch=0;var d=e.lastLine();o.line>d&&(o.line=d),o.ch=ge(e,o.line)}return{ranges:[{anchor:s,head:o}],primary:0}}else if(n=="block"){var p=Math.min(s.line,o.line),g=s.ch,y=Math.max(s.line,o.line),k=o.ch;g<k?k+=1:g+=1;for(var w=y-p+1,m=o.line==p?0:w-1,b=[],M=0;M<w;M++)b.push({anchor:new i(p+M,g),head:new i(p+M,k)});return{ranges:b,primary:m}}throw"never happens"}function Vr(e){var t=e.getCursor("head");return e.getSelection().length==1&&(t=me(t,e.getCursor("anchor"))),t}function _e(e,t){var n=e.state.vim;t!==!1&&e.setCursor(ve(e,n.sel.head)),fn(e,n),n.visualMode=!1,n.visualLine=!1,n.visualBlock=!1,n.insertMode||a.signal(e,"vim-mode-change",{mode:"normal"})}function jr(e,t,n){var r=e.getRange(t,n);if(/\n\s*$/.test(r)){var o=r.split(`
20
- `);o.pop();for(var s=o.pop();o.length>0&&s&&re(s);s=o.pop())n.line--,n.ch=0;s?(n.line--,n.ch=ge(e,n.line)):n.ch=0}}function Wr(e,t,n){t.ch=0,n.ch=0,n.line++}function Ke(e){if(!e)return 0;var t=e.search(/\S/);return t==-1?e.length:t}function Ot(e,{inclusive:t,innerWord:n,bigWord:r,noSymbol:o,multiline:s},u){var h=u||Vr(e),d=e.getLine(h.line),p=d,g=h.line,y=g,k=h.ch,w,m=o?A[0]:D[0];if(n&&/\s/.test(d.charAt(k)))m=function(K){return/\s/.test(K)};else{for(;!m(d.charAt(k));)if(k++,k>=d.length){if(!s)return null;k--,w=gn(e,h,!0,r,!0);break}r?m=D[0]:(m=A[0],m(d.charAt(k))||(m=A[1]))}for(var b=k,M=k;m(d.charAt(M))&&M>=0;)M--;if(M++,w)b=w.to,y=w.line,p=e.getLine(y),!p&&b==0&&b++;else for(;m(d.charAt(b))&&b<d.length;)b++;if(t){var P=b,I=h.ch<=M&&/\s/.test(d.charAt(h.ch));if(!I)for(;/\s/.test(p.charAt(b))&&b<p.length;)b++;if(P==b||I){for(var N=M;/\s/.test(d.charAt(M-1))&&M>0;)M--;!M&&!I&&(M=N)}}return{start:new i(g,M),end:new i(y,b)}}function Ur(e,t,n){var r=t;if(!a.findMatchingTag||!a.findEnclosingTag)return{start:r,end:r};var o=a.findMatchingTag(e,t)||a.findEnclosingTag(e,t);return!o||!o.open||!o.close?{start:r,end:r}:n?{start:o.open.from,end:o.close.to}:{start:o.open.to,end:o.close.from}}function hn(e,t,n){Re(t,n)||E.jumpList.add(e,t,n)}function dn(e,t){E.lastCharacterSearch.increment=e,E.lastCharacterSearch.forward=t.forward,E.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var zr={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},pn={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?"]":"[")===e.symb?"{":"}"},isComplete:function(e){return e.index===0&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t=e.lastCh==="*"&&e.nextCh==="/";return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb=e.symb==="m"?"{":"}",e.reverseSymb=e.symb==="{"?"}":"{"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if(e.nextCh==="#"){var t=e.lineText.match(/^#(\w+)/)?.[1];if(t==="endif"){if(e.forward&&e.depth===0)return!0;e.depth++}else if(t==="if"){if(!e.forward&&e.depth===0)return!0;e.depth--}if(t==="else"&&e.depth===0)return!0}return!1}}};function Qr(e,t,n,r){var o=G(e.getCursor()),s=n?1:-1,u=n?e.lineCount():-1,h=o.ch,d=o.line,p=e.getLine(d),g={lineText:p,nextCh:p.charAt(h),lastCh:null,index:h,symb:r,reverseSymb:(n?{")":"(","}":"{"}:{"(":")","{":"}"})[r],forward:n,depth:0,curMoveThrough:!1},y=zr[r];if(!y)return o;var k=pn[y].init,w=pn[y].isComplete;for(k&&k(g);d!==u&&t;){if(g.index+=s,g.nextCh=g.lineText.charAt(g.index),!g.nextCh){if(d+=s,g.lineText=e.getLine(d)||"",s>0)g.index=0;else{var m=g.lineText.length;g.index=m>0?m-1:0}g.nextCh=g.lineText.charAt(g.index)}w(g)&&(o.line=d,o.ch=g.index,t--)}return g.nextCh||g.curMoveThrough?new i(d,g.index):o}function gn(e,t,n,r,o){var s=t.line,u=t.ch,h=e.getLine(s),d=n?1:-1,p=r?D:A;if(o&&h==""){if(s+=d,h=e.getLine(s),!W(e,s))return null;u=n?0:h.length}for(;;){if(o&&h=="")return{from:0,to:0,line:s};for(var g=d>0?h.length:-1,y=g,k=g;u!=g;){for(var w=!1,m=0;m<p.length&&!w;++m)if(p[m](h.charAt(u))){for(y=u;u!=g&&p[m](h.charAt(u));)u+=d;if(k=u,w=y!=k,y==t.ch&&s==t.line&&k==y+d)continue;return{from:Math.min(y,k+1),to:Math.max(y,k),line:s}}w||(u+=d)}if(s+=d,!W(e,s))return null;h=e.getLine(s),u=d>0?0:h.length}}function qr(e,t,n,r,o,s){var u=G(t),h=[];(r&&!o||!r&&o)&&n++;for(var d=!(r&&o),p=0;p<n;p++){var g=gn(e,t,r,s,d);if(!g){var y=ge(e,e.lastLine());h.push(r?{line:e.lastLine(),from:y,to:y}:{line:0,from:0,to:0});break}h.push(g),t=new i(g.line,r?g.to-1:g.from)}var k=h.length!=n,w=h[0],m=h.pop();return r&&!o?(!k&&(w.from!=u.ch||w.line!=u.line)&&(m=h.pop()),m&&new i(m.line,m.from)):r&&o?m&&new i(m.line,m.to-1):!r&&o?(!k&&(w.to!=u.ch||w.line!=u.line)&&(m=h.pop()),m&&new i(m.line,m.to)):m&&new i(m.line,m.from)}function vn(e,t,n,r,o){var s=t,u=new i(s.line+n.repeat-1,1/0),h=e.clipPos(u);return h.ch--,o||(r.lastHPos=1/0,r.lastHSPos=e.charCoords(h,"div").left),u}function Rt(e,t,n,r,o){if(r){for(var s=o||e.getCursor(),u=s.ch,h,d=0;d<t;d++){var p=e.getLine(s.line);if(h=Zr(u,p,r,n),h==-1)return;u=h}if(h!=null)return new i(e.getCursor().line,h)}}function Jr(e,t){var n=e.getCursor().line;return ve(e,new i(n,t-1))}function je(e,t,n,r){!et(n,_)&&!z.test(n)||(t.marks[n]&&t.marks[n].clear(),t.marks[n]=e.setBookmark(r))}function Zr(e,t,n,r,o){var s;return r?s=t.indexOf(n,e+1):s=t.lastIndexOf(n,e-1),s}function mn(e,t,n,r,o){var s=t.line,u=e.firstLine(),h=e.lastLine(),d,p,g=s;function y(M){return!e.getLine(M)}function k(M,P,I){return I?y(M)!=y(M+P):!y(M)&&y(M+P)}if(r){for(;u<=g&&g<=h&&n>0;)k(g,r)&&n--,g+=r;return{start:new i(g,0),end:t}}var w=e.state.vim;if(w.visualLine&&k(s,1,!0)){var m=w.sel.anchor;k(m.line,-1,!0)&&(!o||m.line!=s)&&(s+=1)}var b=y(s);for(g=s;g<=h&&n;g++)k(g,1,!0)&&(!o||y(g)!=b)&&n--;for(p=new i(g,0),g>h&&!b?b=!0:o=!1,g=s;g>u&&!((!o||y(g)==b||g==s)&&k(g,-1,!0));g--);return d=new i(g,0),{start:d,end:p}}function yn(e,t,n,r,o){function s(p){p.line!==null&&(p.pos+p.dir<0||p.pos+p.dir>=p.line.length?p.line=null:p.pos+=p.dir)}function u(p,g,y,k){var w=p.getLine(g),m={line:w,ln:g,pos:y,dir:k};if(m.line==="")return{ln:m.ln,pos:m.pos};var b=m.pos;for(s(m);m.line!==null;){if(b=m.pos,He(m.line[m.pos]))if(o){for(s(m);m.line!==null&&re(m.line[m.pos]);)b=m.pos,s(m);return{ln:m.ln,pos:b+1}}else return{ln:m.ln,pos:m.pos+1};s(m)}return{ln:m.ln,pos:b+1}}function h(p,g,y,k){var w=p.getLine(g),m={line:w,ln:g,pos:y,dir:k};if(m.line==="")return{ln:m.ln,pos:m.pos};var b=m.pos;for(s(m);m.line!==null;){if(!re(m.line[m.pos])&&!He(m.line[m.pos]))b=m.pos;else if(He(m.line[m.pos]))return o?re(m.line[m.pos+1])?{ln:m.ln,pos:m.pos+1}:{ln:m.ln,pos:b}:{ln:m.ln,pos:b};s(m)}return m.line=w,o&&re(m.line[m.pos])?{ln:m.ln,pos:m.pos}:{ln:m.ln,pos:b}}for(var d={ln:t.line,pos:t.ch};n>0;)r<0?d=h(e,d.ln,d.pos,r):d=u(e,d.ln,d.pos,r),n--;return new i(d.ln,d.pos)}function Yr(e,t,n,r){function o(d,p){if(p.line!==null)if(p.pos+p.dir<0||p.pos+p.dir>=p.line.length){if(p.ln+=p.dir,!W(d,p.ln)){p.line=null;return}p.line=d.getLine(p.ln),p.pos=p.dir>0?0:p.line.length-1}else p.pos+=p.dir}function s(d,p,g,y){var M=d.getLine(p),k=M==="",w={line:M,ln:p,pos:g,dir:y},m={ln:w.ln,pos:w.pos},b=w.line==="";for(o(d,w);w.line!==null;){if(m.ln=w.ln,m.pos=w.pos,w.line===""&&!b)return{ln:w.ln,pos:w.pos};if(k&&w.line!==""&&!re(w.line[w.pos]))return{ln:w.ln,pos:w.pos};He(w.line[w.pos])&&!k&&(w.pos===w.line.length-1||re(w.line[w.pos+1]))&&(k=!0),o(d,w)}var M=d.getLine(m.ln);m.pos=0;for(var P=M.length-1;P>=0;--P)if(!re(M[P])){m.pos=P;break}return m}function u(d,p,g,y){var M=d.getLine(p),k={line:M,ln:p,pos:g,dir:y},w=k.ln,m=null,b=k.line==="";for(o(d,k);k.line!==null;){if(k.line===""&&!b)return m!==null?{ln:w,pos:m}:{ln:k.ln,pos:k.pos};if(He(k.line[k.pos])&&m!==null&&!(k.ln===w&&k.pos+1===m))return{ln:w,pos:m};k.line!==""&&!re(k.line[k.pos])&&(b=!1,w=k.ln,m=k.pos),o(d,k)}var M=d.getLine(w);m=0;for(var P=0;P<M.length;++P)if(!re(M[P])){m=P;break}return{ln:w,pos:m}}for(var h={ln:t.line,pos:t.ch};n>0;)r<0?h=u(e,h.ln,h.pos,r):h=s(e,h.ln,h.pos,r),n--;return new i(h.ln,h.pos)}function Cn(e,t,n,r){var o=t,s={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[n],u={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[n],h=e.getLine(o.line).charAt(o.ch),d=h===u?1:0,p=e.scanForBracket(new i(o.line,o.ch+d),-1,void 0,{bracketRegex:s}),g=e.scanForBracket(new i(o.line,o.ch+d),1,void 0,{bracketRegex:s});if(!p||!g)return null;var y=p.pos,k=g.pos;if(y.line==k.line&&y.ch>k.ch||y.line>k.line){var w=y;y=k,k=w}return r?k.ch+=1:y.ch+=1,{start:y,end:k}}function Xr(e,t,n,r){var o=G(t),s=e.getLine(o.line),u=s.split(""),h,d,p,g,y=u.indexOf(n);if(o.ch<y)o.ch=y;else if(y<o.ch&&u[o.ch]==n){var k=/string/.test(e.getTokenTypeAt(ie(t,0,1))),w=/string/.test(e.getTokenTypeAt(t)),m=k&&!w;m||(d=o.ch,--o.ch)}if(u[o.ch]==n&&!d)h=o.ch+1;else for(p=o.ch;p>-1&&!h;p--)u[p]==n&&(h=p+1);if(h&&!d)for(p=h,g=u.length;p<g&&!d;p++)u[p]==n&&(d=p);return!h||!d?{start:o,end:o}:(r&&(--h,++d),{start:new i(o.line,h),end:new i(o.line,d)})}Ve("pcre",!0,"boolean");class Gr{constructor(){this.highlightTimeout}getQuery(){return E.query}setQuery(t){E.query=t}getOverlay(){return this.searchOverlay}setOverlay(t){this.searchOverlay=t}isReversed(){return E.isReversed}setReversed(t){E.isReversed=t}getScrollbarAnnotate(){return this.annotate}setScrollbarAnnotate(t){this.annotate=t}}function Ie(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new Gr)}function ei(e){return kn(e,"/")}function ti(e){return wn(e,"/")}function kn(e,t){var n=wn(e,t)||[];if(!n.length)return[];var r=[];if(n[0]===0){for(var o=0;o<n.length;o++)typeof n[o]=="number"&&r.push(e.substring(n[o]+1,n[o+1]));return r}}function wn(e,t){t||(t="/");for(var n=!1,r=[],o=0;o<e.length;o++){var s=e.charAt(o);!n&&s==t&&r.push(o),n=!n&&s=="\\"}return r}function ni(e){var t={V:"|(){+?*.[$^",M:"|(){+?*.[",m:"|(){+?",v:"<>"},n={">":"(?<=[\\w])(?=[^\\w]|$)","<":"(?<=[^\\w]|^)(?=[\\w])"},r=t.m,o=e.replace(/\\.|[\[|(){+*?.$^<>]/g,function(u){if(u[0]==="\\"){var h=u[1];return h==="}"||r.indexOf(h)!=-1?h:h in t?(r=t[h],""):h in n?n[h]:u}else return r.indexOf(u)!=-1?n[u]||"\\"+u:u}),s=o.indexOf("\\zs");return s!=-1&&(o="(?<="+o.slice(0,s)+")"+o.slice(s+3)),s=o.indexOf("\\ze"),s!=-1&&(o=o.slice(0,s)+"(?="+o.slice(s+3)+")"),o}var xn={"\\n":`
21
- `,"\\r":"\r","\\t":" "};function ri(e){for(var t=!1,n=[],r=-1;r<e.length;r++){var o=e.charAt(r)||"",s=e.charAt(r+1)||"";xn[o+s]?(n.push(xn[o+s]),r++):t?(n.push(o),t=!1):o==="\\"?(t=!0,J(s)||s==="$"?n.push("$"):s!=="/"&&s!=="\\"&&n.push("\\")):(o==="$"&&n.push("$"),n.push(o),s==="/"&&n.push("\\"))}return n.join("")}var Sn={"\\/":"/","\\\\":"\\","\\n":`
22
- `,"\\r":"\r","\\t":" ","\\&":"&"};function ii(e){for(var t=new a.StringStream(e),n=[];!t.eol();){for(;t.peek()&&t.peek()!="\\";)n.push(t.next());var r=!1;for(var o in Sn)if(t.match(o,!0)){r=!0,n.push(Sn[o]);break}r||n.push(t.next())}return n.join("")}function bn(e,t,n){var r=E.registerController.getRegister("/");r.setText(e);var o=ti(e),s,u;if(!o.length)s=e;else{s=e.substring(0,o[0]);var h=e.substring(o[0]);u=h.indexOf("i")!=-1}if(!s)return null;de("pcre")||(s=ni(s)),n&&(t=/^[^A-Z]*$/.test(s));var d=new RegExp(s,t||u?"im":"m");return d}function Ne(e){typeof e=="string"&&(e=document.createElement(e));for(var t=1;t<arguments.length;t++){var n=arguments[t];if(n)if(typeof n!="object"&&(n=document.createTextNode(n)),n.nodeType)e.appendChild(n);else for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(r[0]==="$"?e.style[r.slice(1)]=n[r]:typeof n[r]=="function"?e[r]=n[r]:e.setAttribute(r,n[r]))}return e}function Q(e,t,n,r){var o=Ne("div",{$color:"red",$whiteSpace:"pre",class:"cm-vim-message"},t);e.openNotification?n?(o=Ne("div",{},o,Ne("div",{},"Press ENTER or type command to continue")),e.state.closeVimNotification&&e.state.closeVimNotification(),e.state.closeVimNotification=e.openNotification(o,{bottom:!0,duration:0})):e.openNotification(o,{bottom:!0,duration:r||15e3}):r||alert(o.innerText)}function oi(e,t){return Ne("div",{$display:"flex",$flex:1},Ne("span",{$fontFamily:"monospace",$whiteSpace:"pre",$flex:1,$display:"flex"},e,Ne("input",{type:"text",autocorrect:"off",autocapitalize:"off",spellcheck:"false",$flex:1})),t&&Ne("span",{$color:"#888"},t))}function mt(e,t){if(B.length){t.value||(t.value=""),O=t;return}var n=oi(t.prefix,t.desc);if(e.openDialog)e.openDialog(n,t.onClose,{onKeyDown:t.onKeyDown,onKeyUp:t.onKeyUp,bottom:!0,selectValueOnOpen:!1,value:t.value});else{var r="";typeof t.prefix!="string"&&t.prefix&&(r+=t.prefix.textContent),t.desc&&(r+=" "+t.desc),t.onClose?.(prompt(r,""))}}function ai(e,t){return e instanceof RegExp&&t instanceof RegExp?e.flags==t.flags&&e.source==t.source:!1}function ct(e,t,n,r){if(t){var o=Ie(e),s=bn(t,!!n,!!r);if(s)return Tt(e,s),ai(s,o.getQuery())||o.setQuery(s),s}}function si(e){if(e.source.charAt(0)=="^")var t=!0;return{token:function(n){if(t&&!n.sol()){n.skipToEnd();return}var r=n.match(e,!1);if(r)return r[0].length==0?(n.next(),"searching"):!n.sol()&&(n.backUp(1),!e.exec(n.next()+r[0]))?(n.next(),null):(n.match(e),"searching");for(;!n.eol()&&(n.next(),!n.match(e,!1)););},query:e}}var ut=0;function Tt(e,t){clearTimeout(ut);var n=Ie(e);n.highlightTimeout=ut,ut=setTimeout(function(){if(e.state.vim){var r=Ie(e);r.highlightTimeout=void 0;var o=r.getOverlay();(!o||t!=o.query)&&(o&&e.removeOverlay(o),o=si(t),e.addOverlay(o),e.showMatchesOnScrollbar&&(r.getScrollbarAnnotate()&&r.getScrollbarAnnotate().clear(),r.setScrollbarAnnotate(e.showMatchesOnScrollbar(t))),r.setOverlay(o))}},50)}function Mn(e,t,n,r){return e.operation(function(){r===void 0&&(r=1);for(var o=e.getCursor(),s=e.getSearchCursor(n,o),u=0;u<r;u++){var h=s.find(t);if(u==0&&h&&Re(s.from(),o)){var d=t?s.from():s.to();h=s.find(t),h&&!h[0]&&Re(s.from(),d)&&e.getLine(d.line).length==d.ch&&(h=s.find(t))}if(!h&&(s=e.getSearchCursor(n,t?new i(e.lastLine()):new i(e.firstLine(),0)),!s.find(t)))return}return s.from()})}function li(e,t,n,r,o){return e.operation(function(){r===void 0&&(r=1);var s=e.getCursor(),u=e.getSearchCursor(n,s),h=u.find(!t);!o.visualMode&&h&&Re(u.from(),s)&&u.find(!t);for(var d=0;d<r;d++)if(h=u.find(t),!h&&(u=e.getSearchCursor(n,t?new i(e.lastLine()):new i(e.firstLine(),0)),!u.find(t)))return;var p=u.from(),g=u.to();return p&&g&&[p,g]})}function rt(e){var t=Ie(e);t.highlightTimeout&&(clearTimeout(t.highlightTimeout),t.highlightTimeout=void 0),e.removeOverlay(Ie(e).getOverlay()),t.setOverlay(null),t.getScrollbarAnnotate()&&(t.getScrollbarAnnotate().clear(),t.setScrollbarAnnotate(null))}function ci(e,t,n){return typeof e!="number"&&(e=e.line),t instanceof Array?et(e,t):typeof n=="number"?e>=t&&e<=n:e==t}function It(e){var t=e.getScrollInfo(),n=6,r=10,o=e.coordsChar({left:0,top:n+t.top},"local"),s=t.clientHeight-r+t.top,u=e.coordsChar({left:0,top:s},"local");return{top:o.line,bottom:u.line}}function yt(e,t,n){if(n=="'"||n=="`")return E.jumpList.find(e,-1)||new i(0,0);if(n==".")return Ln(e);var r=t.marks[n];return r&&r.find()}function Ln(e){if(e.getLastEditEnd)return e.getLastEditEnd();for(var t=e.doc.history.done,n=t.length;n--;)if(t[n].changes)return G(t[n].changes[0].to)}class ui{constructor(){this.commandMap_,this.buildCommandMap_()}processCommand(t,n,r){var o=this;t.operation(function(){t.curOp&&(t.curOp.isVimOp=!0),o._processCommand(t,n,r)})}_processCommand(t,n,r){var o=t.state.vim,s=E.registerController.getRegister(":"),u=s.toString(),h=new a.StringStream(n);s.setText(n);var d=r||{};d.input=n;try{this.parseInput_(t,h,d)}catch(y){Q(t,y+"");return}o.visualMode&&_e(t);var p,g;if(!d.commandName)d.line!==void 0&&(g="move");else if(p=this.matchCommand_(d.commandName),p){if(g=p.name,p.excludeFromCommandHistory&&s.setText(u),this.parseCommandArgs_(h,d,p),p.type=="exToKey"){U(t,p.toKeys||"",p);return}else if(p.type=="exToEx"){this.processCommand(t,p.toInput||"");return}}if(!g){Q(t,'Not an editor command ":'+n+'"');return}try{An[g](t,d),(!p||!p.possiblyAsync)&&d.callback&&d.callback()}catch(y){throw Q(t,y+""),y}}parseInput_(t,n,r){if(n.eatWhile(":"),n.eat("%"))r.line=t.firstLine(),r.lineEnd=t.lastLine();else if(n.eat("*")){var o=t.state.vim.lastSelection,s=o?.anchorMark.find()?.line||0,u=o?.headMark.find()?.line||0;r.line=Math.max(s,u),r.lineEnd=Math.min(s,u)}else r.line=this.parseLineSpec_(t,n),r.line!==void 0&&n.eat(",")&&(r.lineEnd=this.parseLineSpec_(t,n));r.line==null?t.state.vim.visualMode?(r.selectionLine=yt(t,t.state.vim,"<")?.line,r.selectionLineEnd=yt(t,t.state.vim,">")?.line):r.selectionLine=t.getCursor().line:(r.selectionLine=r.line,r.selectionLineEnd=r.lineEnd),n.eatSpace();var h=n.match(/^(\w+|!!|@@|[!#&*<=>@~])/);return h?r.commandName=h[1]:r.commandName=(n.match(/.*/)||[""])[0],r}parseLineSpec_(t,n){var r=n.match(/^([\d]+)/);if(r)return this.parseLineSpecOffset_(t,n,parseInt(r[1],10)-1);switch(n.next()){case".":return this.parseLineSpecOffset_(t,n,t.getCursor().line);case"$":return this.parseLineSpecOffset_(t,n,t.lastLine());case"'":var o=n.next()||"",s=yt(t,t.state.vim,o);if(!s)throw new Error("Mark not set");return this.parseLineSpecOffset_(t,n,s.line);case"-":case"+":case"/":case"?":return n.backUp(1),this.parseLineSpecOffset_(t,n,t.getCursor().line);default:n.backUp(1);return}}parseLineSpecOffset_(t,n,r){for(;;){var o=n.match(/^([\/\?]|\\[\?\/])|([+-]?)(\d*)/);if(!o||!o[0])break;if(o[1]){var s="",u=!o[1].endsWith("?");if(o[1].length==1){var h=n.match(u?/^([^\/\\]|\\\/)*/:/^([^\/\?]|\\\?)*/);n.match(u?/^\/?/:/^\??/),s=h&&h[0]}s||(s=E.registerController.getRegister("/")?.toString()||"");var d=new RegExp(s),p=t.getSearchCursor(d,new i(r+(u?1:0),0));u?p.findNext():p.findPrevious();var g=p.from();if(!g)throw new Error("Pattern not found"+d);r=g.line}else{var y=parseInt(o[2]+(o[3]||"1"),10);r+=y}}return r}parseCommandArgs_(t,n,r){if(!t.eol()){n.argString=t.match(/.*/)?.[0];var o=r.argDelimiter||/\s+/,s=At(n.argString||"").split(o);s.length&&s[0]&&(n.args=s)}}matchCommand_(t){for(var n=t.length;n>0;n--){var r=t.substring(0,n);if(this.commandMap_[r]){var o=this.commandMap_[r];if(o.name.indexOf(t)===0)return o}}}buildCommandMap_(){this.commandMap_={};for(var t=0;t<C.length;t++){var n=C[t],r=n.shortName||n.name;this.commandMap_[r]=n}}map(t,n,r,o){if(t!=":"&&t.charAt(0)==":"){if(r)throw Error("Mode not supported for ex mappings");var s=t.substring(1);n!=":"&&n.charAt(0)==":"?this.commandMap_[s]={name:s,type:"exToEx",toInput:n.substring(1),user:!0}:this.commandMap_[s]={name:s,type:"exToKey",toKeys:n,user:!0}}else{var u={keys:t,type:"keyToKey",toKeys:n,noremap:!!o};r&&(u.context=r),Nt(u)}}unmap(t,n){if(t!=":"&&t.charAt(0)==":"){if(n)throw Error("Mode not supported for ex mappings");var r=t.substring(1);if(this.commandMap_[r]&&this.commandMap_[r].user)return delete this.commandMap_[r],!0}else for(var o=t,s=0;s<c.length;s++)if(o==c[s].keys&&c[s].context===n)return c.splice(s,1),di(o),!0}}var An={colorscheme:function(e,t){if(!t.args||t.args.length<1){Q(e,e.getOption("theme"));return}e.setOption("theme",t.args[0])},map:function(e,t,n,r){var o=t.args;if(!o||o.length<2){e&&Q(e,"Invalid mapping: "+t.input);return}Ce.map(o[0],o[1],n,r)},imap:function(e,t){this.map(e,t,"insert")},nmap:function(e,t){this.map(e,t,"normal")},vmap:function(e,t){this.map(e,t,"visual")},omap:function(e,t){this.map(e,t,"operatorPending")},noremap:function(e,t){this.map(e,t,void 0,!0)},inoremap:function(e,t){this.map(e,t,"insert",!0)},nnoremap:function(e,t){this.map(e,t,"normal",!0)},vnoremap:function(e,t){this.map(e,t,"visual",!0)},onoremap:function(e,t){this.map(e,t,"operatorPending",!0)},unmap:function(e,t,n){var r=t.args;(!r||r.length<1||!Ce.unmap(r[0],n))&&e&&Q(e,"No such mapping: "+t.input)},mapclear:function(e,t){pe.mapclear()},imapclear:function(e,t){pe.mapclear("insert")},nmapclear:function(e,t){pe.mapclear("normal")},vmapclear:function(e,t){pe.mapclear("visual")},omapclear:function(e,t){pe.mapclear("operatorPending")},move:function(e,t){Je.processCommand(e,e.state.vim,{keys:"",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){var n=t.args,r=t.setCfg||{};if(!n||n.length<1){e&&Q(e,"Invalid mapping: "+t.input);return}var o=n[0].split("="),s=o.shift()||"",u=o.length>0?o.join("="):void 0,h=!1,d=!1;if(s.charAt(s.length-1)=="?"){if(u)throw Error("Trailing characters: "+t.argString);s=s.substring(0,s.length-1),h=!0}else s.charAt(s.length-1)=="!"&&(s=s.substring(0,s.length-1),d=!0);u===void 0&&s.substring(0,2)=="no"&&(s=s.substring(2),u=!1);var p=Ae[s]&&Ae[s].type=="boolean";if(p&&(d?u=!de(s,e,r):u==null&&(u=!0)),!p&&u===void 0||h){var g=de(s,e,r);g instanceof Error?Q(e,g.message):g===!0||g===!1?Q(e," "+(g?"":"no")+s):Q(e," "+s+"="+g)}else{var y=Qe(s,u,e,r);y instanceof Error&&Q(e,y.message)}},setlocal:function(e,t){t.setCfg={scope:"local"},this.set(e,t)},setglobal:function(e,t){t.setCfg={scope:"global"},this.set(e,t)},registers:function(e,t){var n=t.args,r=E.registerController.registers,o=`----------Registers----------
23
-
24
- `;if(n)for(var h=n.join(""),d=0;d<h.length;d++){var s=h.charAt(d);if(E.registerController.isValidRegister(s)){var p=r[s]||new Be;o+='"'+s+" "+p.toString()+`
25
- `}}else for(var s in r){var u=r[s].toString();u.length&&(o+='"'+s+" "+u+`
26
- `)}Q(e,o,!0)},marks:function(e,t){var n=t.args,r=e.state.vim.marks,o=`-----------Marks-----------
27
- mark line col
28
-
29
- `;if(n)for(var h=n.join(""),d=0;d<h.length;d++){var s=h.charAt(d),u=r[s]&&r[s].find();u&&(o+=s+" "+u.line+" "+u.ch+`
30
- `)}else for(var s in r){var u=r[s]&&r[s].find();u&&(o+=s+" "+u.line+" "+u.ch+`
31
- `)}Q(e,o,!0)},sort:function(e,t){var n,r,o,s,u,h;function d(){if(t.argString){var V=new a.StringStream(t.argString);if(V.eat("!")&&(n=!0),V.eol())return;if(!V.eatSpace())return"Invalid arguments";var $=V.match(/([dinuoxr]+)?\s*(\/.+\/)?\s*/);if(!$||!V.eol())return"Invalid arguments";if($[1]){h=$[1].indexOf("r")!=-1,r=$[1].indexOf("i")!=-1,o=$[1].indexOf("u")!=-1;var ke=$[1].indexOf("d")!=-1||$[1].indexOf("n")!=-1,fe=$[1].indexOf("x")!=-1,he=$[1].indexOf("o")!=-1;if(Number(ke)+Number(fe)+Number(he)>1)return"Invalid arguments";s=ke&&"decimal"||fe&&"hex"||he&&"octal"}$[2]&&(u=new RegExp($[2].substr(1,$[2].length-2),r?"i":""))}}var p=d();if(p){Q(e,p+": "+t.argString);return}var g=t.line||e.firstLine(),y=t.lineEnd||t.line||e.lastLine();if(g==y)return;var k=new i(g,0),w=new i(y,ge(e,y)),m=e.getRange(k,w).split(`
32
- `),b=s=="decimal"?/(-?)([\d]+)/:s=="hex"?/(-?)(?:0x)?([0-9a-f]+)/i:s=="octal"?/([0-7]+)/:null,M=s=="decimal"?10:s=="hex"?16:s=="octal"?8:void 0,P=[],I=[];if(s||u)for(var N=0;N<m.length;N++){var K=u?m[N].match(u):null;K&&K.index!=null&&!h&&(K[0]=m[N].slice(K.index+K[0].length)),K&&K[0]!=""?P.push(K):b&&b.exec(m[N])?P.push(m[N]):I.push(m[N])}else I=m;function F(V,$){if(n){var ke;ke=V,V=$,$=ke}r&&(V=V.toLowerCase(),$=$.toLowerCase());var fe=b&&b.exec(V),he=b&&b.exec($);if(!fe||!he)return V<$?-1:1;var Ye=parseInt((fe[1]+fe[2]).toLowerCase(),M),Bt=parseInt((he[1]+he[2]).toLowerCase(),M);return Ye-Bt}function oe(V,$){if(n){var ke;ke=V,V=$,$=ke}return r&&(V[0]=V[0].toLowerCase(),$[0]=$[0].toLowerCase()),V[0]<$[0]?-1:1}if(P.sort(u?oe:F),u)for(var N=0;N<P.length;N++)P[N]=P[N].input;else s||I.sort(F);if(m=n?P.concat(I):I.concat(P),o){var ee=m,ue;m=[];for(var N=0;N<ee.length;N++)ee[N]!=ue&&m.push(ee[N]),ue=ee[N]}e.replaceRange(m.join(`
33
- `),k,w)},vglobal:function(e,t){this.global(e,t)},normal:function(e,t){var n=!1,r=t.argString;if(r&&r[0]=="!"&&(r=r.slice(1),n=!0),r=r.trimStart(),!r){Q(e,"Argument is required.");return}var o=t.line;if(typeof o=="number")for(var s=isNaN(t.lineEnd)?o:t.lineEnd,u=o;u<=s;u++)e.setCursor(u,0),U(e,t.argString.trimStart(),{noremap:n}),e.state.vim.insertMode&&ze(e,!0);else U(e,t.argString.trimStart(),{noremap:n}),e.state.vim.insertMode&&ze(e,!0)},global:function(e,t){var n=t.argString;if(!n){Q(e,"Regular Expression missing from global");return}var r=t.commandName[0]==="v";n[0]==="!"&&t.commandName[0]==="g"&&(r=!0,n=n.slice(1));var o=t.line!==void 0?t.line:e.firstLine(),s=t.lineEnd||t.line||e.lastLine(),u=ei(n),h=n,d="";if(u&&u.length&&(h=u[0],d=u.slice(1,u.length).join("/")),h)try{ct(e,h,!0,!0)}catch{Q(e,"Invalid regex: "+h);return}for(var p=Ie(e).getQuery(),g=[],y=o;y<=s;y++){var k=e.getLine(y),w=p.test(k);w!==r&&g.push(d?e.getLineHandle(y):k)}if(!d){Q(e,g.join(`
34
- `));return}var m=0,b=function(){if(m<g.length){var M=g[m++],P=e.getLineNumber(M);if(P==null){b();return}var I=P+1+d;Ce.processCommand(e,I,{callback:b})}else e.releaseLineHandles&&e.releaseLineHandles()};b()},substitute:function(e,t){if(!e.getSearchCursor)throw new Error("Search feature not available. Requires searchcursor.js or any other getSearchCursor implementation.");var n=t.argString,r=n?kn(n,n[0]):[],o="",s="",u,h,d,p=!1,g=!1;if(r&&r.length)o=r[0],de("pcre")&&o!==""&&(o=new RegExp(o).source),s=r[1],s!==void 0&&(de("pcre")?s=ii(s.replace(/([^\\])&/g,"$1$$&")):s=ri(s),E.lastSubstituteReplacePart=s),u=r[2]?r[2].split(" "):[];else if(n&&n.length){Q(e,"Substitutions should be of the form :s/pattern/replace/");return}if(u&&(h=u[0],d=parseInt(u[1]),h&&(h.indexOf("c")!=-1&&(p=!0),h.indexOf("g")!=-1&&(g=!0),de("pcre")?o=o+"/"+h:o=o.replace(/\//g,"\\/")+"/"+h)),o)try{ct(e,o,!0,!0)}catch{Q(e,"Invalid regex: "+o);return}if(s=s||E.lastSubstituteReplacePart,s===void 0){Q(e,"No previous substitute regular expression");return}var y=Ie(e),k=y.getQuery(),w=t.line!==void 0?t.line:e.getCursor().line,m=t.lineEnd||w;w==e.firstLine()&&m==e.lastLine()&&(m=1/0),d&&(w=m,m=w+d-1);var b=ve(e,new i(w,0)),M=e.getSearchCursor(k,b);fi(e,p,g,w,m,M,k,s,t.callback)},startinsert:function(e,t){U(e,t.argString=="!"?"A":"i",{})},redo:a.commands.redo,undo:a.commands.undo,write:function(e){a.commands.save?a.commands.save(e):e.save&&e.save()},nohlsearch:function(e){rt(e)},yank:function(e,t){var n=t.selectionLine,r=isNaN(t.selectionLineEnd)?n:t.selectionLineEnd;if(r<n){var o=r;r=n,n=o}var s=e.getRange(new i(n,0),new i(r+1,0)),u=t.args&&t.args[0]?t.args[0]:"0";E.registerController.pushText(u,"yank",s,!0,!1),Q(e,r+1-n+" lines yanked"+(u?' into "'+u:""),!1,1500)},put:function(e,t,n){var r={after:!0,isEdit:!0,matchIndent:!!n,repeat:1,lineWise:!0,registerName:""},o=t.args||[];o[0]=="!"&&(r.after=!1,o.shift()),o[0]&&(r.registerName=o[0]);var s=t.selectionLine;s!=null&&e.setCursor(new i(s,0)),Ze.paste(e,r,e.state.vim)},iput:function(e,t){this.put(e,t,!0)},delete:function(e,t){var n=t.selectionLine,r=isNaN(t.selectionLineEnd)?n:t.selectionLineEnd;Lt.delete(e,{linewise:!0},[{anchor:new i(n,0),head:new i(r+1,0)}])},join:function(e,t){var n=t.selectionLine,r=isNaN(t.selectionLineEnd)?n:t.selectionLineEnd;e.setCursor(new i(n,0)),Ze.joinLines(e,{repeat:r-n},e.state.vim)},delmarks:function(e,t){if(!t.argString||!At(t.argString)){Q(e,"Argument required");return}for(var n=e.state.vim,r=new a.StringStream(At(t.argString));!r.eol();){r.eatSpace();var o=r.pos;if(!r.match(/[a-zA-Z]/,!1)){Q(e,"Invalid argument: "+t.argString.substring(o));return}var s=r.next();if(r.match("-",!0)){if(!r.match(/[a-zA-Z]/,!1)){Q(e,"Invalid argument: "+t.argString.substring(o));return}var u=s,h=r.next();if(u&&h&&ae(u)==ae(h)){var d=u.charCodeAt(0),p=h.charCodeAt(0);if(d>=p){Q(e,"Invalid argument: "+t.argString.substring(o));return}for(var g=0;g<=p-d;g++){var y=String.fromCharCode(d+g);delete n.marks[y]}}else{Q(e,"Invalid argument: "+u+"-");return}}else s&&delete n.marks[s]}}},Ce=new ui;pe.defineEx("version","ve",e=>{Q(e,"Codemirror-vim version: <DEV>")});function fi(e,t,n,r,o,s,u,h,d){e.state.vim.exMode=!0;var p=!1,g=0,y,k,w;function m(){e.operation(function(){for(;!p;)b(),P();I()})}function b(){var K="",F=s.match||s.pos&&s.pos.match;if(F)K=h.replace(/\$(\d{1,3}|[$&])/g,function(ue,V){if(V=="$")return"$";if(V=="&")return F[0];for(var $=V;parseInt($)>=F.length&&$.length>0;)$=$.slice(0,$.length-1);return $?F[$]+V.slice($.length,V.length):ue});else{var oe=e.getRange(s.from(),s.to());K=oe.replace(u,h)}var ee=s.to().line;s.replace(K),k=s.to().line,o+=k-ee,w=k<ee}function M(){var K=y&&G(s.to()),F=s.findNext();return F&&!F[0]&&K&&Re(s.from(),K)&&(F=s.findNext()),F&&g++,F}function P(){for(;M()&&ci(s.from(),r,o);)if(!(!n&&s.from().line==k&&!w)){e.scrollIntoView(s.from(),30),e.setSelection(s.from(),s.to()),y=s.from(),p=!1;return}p=!0}function I(K){if(K&&K(),e.focus(),y){e.setCursor(y);var F=e.state.vim;F.exMode=!1,F.lastHPos=F.lastHSPos=y.ch}d?d():p&&Q(e,(g?"Found "+g+" matches":"No matches found")+" for pattern: "+u+(de("pcre")?" (set nopcre to use Vim regexps)":""))}function N(K,F,oe){a.e_stop(K);var ee=qe(K);switch(ee){case"y":b(),P();break;case"n":P();break;case"a":var ue=d;d=void 0,e.operation(m),d=ue;break;case"l":b();case"q":case"<Esc>":case"<C-c>":case"<C-[>":I(oe);break}return p&&I(oe),!0}if(P(),p){Q(e,"No matches for "+u+(de("pcre")?" (set nopcre to use vim regexps)":""));return}if(!t){m(),d&&d();return}mt(e,{prefix:Ne("span","replace with ",Ne("strong",h)," (y/n/a/q/l)"),onKeyDown:N})}function ze(e,t){var n=e.state.vim,r=E.macroModeState,o=E.registerController.getRegister("."),s=r.isPlaying,u=r.lastInsertModeChanges;s||(e.off("change",En),n.insertEnd&&n.insertEnd.clear(),n.insertEnd=void 0,a.off(e.getInputField(),"keydown",Tn)),!s&&n.insertModeRepeat&&n.insertModeRepeat>1&&(In(e,n,n.insertModeRepeat-1,!0),n.lastEditInputState.repeatOverride=n.insertModeRepeat),delete n.insertModeRepeat,n.insertMode=!1,t||e.setCursor(e.getCursor().line,e.getCursor().ch-1),e.setOption("keyMap","vim"),e.setOption("disableInput",!0),e.toggleOverwrite(!1),o.setText(u.changes.join("")),a.signal(e,"vim-mode-change",{mode:"normal"}),r.isRecording&&mi(r)}function Nt(e){c.unshift(e),e.keys&&hi(e.keys)}function hi(e){e.split(/(<(?:[CSMA]-)*\w+>|.)/i).forEach(function(t){t&&(f[t]||(f[t]=0),f[t]++)})}function di(e){e.split(/(<(?:[CSMA]-)*\w+>|.)/i).forEach(function(t){f[t]&&f[t]--})}function pi(e,t,n,r,o){var s={keys:e,type:t};s[t]=n,s[t+"Args"]=r;for(var u in o)s[u]=o[u];Nt(s)}Ve("insertModeEscKeysTimeout",200,"number");function gi(e,t,n,r){var o=E.registerController.getRegister(r);if(r==":"){o.keyBuffer[0]&&Ce.processCommand(e,o.keyBuffer[0]),n.isPlaying=!1;return}var s=o.keyBuffer,u=0;n.isPlaying=!0,n.replaySearchQueries=o.searchQueries.slice(0);for(var h=0;h<s.length;h++)for(var d=s[h],p,g,y=/<(?:[CSMA]-)*\w+>|./gi;p=y.exec(d);)if(g=p[0],pe.handleKey(e,g,"macro"),t.insertMode){var k=o.insertModeChanges[u++].changes;E.macroModeState.lastInsertModeChanges.changes=k,Pn(e,k,1),ze(e)}n.isPlaying=!1}function vi(e,t){if(!e.isPlaying){var n=e.latestRegister,r=E.registerController.getRegister(n);r&&r.pushText(t)}}function mi(e){if(!e.isPlaying){var t=e.latestRegister,n=E.registerController.getRegister(t);n&&n.pushInsertModeChanges&&n.pushInsertModeChanges(e.lastInsertModeChanges)}}function yi(e,t){if(!e.isPlaying){var n=e.latestRegister,r=E.registerController.getRegister(n);r&&r.pushSearchQuery&&r.pushSearchQuery(t)}}function En(e,t){var n=E.macroModeState,r=n.lastInsertModeChanges;if(!n.isPlaying)for(var o=e.state.vim;t;){if(r.expectCursorActivityForChange=!0,r.ignoreCount>1)r.ignoreCount--;else if(t.origin=="+input"||t.origin=="paste"||t.origin===void 0){var s=e.listSelections().length;s>1&&(r.ignoreCount=s);var u=t.text.join(`
35
- `);if(r.maybeReset&&(r.changes=[],r.maybeReset=!1),u)if(e.state.overwrite&&!/\n/.test(u))r.changes.push([u]);else{if(u.length>1){var h=o&&o.insertEnd&&o.insertEnd.find(),d=e.getCursor();if(h&&h.line==d.line){var p=h.ch-d.ch;p>0&&p<u.length&&(r.changes.push([u,p]),u="")}}u&&r.changes.push(u)}}t=t.next}}function On(e){var t=e.state.vim;if(t.insertMode){var n=E.macroModeState;if(n.isPlaying)return;var r=n.lastInsertModeChanges;r.expectCursorActivityForChange?r.expectCursorActivityForChange=!1:(r.maybeReset=!0,t.insertEnd&&t.insertEnd.clear(),t.insertEnd=e.setBookmark(e.getCursor(),{insertLeft:!0}))}else e.curOp?.isVimOp||Rn(e,t)}function Rn(e,t){var n=e.getCursor("anchor"),r=e.getCursor("head");if(t.visualMode&&!e.somethingSelected()?_e(e,!1):!t.visualMode&&!t.insertMode&&e.somethingSelected()&&(t.visualMode=!0,t.visualLine=!1,a.signal(e,"vim-mode-change",{mode:"visual"})),t.visualMode){var o=ne(r,n)?0:-1,s=ne(r,n)?-1:0;r=ie(r,0,o),n=ie(n,0,s),t.sel={anchor:n,head:r},je(e,t,"<",me(r,n)),je(e,t,">",Ue(r,n))}else t.insertMode||(t.lastHPos=e.getCursor().ch)}function Tn(e){var t=E.macroModeState,n=t.lastInsertModeChanges,r=a.keyName?a.keyName(e):e.key;r&&(r.indexOf("Delete")!=-1||r.indexOf("Backspace")!=-1)&&(n.maybeReset&&(n.changes=[],n.maybeReset=!1),n.changes.push(new we(r,e)))}function In(e,t,n,r){var o=E.macroModeState;o.isPlaying=!0;var s=t.lastEditActionCommand,u=t.inputState;function h(){s?Je.processAction(e,t,s):Je.evalInput(e,t)}function d(g){if(o.lastInsertModeChanges.changes.length>0){g=t.lastEditActionCommand?g:1;var y=o.lastInsertModeChanges;Pn(e,y.changes,g)}}if(t.inputState=t.lastEditInputState,s&&s.interlaceInsertRepeat)for(var p=0;p<n;p++)h(),d(1);else r||h(),d(n);t.inputState=u,t.insertMode&&!r&&ze(e),o.isPlaying=!1}function Nn(e,t){a.lookupKey(t,"vim-insert",function(r){return typeof r=="string"?a.commands[r](e):r(e),!0})}function Pn(e,t,n){var r=e.getCursor("head"),o=E.macroModeState.lastInsertModeChanges.visualBlock;o&&(un(e,r,o+1),n=e.listSelections().length,e.setCursor(r));for(var s=0;s<n;s++){o&&e.setCursor(ie(r,s,0));for(var u=0;u<t.length;u++){var h=t[u];if(h instanceof we)Nn(e,h.keyName);else if(typeof h=="string")e.replaceSelection(h);else{var d=e.getCursor(),p=ie(d,0,h[0].length-(h[1]||0));e.replaceRange(h[0],d,h[1]?d:p),e.setCursor(p)}}}o&&e.setCursor(ie(r,0,1))}function Pt(e){var t=new e.constructor;return Object.keys(e).forEach(function(n){if(n!="insertEnd"){var r=e[n];Array.isArray(r)?r=r.slice():r&&typeof r=="object"&&r.constructor!=Object&&(r=Pt(r)),t[n]=r}}),e.sel&&(t.sel={head:e.sel.head&&G(e.sel.head),anchor:e.sel.anchor&&G(e.sel.anchor)}),t}function Ci(e,t,n){var s=Ee(e),r=e,o=!1,s=pe.maybeInitVimState_(r),u=s.visualBlock||s.wasInVisualBlock;if(r.state.closeVimNotification){var h=r.state.closeVimNotification;if(r.state.closeVimNotification=null,h(),t=="<CR>")return ce(r),!0}var d=r.isInMultiSelectMode();if(s.wasInVisualBlock&&!d?s.wasInVisualBlock=!1:d&&s.visualBlock&&(s.wasInVisualBlock=!0),t=="<Esc>"&&!s.insertMode&&!s.visualMode&&d&&s.status=="<Esc>")ce(r);else if(u||!d||r.inVirtualSelectionMode)o=pe.handleKey(r,t,n);else{var p=Pt(s),g=s.inputState.changeQueueList||[];r.operation(function(){r.curOp&&(r.curOp.isVimOp=!0);var y=0;r.forEachSelection(function(){r.state.vim.inputState.changeQueue=g[y];var k=r.getCursor("head"),w=r.getCursor("anchor"),m=ne(k,w)?0:-1,b=ne(k,w)?-1:0;k=ie(k,0,m),w=ie(w,0,b),r.state.vim.sel.head=k,r.state.vim.sel.anchor=w,o=pe.handleKey(r,t,n),r.virtualSelection&&(g[y]=r.state.vim.inputState.changeQueue,r.state.vim=Pt(p)),y++}),r.curOp?.cursorActivity&&!o&&(r.curOp.cursorActivity=!1),r.state.vim=s,s.inputState.changeQueueList=g,s.inputState.changeQueue=null},!0)}return o&&!s.visualMode&&!s.insertMode&&s.visualMode!=r.somethingSelected()&&Rn(r,s),o}return tt(),pe}function Se(a,i){var l=i.ch,c=i.line+1;c<1&&(c=1,l=0),c>a.lines&&(c=a.lines,l=Number.MAX_VALUE);var f=a.line(c);return Math.min(f.from+Math.max(0,l),f.to)}function Te(a,i){let l=a.lineAt(i);return{line:l.number-1,ch:i-l.from}}class Fe{constructor(i,l){this.line=i,this.ch=l}}function ur(a,i,l){if(a.addEventListener)a.addEventListener(i,l,!1);else{var c=a._handlers||(a._handlers={});c[i]=(c[i]||[]).concat(l)}}function fr(a,i,l){if(a.removeEventListener)a.removeEventListener(i,l,!1);else{var c=a._handlers,f=c&&c[i];if(f){var v=f.indexOf(l);v>-1&&(c[i]=f.slice(0,v).concat(f.slice(v+1)))}}}function hr(a,i,...l){var c,f=(c=a._handlers)===null||c===void 0?void 0:c[i];if(f)for(var v=0;v<f.length;++v)f[v](...l)}function Hn(a,...i){if(a)for(var l=0;l<a.length;++l)a[l](...i)}let Wt;try{Wt=new RegExp("[\\w\\p{Alphabetic}\\p{Number}_]","u")}catch{Wt=/[\w]/}function ft(a,i){var l=a.cm6;if(!l.state.readOnly){var c="input.type.compose";if(a.curOp&&(a.curOp.lastChange||(c="input.type.compose.start")),i.annotations)try{i.annotations.some(function(f){f.value=="input"&&(f.value=c)})}catch(f){console.error(f)}else i.userEvent=c;return l.dispatch(i)}}function Vn(a,i){var l;a.curOp&&(a.curOp.$changeStart=void 0),(i?_i:Ki)(a.cm6);let c=(l=a.curOp)===null||l===void 0?void 0:l.$changeStart;c!=null&&a.cm6.dispatch({selection:{anchor:c}})}var mo={Left:a=>it(a.cm6,{key:"Left"},"editor"),Right:a=>it(a.cm6,{key:"Right"},"editor"),Up:a=>it(a.cm6,{key:"Up"},"editor"),Down:a=>it(a.cm6,{key:"Down"},"editor"),Backspace:a=>it(a.cm6,{key:"Backspace"},"editor"),Delete:a=>it(a.cm6,{key:"Delete"},"editor")};class H{openDialog(i,l,c){return Co(this,i,l,c)}openNotification(i,l){return yo(this,i,l)}constructor(i){this.state={},this.marks=Object.create(null),this.$mid=0,this.options={},this._handlers={},this.$lastChangeEndOffset=0,this.virtualSelection=null,this.cm6=i,this.onChange=this.onChange.bind(this),this.onSelectionChange=this.onSelectionChange.bind(this)}on(i,l){ur(this,i,l)}off(i,l){fr(this,i,l)}signal(i,l,c){hr(this,i,l,c)}indexFromPos(i){return Se(this.cm6.state.doc,i)}posFromIndex(i){return Te(this.cm6.state.doc,i)}foldCode(i){let l=this.cm6,c=l.state.selection.ranges,f=this.cm6.state.doc,v=Se(f,i),C=Me.create([Me.range(v,v)],0).ranges;l.state.selection.ranges=C,xi(l),l.state.selection.ranges=c}firstLine(){return 0}lastLine(){return this.cm6.state.doc.lines-1}lineCount(){return this.cm6.state.doc.lines}setCursor(i,l){typeof i=="object"&&(l=i.ch,i=i.line);var c=Se(this.cm6.state.doc,{line:i,ch:l||0});this.cm6.dispatch({selection:{anchor:c}},{scrollIntoView:!this.curOp}),this.curOp&&!this.curOp.isVimOp&&this.onBeforeEndOperation()}getCursor(i){var l=this.cm6.state.selection.main,c=i=="head"||!i?l.head:i=="anchor"?l.anchor:i=="start"?l.from:i=="end"?l.to:null;if(c==null)throw new Error("Invalid cursor type");return this.posFromIndex(c)}listSelections(){var i=this.cm6.state.doc;return this.cm6.state.selection.ranges.map(l=>({anchor:Te(i,l.anchor),head:Te(i,l.head)}))}setSelections(i,l){var c=this.cm6.state.doc,f=i.map(v=>{var C=Se(c,v.head),x=Se(c,v.anchor);return C==x?Me.cursor(C,1):Me.range(x,C)});this.cm6.dispatch({selection:Me.create(f,l)})}setSelection(i,l,c){this.setSelections([{anchor:i,head:l}],0),c&&c.origin=="*mouse"&&this.onBeforeEndOperation()}getLine(i){var l=this.cm6.state.doc;return i<0||i>=l.lines?"":this.cm6.state.doc.line(i+1).text}getLineHandle(i){return this.$lineHandleChanges||(this.$lineHandleChanges=[]),{row:i,index:this.indexFromPos(new Fe(i,0))}}getLineNumber(i){var l=this.$lineHandleChanges;if(!l)return null;for(var c=i.index,f=0;f<l.length;f++)if(c=l[f].changes.mapPos(c,1,or.TrackAfter),c==null)return null;var v=this.posFromIndex(c);return v.ch==0?v.line:null}releaseLineHandles(){this.$lineHandleChanges=void 0}getRange(i,l){var c=this.cm6.state.doc;return this.cm6.state.sliceDoc(Se(c,i),Se(c,l))}replaceRange(i,l,c,f){c||(c=l);var v=this.cm6.state.doc,C=Se(v,l),x=Se(v,c);ft(this,{changes:{from:C,to:x,insert:i}})}replaceSelection(i){ft(this,this.cm6.state.replaceSelection(i))}replaceSelections(i){var l=this.cm6.state.selection.ranges,c=l.map((f,v)=>({from:f.from,to:f.to,insert:i[v]||""}));ft(this,{changes:c})}getSelection(){return this.getSelections().join(`
36
- `)}getSelections(){var i=this.cm6;return i.state.selection.ranges.map(l=>i.state.sliceDoc(l.from,l.to))}somethingSelected(){return this.cm6.state.selection.ranges.some(i=>!i.empty)}getInputField(){return this.cm6.contentDOM}clipPos(i){var l=this.cm6.state.doc,c=i.ch,f=i.line+1;f<1&&(f=1,c=0),f>l.lines&&(f=l.lines,c=Number.MAX_VALUE);var v=l.line(f);return c=Math.min(Math.max(0,c),v.to-v.from),new Fe(f-1,c)}getValue(){return this.cm6.state.doc.toString()}setValue(i){var l=this.cm6;return l.dispatch({changes:{from:0,to:l.state.doc.length,insert:i},selection:Me.range(0,0)})}focus(){return this.cm6.focus()}blur(){return this.cm6.contentDOM.blur()}defaultTextHeight(){return this.cm6.defaultLineHeight}findMatchingBracket(i,l){var c=this.cm6.state,f=Se(c.doc,i),v=Bn(c,f+1,-1);return v&&v.end?{to:Te(c.doc,v.end.from)}:(v=Bn(c,f,1),v&&v.end?{to:Te(c.doc,v.end.from)}:{to:void 0})}scanForBracket(i,l,c,f){return xo(this,i,l,c,f)}indentLine(i,l){l?this.indentMore():this.indentLess()}indentMore(){Si(this.cm6)}indentLess(){bi(this.cm6)}execCommand(i){if(H.commands.hasOwnProperty(i))H.commands[i](this);else if(i=="goLineLeft")Mi(this.cm6);else if(i=="goLineRight"){Li(this.cm6);let l=this.cm6.state,c=l.selection.main.head;c<l.doc.length&&l.sliceDoc(c,c+1)!==`
37
- `&&Ai(this.cm6)}else console.log(i+" is not implemented")}setBookmark(i,l){var c=l?.insertLeft?1:-1,f=this.indexFromPos(i),v=new Mo(this,f,c);return v}addOverlay({query:i}){let l=new Ei({regexp:!0,search:i.source,caseSensitive:!/i/.test(i.flags)});if(l.valid){l.forVim=!0,this.cm6Query=l;let c=Ht.of(l);return this.cm6.dispatch({effects:c}),l}}removeOverlay(i){if(!this.cm6Query)return;this.cm6Query.forVim=!1;let l=Ht.of(this.cm6Query);this.cm6.dispatch({effects:l})}getSearchCursor(i,l){var c=this,f=null,v=null,C=!1;l.ch==null&&(l.ch=Number.MAX_VALUE);var x=Se(c.cm6.state.doc,l),S=i.source.replace(/(\\.|{(?:\d+(?:,\d*)?|,\d+)})|[{}]/g,function(D,_){return _||"\\"+D});function T(D,_=0,j=D.length){return new Ri(D,S,{ignoreCase:i.ignoreCase},_,j)}function R(D){var _=c.cm6.state.doc;if(D>_.length)return null;let j=T(_,D).next();return j.done?null:j.value}var L=1e4;function A(D,_){var j=c.cm6.state.doc;for(let z=1;;z++){let q=Math.max(D,_-z*L),W=T(j,q,_),ae=null;for(;!W.next().done;)ae=W.value;if(ae&&(q==D||ae.from>q+10))return ae;if(q==D)return null}}return{findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(D){var _=c.cm6.state.doc;if(D){let j=f?C?f.to-1:f.from:x;f=A(0,j)}else{let j=f?C?f.to+1:f.to:x;f=R(j)}return v=f&&{from:Te(_,f.from),to:Te(_,f.to),match:f.match},C=f?f.from==f.to:!1,f&&f.match},from:function(){return v?.from},to:function(){return v?.to},replace:function(D){f&&(ft(c,{changes:{from:f.from,to:f.to,insert:D}}),f.to=f.from+D.length,v&&(v.to=Te(c.cm6.state.doc,f.to)))},get match(){return v&&v.match}}}findPosV(i,l,c,f){let{cm6:v}=this;const C=v.state.doc;let x=c=="page"?v.dom.clientHeight:0;const S=Se(C,i);let T=Me.cursor(S,1,void 0,f),R=Math.round(Math.abs(l));for(let A=0;A<R;A++)c=="page"?T=v.moveVertically(T,l>0,x):c=="line"&&(T=v.moveVertically(T,l>0));let L=Te(C,T.head);return(l<0&&T.head==0&&f!=0&&i.line==0&&i.ch!=0||l>0&&T.head==C.length&&L.ch!=f&&i.line==L.line)&&(L.hitSide=!0),L}charCoords(i,l){var c=this.cm6.contentDOM.getBoundingClientRect(),f=Se(this.cm6.state.doc,i),v=this.cm6.coordsAtPos(f),C=-c.top;return{left:(v?.left||0)-c.left,top:(v?.top||0)+C,bottom:(v?.bottom||0)+C}}coordsChar(i,l){var c=this.cm6.contentDOM.getBoundingClientRect(),f=this.cm6.posAtCoords({x:i.left+c.left,y:i.top+c.top})||0;return Te(this.cm6.state.doc,f)}getScrollInfo(){var i=this.cm6.scrollDOM;return{left:i.scrollLeft,top:i.scrollTop,height:i.scrollHeight,width:i.scrollWidth,clientHeight:i.clientHeight,clientWidth:i.clientWidth}}scrollTo(i,l){i!=null&&(this.cm6.scrollDOM.scrollLeft=i),l!=null&&(this.cm6.scrollDOM.scrollTop=l)}scrollIntoView(i,l){if(i){var c=this.indexFromPos(i);this.cm6.dispatch({effects:se.scrollIntoView(c)})}else this.cm6.dispatch({scrollIntoView:!0,userEvent:"scroll"})}getWrapperElement(){return this.cm6.dom}getMode(){return{name:this.getOption("mode")}}setSize(i,l){this.cm6.dom.style.width=i+4+"px",this.cm6.dom.style.height=l+"px",this.refresh()}refresh(){this.cm6.measure()}destroy(){this.removeOverlay()}getLastEditEnd(){return this.posFromIndex(this.$lastChangeEndOffset)}onChange(i){this.$lineHandleChanges&&this.$lineHandleChanges.push(i);for(let c in this.marks)this.marks[c].update(i.changes);this.virtualSelection&&(this.virtualSelection.ranges=this.virtualSelection.ranges.map(c=>c.map(i.changes)));var l=this.curOp=this.curOp||{};i.changes.iterChanges((c,f,v,C,x)=>{(l.$changeStart==null||l.$changeStart>v)&&(l.$changeStart=v),this.$lastChangeEndOffset=C;var S={text:x.toJSON()};l.lastChange?l.lastChange.next=l.lastChange=S:l.lastChange=l.change=S},!0),l.changeHandlers||(l.changeHandlers=this._handlers.change&&this._handlers.change.slice())}onSelectionChange(){var i=this.curOp=this.curOp||{};i.cursorActivityHandlers||(i.cursorActivityHandlers=this._handlers.cursorActivity&&this._handlers.cursorActivity.slice()),this.curOp.cursorActivity=!0}operation(i,l){this.curOp||(this.curOp={$d:0}),this.curOp.$d++;try{var c=i()}finally{this.curOp&&(this.curOp.$d--,this.curOp.$d||this.onBeforeEndOperation())}return c}onBeforeEndOperation(){var i=this.curOp,l=!1;i&&(i.change&&Hn(i.changeHandlers,this,i.change),i&&i.cursorActivity&&(Hn(i.cursorActivityHandlers,this,null),i.isVimOp&&(l=!0)),this.curOp=null),l&&this.scrollIntoView()}moveH(i,l){if(l=="char"){var c=this.getCursor();this.setCursor(c.line,c.ch+i)}}setOption(i,l){switch(i){case"keyMap":this.state.keyMap=l;break;case"textwidth":this.state.textwidth=l;break}}getOption(i){switch(i){case"firstLineNumber":return 1;case"tabSize":return this.cm6.state.tabSize||4;case"readOnly":return this.cm6.state.readOnly;case"indentWithTabs":return this.cm6.state.facet(Dn)==" ";case"indentUnit":return this.cm6.state.facet(Dn).length||2;case"textwidth":return this.state.textwidth;case"keyMap":return this.state.keyMap||"vim"}}toggleOverwrite(i){this.state.overwrite=i}getTokenTypeAt(i){var l,c=this.indexFromPos(i),f=ar(this.cm6.state,c),v=f?.resolve(c),C=((l=v?.type)===null||l===void 0?void 0:l.name)||"";return/comment/i.test(C)?"comment":/string/i.test(C)?"string":""}overWriteSelection(i){var l=this.cm6.state.doc,c=this.cm6.state.selection,f=c.ranges.map(v=>{if(v.empty){var C=v.to<l.length?l.sliceString(v.from,v.to+1):"";if(C&&!/\n/.test(C))return Me.range(v.from,v.to+1)}return v});this.cm6.dispatch({selection:Me.create(f,c.mainIndex)}),this.replaceSelection(i)}isInMultiSelectMode(){return this.cm6.state.selection.ranges.length>1}virtualSelectionMode(){return!!this.virtualSelection}forEachSelection(i){var l=this.cm6.state.selection;this.virtualSelection=Me.create(l.ranges,l.mainIndex);for(var c=0;c<this.virtualSelection.ranges.length;c++){var f=this.virtualSelection.ranges[c];f&&(this.cm6.dispatch({selection:Me.create([f])}),i(),this.virtualSelection.ranges[c]=this.cm6.state.selection.ranges[0])}this.cm6.dispatch({selection:this.virtualSelection}),this.virtualSelection=null}hardWrap(i){return Lo(this,i)}}H.isMac=typeof navigator<"u"&&/Mac/.test(navigator.platform);H.Pos=Fe;H.StringStream=Ii;H.commands={toggleLineComment:function(a){Di(a.cm6)},cursorCharLeft:function(a){Bi(a.cm6)},redo:function(a){Vn(a,!1)},undo:function(a){Vn(a,!0)},newlineAndIndent:function(a){Pi({state:a.cm6.state,dispatch:i=>ft(a,i)})},indentAuto:function(a){Ni(a.cm6)},newlineAndIndentContinueComment:void 0,save:void 0};H.isWordChar=function(a){return Wt.test(a)};H.keys=mo;H.addClass=function(a,i){};H.rmClass=function(a,i){};H.e_preventDefault=function(a){a.preventDefault()};H.e_stop=function(a){var i,l;(i=a?.stopPropagation)===null||i===void 0||i.call(a),(l=a?.preventDefault)===null||l===void 0||l.call(a)};H.lookupKey=function(i,l,c){var f=H.keys[i];!f&&/^Arrow/.test(i)&&(f=H.keys[i.slice(5)]),f&&c(f)};H.on=ur;H.off=fr;H.signal=hr;H.findMatchingTag=So;H.findEnclosingTag=bo;H.keyName=void 0;function dr(a,i,l){var c=document.createElement("div");return c.appendChild(i),c}function pr(a,i){a.state.currentNotificationClose&&a.state.currentNotificationClose(),a.state.currentNotificationClose=i}function yo(a,i,l){pr(a,x);var c=dr(a,i,l&&l.bottom),f=!1,v,C=l&&typeof l.duration<"u"?l.duration:5e3;function x(){f||(f=!0,clearTimeout(v),c.remove(),vr(a,c))}return c.onclick=function(S){S.preventDefault(),x()},gr(a,c),C&&(v=setTimeout(x,C)),x}function gr(a,i){var l=a.state.dialog;a.state.dialog=i,i.style.flex="1",i&&l!==i&&(l&&l.contains(document.activeElement)&&a.focus(),l&&l.parentElement?l.parentElement.replaceChild(i,l):l&&l.remove(),H.signal(a,"dialog"))}function vr(a,i){a.state.dialog==i&&(a.state.dialog=null,H.signal(a,"dialog"))}function Co(a,i,l,c){c||(c={}),pr(a,void 0);var f=dr(a,i,c.bottom),v=!1;gr(a,f);function C(S){if(typeof S=="string")x.value=S;else{if(v)return;v=!0,vr(a,f),a.state.dialog||a.focus(),c.onClose&&c.onClose(f)}}var x=f.getElementsByTagName("input")[0];return x&&(c.value&&(x.value=c.value,c.selectValueOnOpen!==!1&&x.select()),c.onInput&&H.on(x,"input",function(S){c.onInput(S,x.value,C)}),c.onKeyUp&&H.on(x,"keyup",function(S){c.onKeyUp(S,x.value,C)}),H.on(x,"keydown",function(S){c&&c.onKeyDown&&c.onKeyDown(S,x.value,C)||(S.keyCode==13&&l&&l(x.value),(S.keyCode==27||c.closeOnEnter!==!1&&S.keyCode==13)&&(x.blur(),H.e_stop(S),C()))}),c.closeOnBlur!==!1&&H.on(x,"blur",function(){setTimeout(function(){document.activeElement!==x&&C()})}),x.focus()),C}var ko={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function wo(a){return a&&a.bracketRegex||/[(){}[\]]/}function xo(a,i,l,c,f){for(var v=f&&f.maxScanLineLength||1e4,C=f&&f.maxScanLines||1e3,x=[],S=wo(f),T=l>0?Math.min(i.line+C,a.lastLine()+1):Math.max(a.firstLine()-1,i.line-C),R=i.line;R!=T;R+=l){var L=a.getLine(R);if(L){var A=l>0?0:L.length-1,D=l>0?L.length:-1;if(!(L.length>v))for(R==i.line&&(A=i.ch-(l<0?1:0));A!=D;A+=l){var _=L.charAt(A);if(S.test(_)){var j=ko[_];if(j&&j.charAt(1)==">"==l>0)x.push(_);else if(x.length)x.pop();else return{pos:new Fe(R,A),ch:_}}}}}return R-l==(l>0?a.lastLine():a.firstLine())?!1:null}function So(a,i){return null}function bo(a,i){var l,c,f=a.cm6.state,v=a.indexFromPos(i);if(v<f.doc.length){var C=f.sliceDoc(v,v+1);C=="<"&&v++}for(var x=ar(f,v),S=x?.resolve(v)||null;S;){if(((l=S.firstChild)===null||l===void 0?void 0:l.type.name)=="OpenTag"&&((c=S.lastChild)===null||c===void 0?void 0:c.type.name)=="CloseTag")return{open:jn(f.doc,S.firstChild),close:jn(f.doc,S.lastChild)};S=S.parent}}function jn(a,i){return{from:Te(a,i.from),to:Te(a,i.to)}}class Mo{constructor(i,l,c){this.cm=i,this.id=i.$mid++,this.offset=l,this.assoc=c,i.marks[this.id]=this}clear(){delete this.cm.marks[this.id]}find(){return this.offset==null?null:this.cm.posFromIndex(this.offset)}update(i){this.offset!=null&&(this.offset=i.mapPos(this.offset,this.assoc,or.TrackDel))}}function Lo(a,i){for(var l,c=i.column||a.getOption("textwidth")||80,f=i.allowMerge!=!1,v=Math.min(i.from,i.to),C=Math.max(i.from,i.to);v<=C;){var x=a.getLine(v);if(x.length>c){var S=_(x,c,5);if(S){var T=(l=/^\s*/.exec(x))===null||l===void 0?void 0:l[0];a.replaceRange(`
38
- `+T,new Fe(v,S.start),new Fe(v,S.end))}C++}else if(f&&/\S/.test(x)&&v!=C){var R=a.getLine(v+1);if(R&&/\S/.test(R)){var L=x.replace(/\s+$/,""),A=R.replace(/^\s+/,""),D=L+" "+A,S=_(D,c,5);S&&S.start>L.length||D.length<c?(a.replaceRange(" ",new Fe(v,L.length),new Fe(v+1,R.length-A.length)),v--,C--):L.length<x.length&&a.replaceRange("",new Fe(v,L.length),new Fe(v,x.length))}}v++}return v;function _(j,z,q){if(!(j.length<z)){var W=j.slice(0,z),ae=j.slice(z),le=/^(?:(\s+)|(\S+)(\s+))/.exec(ae),J=/(?:(\s+)|(\s+)(\S+))$/.exec(W),ye=0,re=0;if(J&&!J[2]&&(ye=z-J[1].length,re=z),le&&!le[2]&&(ye||(ye=z),re=z+le[1].length),ye)return{start:ye,end:re};if(J&&J[2]&&J.index>q)return{start:J.index,end:J.index+J[2].length};if(le&&le[2])return ye=z+le[2].length,{start:ye,end:ye+le[3].length}}}}let Ut=Oi||(function(){let a={cursorBlinkRate:1200};return function(){return a}})();class Ao{constructor(i,l,c,f,v,C,x,S,T,R){this.left=i,this.top=l,this.height=c,this.fontFamily=f,this.fontSize=v,this.fontWeight=C,this.color=x,this.className=S,this.letter=T,this.partial=R}draw(){let i=document.createElement("div");return i.className=this.className,this.adjust(i),i}adjust(i){i.style.left=this.left+"px",i.style.top=this.top+"px",i.style.height=this.height+"px",i.style.lineHeight=this.height+"px",i.style.fontFamily=this.fontFamily,i.style.fontSize=this.fontSize,i.style.fontWeight=this.fontWeight,i.style.color=this.partial?"transparent":this.color,i.className=this.className,i.textContent=this.letter}eq(i){return this.left==i.left&&this.top==i.top&&this.height==i.height&&this.fontFamily==i.fontFamily&&this.fontSize==i.fontSize&&this.fontWeight==i.fontWeight&&this.color==i.color&&this.className==i.className&&this.letter==i.letter}}class Eo{constructor(i,l){this.view=i,this.rangePieces=[],this.cursors=[],this.cm=l,this.measureReq={read:this.readPos.bind(this),write:this.drawSel.bind(this)},this.cursorLayer=i.scrollDOM.appendChild(document.createElement("div")),this.cursorLayer.className="cm-cursorLayer cm-vimCursorLayer",this.cursorLayer.setAttribute("aria-hidden","true"),i.requestMeasure(this.measureReq),this.setBlinkRate()}setBlinkRate(){let l=Ut(this.cm.cm6.state).cursorBlinkRate;this.cursorLayer.style.animationDuration=l+"ms"}update(i){(i.selectionSet||i.geometryChanged||i.viewportChanged)&&(this.view.requestMeasure(this.measureReq),this.cursorLayer.style.animationName=this.cursorLayer.style.animationName=="cm-blink"?"cm-blink2":"cm-blink"),Oo(i)&&this.setBlinkRate()}scheduleRedraw(){this.view.requestMeasure(this.measureReq)}readPos(){let{state:i}=this.view,l=[];for(let c of i.selection.ranges){let f=c==i.selection.main,v=No(this.cm,this.view,c,f);v&&l.push(v)}return{cursors:l}}drawSel({cursors:i}){if(i.length!=this.cursors.length||i.some((l,c)=>!l.eq(this.cursors[c]))){let l=this.cursorLayer.children;if(l.length!==i.length){this.cursorLayer.textContent="";for(const c of i)this.cursorLayer.appendChild(c.draw())}else i.forEach((c,f)=>c.adjust(l[f]));this.cursors=i}}destroy(){this.cursorLayer.remove()}}function Oo(a){return Ut(a.startState)!=Ut(a.state)}const Ro={".cm-vimMode .cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-fat-cursor":{position:"absolute",background:"#ff9696",border:"none",whiteSpace:"pre"},"&:not(.cm-focused) .cm-fat-cursor":{background:"none",outline:"solid 1px #ff9696",color:"transparent !important"}},To=ir.highest(se.theme(Ro));function Io(a){let i=a.scrollDOM.getBoundingClientRect();return{left:(a.textDirection==Ti.LTR?i.left:i.right-a.scrollDOM.clientWidth)-a.scrollDOM.scrollLeft*a.scaleX,top:i.top-a.scrollDOM.scrollTop*a.scaleY}}function No(a,i,l,c){var f,v,C,x;let S=l.head,T=!1,R=1,L=a.state.vim;if(L&&(!L.insertMode||a.state.overwrite)){if(T=!0,L.visualBlock&&!c)return null;l.anchor<l.head&&(S<i.state.doc.length&&i.state.sliceDoc(S,S+1))!=`
39
- `&&S--,a.state.overwrite?R=.2:L.status&&(R=.5)}if(T){let D=S<i.state.doc.length&&i.state.sliceDoc(S,S+1);D&&/[\uDC00-\uDFFF]/.test(D)&&S>1&&(S--,D=i.state.sliceDoc(S,S+1));let _=i.coordsAtPos(S,1);if(!_)return null;let j=Io(i),z=i.domAtPos(S),q=z?z.node:i.contentDOM;for(q instanceof Text&&z.offset>=q.data.length&&!((f=q.parentElement)===null||f===void 0)&&f.nextSibling&&(q=(v=q.parentElement)===null||v===void 0?void 0:v.nextSibling,z={node:q,offset:0});z&&z.node instanceof HTMLElement;)q=z.node,z={node:z.node.childNodes[z.offset],offset:0};if(!(q instanceof HTMLElement)){if(!q.parentNode)return null;q=q.parentNode}let W=getComputedStyle(q),ae=_.left,le=(x=(C=i).coordsForChar)===null||x===void 0?void 0:x.call(C,S);if(le&&(ae=le.left),!D||D==`
40
- `||D=="\r")D=" ";else if(D==" "){D=" ";var A=i.coordsAtPos(S+1,-1);A&&(ae=A.left-(A.left-_.left)/parseInt(W.tabSize))}else/[\uD800-\uDBFF]/.test(D)&&S<i.state.doc.length-1&&(D+=i.state.sliceDoc(S+1,S+2));let J=_.bottom-_.top;return new Ao((ae-j.left)/i.scaleX,(_.top-j.top+J*(1-R))/i.scaleY,J*R/i.scaleY,W.fontFamily,W.fontSize,W.fontWeight,W.color,c?"cm-fat-cursor cm-cursor-primary":"cm-fat-cursor cm-cursor-secondary",D,R!=1)}else return null}var Po=typeof navigator<"u"&&/linux/i.test(navigator.platform)&&/ Gecko\/\d+/.exec(navigator.userAgent);const Pe=vo(H),Bo=250,Do=se.baseTheme({".cm-vimMode .cm-cursorLayer:not(.cm-vimCursorLayer)":{display:"none"},".cm-vim-panel":{padding:"0px 10px",fontFamily:"monospace",minHeight:"1.3em",display:"flex"},".cm-vim-panel input":{border:"none",outline:"none",backgroundColor:"inherit"},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"}}),_o=dt.fromClass(class{constructor(a){this.status="",this.query=null,this.decorations=te.none,this.waitForCopy=!1,this.lastKeydown="",this.useNextTextInput=!1,this.compositionText="",this.view=a;const i=this.cm=new H(a);Pe.enterVimMode(this.cm),this.view.cm=this.cm,this.cm.state.vimPlugin=this,this.blockCursor=new Eo(a,i),this.updateClass(),this.cm.on("vim-command-done",()=>{i.state.vim&&(i.state.vim.status=""),this.blockCursor.scheduleRedraw(),this.updateStatus()}),this.cm.on("vim-mode-change",l=>{i.state.vim&&(i.state.vim.mode=l.mode,l.subMode&&(i.state.vim.mode+=l.subMode==="linewise"?" line":" block"),i.state.vim.status="",this.blockCursor.scheduleRedraw(),this.updateClass(),this.updateStatus())}),this.cm.on("dialog",()=>{this.cm.state.statusbar?this.updateStatus():a.dispatch({effects:mr.of(!!this.cm.state.dialog)})}),this.dom=document.createElement("span"),this.spacer=document.createElement("span"),this.spacer.style.flex="1",this.statusButton=document.createElement("span"),this.statusButton.onclick=l=>{Pe.handleKey(this.cm,"<Esc>","user"),this.cm.focus()},this.statusButton.style.cssText="cursor: pointer"}update(a){var i;if((a.viewportChanged||a.docChanged)&&this.query&&this.highlight(this.query),a.docChanged&&this.cm.onChange(a),a.selectionSet&&this.cm.onSelectionChange(),a.viewportChanged,this.cm.curOp&&!this.cm.curOp.isVimOp&&this.cm.onBeforeEndOperation(),a.transactions){for(let l of a.transactions)for(let c of l.effects)if(c.is(Ht))if(!((i=c.value)===null||i===void 0?void 0:i.forVim))this.highlight(null);else{let v=c.value.create();this.highlight(v)}}this.blockCursor.update(a)}updateClass(){const a=this.cm.state;!a.vim||a.vim.insertMode&&!a.overwrite?this.view.scrollDOM.classList.remove("cm-vimMode"):this.view.scrollDOM.classList.add("cm-vimMode")}updateStatus(){let a=this.cm.state.statusbar,i=this.cm.state.vim;if(!a||!i)return;let l=this.cm.state.dialog;if(l)l.parentElement!=a&&(a.textContent="",a.appendChild(l));else{a.textContent="";var c=(i.mode||"normal").toUpperCase();i.insertModeReturn&&(c+="(C-O)"),this.statusButton.textContent=`--${c}--`,a.appendChild(this.statusButton),a.appendChild(this.spacer)}this.dom.textContent=i.status,a.appendChild(this.dom)}destroy(){Pe.leaveVimMode(this.cm),this.updateClass(),this.blockCursor.destroy(),delete this.view.cm}highlight(a){if(this.query=a,!a)return this.decorations=te.none;let{view:i}=this,l=new wi;for(let c=0,f=i.visibleRanges,v=f.length;c<v;c++){let{from:C,to:x}=f[c];for(;c<v-1&&x>f[c+1].from-2*Bo;)x=f[++c].to;a.highlight(i.state,C,x,(S,T)=>{l.add(S,T,$o)})}return this.decorations=l.finish()}handleKey(a,i){const l=this.cm;let c=l.state.vim;if(!c)return;const f=Pe.vimKeyFromEvent(a,c);if(H.signal(this.cm,"inputEvent",{type:"handleKey",key:f}),!f)return;if(f=="<Esc>"&&!c.insertMode&&!c.visualMode&&this.query){const x=c.searchState_;x&&(l.removeOverlay(x.getOverlay()),x.setOverlay(null))}if(f==="<C-c>"&&!H.isMac&&l.somethingSelected())return this.waitForCopy=!0,!0;c.status=(c.status||"")+f;let C=Pe.multiSelectHandleKey(l,f,"user");return c=Pe.maybeInitVimState_(l),!C&&c.insertMode&&l.state.overwrite&&(a.key&&a.key.length==1&&!/\n/.test(a.key)?(C=!0,l.overWriteSelection(a.key)):a.key=="Backspace"&&(C=!0,H.commands.cursorCharLeft(l))),C&&(H.signal(this.cm,"vim-keypress",f),a.preventDefault(),a.stopPropagation(),this.blockCursor.scheduleRedraw()),this.updateStatus(),!!C}},{eventHandlers:{copy:function(a,i){this.waitForCopy&&(this.waitForCopy=!1,Promise.resolve().then(()=>{var l=this.cm,c=l.state.vim;c&&(c.insertMode?l.setSelection(l.getCursor(),l.getCursor()):l.operation(()=>{l.curOp&&(l.curOp.isVimOp=!0),Pe.handleKey(l,"<Esc>","user")}))}))},compositionstart:function(a,i){this.useNextTextInput=!0,H.signal(this.cm,"inputEvent",a)},compositionupdate:function(a,i){H.signal(this.cm,"inputEvent",a)},compositionend:function(a,i){H.signal(this.cm,"inputEvent",a)},keypress:function(a,i){H.signal(this.cm,"inputEvent",a),this.lastKeydown=="Dead"&&this.handleKey(a,i)},keydown:function(a,i){H.signal(this.cm,"inputEvent",a),this.lastKeydown=a.key,this.lastKeydown=="Unidentified"||this.lastKeydown=="Process"||this.lastKeydown=="Dead"?this.useNextTextInput=!0:(this.useNextTextInput=!1,this.handleKey(a,i))}},provide:()=>[se.inputHandler.of((a,i,l,c)=>{var f,v,C=yr(a);if(!C)return!1;var x=(f=C.state)===null||f===void 0?void 0:f.vim,S=C.state.vimPlugin;if(x&&!x.insertMode&&!(!((v=C.curOp)===null||v===void 0)&&v.isVimOp)){if(c==="\0\0")return!0;if(H.signal(C,"inputEvent",{type:"text",text:c,from:i,to:l}),c.length==1&&S.useNextTextInput){if(x.expectLiteralNext&&a.composing)return S.compositionText=c,!1;if(S.compositionText){var T=S.compositionText;S.compositionText="";var R=a.state.selection.main.head,L=a.state.sliceDoc(R-T.length,R);if(T===L){var A=C.getCursor();C.replaceRange("",C.posFromIndex(R-T.length),A)}}return S.handleKey({key:c,preventDefault:()=>{},stopPropagation:()=>{}}),Ko(a),!0}}return!1})],decorations:a=>a.decorations});function Ko(a){var i=a.scrollDOM.parentElement;if(i){if(Po){a.contentDOM.textContent="\0\0",a.contentDOM.dispatchEvent(new CustomEvent("compositionend"));return}var l=a.scrollDOM.nextSibling,c=window.getSelection(),f=c&&{anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset};a.scrollDOM.remove(),i.insertBefore(a.scrollDOM,l);try{f&&c&&(c.setPosition(f.anchorNode,f.anchorOffset),f.focusNode&&c.extend(f.focusNode,f.focusOffset))}catch(v){console.error(v)}a.focus(),a.contentDOM.dispatchEvent(new CustomEvent("compositionend"))}}const $o=te.mark({class:"cm-searchMatch"}),mr=St.define(),Fo=xt.define({create:()=>!1,update(a,i){for(let l of i.effects)l.is(mr)&&(a=l.value);return a},provide:a=>rr.from(a,i=>i?Ho:null)});function Ho(a){let i=document.createElement("div");i.className="cm-vim-panel";let l=a.cm;return l.state.dialog&&i.appendChild(l.state.dialog),{top:!1,dom:i}}function Vo(a){let i=document.createElement("div");i.className="cm-vim-panel";let l=a.cm;return l.state.statusbar=i,l.state.vimPlugin.updateStatus(),{dom:i}}function Wn(a={}){return[Do,_o,To,a.status?rr.of(Vo):Fo]}function yr(a){return a.cm||null}class en{constructor(i,l){this.yanchor=i,this.yhead=l}toJSON(){return{yanchor:Kn(this.yanchor),yhead:Kn(this.yhead)}}static fromJSON(i){return new en(ht(i.yanchor),ht(i.yhead))}}class jo{constructor(i,l){this.ytext=i,this.awareness=l,this.undoManager=new cr(i)}toYPos(i,l=0){return Vt(this.ytext,i,l)}fromYPos(i){const l=jt(ht(i),this.ytext.doc);if(l==null||l.type!==this.ytext)throw new Error("[y-codemirror] The position you want to retrieve was created by a different document");return{pos:l.index,assoc:l.assoc}}toYRange(i){const l=i.assoc,c=this.toYPos(i.anchor,l),f=this.toYPos(i.head,l);return new en(c,f)}fromYRange(i){const l=this.fromYPos(i.yanchor),c=this.fromYPos(i.yhead);return l.pos===c.pos?Me.cursor(c.pos,c.assoc):Me.range(l.pos,c.pos)}}const bt=Yt.define({combine(a){return a[a.length-1]}}),zt=Xt.define();class Wo{constructor(i){this.view=i,this.conf=i.state.facet(bt),this._observer=(l,c)=>{if(c.origin!==this.conf){const f=l.delta,v=[];let C=0;for(let x=0;x<f.length;x++){const S=f[x];S.insert!=null?v.push({from:C,to:C,insert:S.insert}):S.delete!=null?(v.push({from:C,to:C+S.delete,insert:""}),C+=S.delete):C+=S.retain}i.dispatch({changes:v,annotations:[zt.of(this.conf)]})}},this._ytext=this.conf.ytext,this._ytext.observe(this._observer)}update(i){if(!i.docChanged||i.transactions.length>0&&i.transactions[0].annotation(zt)===this.conf)return;const l=this.conf.ytext;l.doc.transact(()=>{let c=0;i.changes.iterChanges((f,v,C,x,S)=>{const T=S.sliceString(0,S.length,`
41
- `);f!==v&&l.delete(f+c,v-f),T.length>0&&l.insert(f+c,T),c+=T.length-(v-f)})},this.conf)}destroy(){this._ytext.unobserve(this._observer)}}const Uo=dt.fromClass(Wo),zo=se.baseTheme({".cm-ySelection":{},".cm-yLineSelection":{padding:0,margin:"0px 2px 0px 4px"},".cm-ySelectionCaret":{position:"relative",borderLeft:"1px solid black",borderRight:"1px solid black",marginLeft:"-1px",marginRight:"-1px",boxSizing:"border-box",display:"inline"},".cm-ySelectionCaretDot":{borderRadius:"50%",position:"absolute",width:".4em",height:".4em",top:"-.2em",left:"-.2em",backgroundColor:"inherit",transition:"transform .3s ease-in-out",boxSizing:"border-box"},".cm-ySelectionCaret:hover > .cm-ySelectionCaretDot":{transformOrigin:"bottom center",transform:"scale(0)"},".cm-ySelectionInfo":{position:"absolute",top:"-1.05em",left:"-1px",fontSize:".75em",fontFamily:"serif",fontStyle:"normal",fontWeight:"normal",lineHeight:"normal",userSelect:"none",color:"white",paddingLeft:"2px",paddingRight:"2px",zIndex:101,transition:"opacity .3s ease-in-out",backgroundColor:"inherit",opacity:0,transitionDelay:"0s",whiteSpace:"nowrap"},".cm-ySelectionCaret:hover > .cm-ySelectionInfo":{opacity:1,transitionDelay:"0s"}}),Qo=Xt.define();class qo extends sr{constructor(i,l){super(),this.color=i,this.name=l}toDOM(){return $t("span",[kt("class","cm-ySelectionCaret"),kt("style",`background-color: ${this.color}; border-color: ${this.color}`)],[Ct("⁠"),$t("div",[kt("class","cm-ySelectionCaretDot")]),Ct("⁠"),$t("div",[kt("class","cm-ySelectionInfo")],[Ct(this.name)]),Ct("⁠")])}eq(i){return i.color===this.color}compare(i){return i.color===this.color}updateDOM(){return!1}get estimatedHeight(){return-1}ignoreEvent(){return!0}}class Jo{constructor(i){this.conf=i.state.facet(bt),this._listener=({added:l,updated:c,removed:f},v,C)=>{l.concat(c).concat(f).findIndex(S=>S!==this.conf.awareness.doc.clientID)>=0&&i.dispatch({annotations:[Qo.of([])]})},this._awareness=this.conf.awareness,this._awareness.on("change",this._listener),this.decorations=$i.of([])}destroy(){this._awareness.off("change",this._listener)}update(i){const l=this.conf.ytext,c=l.doc,f=this.conf.awareness,v=[],C=this.conf.awareness.getLocalState();if(C!=null){const x=i.view.hasFocus&&i.view.dom.ownerDocument.hasFocus(),S=x?i.state.selection.main:null,T=C.cursor==null?null:ht(C.cursor.anchor),R=C.cursor==null?null:ht(C.cursor.head);if(S!=null){const L=Vt(l,S.anchor),A=Vt(l,S.head);(C.cursor==null||!$n(T,L)||!$n(R,A))&&f.setLocalStateField("cursor",{anchor:L,head:A})}else C.cursor!=null&&x&&f.setLocalStateField("cursor",null)}f.getStates().forEach((x,S)=>{if(S===f.doc.clientID)return;const T=x.cursor;if(T==null||T.anchor==null||T.head==null)return;const R=jt(T.anchor,c),L=jt(T.head,c);if(R==null||L==null||R.type!==l||L.type!==l)return;const{color:A="#30bced",name:D="Anonymous"}=x.user||{},_=x.user&&x.user.colorLight||A+"33",j=ho(R.index,L.index),z=po(R.index,L.index),q=i.view.state.doc.lineAt(j),W=i.view.state.doc.lineAt(z);if(q.number===W.number)v.push({from:j,to:z,value:te.mark({attributes:{style:`background-color: ${_}`},class:"cm-ySelection"})});else{v.push({from:j,to:q.from+q.length,value:te.mark({attributes:{style:`background-color: ${_}`},class:"cm-ySelection"})}),v.push({from:W.from,to:z,value:te.mark({attributes:{style:`background-color: ${_}`},class:"cm-ySelection"})});for(let ae=q.number+1;ae<W.number;ae++){const le=i.view.state.doc.line(ae).from;v.push({from:le,to:le,value:te.line({attributes:{style:`background-color: ${_}`,class:"cm-yLineSelection"}})})}}v.push({from:L.index,to:L.index,value:te.widget({side:L.index-R.index>0?-1:1,block:!1,widget:new qo(A,D)})})}),this.decorations=te.set(v,!0)}}const Zo=dt.fromClass(Jo,{decorations:a=>a.decorations}),Yo=()=>{let a=!0;return(i,l)=>{if(a){a=!1;try{i()}finally{a=!0}}else l!==void 0&&l()}};class Xo{constructor(i){this.undoManager=i}addTrackedOrigin(i){this.undoManager.addTrackedOrigin(i)}removeTrackedOrigin(i){this.undoManager.removeTrackedOrigin(i)}undo(){return this.undoManager.undo()!=null}redo(){return this.undoManager.redo()!=null}}const Mt=Yt.define({combine(a){return a[a.length-1]}});class Go{constructor(i){this.view=i,this.conf=i.state.facet(Mt),this._undoManager=this.conf.undoManager,this.syncConf=i.state.facet(bt),this._beforeChangeSelection=null,this._mux=Yo(),this._onStackItemAdded=({stackItem:l,changedParentTypes:c})=>{c.has(this.syncConf.ytext)&&this._beforeChangeSelection&&!l.meta.has(this)&&l.meta.set(this,this._beforeChangeSelection)},this._onStackItemPopped=({stackItem:l})=>{const c=l.meta.get(this);if(c){const f=this.syncConf.fromYRange(c);i.dispatch(i.state.update({selection:f,effects:[se.scrollIntoView(f)]})),this._storeSelection()}},this._storeSelection=()=>{this._beforeChangeSelection=this.syncConf.toYRange(this.view.state.selection.main)},this._undoManager.on("stack-item-added",this._onStackItemAdded),this._undoManager.on("stack-item-popped",this._onStackItemPopped),this._undoManager.addTrackedOrigin(this.syncConf)}update(i){i.selectionSet&&(i.transactions.length===0||i.transactions[0].annotation(zt)!==this.syncConf)&&this._storeSelection()}destroy(){this._undoManager.off("stack-item-added",this._onStackItemAdded),this._undoManager.off("stack-item-popped",this._onStackItemPopped),this._undoManager.removeTrackedOrigin(this.syncConf)}}const ea=dt.fromClass(Go),Cr=({state:a,dispatch:i})=>a.facet(Mt).undo()||!0,Qt=({state:a,dispatch:i})=>a.facet(Mt).redo()||!0,ta=[{key:"Mod-z",run:Cr,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Qt,preventDefault:!0},{key:"Mod-Shift-z",run:Qt,preventDefault:!0}],na=(a,i,{undoManager:l=new cr(a)}={})=>{const c=new jo(a,i),f=[bt.of(c),Uo];return i&&f.push(zo,Zo),l!==!1&&f.push(Mt.of(new Xo(l)),ea,se.domEventHandlers({beforeinput(v,C){return v.inputType==="historyUndo"?Cr(C):v.inputType==="historyRedo"?Qt(C):!1}})),f};function ra(a,i){if(!i.valid||!i.search)return 0;let l=0;const c=i.getCursor(a);for(;!c.next().done;)l+=1;return l}function ia(a){return JSON.stringify([a.search,a.caseSensitive,a.literal,a.regexp,a.wholeWord])}const oa=new Set(["(",")","[","]","{","}"]),aa={..._n,token(a,i){const l=a.pos,c=_n.token(a,i),f=a.string.slice(l,a.pos);return oa.has(f)?"bracket":c}},sa=lr.define(aa),la={startState:()=>({quoted:!1}),token(a,i){if(i.quoted){let c=!1;for(;!a.eol();){const f=a.next();if(f==='"'&&!c){i.quoted=!1;break}f==="\\"&&!c?c=!0:c=!1}return"string"}if(a.eatSpace())return null;if(a.peek()==="%")return a.skipToEnd(),"comment";if(a.match(/^@[A-Za-z][A-Za-z0-9_-]*/))return"keyword";if(a.match(/^[A-Za-z][A-Za-z0-9_-]*(?=\s*=)/))return"propertyName";if(a.match(/^\\[A-Za-z@][A-Za-z@0-9:_-]*/))return"meta";if(a.match(/^\d+(?:\.\d+)?/))return"number";const l=a.next();return l==='"'?(i.quoted=!0,"string"):l==="{"||l==="}"||l==="("||l===")"?"bracket":l==="="||l==="#"?"operator":l===","?"separator":(a.eatWhile(/[A-Za-z0-9_.:/+*?!-]/),"string")}},ca=lr.define(la),ua=new Set(["math","displaymath","equation","align","alignat","flalign","gather","multline","split","aligned","alignedat","gathered","matrix","pmatrix","bmatrix","vmatrix","cases","dcases","rcases","smallmatrix","subarray","array"]),fa=new Set(["verbatim","verbatimwrite","bverbatim","lverbatim","saveverbatim","lstlisting","minted","comment","alltt","tcblisting","pygmented"]);function Le(a,i){let l=0;for(let c=i-1;c>=0&&a[c]==="\\";c-=1)l+=1;return l%2===1}function Ge(a,i){const l=a.indexOf(`
42
- `,i);return l<0?a.length:l+1}function kr(a){return a.replace(/\*$/,"").toLowerCase()}function wr(a,i){if(a[i]!=="\\"||Le(a,i))return null;const l=/^\\(begin|end)[ \t]*\{[ \t]*([^{}\s]+)[ \t]*\}/.exec(a.slice(i));return l?{type:l[1],name:l[2],end:i+l[0].length}:null}function xr(a,i){if(a[i]!=="\\"||Le(a,i))return null;const l=/^\\verb\*?(?![A-Za-z@])/.exec(a.slice(i));if(!l)return null;const c=i+l[0].length,f=a[c];if(!f||f===`
43
- `||f==="\r")return Ge(a,c);const v=a.indexOf(f,c+1);return v<0?Ge(a,c):v+1}function Un(a,i,l,c=!1){for(let f=i;f<a.length;f+=1){if(c&&(a[f]===`
44
- `||a[f]==="\r"))return-1;if(a[f]==="%"&&!Le(a,f)){f=Ge(a,f)-1;continue}if(l==="dollar"&&a[f]==="$"&&!Le(a,f)||l==="paren"&&a[f]==="\\"&&a[f+1]===")"&&!Le(a,f)||l==="bracket"&&a[f]==="\\"&&a[f+1]==="]"&&!Le(a,f))return f}return-1}function ha(a,i){for(let l=i;l<a.length-1;l+=1){if(a[l]==="%"&&!Le(a,l)){l=Ge(a,l)-1;continue}if(a[l]==="$"&&a[l+1]==="$"&&!Le(a,l))return l}return-1}function da(a,i,l){let c=1;for(let f=i;f<a.length;f+=1){if(a[f]==="%"&&!Le(a,f)){f=Ge(a,f)-1;continue}const v=xr(a,f);if(v!==null){f=v-1;continue}const C=wr(a,f);if(!(!C||C.name!==l)){if(C.type==="begin")c+=1;else if(--c===0)return{from:f,to:C.end};f=C.end-1}}return null}function Ft(a,i,l){return i>=a.from&&(i<a.to||i===a.to&&l<0)}function qt(a){let i="";for(let l=0;l<a.length;l+=1){if(a[l]==="%"&&!Le(a,l)){const c=Ge(a,l);c>l&&a[c-1]===`
45
- `&&(i+=`
46
- `),l=c-1;continue}i+=a[l]}return i.replace(/\\(?:label|notag|nonumber)\b(?:[ \t]*\{[^{}]*\})?/g,"")}function pa(a,i,l,c){let f=qt(a.slice(l,c));const v=kr(i);return v==="equation"||v==="displaymath"?f:v==="align"||v==="flalign"?`\\begin{aligned}${f}\\end{aligned}`:v==="alignat"?(f=f.replace(/^\s*\{[^{}]*\}/,""),`\\begin{aligned}${f}\\end{aligned}`):v==="gather"||v==="multline"?`\\begin{gathered}${f}\\end{gathered}`:qt(a)}function zn(a,i,l,c){return{from:a,to:i,source:qt(l),displayMode:c}}function Qn(a){return/\.(?:tex|ltx|sty|cls)$/i.test(a)}function ga(a,i,l=1){const c=Math.max(0,Math.min(a.length,i));for(let f=0;f<a.length;f+=1){if(a[f]==="%"&&!Le(a,f)){f=Ge(a,f)-1;continue}const v=xr(a,f);if(v!==null){f=v-1;continue}const C=wr(a,f);if(C?.type==="begin"){const L=kr(C.name),A=fa.has(L),D=ua.has(L);if(!A&&!D)continue;const _=da(a,C.end,C.name);if(A){_?f=_.to-1:f=a.length;continue}if(D&&_){const j={from:f,to:_.to,source:pa(a.slice(f,_.to),C.name,C.end-f,_.from-f),displayMode:!0};if(Ft(j,c,l))return j;f=_.to-1;continue}}if(a[f]==="\\"&&!Le(a,f)&&(a[f+1]==="("||a[f+1]==="[")){const L=a[f+1]==="[",A=Un(a,f+2,L?"bracket":"paren");if(A>=0){const D=zn(f,A+2,a.slice(f+2,A),L);if(Ft(D,c,l))return D;f=D.to-1;continue}}if(a[f]!=="$"||Le(a,f))continue;const x=a[f+1]==="$",S=x?2:1,T=x?ha(a,f+2):Un(a,f+1,"dollar",!0);if(T<0)continue;if(!x&&a[T+1]==="$"){f=T;continue}const R=zn(f,T+S,a.slice(f+S,T),x);if(Ft(R,c,l))return R;f=R.to-1}return null}let wt=null;function va(){return wt||(wt=Promise.all([Fn(()=>import("./katex-COYOr4nK.js"),[]),Fn(()=>Promise.resolve({}),__vite__mapDeps([0]))]).then(([a])=>a.default).catch(a=>{throw wt=null,a})),wt}function ma(a,i,l,c,f){let v=!1;return{pos:i,end:l,above:!0,arrow:!0,create(){const C=document.createElement("div");return C.className=`texlite-math-hover${c?" display":" inline"}`,C.setAttribute("role","status"),C.setAttribute("aria-label",f.preview),C.textContent=f.loading,va().then(x=>{if(!v){C.replaceChildren();try{x.render(a,C,{displayMode:c,throwOnError:!0,strict:"ignore",trust:!1})}catch{C.textContent=f.unavailable,C.classList.add("texlite-math-hover-error")}}}).catch(()=>{v||(C.textContent=f.unavailable,C.classList.add("texlite-math-hover-error"))}),{dom:C,destroy(){v=!0}}}}}function qn(a){return Fi((i,l,c)=>{const f=ga(i.state.doc.toString(),l,c);return!f||!f.source.trim()||f.source.length>32*1024?null:ma(f.source,f.from,f.to,f.displayMode,a)},{hoverTime:350,hideOnChange:!0})}function Sr(a){let i=0;for(const l of a){if(l==="\\"){i+=1;continue}if(l==="%"&&i%2===0)return!0;i=0}return!1}function ya(a){const i=".+?^$()[]{}|\\";return[...a].map(l=>i.includes(l)?"\\"+l:l).join("")}function br(a,i,l){const c=a.slice(0,i)+l+a.slice(i),f=i+l.length,v=c.lastIndexOf(`
47
- `,Math.max(0,f-1))+1,C=c.indexOf(`
48
- `,f);return{nextSource:c,cursor:f,prefix:c.slice(v,f),suffix:c.slice(f,C<0?c.length:C)}}function Mr(a){const i=a.prefix.match(/^([ \t]*)\\begin\s*\{\s*([A-Za-z][A-Za-z0-9*:_-]*)\s*\}\s*$/);if(!i||a.suffix.trim()||Sr(a.prefix))return null;const l=i[2],c=ya(l);if(new RegExp("^[ \\t]*\\n[ \\t]*\\\\end\\s*\\{\\s*"+c+"\\s*\\}").test(a.nextSource.slice(a.cursor)))return null;const v=i[1]+" ";return{insert:`
49
- `+v+`
50
- `+i[1]+"\\end{"+l+"}",cursorOffset:1+v.length,kind:"environment"}}function Lr(a){if(a.suffix.trim()||Sr(a.prefix))return null;const i=a.prefix.match(/^(.*\\left\s*)(\\[{}]|[()[\]|.])\s*$/);if(!i)return null;const c={"(":"\\right)",")":"\\right(","[":"\\right]","]":"\\right[","|":"\\right|",".":"\\right.","\\{":"\\right\\}","\\}":"\\right\\{"}[i[2]];return c?{insert:c,cursorOffset:0,kind:"delimiter"}:null}function Ca(a,i,l,c){if(i!==l||!c)return null;const f=br(a,i,c);return Mr(f)??Lr(f)}function ka(a,i){if(i<0||i>a.length)return null;const l=br(a,i,"");return Mr(l)??Lr(l)}const Jt=St.define(),Jn=Xt.define(),wa={undo:()=>!1,redo:()=>!1},tn=Yt.define({combine:a=>a.at(-1)??wa});Pe.defineAction("texliteUndo",a=>{a.cm6.state.facet(tn).undo()||a.execCommand("undo")});Pe.defineAction("texliteRedo",a=>{a.cm6.state.facet(tn).redo()||a.execCommand("redo")});Pe.mapCommand("u","action","texliteUndo",{},{context:"normal"});Pe.mapCommand("<C-r>","action","texliteRedo",{},{context:"normal"});const xa=xt.define({create:()=>te.none,update(a,i){let l=a.map(i.changes);for(const c of i.effects)c.is(Jt)&&(l=Fa(c.value,i.state.doc.length));return l},provide:a=>se.decorations.from(a)}),Ar=St.define(),Sa=xt.define({create:()=>te.none,update(a,i){let l=a.map(i.changes);i.docChanged&&(l=te.none);for(const c of i.effects)c.is(Ar)&&(l=$a(c.value,i.state.doc.length));return l},provide:a=>se.decorations.from(a)}),Zt=St.define(),ba=te.mark({class:"cm-spell-error-active"}),Ma=xt.define({create:()=>te.none,update(a,i){let l=a.map(i.changes);i.docChanged&&(l=te.none);for(const c of i.effects){if(!c.is(Zt))continue;const f=c.value;l=f&&f.to>f.from?te.set([ba.range(f.from,f.to)]):te.none}return l},provide:a=>se.decorations.from(a)}),La=["\\noindent","\\indent","\\par","\\leavevmode","\\newline","\\linebreak","\\nolinebreak","\\pagebreak","\\nopagebreak","\\newpage","\\clearpage","\\cleardoublepage","\\smallskip","\\medskip","\\bigskip","\\smallbreak","\\medbreak","\\bigbreak","\\hfill","\\hfil","\\vfill","\\vfil","\\thinspace","\\negthinspace","\\quad","\\qquad","\\enspace","\\enskip","\\,","\\:","\\;","\\!","\\centering","\\raggedright","\\raggedleft","\\raggedbottom","\\flushbottom","\\maketitle","\\tableofcontents","\\listoffigures","\\listoftables","\\appendix","\\bfseries","\\mdseries","\\rmfamily","\\sffamily","\\ttfamily","\\upshape","\\itshape","\\slshape","\\scshape","\\normalfont","\\tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge","\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle","\\limits","\\nolimits","\\sum","\\prod","\\coprod","\\int","\\iint","\\iiint","\\oint","\\bigcap","\\bigcup","\\bigvee","\\bigwedge","\\lim","\\limsup","\\liminf","\\sin","\\cos","\\tan","\\cot","\\log","\\ln","\\exp","\\max","\\min","\\sup","\\inf","\\det","\\dim","\\gcd","\\ker","\\Pr","\\ldots","\\cdots","\\vdots","\\ddots","\\dotsb","\\dotsc","\\dotsm","\\dotso","\\alpha","\\beta","\\gamma","\\delta","\\epsilon","\\varepsilon","\\theta","\\vartheta","\\lambda","\\mu","\\pi","\\varpi","\\rho","\\sigma","\\tau","\\phi","\\varphi","\\omega","\\Gamma","\\Delta","\\Theta","\\Lambda","\\Xi","\\Pi","\\Sigma","\\Upsilon","\\Phi","\\Psi","\\Omega","\\pm","\\mp","\\times","\\div","\\cdot","\\leq","\\geq","\\neq","\\approx","\\equiv","\\sim","\\simeq","\\propto","\\in","\\notin","\\subset","\\subseteq","\\supset","\\supseteq","\\cup","\\cap","\\emptyset","\\varnothing","\\forall","\\exists","\\nexists","\\infty","\\partial","\\nabla","\\angle","\\parallel","\\perp","\\mid","\\LaTeX","\\TeX","\\today","\\protect","\\nocite","\\footnotemark","\\hrule","\\verb","\\verb*"];function Aa(){return[...La.map(a=>({label:a,type:"keyword"})),be("\\section{${title}}",{label:"\\section"}),be("\\subsection{${title}}",{label:"\\subsection"}),be("\\textbf{${text}}",{label:"\\textbf"}),be("\\emph{${text}}",{label:"\\emph"}),be("\\cite{${key}}",{label:"\\cite"}),be("\\ref{${label}}",{label:"\\ref"}),be("\\label{${label}}",{label:"\\label"}),be("\\includegraphics[width=${0.8}\\textwidth]{${file}}",{label:"\\includegraphics"}),be(`\\begin{itemize}
51
- \\item \${item}
52
- \\end{itemize}`,{label:"\\begin{itemize}"}),be(`\\begin{enumerate}
53
- \\item \${item}
54
- \\end{enumerate}`,{label:"\\begin{enumerate}"}),be(`\\begin{equation}
55
- \${equation}
56
- \\end{equation}`,{label:"\\begin{equation}"}),be(`\\begin{figure}[htbp]
57
- \\centering
58
- \${content}
59
- \\caption{\${caption}}
60
- \\label{fig:\${label}}
61
- \\end{figure}`,{label:"\\begin{figure}"})]}function Ea(a){const i=[],l=[],c=[],f=[],v=[],C=[],x=a.split(`
62
- `).map(L=>L.replace(/(^|[^\\])%.*$/,"$1")).join(`
63
- `),S=(L,A)=>{if(A<=0)return;const D=_=>`\${${_}}`;return L+Array.from({length:A},(_,j)=>`{${D(j+1)}}`).join("")},T=L=>[...L.matchAll(/[moOrRdDsStvb]/g)].length,R=(L,A,D,_,j)=>{A&&!L.some(z=>z.label===A)&&L.push({label:A,detail:D,kind:_,source:"Current file",...j?{apply:j}:{}})};for(const L of x.matchAll(/\\(?:newcommand|renewcommand|providecommand|DeclareRobustCommand)\s*\*?\s*(?:\{\s*)?\\([A-Za-z@][A-Za-z@0-9:_]*)\s*(?:\})?\s*(?:\[(\d+)\])?/g)){const A=Number.parseInt(L[2]??"0",10);R(i,`\\${L[1]}`,"Project command","function",S(`\\${L[1]}`,A))}for(const L of x.matchAll(/\\(?:NewDocumentCommand|RenewDocumentCommand|ProvideDocumentCommand|DeclareDocumentCommand|DeclareExpandableDocumentCommand|RenewExpandableDocumentCommand|ProvideExpandableDocumentCommand)\s*\{\s*\\([A-Za-z@][A-Za-z@0-9:_]*)\s*\}\s*\{([^}]*)\}/g)){const A=T(L[2]);R(i,`\\${L[1]}`,"Project command","function",S(`\\${L[1]}`,A))}for(const L of x.matchAll(/\\(?:def|gdef|edef|xdef)\s*\\([A-Za-z@][A-Za-z@0-9:_]*)((?:\s*#\d+)*)/g)){const A=[...(L[2]??"").matchAll(/#\d+/g)].length;R(i,`\\${L[1]}`,"Project macro","function",S(`\\${L[1]}`,A))}for(const L of x.matchAll(/\\DeclarePairedDelimiter\s*\{?\\([A-Za-z@][A-Za-z@0-9:_]*)\}?/g))R(i,`\\${L[1]}`,"Project math delimiter","function");for(const L of x.matchAll(/\\cs_(?:new|set|gset|provide|generate)(?:_protected)?\:[A-Za-z]+\s+\\([A-Za-z@][A-Za-z@0-9:_]*)/g))R(i,`\\${L[1]}`,"Expl3 project command","function");for(const L of x.matchAll(/\\(?:newenvironment|renewenvironment|NewDocumentEnvironment|RenewDocumentEnvironment|DeclareDocumentEnvironment)\s*\*?\s*\{([^}]+)\}/g))R(l,L[1].trim(),"Project environment","keyword");for(const L of x.matchAll(/\\(?:label|hypertarget)\s*\{([^}]+)\}/g))R(c,L[1].trim(),"Label","constant");for(const L of x.matchAll(/\\(?:usepackage|RequirePackage)\s*(?:\[[^]]*\])?\s*\{([^}]+)\}/g))for(const A of L[1].split(","))R(v,A.trim(),"Package","text");for(const L of x.matchAll(/\\(?:input|include|subfile)\s*(?:\{([^}]+)\}|\s+([^\s%]+))/g))R(C,(L[1]??L[2]??"").trim(),"Project file","text");for(const L of x.matchAll(/\\(?:cite|citep|citet|parencite|textcite|autocite|footcite)(?:\w*)?\s*(?:\[[^]]*\])?\s*\{([^}]+)\}/g))for(const A of L[1].split(","))R(f,A.trim(),"Citation key","constant");return{commands:i,environments:l,labels:c,citations:f,packages:v,files:C}}const Zn=new WeakMap;function Oa(a){const i=a.state.doc,l=Zn.get(i);if(l)return l;const c=Ea(a.state.doc.toString());return Zn.set(i,c),c}const Yn={"Project command":"projectCommand","Project macro":"projectMacro","Expl3 project command":"expl3Command","Project math operator":"mathOperator","Project math delimiter":"mathDelimiter","Project environment":"projectEnvironment","Project file":"projectFile",Package:"package","Document class":"documentClass","Current file":"currentFile",Project:"project",LaTeX:"latex"};function Ra(a,i,l=!0){const c=Yn[a.detail],f=a.source?Yn[a.source]:void 0,v=a.detail.match(/^Project command \((\d+) arguments?\)$/),C=a.source==="LaTeX"?"":v?i("completions.projectCommandArgs",{count:Number(v[1])}):c?i(`completions.${c}`):a.source==="LaTeX"?i("completions.standard"):a.detail,x=a.source==="LaTeX"?"":f?i(`completions.${f}`):a.source,S=x&&C?`${C} · ${x}`:C||x||void 0,T={label:a.label,type:a.kind,...S?{detail:S}:{},...a.info?{info:a.info}:{}};return l&&a.apply?be(a.apply,T):T}function Xe(a,...i){const l=[],c=new Set;for(const f of i)for(const v of f){const C="kind"in v?Ra(v,a):v;c.has(C.label)||(c.add(C.label),l.push(C))}return l}function Xn(a){return a.map(({detail:i,...l})=>l)}function Gn(a){return a.map(({apply:i,...l})=>l)}function ot(a,i){const c=a.state.sliceDoc(0,a.pos).match(i);return!c||c.index===void 0?null:{from:a.pos-c[1].length,query:c[1]}}function Ta(a){const l=a.state.sliceDoc(0,a.pos).match(/\\(begin|end)\{([^{}]*)$/);return!l||l.index===void 0?null:{from:a.pos-l[2].length,query:l[2],command:l[1]}}function Ia(a){const i=a.state.doc.lineAt(a.pos);let l=0;for(let c=0;c<a.pos-i.from;c+=1){const f=i.text[c];if(f==="\\"){l+=1;continue}if(f==="%"&&l%2===0)return!0;l=0}return!1}function Na(a){return{...a,apply(i,l,c,f){const C=i.state.doc.lineAt(c).text.match(/^\s*/)?.[0]??"",x=l.label,S=x+`}
64
- `+C+`
65
- `+C+"\\end{"+x+"}",T=c+x.length+1+1+C.length+1,R=i.state.sliceDoc(f,f+1)==="}"?1:0;i.dispatch({changes:{from:c,to:f+R,insert:S},selection:{anchor:T},annotations:[uo.of(l),Gt.userEvent.of("input.complete")]})}}}function Pa(a,i,l,c,f){const v=Ca(a.state.doc.toString(),i,l,c);if(!v)return!1;a.dispatch(f());const C=i+c.length;return a.dispatch({changes:{from:C,insert:v.insert},selection:{anchor:C+v.cursorOffset},annotations:Gt.userEvent.of("input.complete")}),!0}function Ba(a,i,l){if(Ia(a))return null;const c=Oa(a),f=a.matchBefore(/\\(?:[A-Za-z@0-9:_]*(?:\*)?|[,;!:])$/);if(f||a.explicit)return{from:f?.from??a.pos,options:Xn(Xe(i,c.commands,l?.commands??[],Aa())),validFor:/^\\(?:[A-Za-z@0-9:_]*(?:\*)?|[,;!:])$/};const v=Ta(a);if(v){const L=Xe(i,Gn(c.environments),Gn(l?.environments??[]));return{from:v.from,options:Xn(v.command==="begin"?L.map(Na):L),validFor:/^[A-Za-z0-9*:_-]*$/}}const C=ot(a,/\\(?:ref|pageref|autoref|nameref|cref|Cref|eqref|vref)\s*(?:\[[^]]*\])?\{([^{}]*)$/)??ot(a,/\\hyperref\[([^\[\]]*)$/);if(C)return{from:C.from,options:Xe(i,c.labels,l?.labels??[]),validFor:/^[^{}]*$/};const x=ot(a,/\\(?:cite|citep|citet|parencite|textcite|autocite|footcite)(?:\w*)?(?:\[[^]]*\])?\{([^{}]*)$/);if(x)return{from:x.from,options:Xe(i,c.citations,l?.citations??[]),validFor:/^[^{}]*$/};const S=ot(a,/\\(?:input|include|subfile|includegraphics|bibliography|addbibresource)\s*(?:\[[^]]*\])?\{([^{}]*)$/);if(S)return{from:S.from,options:Xe(i,c.files,l?.files??[]),validFor:/^[^{}]*$/};const T=ot(a,/\\(?:usepackage|RequirePackage)\s*(?:\[[^]]*\])?\{([^{}]*)$/);if(T)return{from:T.from,options:Xe(i,c.packages,l?.packages??[]),validFor:/^[^{}]*$/};const R=ot(a,/\\documentclass\s*(?:\[[^]]*\])?\{([^{}]*)$/);return R?{from:R.from,options:Xe(i,l?.files??[]),validFor:/^[^{}]*$/}:null}const Da=so.of((a,i)=>{const l=a.doc.lineAt(i),c=l.text.match(/\\begin\{([^}]+)\}/);if(c){let v=1;for(let C=l.number+1;C<=a.doc.lines;C+=1){const x=a.doc.line(C),S=c[1].replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(v+=(x.text.match(new RegExp(`\\\\begin\\{${S}\\}`,"g"))??[]).length,v-=(x.text.match(new RegExp(`\\\\end\\{${S}\\}`,"g"))??[]).length,v===0&&x.from>l.to)return{from:l.to,to:x.from}}}const f=l.text.match(/^\s*\\(part|chapter|section|subsection|subsubsection)\*?/);if(f){const v={part:0,chapter:0,section:1,subsection:2,subsubsection:3},C=v[f[1]];for(let x=l.number+1;x<=a.doc.lines;x+=1){const S=a.doc.line(x),T=S.text.match(/^\s*\\(part|chapter|section|subsection|subsubsection)\*?/);if(T&&v[T[1]]<=C)return{from:l.to,to:Math.max(l.to,S.from-1)}}if(l.to<a.doc.length)return{from:l.to,to:a.doc.length}}return null});function Za({value:a,filePath:i,readOnly:l,comments:c,focusComment:f,preferences:v,completionIndex:C,jumpTo:x,searchRequest:S,nativeSpellCheck:T,spellCheckIssues:R,spellCheckJump:L,collaboration:A,onChange:D,onSelection:_,onCommentClick:j,onSpellCheckReplace:z,onCursor:q}){const{t:W,i18n:ae}=ki(),le=Y.useRef(null),J=Y.useRef(null),ye=Y.useRef(D),re=Y.useRef(_),He=Y.useRef(j),et=Y.useRef(z),Ae=Y.useRef(q),Ve=Y.useRef(R),Qe=Y.useRef(S),de=Y.useRef(C),pt=Y.useRef(new _t),at=Y.useRef(new _t),gt=Y.useRef(new _t),Ee=Y.useRef(null),[E,tt]=Y.useState(v.vimMode?"NORMAL":""),[we,xe]=Y.useState(null);ye.current=D,re.current=_,He.current=j,et.current=z,Ae.current=q,Ve.current=R,de.current=C;const pe=(B,X)=>{if(Ee.current?.(),Ee.current=null,!X){tt("");return}const O=yr(B);if(!O){tt("NORMAL");return}const Z=()=>{const U=O.state.vim?.mode??(O.state.vim?.insertMode?"insert":"normal");tt(U.toUpperCase())};Z(),O.on("vim-mode-change",Z),Ee.current=()=>O.off("vim-mode-change",Z)};return Y.useEffect(()=>{if(!le.current)return;const B=A&&!l?A.undoManager??null:null,X=Kt.create({doc:A?.text.toString()??a,extensions:[Hi(),Vi(),...A?[]:[ji()],Wi(),Ui(),zi(),/\.bib$/i.test(i)?ca:sa,Qi(co),qi(),ir.high(se.inputHandler.of(Pa)),Ji(),Zi(),Da,xa,Sa,Ma,at.current.of(v.mathPreviewOnHover&&Qn(i)?qn({loading:W("editor.mathPreviewLoading"),unavailable:W("editor.mathPreviewUnavailable"),preview:W("editor.mathPreview")}):[]),Yi({top:!1}),Ka(W),Kt.phrases.of(_a(W)),Xi({override:[O=>Ba(O,W,de.current)],activateOnTyping:!0}),...B?[tn.of({undo:()=>B.undo()!==null,redo:()=>B.redo()!==null})]:[],gt.current.of(v.vimMode?Wn():[]),Gi.of([...eo,...to,...no,...ro,...A&&!l?ta:[],...io,...A?[]:oo]),...A?[na(A.text,A.awareness,{undoManager:B??!1})]:[],Kt.readOnly.of(l),pt.current.of(er(v,T)),se.domEventHandlers({click(O){const Z=O.target.closest("[data-comment-id]");return Z?.dataset.commentId&&He.current(Z.dataset.commentId),!1},contextmenu(O){const Z=O.target.closest("[data-spell-error]");if(!Z)return!1;const U=Number(Z.dataset.spellFrom),Oe=Number(Z.dataset.spellTo),st=Ve.current.find(lt=>lt.from===U&&lt.to===Oe);if(!st)return!1;O.preventDefault();const We=250,qe=Math.min(300,100+st.suggestions.length*34);return xe({issue:st,left:Math.max(8,Math.min(O.clientX,window.innerWidth-We-8)),top:Math.max(8,Math.min(O.clientY,window.innerHeight-qe-8))}),!0},blur(O,Z){const U=Z.state.selection.main;return re.current(Z.state.sliceDoc(U.from,U.to),U.from,U.to),A?.awareness.setLocalStateField("cursor",null),!1}}),se.updateListener.of(O=>{const Z=O.transactions.some(U=>U.annotation(Jn));if(O.docChanged&&!Z&&!A&&ye.current(O.state.doc.toString()),O.docChanged&&xe(null),O.selectionSet&&!O.docChanged&&O.transactions.some(U=>U.isUserEvent("input"))){const U=O.state.selection.main.head,Oe=ka(O.state.doc.toString(),U);Oe&&O.view.dispatch({changes:{from:U,insert:Oe.insert},selection:{anchor:U+Oe.cursorOffset},annotations:Gt.userEvent.of("input.complete")})}if(O.selectionSet||O.docChanged){const U=O.state.selection.main;re.current(O.state.sliceDoc(U.from,U.to),U.from,U.to);const Oe=O.state.doc.lineAt(U.head);Ae.current(Oe.number,U.head-Oe.from+1,U.head)}})]});return J.current=new se({state:X,parent:le.current}),pe(J.current,v.vimMode),J.current.dispatch({effects:Jt.of(tr(c))}),()=>{Ee.current?.(),Ee.current=null,J.current?.destroy(),J.current=null}},[i,l,ae.resolvedLanguage,A?.text]),Y.useEffect(()=>{const B=J.current;B&&(B.dispatch({effects:[pt.current.reconfigure(er(v,T)),at.current.reconfigure(v.mathPreviewOnHover&&Qn(i)?qn({loading:W("editor.mathPreviewLoading"),unavailable:W("editor.mathPreviewUnavailable"),preview:W("editor.mathPreview")}):[]),gt.current.reconfigure(v.vimMode?Wn():[])]}),pe(B,v.vimMode))},[v,T]),Y.useEffect(()=>{const B=J.current;if(!B)return;const X=B.state.doc.toString(),O=R.filter(Z=>Z.from>=0&&Z.to<=X.length&&Z.to>Z.from);B.dispatch({effects:[Ar.of(O),Zt.of(null)]})},[R]),Y.useEffect(()=>{xe(null)},[R]),Y.useEffect(()=>{if(!we)return;const B=J.current,X=U=>{U.target instanceof Element&&U.target.closest(".spell-suggestions-menu")||xe(null)},O=U=>{U.key==="Escape"&&xe(null)},Z=()=>xe(null);return document.addEventListener("mousedown",X,!0),document.addEventListener("keydown",O,!0),B?.scrollDOM.addEventListener("scroll",Z,{passive:!0}),()=>{document.removeEventListener("mousedown",X,!0),document.removeEventListener("keydown",O,!0),B?.scrollDOM.removeEventListener("scroll",Z)}},[we,i]),Y.useEffect(()=>{const B=J.current;A||!B||B.state.doc.toString()===a||B.dispatch({changes:{from:0,to:B.state.doc.length,insert:a},annotations:Jn.of(!0)})},[a,A]),Y.useEffect(()=>{J.current?.dispatch({effects:Jt.of(tr(c))})},[c]),Y.useEffect(()=>{const B=J.current;if(!B||!f||f.orphaned)return;const X=Math.min(f.startOffset,B.state.doc.length),O=Math.min(Math.max(X,f.endOffset),B.state.doc.length);B.dispatch({selection:{anchor:X,head:O},effects:se.scrollIntoView(X,{y:"center"})}),B.focus()},[f]),Y.useEffect(()=>{const B=J.current;if(!B||!x)return;const X=Math.max(1,Math.min(B.state.doc.lines,x.line)),O=B.state.doc.line(X),Z=Math.min(O.to,O.from+Math.max(0,x.column-1));B.dispatch({selection:{anchor:O.from,head:O.to},effects:se.scrollIntoView(Z,{y:"center",yMargin:60})}),B.focus()},[x?.nonce]),Y.useEffect(()=>{const B=J.current;if(!B||!L)return;const X=Math.max(0,Math.min(L.from,B.state.doc.length)),O=Math.max(X,Math.min(L.to,B.state.doc.length));B.dispatch({selection:{anchor:X},effects:[Zt.of({from:X,to:O}),se.scrollIntoView(X,{y:"center",yMargin:60})]}),B.focus()},[L?.nonce]),Y.useEffect(()=>{const B=J.current;!B||S===0||S===Qe.current||(Qe.current=S,ao(B))},[S]),$e.jsxs("div",{className:"editor-shell",style:{fontFamily:go(v.font),fontSize:`${v.fontSize}px`,lineHeight:v.lineHeight},children:[$e.jsx("div",{className:"editor-host",ref:le}),we&&$e.jsxs("div",{className:"spell-suggestions-menu",role:"menu","aria-label":W("editor.writingSuggestions"),onMouseDown:B=>B.stopPropagation(),children:[$e.jsx("div",{className:"spell-suggestions-title",children:W("editor.writingSuggestions")}),we.issue.message&&$e.jsx("div",{className:"spell-suggestions-message",children:we.issue.message}),we.issue.suggestions.map((B,X)=>$e.jsx("button",{type:"button",role:"menuitem",disabled:l,title:l?W("editor.spellCheckReadOnly"):W("editor.replaceWith",{word:B||W("editor.removeText")}),onClick:()=>{et.current(we.issue,B),xe(null)},children:B||W("editor.removeText")},`${B}-${X}`)),we.issue.suggestions.length===0&&$e.jsx("span",{className:"spell-suggestions-empty",children:W("editor.noWritingSuggestions")}),l&&we.issue.suggestions.length>0&&$e.jsx("span",{className:"spell-suggestions-readonly",children:W("editor.spellCheckReadOnly")})]}),v.vimMode&&$e.jsx("div",{className:"vim-editor-status",role:"status","aria-live":"polite",children:$e.jsxs("span",{children:["--",E||"NORMAL","--"]})})]})}function _a(a){return{Find:a("editor.search.find"),Replace:a("editor.search.replace"),next:a("editor.search.next"),previous:a("editor.search.previous"),all:a("editor.search.all"),"match case":a("editor.search.matchCase"),regexp:a("editor.search.regexp"),"by word":a("editor.search.wholeWord"),replace:a("editor.search.replaceNext"),"replace all":a("editor.search.replaceAll"),close:a("common.close"),"current match":a("editor.search.currentMatch"),"on line":a("editor.search.onLine"),"replaced match on line $":a("editor.search.replacedMatchOnLine"),"replaced $ matches":a("editor.search.replacedMatches"),"Go to line":a("editor.search.goToLine"),go:a("editor.search.go")}}function Ka(a){return dt.fromClass(class{constructor(i){this.view=i,this.document=i.state.doc,this.schedule()}view;frame=null;document;signature="";count=0;update(){this.schedule()}destroy(){this.frame!==null&&cancelAnimationFrame(this.frame)}schedule(){this.frame!==null&&cancelAnimationFrame(this.frame),this.frame=requestAnimationFrame(()=>{this.frame=null,this.render()})}render(){if(!lo(this.view.state))return;const i=this.view.dom.querySelector(".cm-panel.cm-search");if(!i)return;let l=i.querySelector(".cm-search-count");if(!l){l=document.createElement("span"),l.className="cm-search-count",l.setAttribute("role","status"),l.setAttribute("aria-live","polite");const v=i.querySelector("[name=close]");i.insertBefore(l,v)}const c=fo(this.view.state),f=ia(c);(this.document!==this.view.state.doc||this.signature!==f)&&(this.document=this.view.state.doc,this.signature=f,this.count=ra(this.view.state,c)),l.textContent=c.search?c.valid?this.count===0?a("editor.search.noMatches"):a("editor.search.matchCount",{count:this.count}):a("editor.search.invalidQuery"):""}})}function er(a,i){return[se.contentAttributes.of({spellcheck:i?"true":"false",autocorrect:"off",autocapitalize:"off",autocomplete:"off",lang:"en-US"}),se.theme({"&":{fontSize:`${a.fontSize}px`},".cm-scroller":{fontFamily:"inherit",lineHeight:"inherit"},".cm-content":{fontFamily:"inherit",fontSize:"inherit"},".cm-gutters":{fontFamily:"inherit",fontSize:"inherit"}}),a.lineWrapping?se.lineWrapping:[]]}function $a(a,i){const l=a.map(c=>({from:Math.max(0,Math.min(i,c.from)),to:Math.max(0,Math.min(i,c.to)),word:c.word,kind:c.kind,message:c.message})).filter(c=>c.to>c.from).sort((c,f)=>c.from-f.from||c.to-f.to);return te.set(l.map(c=>te.mark({class:c.kind==="spelling"?"cm-spell-error":"cm-grammar-warning",attributes:{title:c.message||c.word,"data-spell-error":"true","data-spell-kind":c.kind,"data-spell-from":String(c.from),"data-spell-to":String(c.to)}}).range(c.from,c.to)),!0)}function tr(a){return a.map(i=>({id:i.id,from:i.startOffset,to:i.endOffset,resolved:i.resolved,orphaned:i.orphaned}))}function Fa(a,i){const l=a.filter(c=>!c.orphaned&&!c.resolved).flatMap(c=>{const f=Math.max(0,Math.min(i,c.from)),v=Math.max(f,Math.min(i,c.to)),C="cm-source-comment";return f===v?[te.widget({widget:new nr(c.id,C),side:1}).range(f)]:[te.mark({class:C}).range(f,v),te.widget({widget:new nr(c.id,C),side:1}).range(v)]});return te.set(l,!0)}class nr extends sr{constructor(i,l){super(),this.id=i,this.className=l}id;className;toDOM(){const i=document.createElement("span");return i.className=`${this.className} cm-comment-pin`,i.dataset.commentId=this.id,i.textContent="●",i}}export{Za as LatexEditor};
@@ -1 +0,0 @@
1
- import{u as E,r as t,j as e}from"./react-BVUjbTTn.js";import{M as $,g as M}from"./index-BjzELSQ-.js";import{i as z,p as b,P as h,a as L,n as F}from"./Dashboard-CoE5ESfb.js";import{S as q}from"./search-Bz9Ob5mT.js";import"./hard-drive-XHSiS_A7.js";import"./x-Tbo3aA0J.js";import"./sigma-DxlHf9gv.js";import"./tags-IMZehjzE.js";import"./chevron-left-32SrOwa5.js";function g(o){return o.trim().toLocaleLowerCase()}function J({project:o,open:l,onOpenChange:d,onSave:y}){const{t:s,i18n:k}=E(),[i,x]=t.useState(""),[n,p]=t.useState(null),[I,u]=t.useState(""),[r,j]=t.useState(!1),[f,m]=t.useState("");t.useEffect(()=>{l&&(x(""),p(o?.icon??null),u(o?.icon&&!z(o.icon)?o.icon:""),j(!1),m(""))},[l,o?.id,o?.icon]);const v=t.useMemo(()=>{const c=g(i);return c?b.filter(({name:a})=>[a,s(`projectIcons.icons.${a}.name`),s(`projectIcons.icons.${a}.keywords`)].some(P=>g(P).includes(c))):b},[k.resolvedLanguage,i,s]),C=async()=>{if(!(!o||r)){j(!0),m("");try{await y(o.id,n),d(!1)}catch(c){m(M(c))}finally{j(!1)}}},S=n!==(o?.icon??null),N=c=>{p(c),u("")},w=c=>{u(c);const a=c.trim();p(a?F(a)??a:null)};return e.jsx($,{open:l,wide:!0,className:"project-icon-picker-modal",title:s("projectIcons.title"),description:o?s("projectIcons.description",{project:o.name}):void 0,onOpenChange:c=>{r||d(c)},footer:e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",disabled:r,onClick:()=>d(!1),children:s("common.cancel")}),e.jsx("button",{type:"button",className:"primary",disabled:r||!S,"aria-busy":r,onClick:()=>{C()},children:s("projectIcons.save")})]}),children:e.jsxs("div",{className:"project-icon-picker",children:[f&&e.jsx("p",{className:"error dialog-error",role:"alert",children:f}),e.jsxs("label",{className:"project-icon-search",children:[e.jsx(q,{"aria-hidden":"true",size:16}),e.jsx("span",{className:"sr-only",children:s("projectIcons.search")}),e.jsx("input",{autoFocus:!0,value:i,placeholder:s("projectIcons.search"),onChange:c=>x(c.target.value)})]}),e.jsxs("div",{className:"project-icon-options","aria-label":s("projectIcons.title"),children:[e.jsxs("button",{type:"button","aria-pressed":n===null,className:`project-icon-option project-icon-reset${n===null?" selected":""}`,title:s("projectIcons.useInitial"),onClick:()=>N(null),children:[e.jsx("span",{className:"project-icon-option-glyph",children:e.jsx(h,{fallback:L(o?.name??"")})}),e.jsx("span",{children:s("projectIcons.useInitial")})]}),v.map(({name:c})=>e.jsxs("button",{type:"button","aria-pressed":n===c,className:`project-icon-option${n===c?" selected":""}`,title:s(`projectIcons.icons.${c}.name`),onClick:()=>N(c),children:[e.jsx("span",{className:"project-icon-option-glyph",children:e.jsx(h,{icon:c,fallback:"?"})}),e.jsx("span",{children:s(`projectIcons.icons.${c}.name`)})]},c))]}),v.length===0&&e.jsx("p",{className:"project-icon-picker-empty",children:s("projectIcons.noMatches",{query:i})}),e.jsxs("div",{className:"project-icon-advanced",children:[e.jsx("label",{htmlFor:"project-icon-advanced-name",children:s("projectIcons.advancedName")}),e.jsxs("div",{className:"project-icon-advanced-input",children:[e.jsx("input",{id:"project-icon-advanced-name",value:I,placeholder:s("projectIcons.advancedNamePlaceholder"),onChange:c=>w(c.target.value),spellCheck:!1,autoCapitalize:"off",autoCorrect:"off"}),I.trim()&&e.jsx("span",{className:"project-icon-advanced-preview","aria-label":s("projectIcons.advancedPreview"),children:e.jsx(h,{icon:n,fallback:"?"})})]}),e.jsxs("p",{children:[s("projectIcons.advancedNameDescription")," ",e.jsx("a",{href:"https://icon-sets.iconify.design/lucide/",target:"_blank",rel:"noreferrer",children:s("projectIcons.browse")})]})]})]})})}export{J as ProjectIconPickerDialog};
@@ -1 +0,0 @@
1
- import{u as le,r,j as e}from"./react-BVUjbTTn.js";import{c as j,f as x,g as S,b as oe}from"./index-BjzELSQ-.js";import{k as f,p as pe,S as O,l as V,n as de,A as he,j as me,o as xe}from"./ProjectWorkspace-DqLwkGpT.js";import{X as B,C as je,c as ge}from"./x-Tbo3aA0J.js";import{T as K}from"./type-DTWpFQNQ.js";import{S as ue}from"./sigma-DxlHf9gv.js";import{C as be}from"./chevron-left-32SrOwa5.js";import{R as X}from"./refresh-cw-Bo7-a7-I.js";import"./check-sZxOOKtS.js";import"./search-Bz9Ob5mT.js";import"./user-plus--aVpd8K6.js";const ve=j("ChevronsLeft",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const Se=j("ChevronsRight",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const fe=j("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);const ye=j("PanelsTopLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 21V9",key:"1oto5p"}]]);const ke=j("SpellCheck2",[["path",{d:"m6 16 6-12 6 12",key:"1b4byz"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M4 21c1.1 0 1.1-1 2.3-1s1.1 1 2.3 1c1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1 1.1 0 1.1 1 2.3 1 1.1 0 1.1-1 2.3-1",key:"8mdmtu"}]]);const Ne=j("WrapText",[["line",{x1:"3",x2:"21",y1:"6",y2:"6",key:"4m8b97"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["polyline",{points:"16 16 14 18 16 20",key:"1jznyi"}],["line",{x1:"3",x2:"10",y1:"18",y2:"18",key:"1h33wv"}]]);function Ce({name:y,state:n,label:c,reloadLabel:d,onReload:k,compact:N=!1}){const g=n.status==="loading"?e.jsx(oe,{className:"spin",size:14}):n.status==="working"?e.jsx(me,{size:14}):e.jsx(fe,{size:14}),u=e.jsxs(e.Fragment,{children:[g,e.jsx("strong",{children:y}),e.jsx("span",{children:c}),n.status==="error"&&e.jsxs("button",{type:"button",className:"browser-tool-reload",title:d,"aria-label":d,onClick:k,children:[e.jsx(X,{size:12}),d]})]});return N?e.jsxs("span",{className:`browser-tool-status compact ${n.status}`,role:"status","aria-live":"polite","aria-label":`${y}: ${c}`,title:n.error||void 0,children:[g,e.jsx("span",{children:c}),n.status==="error"&&e.jsx("button",{type:"button",className:"browser-tool-reload",title:d,"aria-label":d,onClick:k,children:e.jsx(X,{size:12})})]}):e.jsx("div",{className:`browser-tool-status ${n.status}`,title:n.error||void 0,children:u})}function He({onClose:y,project:n,projectId:c,site:d,files:k,dictionaryWords:N,onDictionaryChange:g,editorPreferences:u,onEditorPreferences:G,spellCheckCount:o,spellCheckUniqueCount:Q,spellCheckIndex:h,onSpellCheckNavigate:C,onProject:Y}){const{t:s}=le(),[M,Z]=r.useState(n.engine),[F,T]=r.useState(""),[$,I]=r.useState(n.name),[b,ee]=r.useState(n.mainFile),[v,D]=r.useState(null),[P,z]=r.useState(""),[E,A]=r.useState(""),[H,w]=r.useState(""),[p,L]=r.useState("appearance"),[i,l]=r.useState(u),R=r.useSyncExternalStore(f.subscribe,f.getSnapshot,f.getSnapshot),m=n.permission==="owner",W=n.permission!=="read",q=n.permission!=="read";r.useEffect(()=>l(u),[u]),r.useEffect(()=>{pe().catch(f.failed)},[c]);const te=()=>{xe().catch(f.failed)};r.useEffect(()=>{if(!n.latexmkrc)return T("");x(`/api/projects/${c}/file?path=${encodeURIComponent(n.latexmkrc)}`).then(({content:t})=>T(t)).catch(t=>z(S(t)))},[n.latexmkrc]),r.useEffect(()=>{if(p!=="compiler")return;const t=new AbortController;return D(null),x(`/api/projects/${c}/main-files`,{signal:t.signal}).then(a=>D(a.mainFiles)).catch(a=>{a instanceof Error&&a.name==="AbortError"||z(S(a))}),()=>t.abort()},[c,k,p]);const se=v??[n.mainFile],ie=v!==null&&!v.includes(b),_=async()=>{try{const t=F.trim()&&d.allowProjectLatexmkrc!==!1?".latexmkrc":null;t&&await x(`/api/projects/${c}/file`,{method:"PUT",body:JSON.stringify({path:t,content:F})});const a=await x(`/api/projects/${c}`,{method:"PATCH",body:JSON.stringify({name:$,mainFile:b,engine:M,latexmkrc:t})});Y(a.project)}catch(t){z(S(t))}},J=()=>G(i),ne=()=>{if(p==="appearance")return J();m&&_()},ae=s(p==="appearance"?"projectSettings.saveAppearance":"projectSettings.saveCompiler"),re=p==="appearance"||m,U=async()=>{const t=E.trim();if(t)try{const a=await x(`/api/projects/${c}/dictionary`,{method:"POST",body:JSON.stringify({word:t})});g(a.words),A(""),w("")}catch(a){w(S(a))}},ce=async t=>{try{const a=await x(`/api/projects/${c}/dictionary/${encodeURIComponent(t)}`,{method:"DELETE"});g(a.words),w("")}catch(a){w(S(a))}};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"drawer-title settings-drawer-title",children:[e.jsx("strong",{children:s("editor.projectSettings")}),e.jsxs("div",{className:"drawer-title-actions",children:[re&&e.jsxs("button",{type:"button",className:"drawer-settings-save",onClick:ne,children:[e.jsx(O,{size:14}),e.jsx("span",{children:ae})]}),e.jsx("button",{type:"button","aria-label":s("common.close"),onClick:y,children:e.jsx(B,{size:17})})]})]}),e.jsxs("div",{className:"settings padded",children:[P&&e.jsx("p",{className:"error",children:P}),e.jsxs("div",{className:"settings-tabs",role:"tablist","aria-label":s("common.settings"),children:[e.jsxs("button",{id:"settings-tab-appearance",type:"button",role:"tab","aria-selected":p==="appearance","aria-controls":"settings-panel-appearance",className:`settings-tab${p==="appearance"?" active":""}`,onClick:()=>L("appearance"),children:[e.jsx(K,{size:15}),s("projectSettings.editorTab")]}),e.jsxs("button",{id:"settings-tab-compiler",type:"button",role:"tab","aria-selected":p==="compiler","aria-controls":"settings-panel-compiler",className:`settings-tab${p==="compiler"?" active":""}`,onClick:()=>L("compiler"),children:[e.jsx(V,{size:15}),s("projectSettings.compilerTab")]})]}),p==="appearance"?e.jsxs("section",{id:"settings-panel-appearance",role:"tabpanel","aria-labelledby":"settings-tab-appearance",children:[e.jsxs("div",{className:"settings-section-title",children:[e.jsx(K,{size:15}),e.jsx("strong",{children:s("projectSettings.editorAppearance")})]}),e.jsx("p",{className:"settings-description appearance-description",children:s("projectSettings.editorAppearanceDescription")}),e.jsxs("label",{children:[s("projectSettings.fontFamily"),e.jsx("select",{value:i.font,onChange:t=>l({...i,font:t.target.value}),children:de.map(t=>e.jsx("option",{value:t.id,children:s(t.labelKey)},t.id))})]}),e.jsxs("label",{children:[s("projectSettings.fontSize"),e.jsx("select",{value:i.fontSize,onChange:t=>l({...i,fontSize:Number(t.target.value)}),children:[12,13,14,15,16,18,20].map(t=>e.jsxs("option",{value:t,children:[t," px"]},t))})]}),e.jsxs("label",{children:[s("projectSettings.lineHeight"),e.jsxs("select",{value:i.lineHeight,onChange:t=>l({...i,lineHeight:Number(t.target.value)}),children:[e.jsx("option",{value:1.45,children:s("projectSettings.lineHeightCompact")}),e.jsx("option",{value:1.65,children:s("projectSettings.lineHeightNormal")}),e.jsx("option",{value:1.85,children:s("projectSettings.lineHeightRelaxed")})]})]}),e.jsxs("label",{className:"editor-checkbox",children:[e.jsx("input",{type:"checkbox",checked:i.lineWrapping,onChange:t=>l({...i,lineWrapping:t.target.checked})}),e.jsx(Ne,{size:15}),e.jsx("span",{children:s("projectSettings.lineWrapping")})]}),e.jsxs("div",{className:"editor-preference",children:[e.jsxs("label",{className:"editor-checkbox",children:[e.jsx("input",{type:"checkbox",checked:i.mathPreviewOnHover,onChange:t=>l({...i,mathPreviewOnHover:t.target.checked})}),e.jsx(ue,{size:15}),e.jsx("span",{children:s("projectSettings.mathPreviewOnHover")})]}),e.jsx("p",{className:"field-hint",children:s("projectSettings.mathPreviewOnHoverDescription")})]}),e.jsxs("div",{className:"editor-preference",children:[e.jsxs("label",{className:"editor-checkbox",children:[e.jsx("input",{type:"checkbox",checked:i.spellCheck,onChange:t=>l({...i,spellCheck:t.target.checked})}),e.jsx("span",{children:s("projectSettings.spellCheck")})]}),e.jsxs("p",{className:"field-hint",children:[s("projectSettings.writingCheckDescription")," ",e.jsx("a",{href:"https://writewithharper.com/docs/integrations/language-server",target:"_blank",rel:"noreferrer",children:"Harper"})]})]}),e.jsxs("div",{className:"editor-preference",children:[e.jsxs("label",{className:"editor-checkbox",children:[e.jsx("input",{type:"checkbox",checked:i.vimMode,onChange:t=>l({...i,vimMode:t.target.checked})}),e.jsx("span",{children:s("projectSettings.vimMode")})]}),e.jsxs("p",{className:"field-hint",children:[s("projectSettings.vimModeDescription")," ",e.jsx("a",{href:"https://replit-codemirror-vim.mintlify.app/",target:"_blank",rel:"noreferrer",children:s("projectSettings.vimHelp")})]})]}),e.jsxs("div",{className:"editor-preference",children:[e.jsxs("label",{className:"editor-checkbox",children:[e.jsx("input",{type:"checkbox",checked:i.openFilesInTabs,onChange:t=>l({...i,openFilesInTabs:t.target.checked})}),e.jsx(ye,{size:15}),e.jsx("span",{children:s("projectSettings.openFilesInTabs")})]}),e.jsx("p",{className:"field-hint",children:s("projectSettings.openFilesInTabsDescription")})]}),e.jsxs("div",{className:"editor-preference",children:[e.jsxs("label",{className:"editor-checkbox",children:[e.jsx("input",{type:"checkbox",disabled:!W,checked:i.formatOnCompile,onChange:t=>l({...i,formatOnCompile:t.target.checked})}),e.jsx(he,{size:15}),e.jsx("span",{children:s("projectSettings.formatOnCompile")})]}),e.jsxs("p",{className:"field-hint",children:[s(W?"projectSettings.formatOnCompileDescription":"projectSettings.formatRequiresWrite")," ",s("projectSettings.formatterDescription")," ",e.jsx("a",{href:"https://www.npmjs.com/package/tex-fmt",target:"_blank",rel:"noreferrer",children:s("projectSettings.formatterInstall")})," · ",e.jsx("a",{href:"https://github.com/FlamingTempura/bibtex-tidy",target:"_blank",rel:"noreferrer",children:s("projectSettings.bibtexTidyInstall")})]})]}),e.jsxs("div",{className:"editor-preference",children:[e.jsxs("label",{className:"tex-fmt-options-field",children:[e.jsxs("span",{className:"tex-fmt-options-heading",children:[e.jsx("span",{children:s("projectSettings.texFmtOptions")}),e.jsx(Ce,{compact:!0,name:"tex-fmt",state:R,label:s(`projectSettings.toolStatus.${R.status}`),reloadLabel:s("projectSettings.reloadTool"),onReload:te})]}),e.jsx("textarea",{className:"tex-fmt-options-editor",rows:6,maxLength:16*1024,spellCheck:!1,value:i.texFmtConfig,placeholder:s("projectSettings.texFmtOptionsPlaceholder"),onChange:t=>l({...i,texFmtConfig:t.target.value})})]}),e.jsx("p",{className:"field-hint",children:s("projectSettings.texFmtOptionsDescription")})]}),o!==null&&e.jsxs("div",{className:`spell-check-result${o?" has-issues":""}`,role:"status","aria-live":"polite",children:[e.jsx(ke,{size:14}),e.jsx("span",{children:o?s("projectSettings.writingIssues",{count:o,uniqueCount:Q??0}):s("projectSettings.noWritingIssues")}),o>0&&e.jsxs("span",{className:"spell-check-controls",children:[e.jsx("button",{type:"button",title:s("projectSettings.spellCheckFirst"),"aria-label":s("projectSettings.spellCheckFirst"),disabled:h<=0,onClick:()=>C(0),children:e.jsx(ve,{size:14})}),e.jsx("button",{type:"button",title:s("projectSettings.spellCheckPrevious"),"aria-label":s("projectSettings.spellCheckPrevious"),disabled:h<=0,onClick:()=>C(h-1),children:e.jsx(be,{size:14})}),e.jsx("span",{className:"spell-check-position",children:s("projectSettings.spellCheckPosition",{current:Math.min(h+1,o),total:o})}),e.jsx("button",{type:"button",title:s("projectSettings.spellCheckNext"),"aria-label":s("projectSettings.spellCheckNext"),disabled:h>=o-1,onClick:()=>C(h+1),children:e.jsx(je,{size:14})}),e.jsx("button",{type:"button",title:s("projectSettings.spellCheckLast"),"aria-label":s("projectSettings.spellCheckLast"),disabled:h>=o-1,onClick:()=>C(o-1),children:e.jsx(Se,{size:14})})]})]}),e.jsxs("div",{className:"settings-section-title",children:[e.jsx(ge,{size:15}),e.jsx("strong",{children:s("projectSettings.dictionary")})]}),e.jsx("p",{className:"settings-description",children:s("projectSettings.dictionaryDescription")}),H&&e.jsx("p",{className:"error dictionary-error",children:H}),q&&e.jsxs("div",{className:"dictionary-add",children:[e.jsx("input",{value:E,placeholder:s("projectSettings.dictionaryPlaceholder"),onChange:t=>A(t.target.value),onKeyDown:t=>{t.key==="Enter"&&(t.preventDefault(),U())}}),e.jsx("button",{type:"button",disabled:!E.trim(),onClick:()=>{U()},children:s("projectSettings.addWord")})]}),e.jsxs("div",{className:"dictionary-words",children:[N.map(t=>e.jsxs("span",{className:"dictionary-word",children:[e.jsx("code",{children:t}),q&&e.jsx("button",{type:"button",title:s("common.delete"),"aria-label":`${s("common.delete")} ${t}`,onClick:()=>{ce(t)},children:e.jsx(B,{size:13})})]},t)),N.length===0&&e.jsx("span",{className:"dictionary-empty",children:s("projectSettings.dictionaryEmpty")})]}),e.jsx("div",{className:"settings-actions",children:e.jsxs("button",{className:"settings-save",onClick:J,children:[e.jsx(O,{size:15}),s("projectSettings.saveAppearance")]})})]}):e.jsxs("section",{id:"settings-panel-compiler",role:"tabpanel","aria-labelledby":"settings-tab-compiler",children:[e.jsxs("div",{className:"settings-section-title",children:[e.jsx(V,{size:15}),e.jsx("strong",{children:s("projectSettings.compilerTab")})]}),e.jsx("p",{className:"settings-description compiler-description",children:s("projectSettings.compilerDescription")}),e.jsxs("label",{children:[s("projects.name"),e.jsx("input",{disabled:!m,value:$,onChange:t=>I(t.target.value)})]}),e.jsxs("label",{children:[s("projectSettings.mainFile"),e.jsxs("select",{disabled:!m||v===null||v.length===0,value:b,onChange:t=>ee(t.target.value),children:[ie&&e.jsx("option",{value:b,disabled:!0,children:s("projectSettings.invalidMainFileOption",{path:b})}),se.map(t=>e.jsx("option",{value:t,children:t},t))]})]}),e.jsxs("label",{children:[s("projectSettings.engine"),e.jsx("select",{disabled:!m,value:M,onChange:t=>Z(t.target.value),children:(d.allowedEngines??["pdflatex","xelatex","lualatex"]).map(t=>e.jsx("option",{children:t},t))})]}),e.jsxs("label",{children:[s("projectSettings.latexmkrc"),e.jsx("textarea",{className:"latexmkrc-editor",rows:10,spellCheck:!1,disabled:!m||d.allowProjectLatexmkrc===!1,value:F,placeholder:s("projectSettings.latexmkrcPlaceholder"),onChange:t=>T(t.target.value)})]}),e.jsx("div",{className:"settings-actions",children:m&&e.jsxs("button",{className:"settings-save",onClick:()=>{_()},children:[e.jsx(O,{size:15}),s("projectSettings.saveCompiler")]})})]})]})]})}export{He as ProjectSettings};