linecraft 0.2.4 → 0.2.5

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 (42) hide show
  1. package/README.md +41 -7
  2. package/lib/components/code-debug.d.ts +2 -0
  3. package/lib/components/code-debug.d.ts.map +1 -1
  4. package/lib/components/code-debug.js +224 -255
  5. package/lib/components/code-debug.js.map +1 -1
  6. package/lib/components/code-debug.test.d.ts +2 -0
  7. package/lib/components/code-debug.test.d.ts.map +1 -0
  8. package/lib/components/code-debug.test.js +253 -0
  9. package/lib/components/code-debug.test.js.map +1 -0
  10. package/lib/components/styled.d.ts +1 -0
  11. package/lib/components/styled.d.ts.map +1 -1
  12. package/lib/components/styled.js +36 -7
  13. package/lib/components/styled.js.map +1 -1
  14. package/lib/layout/grid.d.ts +3 -2
  15. package/lib/layout/grid.d.ts.map +1 -1
  16. package/lib/layout/grid.js +93 -45
  17. package/lib/layout/grid.js.map +1 -1
  18. package/lib/layout/grid.test.js +67 -0
  19. package/lib/layout/grid.test.js.map +1 -1
  20. package/lib/native/diff.test.js.map +1 -1
  21. package/lib/native/region-renderer.d.ts +1 -0
  22. package/lib/native/region-renderer.d.ts.map +1 -1
  23. package/lib/native/region-renderer.js +31 -1
  24. package/lib/native/region-renderer.js.map +1 -1
  25. package/lib/region.d.ts.map +1 -1
  26. package/lib/region.js +0 -46
  27. package/lib/region.js.map +1 -1
  28. package/lib/utils/cursor-position.d.ts.map +1 -1
  29. package/lib/utils/cursor-position.js +4 -13
  30. package/lib/utils/cursor-position.js.map +1 -1
  31. package/lib/utils/text.d.ts +64 -2
  32. package/lib/utils/text.d.ts.map +1 -1
  33. package/lib/utils/text.js +670 -102
  34. package/lib/utils/text.js.map +1 -1
  35. package/lib/utils/text.test.d.ts +2 -0
  36. package/lib/utils/text.test.d.ts.map +1 -0
  37. package/lib/utils/text.test.js +237 -0
  38. package/lib/utils/text.test.js.map +1 -0
  39. package/lib/utils/wait-for-spacebar.d.ts.map +1 -1
  40. package/lib/utils/wait-for-spacebar.js +0 -7
  41. package/lib/utils/wait-for-spacebar.js.map +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,SAAS,GAAG,iBAAiB,CAAC;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,QAAgB;IAC5D,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,wDAAwD;IACxD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,0FAA0F;IAC1F,IAAI,MAAM,GAAG,CAAC,CAAC,CAAE,0CAA0C;IAC3D,IAAI,GAAG,GAAG,CAAC,CAAC,CAAK,iCAAiC;IAElD,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;YACzB,wDAAwD;YACxD,iFAAiF;YACjF,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9C,GAAG,EAAE,CAAC;YACR,CAAC;YACD,2BAA2B;YAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAgB;IACxD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,wDAAwD;IACxD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,SAAS,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAgB;IAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,4DAA4D;IAC5D,+CAA+C;IAC/C,MAAM,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;IAE/C,oFAAoF;IACpF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9C,GAAG,EAAE,CAAC;YACR,CAAC;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAgB;IAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IACD,yDAAyD;IACzD,+CAA+C;IAC/C,MAAM,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,qDAAqD;IAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,cAAc,GAAG,UAAU,CAAC;IAE7C,oBAAoB;IACpB,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEvD,gDAAgD;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;IAE5C,oFAAoF;IACpF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9C,GAAG,EAAE,CAAC;YACR,CAAC;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,KAAa;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,MAAM,EAAE,CAAC;QACtB,sBAAsB;QACtB,OAAO,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7C,KAAK,EAAE,CAAC;QACV,CAAC;QACD,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACpB,MAAM;QACR,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;QAE1C,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,MAAM;QACR,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,UAAU,GAAG,CAAC,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,UAAU,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjB,KAAK,GAAG,UAAU,CAAC;QACnB,OAAO,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7C,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AAGD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;YACzB,wDAAwD;YACxD,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9C,GAAG,EAAE,CAAC;YACR,CAAC;YACD,2BAA2B;YAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3E,6BAA6B;YAC7B,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9C,GAAG,EAAE,CAAC;YACR,CAAC;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC1C,6CAA6C;gBAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,mCAAmC;oBACnC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,sBAAsB;oBACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;gBACD,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,GAAG,EAAE,CAAC;YACR,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,EAAE,CAAC;QACR,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,UAAkB;IAChE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,GAAG,CAAC,CAAC,CAAE,0CAA0C;IAC3D,IAAI,GAAG,GAAG,CAAC,CAAC,CAAK,iCAAiC;IAElD,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,UAAU,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;YACzB,wDAAwD;YACxD,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9C,GAAG,EAAE,CAAC;YACR,CAAC;YACD,2BAA2B;YAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,GAAG,EAAE,CAAC;YACR,CAAC;YACD,GAAG,GAAG,GAAG,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAElC,mDAAmD;IACnD,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEnD,yCAAyC;IACzC,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,MAAM,GAAG,SAAS;YAC1B,KAAK,EAAE,WAAW,GAAG,KAAK;SAC3B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=text.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.test.d.ts","sourceRoot":"","sources":["../../src/utils/text.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,237 @@
1
+ // Unit tests for text utilities
2
+ import { describe, it, expect } from 'vitest';
3
+ import { truncateToWidth, truncateStart, truncateEnd, truncateMiddle, truncateFocusRange, mapColumnToDisplay, countVisibleChars, stripAnsi, splitAtVisiblePos } from './text.js';
4
+ import { applyStyle } from './colors.js';
5
+ describe('text utilities', () => {
6
+ describe('truncateToWidth', () => {
7
+ it('should preserve ANSI codes when truncating', () => {
8
+ const text = applyStyle('Hello World', { color: 'red' });
9
+ const result = truncateToWidth(text, 8);
10
+ const plain = stripAnsi(result);
11
+ expect(plain).toBe('Hello Wo');
12
+ expect(result).toContain('\x1b['); // Should contain ANSI codes
13
+ });
14
+ it('should close OSC 8 hyperlinks when truncating', () => {
15
+ const text = '\x1b]8;;file:///test\x1b\\Hello World\x1b]8;;\x1b\\';
16
+ const result = truncateToWidth(text, 8);
17
+ expect(result).toContain('\x1b]8;;\x1b\\'); // Should close hyperlink
18
+ const plain = stripAnsi(result);
19
+ expect(plain.length).toBeLessThanOrEqual(8);
20
+ });
21
+ });
22
+ describe('truncateEnd', () => {
23
+ it('should add ellipsis and preserve ANSI codes', () => {
24
+ const text = applyStyle('Hello World', { color: 'red' });
25
+ const result = truncateEnd(text, 8);
26
+ const plain = stripAnsi(result);
27
+ expect(plain).toMatch(/\.\.\.$/);
28
+ expect(plain.length).toBeLessThanOrEqual(8);
29
+ });
30
+ });
31
+ describe('truncateStart', () => {
32
+ it('should add ellipsis at start and preserve ANSI codes', () => {
33
+ const text = applyStyle('Hello World', { color: 'red' });
34
+ const result = truncateStart(text, 8);
35
+ const plain = stripAnsi(result);
36
+ expect(plain).toMatch(/^\.\.\./);
37
+ expect(plain.length).toBeLessThanOrEqual(8);
38
+ // Should preserve color on remaining text
39
+ expect(result).toContain('\x1b[');
40
+ });
41
+ });
42
+ describe('truncateMiddle', () => {
43
+ it('should add ellipsis in middle and preserve ANSI codes', () => {
44
+ const text = applyStyle('Hello World', { color: 'red' });
45
+ const result = truncateMiddle(text, 8);
46
+ const plain = stripAnsi(result);
47
+ expect(plain).toContain('...');
48
+ expect(plain.length).toBeLessThanOrEqual(8);
49
+ // Should preserve color on both parts
50
+ expect(result).toContain('\x1b[');
51
+ });
52
+ });
53
+ describe('splitAtVisiblePos', () => {
54
+ it('should split text and preserve ANSI codes', () => {
55
+ const text = applyStyle('Hello World', { color: 'red' });
56
+ const { before, after } = splitAtVisiblePos(text, 5);
57
+ const beforePlain = stripAnsi(before);
58
+ const afterPlain = stripAnsi(after);
59
+ expect(beforePlain).toBe('Hello');
60
+ expect(afterPlain).toBe(' World');
61
+ // Both parts should have ANSI codes
62
+ expect(before).toContain('\x1b[');
63
+ expect(after).toContain('\x1b[');
64
+ });
65
+ it('should not lose characters when splitting', () => {
66
+ const text = 'console.log(hello world")';
67
+ const { before, after } = splitAtVisiblePos(text, 12);
68
+ const combined = stripAnsi(before) + stripAnsi(after);
69
+ expect(combined).toBe(text);
70
+ });
71
+ });
72
+ describe('countVisibleChars', () => {
73
+ it('should count only visible characters, ignoring ANSI codes', () => {
74
+ const text = applyStyle('Hello', { color: 'red' });
75
+ expect(countVisibleChars(text)).toBe(5);
76
+ });
77
+ it('should handle OSC 8 hyperlinks', () => {
78
+ const text = '\x1b]8;;file:///test\x1b\\Hello\x1b]8;;\x1b\\';
79
+ expect(countVisibleChars(text)).toBe(5);
80
+ });
81
+ });
82
+ describe('truncateFocusRange', () => {
83
+ it('should return visible range information', () => {
84
+ const text = 'console.log("hello world");';
85
+ const result = truncateFocusRange(text, 20, 1, 11);
86
+ expect(result.text).toBeTruthy();
87
+ expect(result.visibleStartCol).toBeGreaterThan(0);
88
+ expect(result.visibleEndCol).toBeGreaterThanOrEqual(result.visibleStartCol);
89
+ });
90
+ it('should correctly show target range when code overflows', () => {
91
+ // Simulate the failing case: long line with target at the end
92
+ const longLine = '@media (tv) { .a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};';
93
+ // Target is .v which is near the end (around column 77)
94
+ const targetCol = 77;
95
+ const result = truncateFocusRange(longLine, 50, targetCol, targetCol);
96
+ // The visible range should include the target column
97
+ expect(result.visibleEndCol).toBeGreaterThanOrEqual(targetCol);
98
+ expect(result.visibleStartCol).toBeLessThanOrEqual(targetCol);
99
+ // The truncated text should contain the target character
100
+ const truncatedPlain = stripAnsi(result.text);
101
+ expect(truncatedPlain).toContain('.v');
102
+ });
103
+ });
104
+ describe('mapColumnToDisplay', () => {
105
+ it('should correctly map columns when code fits', () => {
106
+ const originalText = 'console.log("hello");';
107
+ const truncatedText = originalText;
108
+ const displayPos = mapColumnToDisplay(originalText, truncatedText, 1, originalText.length, 12);
109
+ expect(displayPos).toBe(12);
110
+ });
111
+ it('should correctly map columns with ellipsis at start', () => {
112
+ const originalText = 'console.log("hello world");';
113
+ const truncatedText = '...log("hello world");';
114
+ // If visible range starts at column 10, column 12 should map correctly
115
+ const displayPos = mapColumnToDisplay(originalText, truncatedText, 10, 25, 12);
116
+ // Column 12 in original should be at position 3 (ellipsis) + (12 - 10 + 1) = 6
117
+ expect(displayPos).toBe(6);
118
+ });
119
+ it('should correctly map columns with ellipsis at end', () => {
120
+ const originalText = 'console.log("hello world");';
121
+ const truncatedText = 'console.log("hello...';
122
+ // If visible range is 1-15, column 12 should map correctly
123
+ const displayPos = mapColumnToDisplay(originalText, truncatedText, 1, 15, 12);
124
+ expect(displayPos).toBe(12);
125
+ });
126
+ it('should correctly map target column when code overflows (failing case)', () => {
127
+ // This is the specific failing case from the user
128
+ const longLine = '@media (tv) { .a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};';
129
+ const targetCol = 77; // .v is at column 77
130
+ // Truncate to show the target
131
+ const result = truncateFocusRange(longLine, 50, targetCol, targetCol);
132
+ // Map the target column to display position
133
+ const displayPos = mapColumnToDisplay(longLine, result.text, result.visibleStartCol, result.visibleEndCol, targetCol);
134
+ // The display position should point to where .v appears in the truncated text
135
+ const truncatedPlain = stripAnsi(result.text);
136
+ const expectedChar = longLine[targetCol - 1]; // -1 because columns are 1-based
137
+ const actualChar = truncatedPlain[displayPos - 1]; // -1 because positions are 1-based
138
+ expect(actualChar).toBe(expectedChar);
139
+ });
140
+ it('should correctly map columns with start ellipsis (real-world code-debug case)', () => {
141
+ // Simulate a long line that gets truncated with ellipsis at start
142
+ // Original: " .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};"
143
+ // Truncated: "...b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};"
144
+ const originalLine = ' .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};';
145
+ const startCol = 77; // Column 77 is '.v'
146
+ const endCol = 78; // Column 78 is ')'
147
+ // Truncate to show columns around 77-78
148
+ const result = truncateFocusRange(originalLine, 50, startCol, endCol);
149
+ // Map both columns
150
+ const displayStart = mapColumnToDisplay(originalLine, result.text, result.visibleStartCol, result.visibleEndCol, startCol, result.rangeStartCol, result.rangeEndCol);
151
+ const displayEnd = mapColumnToDisplay(originalLine, result.text, result.visibleStartCol, result.visibleEndCol, endCol, result.rangeStartCol, result.rangeEndCol);
152
+ // Verify the mapped positions point to the correct characters
153
+ const truncatedPlain = stripAnsi(result.text);
154
+ const expectedStartChar = originalLine[startCol - 1]; // '.v' at position 77
155
+ const expectedEndChar = originalLine[endCol - 1]; // ')' at position 78
156
+ const actualStartChar = truncatedPlain[displayStart - 1];
157
+ const actualEndChar = truncatedPlain[displayEnd - 1];
158
+ expect(actualStartChar).toBe(expectedStartChar);
159
+ expect(actualEndChar).toBe(expectedEndChar);
160
+ // Also verify the positions are correct relative to each other
161
+ expect(displayEnd - displayStart).toBe(endCol - startCol);
162
+ });
163
+ it('should correctly map columns when visible range is at the end of a long line', () => {
164
+ // Test case where target is near the end and we have start ellipsis
165
+ const longLine = 'a'.repeat(20) + 'b'.repeat(20) + 'c'.repeat(20) + 'TARGET' + 'd'.repeat(20);
166
+ const targetStart = 61; // Start of "TARGET"
167
+ const targetEnd = 66; // End of "TARGET"
168
+ const result = truncateFocusRange(longLine, 30, targetStart, targetEnd);
169
+ const displayStart = mapColumnToDisplay(longLine, result.text, result.visibleStartCol, result.visibleEndCol, targetStart, result.rangeStartCol, result.rangeEndCol);
170
+ const displayEnd = mapColumnToDisplay(longLine, result.text, result.visibleStartCol, result.visibleEndCol, targetEnd, result.rangeStartCol, result.rangeEndCol);
171
+ const truncatedPlain = stripAnsi(result.text);
172
+ expect(truncatedPlain[displayStart - 1]).toBe('T');
173
+ expect(truncatedPlain[displayEnd - 1]).toBe('T'); // Last char of "TARGET"
174
+ expect(displayEnd - displayStart).toBe(5); // "TARGET" is 5 chars
175
+ });
176
+ it('should correctly map .v at columns 77-78 in real-world Less code example', () => {
177
+ // Real-world test case from code-debug component
178
+ const errorLine = ' .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};';
179
+ const startColumn = 77; // Should point to '.v'
180
+ const endColumn = 78; // Should point to 'v'
181
+ // Verify the original columns are correct
182
+ expect(errorLine[startColumn - 1]).toBe('.');
183
+ expect(errorLine[endColumn - 1]).toBe('v');
184
+ // Test with different widths to ensure mapping is correct
185
+ const widths = [30, 40, 50, 60, 70, 80, 90, 100];
186
+ for (const width of widths) {
187
+ const result = truncateFocusRange(errorLine, width, startColumn, endColumn);
188
+ // Map the columns to display positions
189
+ const displayStart = mapColumnToDisplay(errorLine, result.text, result.visibleStartCol, result.visibleEndCol, startColumn, result.rangeStartCol, result.rangeEndCol);
190
+ const displayEnd = mapColumnToDisplay(errorLine, result.text, result.visibleStartCol, result.visibleEndCol, endColumn, result.rangeStartCol, result.rangeEndCol);
191
+ // Verify the mapped positions point to the correct characters
192
+ const truncatedPlain = stripAnsi(result.text);
193
+ const actualStartChar = truncatedPlain[displayStart - 1];
194
+ const actualEndChar = truncatedPlain[displayEnd - 1];
195
+ expect(actualStartChar).toBe('.');
196
+ expect(actualEndChar).toBe('v');
197
+ expect(displayEnd - displayStart).toBe(1); // Should be exactly 1 character apart
198
+ // Also verify the visible range includes the target
199
+ expect(result.visibleStartCol).toBeLessThanOrEqual(startColumn);
200
+ expect(result.visibleEndCol).toBeGreaterThanOrEqual(endColumn);
201
+ }
202
+ });
203
+ it('should correctly highlight .v at columns 77-78 when simulating code-debug highlighting', () => {
204
+ // Simulate the exact highlighting logic used in code-debug component
205
+ const errorLine = ' .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v) {};';
206
+ const startColumn = 77;
207
+ const endColumn = 78;
208
+ // Test with different widths
209
+ const widths = [30, 40, 50, 60, 70, 80, 90, 100];
210
+ for (const width of widths) {
211
+ // Step 1: Truncate (as code-debug does)
212
+ const truncateResult = truncateFocusRange(errorLine, width, startColumn, endColumn);
213
+ const truncatedErrorLine = truncateResult.text;
214
+ const visibleStartCol = truncateResult.visibleStartCol;
215
+ const visibleEndCol = truncateResult.visibleEndCol;
216
+ // Step 2: Map columns (as code-debug does)
217
+ const mapColumnToDisplayLocal = (originalCol) => {
218
+ return mapColumnToDisplay(errorLine, truncatedErrorLine, visibleStartCol, visibleEndCol, originalCol, truncateResult.rangeStartCol, truncateResult.rangeEndCol);
219
+ };
220
+ const highlightStart = mapColumnToDisplayLocal(startColumn);
221
+ const highlightEnd = mapColumnToDisplayLocal(endColumn);
222
+ // Step 3: Split and extract highlight range (as code-debug does)
223
+ const { before: beforeHighlight, after: remainingAfterStart } = splitAtVisiblePos(truncatedErrorLine, highlightStart - 1);
224
+ const highlightLength = highlightEnd - highlightStart + 1;
225
+ const { before: highlightRange } = splitAtVisiblePos(remainingAfterStart, highlightLength);
226
+ // Step 4: Verify the highlighted range contains .v
227
+ const highlightPlain = stripAnsi(highlightRange);
228
+ expect(highlightPlain).toContain('.v');
229
+ // Step 5: Verify the exact characters
230
+ const truncatedPlain = stripAnsi(truncatedErrorLine);
231
+ expect(truncatedPlain[highlightStart - 1]).toBe('.');
232
+ expect(truncatedPlain[highlightEnd - 1]).toBe('v');
233
+ }
234
+ });
235
+ });
236
+ });
237
+ //# sourceMappingURL=text.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.test.js","sourceRoot":"","sources":["../../src/utils/text.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wait-for-spacebar.d.ts","sourceRoot":"","sources":["../../src/utils/wait-for-spacebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,MAAwC,GAChD,OAAO,CAAC,IAAI,CAAC,CAuEf"}
1
+ {"version":3,"file":"wait-for-spacebar.d.ts","sourceRoot":"","sources":["../../src/utils/wait-for-spacebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,MAAwC,GAChD,OAAO,CAAC,IAAI,CAAC,CA+Df"}
@@ -1,4 +1,3 @@
1
- import { logToFile } from './debug-log.js';
2
1
  /**
3
2
  * Wait for spacebar press before continuing
4
3
  * Useful for testing examples interactively
@@ -7,30 +6,24 @@ import { logToFile } from './debug-log.js';
7
6
  * is managed by the region and avoiding scrolling/positioning issues.
8
7
  */
9
8
  export async function waitForSpacebar(region, message = 'Press SPACEBAR to continue...') {
10
- // Prepare prompt inside region before listening for input
11
- logToFile(`[waitForSpacebar] CALLED, isTTY=${process.stdin.isTTY}, isRaw=${process.stdin.isRaw}`);
12
9
  region.add(['', message]);
13
10
  region.flush();
14
11
  const promptLineNumber = region.height;
15
12
  const promptColumn = message.length + 1;
16
13
  region.showCursorAt(promptLineNumber, promptColumn);
17
14
  return new Promise((resolve) => {
18
- // DEBUG: Log when waitForSpacebar is called
19
15
  // Set stdin to raw mode to capture individual keypresses
20
16
  if (!process.stdin.isTTY) {
21
17
  // If not a TTY, just resolve immediately
22
- logToFile(`[waitForSpacebar] Not a TTY, resolving immediately`);
23
18
  resolve();
24
19
  return;
25
20
  }
26
21
  // Try to set raw mode, but handle errors gracefully
27
22
  try {
28
23
  process.stdin.setRawMode(true);
29
- logToFile(`[waitForSpacebar] Set raw mode successfully`);
30
24
  }
31
25
  catch (err) {
32
26
  // If setRawMode fails (e.g., stdin is closed or not available), just resolve
33
- logToFile(`[waitForSpacebar] setRawMode FAILED: ${err instanceof Error ? err.message : String(err)}, resolving immediately`);
34
27
  resolve();
35
28
  return;
36
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wait-for-spacebar.js","sourceRoot":"","sources":["../../src/utils/wait-for-spacebar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait-for-spacebar.js","sourceRoot":"","sources":["../../src/utils/wait-for-spacebar.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,UAAkB,+BAA+B;IAEjD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAEpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,yCAAyC;YACzC,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,oDAAoD;QACpD,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6EAA6E;YAC7E,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;YACjC,0BAA0B;YAC1B,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC/B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC,CAAC,mBAAmB;gBAChD,4DAA4D;gBAC5D,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;YACrD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACjD,0DAA0D;YAC1D,4EAA4E;YAC5E,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linecraft",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "High-performance terminal UI library for Node.js",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",