Closed magicant closed 2 months ago
This update introduces enhancements across various modules for the Yash shell. Key changes include adding dependency checks for complex builds, updating built-in functionalities, refining environment detection for interactivity, and improving prompt handling. These modifications aim to align the project with POSIX 2018 requirements, optimize the code, and enhance user interaction.
Files/Paths | Change Summaries |
---|---|
check-extra.sh |
Added extra cargo check and cargo build commands focusing on yash-builtin and yash-syntax dependency checks and builds with different features. |
yash-builtin/CHANGELOG.md |
Updated for read built-in prompt, break , and continue semantics. |
yash-builtin/Cargo.toml |
Added yash-prompt to default features, made it an optional dependency. |
.../src/read.rs |
Documented prompt requirement for yash-prompt feature. |
.../src/read/input.rs |
Updated read function for interactive prompts, added print_prompt . |
yash-cli/CHANGELOG.md |
Documented read built-in prompt addition in CLI. |
yash-env/CHANGELOG.md |
Added Env::is_interactive method. |
yash-env/src/lib.rs |
Introduced Interactive option and is_interactive method in Env . |
yash-prompt/src/lib.rs |
Added fetch_posix function in prompter module. |
.../src/prompter.rs |
Refactored print_prompt , added fetch_posix , reorganized logic for prompt fetching and expansion. |
sequenceDiagram
participant User
participant YashCLI
participant YashBuiltin
participant YashEnv
participant YashPrompt
User->>YashCLI: Enter command with read built-in
YashCLI->>YashEnv: Check if interactive (is_interactive)
YashEnv-->>YashCLI: Return interactivity status
YashCLI->>YashBuiltin: Call read function
YashBuiltin->>YashPrompt: Fetch and print prompt for continuation (fetch_posix)
YashPrompt-->>YashBuiltin: Return prompt string
YashBuiltin-->>User: Display prompt and read input
In the land of code so fine, Yash's features now align. Prompts that glow, interactivity flows, Enhanced with care, for users to share. A build so strong, to last for long, With each command, the shell's true song.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Summary by CodeRabbit
New Features
read
built-in now displays a prompt for continued lines in interactive mode.Improvements
Documentation