zames_pro 2.90.10 → 2.90.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.90.11] - 2026-10-29
11
+
12
+ ### Fixed
13
+
14
+ - **input:** stop legacy word movement and deletion at a newline
15
+
10
16
  ## [2.90.10] - 2026-10-29
11
17
 
12
18
  ### Fixed
package/dist/input.js CHANGED
@@ -1421,9 +1421,12 @@ export class LineEditor {
1421
1421
  _wordLeft() {
1422
1422
  const chars = Array.from(this.buf);
1423
1423
  let i = this.cursor;
1424
- while (i > 0 && /\s/.test(chars[i - 1]))
1424
+ // A NEWLINE is a hard boundary, like in the TUI's edit.ts: the caret must
1425
+ // not jump to the previous LINE's word (the two engines must behave the
1426
+ // same).
1427
+ while (i > 0 && chars[i - 1] !== NL && /\s/.test(chars[i - 1]))
1425
1428
  i--;
1426
- while (i > 0 && !/\s/.test(chars[i - 1]))
1429
+ while (i > 0 && chars[i - 1] !== NL && !/\s/.test(chars[i - 1]))
1427
1430
  i--;
1428
1431
  this.cursor = i;
1429
1432
  }
@@ -1431,9 +1434,10 @@ export class LineEditor {
1431
1434
  _wordRight() {
1432
1435
  const chars = Array.from(this.buf);
1433
1436
  let i = this.cursor;
1434
- while (i < chars.length && /\s/.test(chars[i]))
1437
+ // Stop at a NEWLINE (mirrors _wordLeft and the TUI's edit.ts).
1438
+ while (i < chars.length && chars[i] !== NL && /\s/.test(chars[i]))
1435
1439
  i++;
1436
- while (i < chars.length && !/\s/.test(chars[i]))
1440
+ while (i < chars.length && chars[i] !== NL && !/\s/.test(chars[i]))
1437
1441
  i++;
1438
1442
  this.cursor = i;
1439
1443
  }
@@ -1441,9 +1445,10 @@ export class LineEditor {
1441
1445
  _deleteWordLeft() {
1442
1446
  const chars = Array.from(this.buf);
1443
1447
  let i = this.cursor;
1444
- while (i > 0 && /\s/.test(chars[i - 1]))
1448
+ // Never eat the line break (see _wordLeft).
1449
+ while (i > 0 && chars[i - 1] !== NL && /\s/.test(chars[i - 1]))
1445
1450
  i--;
1446
- while (i > 0 && !/\s/.test(chars[i - 1]))
1451
+ while (i > 0 && chars[i - 1] !== NL && !/\s/.test(chars[i - 1]))
1447
1452
  i--;
1448
1453
  chars.splice(i, this.cursor - i);
1449
1454
  this.buf = chars.join('');
@@ -1455,9 +1460,10 @@ export class LineEditor {
1455
1460
  _deleteWordRight() {
1456
1461
  const chars = Array.from(this.buf);
1457
1462
  let i = this.cursor;
1458
- while (i < chars.length && /\s/.test(chars[i]))
1463
+ // Stop at a NEWLINE (see _wordRight).
1464
+ while (i < chars.length && chars[i] !== NL && /\s/.test(chars[i]))
1459
1465
  i++;
1460
- while (i < chars.length && !/\s/.test(chars[i]))
1466
+ while (i < chars.length && chars[i] !== NL && !/\s/.test(chars[i]))
1461
1467
  i++;
1462
1468
  chars.splice(this.cursor, i - this.cursor);
1463
1469
  this.buf = chars.join('');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.90.10",
3
+ "version": "2.90.11",
4
4
  "description": "Terminal coding agent that drives a real browser to chat with DeepSeek, Qwen or GLM — no API key required. Reads and edits files, runs commands, commits to git, like Claude Code / Codex CLI.",
5
5
  "type": "module",
6
6
  "bin": {