Skip to content

Commit

Permalink
feat: create a TUI (#692)
Browse files Browse the repository at this point in the history
* feat: create a TUI
* refactor: restructure library for accommodating TUI needs
* feat(tui): build package when enter is pressed
* fix: remove the application name
* fix: initialize logger for non-tui subcommands
* refactor: offload spinner handling to throbber-widgets-tui widget
* feat: use tail behavior for logs
* refactor: apply clippy suggestions
* feat: support mouse scrolling
* feat: support mouse clicks for starting build
* refactor: add tui feature
* fix: update import
* chore: update Cargo.lock
* refactor: use build output in TUI
* chore: add new line to build variant logs
* chore: panic on resolving packages
* refactor: fix selecting multiple packages
* refactor: create build directories before build
* refactor: use events while resolving packages
* refactor: simplify setting up the directories
* chore: remove timestamp from TUI logs
* fix: disable building packages at the same time
* fix: fix the scrollbar position for new lines
* refactor: use a single package for multiple outputs
* fix: fix scroll issues
* style: make TUI prettier
* feat: handle build errors in TUI
* feat: add key bindings for the TUI
* feat: support horizontal scrolling in TUI
* chore: add extra space for logs just to be safe
* feat: supporte editing recipe via TUI
* refactor: apply clippy suggestions
* refactor: use the recipe path for build output
* refactor: rename tui util module to utils
* fix: fix switching to input mode
* fix: cancel the event loop when launching editor (ratatui/ratatui-website#406)
* chore: implement Debug for BuildOutput
* feat: process build outputs separately for TUI
* feat: support building subpackages
* chore: log the invalid command
* fix: fix the package selection in TUI
* style: use package identifier in the TUI list
* style: render the package identifier when there is enough space
* docs: add rattler-build-tui documentation
* docs: fix admonition syntax
* docs: update key bindings style
* docs: move TUI docs to website
* docs: update wording
  • Loading branch information
orhun authored Mar 20, 2024
1 parent cbde1d1 commit fe6398b
Show file tree
Hide file tree
Showing 21 changed files with 2,402 additions and 977 deletions.
197 changes: 197 additions & 0 deletions Cargo.lock

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

6 changes: 6 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ documentation = "https://prefix-dev.github.io/rattler-build"
default = ['native-tls']
native-tls = ['reqwest/native-tls', 'rattler/native-tls', 'rattler_installs_packages/native-tls']
rustls-tls = ['reqwest/rustls-tls', 'reqwest/rustls-tls-native-roots', 'rattler/rustls-tls', 'rattler_installs_packages/rustls-tls']
tui = ['ratatui', 'crossterm', 'ansi-to-tui', 'throbber-widgets-tui', 'tui-input']

[dependencies]
serde = { version = "1.0.197", features = ["derive"] }
Expand Down Expand Up @@ -109,6 +110,11 @@ rattler_installs_packages = { version = "0.8.1", default-features = false }
async-once-cell = "0.5.3"
terminal_size = "0.3.0"
memchr = "2.7.1"
ratatui = { version = "0.26.1", optional = true }
crossterm = { version = "0.27.0", features = ["event-stream"], optional = true }
ansi-to-tui = { version = "4.0.1", optional = true }
throbber-widgets-tui = { version = "0.4.1", optional = true }
tui-input = { version = "0.8.0", optional = true }

[dev-dependencies]
insta = { version = "1.36.1", features = ["yaml"] }
Expand Down
Loading

0 comments on commit fe6398b

Please sign in to comment.