Skip to content

Commit

Permalink
Release yash-cli-0.1.0-alpha.1
Browse files Browse the repository at this point in the history
  • Loading branch information
magicant committed Apr 13, 2024
1 parent 850ea40 commit 541ec7c
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 10 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

46 changes: 40 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,51 @@
# Yash-rs

This is a reimplementation project of [Yet Another Shell (yash)](https://yash.osdn.jp/) in Rust.
This is a reimplementation project of [Yet Another Shell (yash)](https://magicant.github.io/yash/) in Rust.
Currently, only a minimal subset of the original yash is implemented.
It will be extended to cover more features in the future.

[![Build status](https://github.com/magicant/yash-rs/actions/workflows/rust.yml/badge.svg)](https://github.com/magicant/yash-rs/actions/workflows/rust.yml)

<!-- TODO Features -->
## Features

<!-- TODO Usage -->
Currently, yash can run shell scripts that use POSIX-compatible syntax.
Interactive features are under development, and locale support is not yet implemented.

## Development status
- [x] Running shell scripts that only use POSIX-compatible syntax and features
- [ ] Interactive shell features
- [ ] Enhanced scripting features (Extensions to POSIX shell)
- [ ] Performance optimization
- [ ] Locale support

Yash is currently in a pre-alpha state.
Many features are still yet to be implemented.
## Supported platforms

Yash should work on any Unix-like system.
We are testing it on Linux and macOS.
Windows is not supported, but it works under the Windows Subsystem for Linux (WSL).

## Installation

To build and install yash, you need to have Rust installed.
Go to <https://rustup.rs/> and follow the instructions to install Rust.
You will need the latest stable version of the Rust compiler.

Make sure the `cargo` tool installed by `rustup` is in your `PATH`.
Then, run the following command:

```sh
cargo install yash-cli
```

## Usage

To run a shell script, run `yash3` with the script file as an argument.
Without an argument, `yash3` will start a read-eval loop, but interactive features are not yet implemented.

The user manual is not yet available, but you can refer to the original yash manual at <https://magicant.github.io/yash/doc/>.

## How to contribute

TBD

## License

Expand Down
14 changes: 14 additions & 0 deletions yash-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

All notable changes to `yash-cli` will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0-alpha.1] - 2024-04-13

### Added

- Initial implementation of the `yash-cli` crate

[0.1.0-alpha.1]: https://github.com/magicant/yash-rs/releases/tag/yash-cli-0.1.0-alpha.1
4 changes: 1 addition & 3 deletions yash-cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "yash-cli"
version = "0.1.0"
version = "0.1.0-alpha.1"
authors = ["WATANABE Yuki <[email protected]>"]
edition = "2021"
rust-version = "1.75.0"
Expand All @@ -10,10 +10,8 @@ readme = "README.md"
# homepage = "https://yash.osdn.jp/"
repository = "https://github.com/magicant/yash-rs"
license = "GPL-3.0-or-later"
# license-file = "LICENSE"
keywords = ["posix", "shell"]
categories = ["command-line-utilities"]
publish = false

[[bin]]
name = "yash3"
Expand Down
15 changes: 15 additions & 0 deletions yash-cli/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Yash-cli

`yash-cli` is a command-line interface for the [yash](../README.md) shell
implementation. This crate is not intended to be used as a library by other
programs.

[![yash-cli at crates.io](https://img.shields.io/crates/v/yash-cli.svg)](https://crates.io/crates/yash-cli)
[![yash-cli at docs.rs](https://docs.rs/yash-cli/badge.svg)](https://docs.rs/yash-cli)
[![Build status](https://github.com/magicant/yash-rs/actions/workflows/rust.yml/badge.svg)](https://github.com/magicant/yash-rs/actions/workflows/rust.yml)

- [Changelog](CHANGELOG.md)

## License

This crate is distributed under [GPLv3](LICENSE-GPL).

0 comments on commit 541ec7c

Please sign in to comment.