chivgent 1.1.0 → 1.1.2

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 (52) hide show
  1. package/README.md +34 -11
  2. package/README.zh-CN.md +34 -11
  3. package/dist/auth/oauth.js.map +1 -1
  4. package/dist/cli-options.d.ts +3 -1
  5. package/dist/cli-options.d.ts.map +1 -1
  6. package/dist/cli-options.js +10 -1
  7. package/dist/cli-options.js.map +1 -1
  8. package/dist/cli-runtime.js +1 -1
  9. package/dist/cli-runtime.js.map +1 -1
  10. package/dist/cli.d.ts +1 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +75 -27
  13. package/dist/cli.js.map +1 -1
  14. package/dist/permissions.d.ts +10 -0
  15. package/dist/permissions.d.ts.map +1 -1
  16. package/dist/permissions.js +8 -0
  17. package/dist/permissions.js.map +1 -1
  18. package/dist/repl.d.ts +1 -0
  19. package/dist/repl.d.ts.map +1 -1
  20. package/dist/repl.js +142 -12
  21. package/dist/repl.js.map +1 -1
  22. package/dist/runtime/desktop-runtime.d.ts +23 -0
  23. package/dist/runtime/desktop-runtime.d.ts.map +1 -0
  24. package/dist/runtime/desktop-runtime.js +63 -0
  25. package/dist/runtime/desktop-runtime.js.map +1 -0
  26. package/dist/session.d.ts +2 -0
  27. package/dist/session.d.ts.map +1 -1
  28. package/dist/session.js +4 -0
  29. package/dist/session.js.map +1 -1
  30. package/dist/tui/editor-input.d.ts +18 -0
  31. package/dist/tui/editor-input.d.ts.map +1 -1
  32. package/dist/tui/editor-input.js +226 -29
  33. package/dist/tui/editor-input.js.map +1 -1
  34. package/dist/tui/editor.d.ts +11 -1
  35. package/dist/tui/editor.d.ts.map +1 -1
  36. package/dist/tui/editor.js +102 -29
  37. package/dist/tui/editor.js.map +1 -1
  38. package/dist/tui/provider-picker.d.ts +28 -0
  39. package/dist/tui/provider-picker.d.ts.map +1 -0
  40. package/dist/tui/provider-picker.js +131 -0
  41. package/dist/tui/provider-picker.js.map +1 -0
  42. package/dist/tui/selection.d.ts +24 -0
  43. package/dist/tui/selection.d.ts.map +1 -0
  44. package/dist/tui/selection.js +19 -0
  45. package/dist/tui/selection.js.map +1 -0
  46. package/dist/tui/slash.js +1 -1
  47. package/dist/tui/slash.js.map +1 -1
  48. package/dist/tui/welcome.d.ts +5 -4
  49. package/dist/tui/welcome.d.ts.map +1 -1
  50. package/dist/tui/welcome.js +13 -23
  51. package/dist/tui/welcome.js.map +1 -1
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA0C,MAAM,YAAY,CAAC;AAI3E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,eAAe,EACf,sBAAsB,GAIvB,MAAM,oBAAoB,CAAC;AAoB5B;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACd,EAAE,CAAS;IACX,GAAG,CAAS;IAEJ,KAAK,CAAQ;IACb,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC1C,KAAK,CAA2B;IAChC,GAAG,CAAa;IACzB,UAAU,CAAqB;IAC/B,aAAa,CAAU;IACvB,WAAW,GAAG,CAAC,CAAC;IAChB,gBAAgB,GAAG,KAAK,CAAC;IACzB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,UAAU,CAAyB;IACnC,UAAU,CAAgC;IAC1C,YAAY,CAAqB;IACjC,eAAe,CAAU;IAEjC,YAAY,OAA4B;QACtC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3F,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;YACrB,GAAG,OAAO,CAAC,KAAK;YAChB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,8DAA8D;IAC9D,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,KAAyB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAExD,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,4DAA4D,CAAC,CAAC;YACrJ,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3E,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAgB;QAChC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO;gBAAE,OAAO;YAC7C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QACjC,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAAC,CAAC;IAC/C,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAAC,CAAC;gBAC5D,CAAC;YAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAoB;QAChC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACtI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACzF,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1M,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACpC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAAC,CAAC;IAC/C,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,8CAA8C,CAAC,CAAC;QACrI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,KAAK;QACH,IAAI,IAAI,CAAC,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAClH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,OAAO,GAAsC,EAAE;QAE/C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;oBAChC,OAAO,EAAE,IAAI,CAAC,UAAU;oBACxB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;oBACzE,QAAQ,EAAE,IAAI,CAAC,eAAe;oBAC9B,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;iBACpE,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,mEAAmE;gBACnE,sEAAsE;gBACtE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,sBAAsB;YAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,KAAiB;QAChC,IAAI,SAAS,GAAe,KAAK,CAAC;QAClC,yEAAyE;QACzE,mEAAmE;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACjG,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,UAAU,GAAG;oBAChB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;oBAC5B,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACJ,CAAC;YACD,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU;gBAClF,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9G,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;YACjE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,KAAoB;QACjC,IACE,IAAI,CAAC,KAAK,KAAK,SAAS;YACxB,CAAC,IAAI,CAAC,aAAa;YACnB,KAAK,CAAC,IAAI,KAAK,gBAAgB;YAC/B,KAAK,CAAC,IAAI,KAAK,uBAAuB,EACtC,CAAC;YACD,OAAO;QACT,CAAC;QACD,qEAAqE;QACrE,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAChD,gEAAgE;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACnD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3D,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,12 @@ export declare class EditorController {
22
22
  private lastFrame?;
23
23
  private originRow?;
24
24
  private mouseDragging;
25
+ private mouseSuspended;
26
+ private exitRestore?;
27
+ private modeSwitchPending;
28
+ private modeSwitchCancelPending;
29
+ private modeSwitchQueue;
30
+ private modeSwitchQueueBytes;
25
31
  private searching;
26
32
  private searchQuery;
27
33
  private searchOffset;
@@ -35,13 +41,25 @@ export declare class EditorController {
35
41
  readonly history?: readonly string[];
36
42
  readonly slashCommands?: readonly SlashSuggestion[];
37
43
  readonly mouse?: boolean;
44
+ readonly footerStatus?: () => string | undefined;
45
+ /** Active provider and model. Omitted when either one is not set. */
46
+ readonly footerIdentity?: () => string | undefined;
47
+ readonly color?: boolean;
48
+ readonly onShiftTab?: () => Promise<void> | void;
38
49
  });
39
50
  begin(): void;
40
51
  private painterMouse;
52
+ private installExitRestore;
53
+ private removeExitRestore;
54
+ /** Hand the wheel to the terminal so its own scrollback moves. */
55
+ private suspendMouseTracking;
56
+ private resumeMouseTracking;
41
57
  private outputWrite;
42
58
  private suggestions;
43
59
  private insertSelectedCompletion;
60
+ /** True only when the rendered frame needs repainting. */
44
61
  private processMouse;
62
+ private frameRowAt;
45
63
  resized(): void;
46
64
  receive(chunk: Buffer): void;
47
65
  private updateSearch;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-input.d.ts","sourceRoot":"","sources":["../../src/tui/editor-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA8B,KAAK,YAAY,EAAoB,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;GAIG;AACH,qBAAa,gBAAgB;IAsBzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAvB1B,QAAQ,CAAC,QAAQ,iBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAiB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,YAAY,CAAK;IACzB,QAAQ,CAAC,aAAa;QAAK,KAAK;MAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC,YACmB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,EACxC,OAAO,GAAE;QAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,EAKzL;IAED,KAAK,IAAI,IAAI,CAGZ;IAED,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAEnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,YAAY;IA8BpB,OAAO,IAAI,IAAI,CAEd;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAS3B;IAED,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,KAAK;IAoLb,OAAO,CAAC,IAAI;IAUZ,MAAM,IAAI,IAAI,CAEb;IAED,OAAO,CAAC,MAAM;CASf"}
1
+ {"version":3,"file":"editor-input.d.ts","sourceRoot":"","sources":["../../src/tui/editor-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA8B,KAAK,YAAY,EAAoB,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAKpE;;;;GAIG;AACH,qBAAa,gBAAgB;IA4BzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA7B1B,QAAQ,CAAC,QAAQ,iBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAiB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,YAAY,CAAK;IACzB,QAAQ,CAAC,aAAa;QAAK,KAAK;MAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC,YACmB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,EACxC,OAAO,GAAE;QACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACjD,qEAAqE;QACrE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAC7C,EAKP;IAED,KAAK,IAAI,IAAI,CAMZ;IAED,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,iBAAiB;IAMzB,kEAAkE;IAClE,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAEnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,wBAAwB;IAUhC,0DAA0D;IAC1D,OAAO,CAAC,YAAY;IAmEpB,OAAO,CAAC,UAAU;IAKlB,OAAO,IAAI,IAAI,CAOd;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAwB3B;IAED,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,KAAK;IAuPb,OAAO,CAAC,IAAI;IAeZ,MAAM,IAAI,IAAI,CAQb;IAED,OAAO,CAAC,MAAM;CAaf"}
@@ -1,6 +1,8 @@
1
1
  import { StringDecoder } from "node:string_decoder";
2
2
  import { EditorDocument, EditorPainter, editorFrame } from "./editor.js";
3
3
  import { slashSuggestions } from "./slash.js";
4
+ const MOUSE_ENABLE = "\u001b[?1000h\u001b[?1002h\u001b[?1006h";
5
+ const MOUSE_DISABLE = "\u001b[?1006l\u001b[?1002l\u001b[?1000l";
4
6
  /**
5
7
  * Key parser for the modal editor. The active TuiInput raw hook gives this
6
8
  * parser exclusive ownership; neither readline nor slash completion sees the
@@ -23,6 +25,12 @@ export class EditorController {
23
25
  lastFrame;
24
26
  originRow;
25
27
  mouseDragging = false;
28
+ mouseSuspended = false;
29
+ exitRestore;
30
+ modeSwitchPending = false;
31
+ modeSwitchCancelPending = false;
32
+ modeSwitchQueue = [];
33
+ modeSwitchQueueBytes = 0;
26
34
  searching = false;
27
35
  searchQuery = "";
28
36
  searchOffset = 0;
@@ -38,13 +46,49 @@ export class EditorController {
38
46
  this.maxHeight = () => Math.max(6, output.rows ?? 24);
39
47
  }
40
48
  begin() {
41
- if (this.options.mouse)
49
+ if (this.options.mouse) {
42
50
  this.painterMouse(true);
51
+ this.installExitRestore();
52
+ }
43
53
  this.draw();
44
54
  }
45
55
  painterMouse(enabled) {
46
56
  // Opt-in only while editor owns the terminal; restore normal selection on exit.
47
- this.outputWrite(enabled ? "\u001b[?1000h\u001b[?1002h\u001b[?1006h" : "\u001b[?1006l\u001b[?1002l\u001b[?1000l");
57
+ this.outputWrite(enabled ? MOUSE_ENABLE : MOUSE_DISABLE);
58
+ }
59
+ installExitRestore() {
60
+ if (this.exitRestore !== undefined)
61
+ return;
62
+ const restore = () => {
63
+ try {
64
+ this.outputWrite(MOUSE_DISABLE);
65
+ }
66
+ catch { /* the terminal may already be gone */ }
67
+ };
68
+ this.exitRestore = restore;
69
+ process.once("exit", restore);
70
+ }
71
+ removeExitRestore() {
72
+ if (this.exitRestore === undefined)
73
+ return;
74
+ process.off("exit", this.exitRestore);
75
+ this.exitRestore = undefined;
76
+ }
77
+ /** Hand the wheel to the terminal so its own scrollback moves. */
78
+ suspendMouseTracking() {
79
+ if (!this.options.mouse || this.mouseSuspended)
80
+ return;
81
+ this.mouseSuspended = true;
82
+ this.originRow = undefined;
83
+ this.mouseDragging = false;
84
+ this.painterMouse(false);
85
+ }
86
+ resumeMouseTracking() {
87
+ if (!this.options.mouse || !this.mouseSuspended)
88
+ return;
89
+ this.mouseSuspended = false;
90
+ this.originRow = undefined;
91
+ this.painterMouse(true);
48
92
  }
49
93
  outputWrite(chunk) { this.output.write(chunk); }
50
94
  suggestions() {
@@ -62,54 +106,122 @@ export class EditorController {
62
106
  this.completionIndex = 0;
63
107
  return true;
64
108
  }
109
+ /** True only when the rendered frame needs repainting. */
65
110
  processMouse(sequence) {
66
111
  const answer = /^\u001b\[<(\d+);(\d+);(\d+)([Mm])$/.exec(sequence);
67
112
  if (answer === null)
68
- return;
113
+ return false;
114
+ if (this.mouseSuspended)
115
+ return false;
69
116
  const button = Number(answer[1]);
70
- if (button === 64 || button === 65) {
71
- // Only wheel gestures are acted upon if cursor location is unknown.
117
+ const column = Number(answer[2]);
118
+ const row = Number(answer[3]);
119
+ if ((button & 64) !== 0) {
120
+ // Wheel over a visible completion changes the selection; over a draft row
121
+ // it moves the caret. Anywhere else belongs to the terminal's scrollback.
122
+ if (answer[4] !== "M")
123
+ return false;
124
+ if ((button & 2) !== 0)
125
+ return false;
126
+ const direction = (button & 1) === 0 ? -1 : 1;
127
+ const frameRow = this.frameRowAt(row);
128
+ if (frameRow !== undefined) {
129
+ const suggestion = this.lastFrame?.suggestionRows?.find(item => item.row === frameRow);
130
+ if (suggestion !== undefined && column >= 1 && column <= this.maxWidth()) {
131
+ const max = this.suggestions().length - 1;
132
+ this.completionIndex = Math.max(0, Math.min(max, this.completionIndex + direction * 3));
133
+ return true;
134
+ }
135
+ const inputRow = this.lastFrame?.inputRows?.[frameRow - 1];
136
+ if (inputRow !== undefined) {
137
+ for (let i = 0; i < 3; i += 1)
138
+ this.document.moveVertical(direction);
139
+ return true;
140
+ }
141
+ // Outside the draft and its menu: hand wheel-up to the terminal.
142
+ if (direction < 0)
143
+ this.suspendMouseTracking();
144
+ return false;
145
+ }
146
+ // No frame mapping yet: preserve the existing fallback.
72
147
  for (let i = 0; i < 3; i += 1)
73
- this.document.moveVertical(button === 64 ? -1 : 1);
74
- return;
148
+ this.document.moveVertical(direction);
149
+ return true;
75
150
  }
76
151
  if (button === 0 && answer[4] === "m") {
152
+ const wasDragging = this.mouseDragging;
77
153
  this.mouseDragging = false;
78
- return;
154
+ return wasDragging;
79
155
  }
80
156
  if (button !== 0 && button !== 32)
81
- return;
157
+ return false;
82
158
  if (button === 32 && !this.mouseDragging)
83
- return;
159
+ return false;
84
160
  if (this.originRow === undefined || this.lastFrame === undefined)
85
- return;
86
- const relative = Number(answer[3]) - 1 - this.originRow;
161
+ return false;
162
+ if (column < 1 || column > this.maxWidth())
163
+ return false;
164
+ const relative = row - 1 - this.originRow;
165
+ const commandRow = this.lastFrame.suggestionRows?.find(item => item.row === relative);
166
+ if (button === 0 && answer[4] === "M" && commandRow !== undefined) {
167
+ this.completionIndex = commandRow.commandIndex;
168
+ this.insertSelectedCompletion();
169
+ return true;
170
+ }
87
171
  const inputRow = this.lastFrame.inputRows?.[relative - 1];
88
172
  // Only visible editable rows map to document text; header, popup and footer
89
173
  // coordinates must never be interpreted as text positions.
90
174
  if (inputRow === undefined)
91
- return;
92
- const frameColumn = Math.max(0, Number(answer[2]) - 3);
175
+ return false;
176
+ const frameColumn = Math.max(0, column - 1 - inputRow.gutterCells);
93
177
  const visibleTextColumn = inputRow.scrollCells > 0
94
178
  ? Math.max(0, frameColumn - 1)
95
179
  : frameColumn;
96
180
  this.document.placeAt(inputRow.documentRow, visibleTextColumn + inputRow.scrollCells, button === 32);
97
181
  this.mouseDragging = true;
182
+ return true;
183
+ }
184
+ frameRowAt(screenRow) {
185
+ if (this.originRow === undefined || this.lastFrame === undefined)
186
+ return undefined;
187
+ return screenRow - 1 - this.originRow;
98
188
  }
99
189
  resized() {
100
- if (!this.completed)
101
- this.draw();
190
+ if (this.completed)
191
+ return;
192
+ // A resize invalidates the mapping and needs a repaint. Take the mouse back
193
+ // so the new frame can be hit-tested.
194
+ this.resumeMouseTracking();
195
+ this.originRow = undefined;
196
+ this.draw();
102
197
  }
103
198
  receive(chunk) {
104
199
  if (this.completed)
105
200
  return;
201
+ if (this.modeSwitchPending) {
202
+ if (chunk.includes(3)) {
203
+ this.modeSwitchQueue = [];
204
+ this.modeSwitchQueueBytes = 0;
205
+ this.modeSwitchCancelPending = true;
206
+ }
207
+ else if (this.modeSwitchQueueBytes + chunk.length <= 64 * 1024) {
208
+ this.modeSwitchQueue.push(Buffer.from(chunk));
209
+ this.modeSwitchQueueBytes += chunk.length;
210
+ }
211
+ else {
212
+ this.modeSwitchQueue = [];
213
+ this.modeSwitchQueueBytes = 0;
214
+ this.document.warning = "Input buffer full while changing mode; queued input was discarded.";
215
+ }
216
+ return;
217
+ }
106
218
  if (this.escapeTimer !== undefined) {
107
219
  clearTimeout(this.escapeTimer);
108
220
  this.escapeTimer = undefined;
109
221
  }
110
222
  this.pending += this.decoder.write(chunk);
111
- this.parse();
112
- if (!this.completed)
223
+ const changed = this.parse();
224
+ if (!this.completed && changed)
113
225
  this.draw();
114
226
  }
115
227
  updateSearch() {
@@ -124,6 +236,7 @@ export class EditorController {
124
236
  this.document.warning = `History ${this.searchOffset + 1}/${matches.length}: ${match.replace(/\n/g, " ↵ ").slice(0, 70)}`;
125
237
  }
126
238
  parse() {
239
+ let changed = false;
127
240
  const startPaste = "\u001b[200~";
128
241
  const endPaste = "\u001b[201~";
129
242
  const escapes = {
@@ -138,12 +251,70 @@ export class EditorController {
138
251
  "\u001b[3~": () => this.document.delete(),
139
252
  "\u001bOH": () => this.document.home(),
140
253
  "\u001bOF": () => this.document.end(),
254
+ ...(this.options.submitOnEnter && this.options.onShiftTab !== undefined ? {
255
+ "\u001b[Z": () => {
256
+ if (this.modeSwitchPending)
257
+ return;
258
+ this.modeSwitchPending = true;
259
+ Promise.resolve().then(() => this.options.onShiftTab?.()).catch(error => {
260
+ this.document.warning = `Could not change mode: ${error instanceof Error ? error.message : String(error)}`;
261
+ }).finally(() => {
262
+ this.modeSwitchPending = false;
263
+ if (!this.completed) {
264
+ if (this.modeSwitchCancelPending) {
265
+ this.modeSwitchCancelPending = false;
266
+ this.modeSwitchQueue = [];
267
+ this.modeSwitchQueueBytes = 0;
268
+ this.finish(undefined);
269
+ return;
270
+ }
271
+ this.parse();
272
+ const queued = this.modeSwitchQueue;
273
+ this.modeSwitchQueue = [];
274
+ this.modeSwitchQueueBytes = 0;
275
+ for (const chunk of queued)
276
+ this.receive(chunk);
277
+ if (!this.completed)
278
+ this.draw();
279
+ }
280
+ });
281
+ },
282
+ } : {}),
141
283
  };
142
- while (this.pending.length > 0 && !this.completed) {
284
+ while (this.pending.length > 0 && !this.completed && !this.modeSwitchPending) {
285
+ if (this.mouseSuspended) {
286
+ // While suspended, consume in-flight mouse and cursor-position reports
287
+ // without repainting. The first real input takes the mouse back.
288
+ const report = /^\u001b\[<\d+;\d+;\d+[Mm]|^\u001b\[\d+;\d+R/.exec(this.pending);
289
+ if (report !== null) {
290
+ this.pending = this.pending.slice(report[0].length);
291
+ continue;
292
+ }
293
+ if (this.pending === "\u001b" || this.pending === "\u001b[" || this.pending === "\u001bO" ||
294
+ /^\u001b\[<[\d;]*$/.test(this.pending) || /^\u001b\[\d+(;\d+)?$/.test(this.pending)) {
295
+ // Hold a chunked report or a real Escape for the usual short window.
296
+ if (this.pending.length < 16) {
297
+ this.escapeTimer = setTimeout(() => {
298
+ if (this.pending === "\u001b") {
299
+ this.pending = "";
300
+ this.finish(undefined);
301
+ }
302
+ else {
303
+ this.pending = "";
304
+ this.draw();
305
+ }
306
+ }, 40);
307
+ break;
308
+ }
309
+ }
310
+ this.resumeMouseTracking();
311
+ changed = true;
312
+ }
143
313
  if (this.pasting) {
144
314
  const index = this.pending.indexOf(endPaste);
145
315
  if (index !== -1) {
146
316
  this.document.insert(this.pending.slice(0, index));
317
+ changed = true;
147
318
  this.pending = this.pending.slice(index + endPaste.length);
148
319
  this.pasting = false;
149
320
  continue;
@@ -152,12 +323,14 @@ export class EditorController {
152
323
  const safe = Math.max(0, this.pending.length - endPaste.length);
153
324
  if (safe > 0) {
154
325
  this.document.insert(this.pending.slice(0, safe));
326
+ changed = true;
155
327
  this.pending = this.pending.slice(safe);
156
328
  }
157
329
  break;
158
330
  }
159
331
  if (this.pending.startsWith(startPaste)) {
160
332
  this.pasting = true;
333
+ changed = true;
161
334
  this.pending = this.pending.slice(startPaste.length);
162
335
  continue;
163
336
  }
@@ -171,15 +344,21 @@ export class EditorController {
171
344
  }
172
345
  const mouse = /^\u001b\[<\d+;\d+;\d+[Mm]/.exec(this.pending);
173
346
  if (mouse !== null) {
174
- this.processMouse(mouse[0]);
347
+ if (this.processMouse(mouse[0]))
348
+ changed = true;
175
349
  this.pending = this.pending.slice(mouse[0].length);
176
350
  continue;
177
351
  }
178
352
  const matched = Object.keys(escapes).find(sequence => this.pending.startsWith(sequence));
179
353
  if (matched !== undefined) {
354
+ if (matched === "\u001b[Z" && this.searching) {
355
+ this.pending = this.pending.slice(matched.length);
356
+ continue;
357
+ }
358
+ changed = true;
180
359
  if (this.suggestions().length > 0 && (matched === "\u001b[A" || matched === "\u001b[B")) {
181
360
  const matches = this.suggestions();
182
- this.completionIndex = (this.completionIndex + (matched === "\u001b[B" ? 1 : -1) + matches.length) % matches.length;
361
+ this.completionIndex = Math.max(0, Math.min(matches.length - 1, this.completionIndex + (matched === "\u001b[B" ? 1 : -1)));
183
362
  }
184
363
  else
185
364
  escapes[matched]?.();
@@ -218,10 +397,12 @@ export class EditorController {
218
397
  // Unknown CSI: discard its bytes, not executable escape controls.
219
398
  const end = this.pending.slice(1).search(/[A-Za-z~]/);
220
399
  this.pending = end < 0 ? "" : this.pending.slice(end + 2);
400
+ changed = true;
221
401
  continue;
222
402
  }
223
403
  const char = this.pending[0] ?? "";
224
404
  this.pending = this.pending.slice(1);
405
+ changed = true;
225
406
  if (this.searching) {
226
407
  if (char === "\r" || char === "\n") {
227
408
  const match = [...(this.options.history ?? [])].reverse().filter(value => value.toLowerCase().includes(this.searchQuery.toLowerCase()))[this.searchOffset];
@@ -253,7 +434,7 @@ export class EditorController {
253
434
  switch (char) {
254
435
  case "\u0003": // Ctrl+C cancels only this editor, not the REPL.
255
436
  this.finish(undefined);
256
- return;
437
+ return changed;
257
438
  case "\u0004": // Ctrl+D exits an empty default composer.
258
439
  if (this.document.text.length === 0) {
259
440
  this.exitRequested.value = true;
@@ -275,7 +456,7 @@ export class EditorController {
275
456
  case "\u000a": // Ctrl+J when emitted by terminals (same byte as LF).
276
457
  if (this.options.submitOnEnter) {
277
458
  this.finish(this.document.text.trim().length > 0 ? this.document.text : undefined);
278
- return;
459
+ return changed;
279
460
  }
280
461
  if (!this.previousCR)
281
462
  this.document.insert("\n");
@@ -286,7 +467,7 @@ export class EditorController {
286
467
  break; // Ctrl+O: newline when Enter submits.
287
468
  case "\u0013": // Ctrl+S submits once, with no implicit shell action.
288
469
  this.finish(this.document.text.trim().length > 0 ? this.document.text : undefined);
289
- return;
470
+ return changed;
290
471
  case "\u0001":
291
472
  this.document.home();
292
473
  break; // Ctrl+A
@@ -298,13 +479,14 @@ export class EditorController {
298
479
  this.document.backspace();
299
480
  break;
300
481
  case "\r":
301
- if (this.suggestions().length > 0 && !this.suggestions().some(item => `/${item.value}` === this.document.text)) {
482
+ if (this.suggestions().length > 0 &&
483
+ !this.suggestions().some(item => `/${item.value}` === this.document.text)) {
302
484
  this.insertSelectedCompletion();
303
485
  break;
304
486
  }
305
487
  if (this.options.submitOnEnter) {
306
488
  this.finish(this.document.text.trim().length > 0 ? this.document.text : undefined);
307
- return;
489
+ return changed;
308
490
  }
309
491
  this.document.insert("\n");
310
492
  this.previousCR = true;
@@ -324,17 +506,29 @@ export class EditorController {
324
506
  }
325
507
  }
326
508
  }
509
+ return changed;
327
510
  }
328
511
  draw() {
512
+ if (this.mouseSuspended)
513
+ return;
329
514
  const matches = this.suggestions();
330
515
  this.completionIndex = matches.length > 0 ? Math.min(this.completionIndex, matches.length - 1) : 0;
331
- const frame = editorFrame(this.document, this.maxWidth(), this.maxHeight(), this.options.submitOnEnter === true, matches.map(item => item.value), this.completionIndex);
516
+ const frame = editorFrame(this.document, this.maxWidth(), this.maxHeight(), this.options.submitOnEnter === true, matches, this.completionIndex, this.options.footerStatus?.(), this.options.color === true, this.options.footerIdentity?.());
332
517
  this.lastFrame = frame;
333
518
  this.painter.render(frame);
334
- if (this.options.mouse)
519
+ if (this.options.mouse) {
520
+ // The painter keeps the frame's top row anchored across redraws. A resize
521
+ // invalidates that mapping; resized() clears it before requesting a new DSR.
335
522
  this.outputWrite("\u001b[6n");
523
+ }
336
524
  }
337
525
  cancel() {
526
+ if (this.modeSwitchPending) {
527
+ this.modeSwitchCancelPending = true;
528
+ this.modeSwitchQueue = [];
529
+ this.modeSwitchQueueBytes = 0;
530
+ return;
531
+ }
338
532
  this.finish(undefined);
339
533
  }
340
534
  finish(value) {
@@ -345,8 +539,11 @@ export class EditorController {
345
539
  clearTimeout(this.escapeTimer);
346
540
  this.escapeTimer = undefined;
347
541
  this.painter.finish();
348
- if (this.options.mouse)
542
+ if (this.options.mouse) {
349
543
  this.painterMouse(false);
544
+ this.removeExitRestore();
545
+ }
546
+ this.mouseSuspended = false;
350
547
  this.done(value);
351
548
  }
352
549
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editor-input.js","sourceRoot":"","sources":["../../src/tui/editor-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-input.js","sourceRoot":"","sources":["../../src/tui/editor-input.ts"],"names":[],"mappings":"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"}
@@ -47,10 +47,20 @@ export interface EditorFrame {
47
47
  readonly inputRows?: readonly {
48
48
  readonly documentRow: number;
49
49
  readonly scrollCells: number;
50
+ /** Display cells before the editable text, so a click can skip the box gutter. */
51
+ readonly gutterCells: number;
52
+ }[];
53
+ /** Command index and frame row for each actually visible completion row. */
54
+ readonly suggestionRows?: readonly {
55
+ readonly commandIndex: number;
56
+ readonly row: number;
50
57
  }[];
51
58
  }
52
59
  /** Fixed-height viewport; keep caret in frame even on small terminals. */
53
- export declare function editorFrame(document: EditorDocument, width: number, height: number, submitOnEnter?: boolean, suggestions?: readonly string[], selectedSuggestion?: number): EditorFrame;
60
+ export declare function editorFrame(document: EditorDocument, width: number, height: number, submitOnEnter?: boolean, suggestions?: readonly {
61
+ readonly value: string;
62
+ readonly label: string;
63
+ }[], selectedSuggestion?: number, footerStatus?: string, color?: boolean, footerIdentity?: string): EditorFrame;
54
64
  export interface EditorOutput {
55
65
  write(chunk: string): unknown;
56
66
  columns?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/tui/editor.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,qBAAa,cAAc;IACzB,IAAI,SAAM;IACV,MAAM,SAAK;IACX,QAAQ,CAAC,QAAQ,SAAa;IAC9B,QAAQ,CAAC,QAAQ,OAAa;IAC9B,OAAO,SAAM;IACb,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,cAAc,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAG3D;IAED,wFAAwF;IACxF,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,IAAI,CAiBzD;IAED,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAO;IAC1C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU;IAQlB,IAAI,IAAI,IAAI,CAUX;IAED,IAAI,IAAI,IAAI,CAUX;IAED,kEAAkE;IAClE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAShC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAyB7C;IAED,IAAI,IAAI,IAAI,CAA+I;IAC3J,KAAK,IAAI,IAAI,CAA2I;IACxJ,IAAI,IAAI,IAAI,CAAgJ;IAC5J,GAAG,IAAI,IAAI,CAA8I;IAEzJ,SAAS,IAAI,IAAI,CAQhB;IACD,MAAM,IAAI,IAAI,CAMb;IACD,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAmBpC;IAED,IAAI,QAAQ,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAK9C;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChG;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,UAAQ,EAAE,WAAW,GAAE,SAAS,MAAM,EAAO,EAAE,kBAAkB,SAAI,GAAG,WAAW,CA+DpL;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,YAA6B,MAAM,EAAE,YAAY,EAAI;IAErD,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAoB/B;IAED,MAAM,IAAI,IAAI,CAYb;CACF"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/tui/editor.ts"],"names":[],"mappings":"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"}