Commit 10ebb81
committed
feat: named buffers, libtmux native API compat, PR #207 workaround elimination
Named Buffers (-b name):
- set-buffer -b name, show-buffer -b name, delete-buffer -b name, paste-buffer -b name
- Independent HashMap storage separate from positional buffer stack
- list-buffers shows both positional and named buffers
- Format variables (buffer_name, buffer_size, buffer_sample) support named buffer override
libtmux Native API Compatibility:
- Handle \ session ID targets (e.g. -t \) — treat as current session
- Handle @n window ID targets via FocusWindowById/FocusWindowByIdTemp
- list-panes -t @n now correctly lists panes of the targeted window
- list-windows -t \ works (session ID ignored, uses current session)
- Enables libtmux Server.sessions, .windows, .panes to work natively
PR #207 Workaround Elimination (all 6 workarounds proven unnecessary):
- WA1: list-sessions -F format flag works correctly
- WA2: Concatenated -Fformat syntax works
- WA3: has-session with = prefix for exact matching
- WA4: Environment variable propagation via set-environment
- WA5: Named buffers for concurrent buffer operations
- WA6: Bracketed paste mode support
Tests:
- 22 Rust unit tests for named buffers
- 11 Rust unit tests for PR207 compat
- 12 E2E PowerShell tests for named buffers
- 22 E2E PowerShell tests for PR207 compat
- 26 E2E workaround elimination tests
- 33 Python tests (25 subprocess + 8 libtmux native API)1 parent e9ef4a3 commit 10ebb81
13 files changed
Lines changed: 2779 additions & 58 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
513 | 516 | | |
514 | 517 | | |
515 | 518 | | |
| |||
524 | 527 | | |
525 | 528 | | |
526 | 529 | | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
527 | 537 | | |
528 | 538 | | |
529 | | - | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
530 | 550 | | |
531 | 551 | | |
532 | 552 | | |
| |||
591 | 611 | | |
592 | 612 | | |
593 | 613 | | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
594 | 627 | | |
595 | 628 | | |
596 | 629 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1452 | 1452 | | |
1453 | 1453 | | |
1454 | 1454 | | |
1455 | | - | |
1456 | | - | |
1457 | | - | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
1458 | 1480 | | |
1459 | 1481 | | |
1460 | 1482 | | |
1461 | | - | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
1462 | 1493 | | |
1463 | 1494 | | |
1464 | 1495 | | |
1465 | 1496 | | |
1466 | 1497 | | |
1467 | 1498 | | |
1468 | 1499 | | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
1469 | 1508 | | |
1470 | 1509 | | |
1471 | 1510 | | |
1472 | 1511 | | |
1473 | | - | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
1474 | 1522 | | |
1475 | 1523 | | |
1476 | 1524 | | |
| |||
2346 | 2394 | | |
2347 | 2395 | | |
2348 | 2396 | | |
| 2397 | + | |
| 2398 | + | |
| 2399 | + | |
| 2400 | + | |
| 2401 | + | |
| 2402 | + | |
| 2403 | + | |
| 2404 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
30 | 36 | | |
31 | 37 | | |
32 | 38 | | |
| |||
1487 | 1493 | | |
1488 | 1494 | | |
1489 | 1495 | | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
1490 | 1501 | | |
1491 | 1502 | | |
1492 | 1503 | | |
1493 | 1504 | | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
1494 | 1509 | | |
1495 | 1510 | | |
1496 | 1511 | | |
1497 | 1512 | | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
1498 | 1517 | | |
1499 | 1518 | | |
1500 | 1519 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
435 | 435 | | |
436 | 436 | | |
437 | 437 | | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
438 | 441 | | |
439 | 442 | | |
440 | 443 | | |
| |||
680 | 683 | | |
681 | 684 | | |
682 | 685 | | |
683 | | - | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
684 | 702 | | |
685 | | - | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
691 | 709 | | |
692 | | - | |
| 710 | + | |
693 | 711 | | |
694 | | - | |
| 712 | + | |
695 | 713 | | |
696 | 714 | | |
697 | 715 | | |
| |||
700 | 718 | | |
701 | 719 | | |
702 | 720 | | |
703 | | - | |
704 | | - | |
| 721 | + | |
| 722 | + | |
705 | 723 | | |
706 | 724 | | |
707 | 725 | | |
| |||
1007 | 1025 | | |
1008 | 1026 | | |
1009 | 1027 | | |
| 1028 | + | |
1010 | 1029 | | |
1011 | 1030 | | |
1012 | 1031 | | |
| |||
1062 | 1081 | | |
1063 | 1082 | | |
1064 | 1083 | | |
| 1084 | + | |
1065 | 1085 | | |
1066 | 1086 | | |
1067 | 1087 | | |
| |||
1295 | 1315 | | |
1296 | 1316 | | |
1297 | 1317 | | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
1298 | 1321 | | |
1299 | 1322 | | |
1300 | 1323 | | |
| |||
1318 | 1341 | | |
1319 | 1342 | | |
1320 | 1343 | | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
1321 | 1347 | | |
1322 | 1348 | | |
1323 | 1349 | | |
| |||
1407 | 1433 | | |
1408 | 1434 | | |
1409 | 1435 | | |
1410 | | - | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
1411 | 1440 | | |
1412 | 1441 | | |
1413 | | - | |
| 1442 | + | |
| 1443 | + | |
1414 | 1444 | | |
1415 | 1445 | | |
1416 | 1446 | | |
| |||
1612 | 1642 | | |
1613 | 1643 | | |
1614 | 1644 | | |
| 1645 | + | |
| 1646 | + | |
| 1647 | + | |
1615 | 1648 | | |
1616 | 1649 | | |
1617 | 1650 | | |
| |||
0 commit comments