You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/posts/xmake-update-v3.0.5.md
+1-136Lines changed: 1 addition & 136 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -513,122 +513,7 @@ For more details, see: [#6993](https://github.com/xmake-io/xmake/pull/6993)
513
513
514
514
### Improve TTY handling and output
515
515
516
-
We have improved TTY handling and output formatting, providing better terminal compatibility and visual feedback. The `core.base.tty` module now offers comprehensive cursor control and screen management capabilities for creating rich terminal interfaces.
517
-
518
-
**Key features:**
519
-
520
-
-**Cursor movement**: Move cursor up, down, left, right, or to specific columns
521
-
-**Line operations**: Clear lines, erase to end of line, move to start of line
522
-
-**Cursor visibility**: Hide/show cursor for smoother animations
523
-
-**Position management**: Save and restore cursor positions
524
-
-**ANSI detection**: Check if terminal supports ANSI control codes
525
-
526
-
**Basic usage:**
527
-
528
-
```lua
529
-
import("core.base.tty")
530
-
531
-
-- Check if ANSI is supported
532
-
iftty.has_vtansi() then
533
-
-- Simple progress bar
534
-
fori=0, 100, 5do
535
-
tty.cr() -- Move to start of line
536
-
tty.erase_line() -- Clear the line
537
-
io.write(string.format("Progress: %d%%", i))
538
-
io.flush()
539
-
os.sleep(50)
540
-
end
541
-
print("") -- New line after progress
542
-
end
543
-
```
544
-
545
-
**Update previous lines:**
546
-
547
-
```lua
548
-
import("core.base.tty")
549
-
550
-
io.write("Building project...\n")
551
-
io.write("Status: Starting...\n")
552
-
io.flush()
553
-
554
-
os.sleep(1000)
555
-
556
-
-- Go back and update the status line
557
-
tty.cursor_move_up(1)
558
-
tty.cr()
559
-
tty.erase_line()
560
-
io.write("Status: Compiling files...\n")
561
-
io.flush()
562
-
```
563
-
564
-
**Multi-line updates:**
565
-
566
-
```lua
567
-
import("core.base.tty")
568
-
569
-
-- Create a status board
570
-
io.write("Task 1: Waiting...\n")
571
-
io.write("Task 2: Waiting...\n")
572
-
io.write("Task 3: Waiting...\n")
573
-
io.flush()
574
-
575
-
tty.cursor_hide()
576
-
577
-
-- Update Task 1
578
-
tty.cursor_move_up(3)
579
-
tty.cr()
580
-
tty.erase_line()
581
-
io.write("Task 1: Running...\n")
582
-
io.flush()
583
-
584
-
-- Update Task 2
585
-
tty.cr()
586
-
tty.erase_line()
587
-
io.write("Task 2: Done ✓\n")
588
-
io.flush()
589
-
590
-
tty.cursor_show()
591
-
```
592
-
593
-
**Live dashboard example:**
594
-
595
-
```lua
596
-
import("core.base.tty")
597
-
598
-
-- Create a build dashboard with multiple progress bars
-`tty.erase_line_to_end()` - Erase from cursor to end of line
641
526
-`tty.has_vtansi()` - Check if terminal supports ANSI control codes
642
527
643
-
This enables creating rich terminal interfaces with progress bars, live dashboards, multi-line status updates, and smooth animations without clearing the entire screen.
644
-
645
528
For more details, see: [#6970](https://github.com/xmake-io/xmake/pull/6970)
646
529
647
-
### Refactor Xcode toolchain integration
648
-
649
-
We have refactored the Xcode toolchain and integrated it into the LLVM toolchain for Apple devices, simplifying toolchain management for macOS and iOS development.
650
-
651
-
This change makes it easier to switch between different LLVM-based toolchains on Apple platforms.
652
-
653
-
For more details, see: [#6977](https://github.com/xmake-io/xmake/pull/6977)
654
-
655
530
### Add Ghostty terminal detection support
656
531
657
532
We have added support for detecting the Ghostty terminal, ensuring proper output formatting and color support in this modern terminal emulator.
658
533
659
534
For more details, see: [#6987](https://github.com/xmake-io/xmake/pull/6987)
660
535
661
-
### Add Ninja generator support
662
-
663
-
We have added Ninja generator support to the xmake.sh/configure script, allowing you to generate Ninja build files for faster builds.
664
-
665
-
```bash
666
-
$ ./xmake.sh --generator=ninja
667
-
```
668
-
669
-
For more details, see: [#7019](https://github.com/xmake-io/xmake/pull/7019)
670
-
671
536
### Improve graph module performance
672
537
673
538
We have improved the performance of the graph module, which is used for dependency resolution and build graph generation.
0 commit comments