diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 37ba53b..ce46ab2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,10 +14,11 @@ jobs: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - - run: cargo test --all-features -- --skip src/lib.rs + - run: cargo test --features=search -- --skip src/lib.rs if: ${{ matrix.os != 'windows-latest' }} - run: cargo test --features=search -- --skip src\lib.rs if: ${{ matrix.os == 'windows-latest' }} + - run: cargo test --no-default-features --features=ratatui-crossterm,search -- --skip .rs lint: runs-on: ubuntu-latest steps: @@ -27,6 +28,11 @@ jobs: components: clippy,rustfmt - uses: Swatinem/rust-cache@v2 - run: cargo fmt -- --check - - run: cargo clippy --examples --all-features -- -D warnings - - run: cargo clippy --no-default-features -- -D warnings - - run: cargo clippy --no-default-features --features termion -- -D warnings + - run: cargo clippy --examples -- -D warnings + - run: cargo clippy --examples --features search -- -D warnings + - run: cargo clippy --examples --no-default-features --features ratatui-crossterm -- -D warnings + - run: cargo clippy --examples --no-default-features --features ratatui-crossterm,search -- -D warnings + - run: cargo clippy --examples --no-default-features --features ratatui-termion -- -D warnings + - run: cargo clippy --examples --no-default-features --features ratatui-termion,search -- -D warnings + - run: cargo clippy --examples --no-default-features --features termion -- -D warnings + - run: cargo clippy --examples --no-default-features --features termion,search -- -D warnings diff --git a/Cargo.toml b/Cargo.toml index b706d9a..cb7a6d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" rust-version = "1.56.1" authors = ["rhysd "] description = """ -tui-textarea is a simple yet powerful text editor widget for tui-rs. Multi-line +tui-textarea is a simple yet powerful text editor widget for tui-rs and ratatui. Multi-line text editor can be easily put as part of your TUI application. """ license = "MIT" @@ -13,7 +13,7 @@ homepage = "https://github.com/rhysd/tui-textarea#readme" repository = "https://github.com/rhysd/tui-textarea" readme = "README.md" categories = ["text-editors", "text-processing"] -keywords = ["tui", "textarea", "editor", "input", "edit"] +keywords = ["tui", "textarea", "editor", "input", "edit", "ratatui"] include = [ "/src", "/examples", @@ -26,13 +26,17 @@ default = ["crossterm"] crossterm = ["dep:crossterm", "tui/crossterm"] termion = ["dep:termion", "tui/termion"] search = ["dep:regex"] +ratatui-crossterm = ["dep:crossterm-026", "ratatui/crossterm"] +ratatui-termion = ["dep:termion", "ratatui/termion"] [dependencies] -crossterm = { version = "0.25", optional = true } +crossterm = { package = "crossterm", version = "0.25", optional = true } regex = { version = "1", optional = true } termion = { version = "1.5", optional = true } -tui = { version = "0.19", default-features = false } +tui = { version = "0.19", default-features = false, optional = true } arbitrary = { version = "1", features = ["derive"], optional = true } +crossterm-026 = { package = "crossterm", version = "0.26", optional = true } +ratatui = { version = "0.20.1", default-features = false, optional = true } [[example]] name = "minimal" @@ -62,6 +66,18 @@ required-features = ["crossterm"] name = "modal" required-features = ["crossterm"] +[[example]] +name = "ratatui_minimal" +required-features = ["ratatui-crossterm"] + +[[example]] +name = "ratatui_editor" +required-features = ["ratatui-crossterm", "search"] + +[[example]] +name = "ratatui_termion" +required-features = ["ratatui-termion"] + [workspace] members = [ "bench", diff --git a/README.md b/README.md index 6d80f53..741a757 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ tui-textarea [![docs][doc-badge]][doc] [![CI][ci-badge]][ci] -[tui-textarea][crate] is a simple yet powerful text editor widget like `