mirror of
https://github.com/ratatui-org/ratatui
synced 2024-11-21 20:23:11 +00:00
a41c97b413
These are less stable than the non-ref traits as we have not yet committed to the exact API. This change moves them to ratatui from ratatui-core. To facilitate this: - implementations of WidgetRef for all internal widgets are removed and replaced with implementations of Widget for references to those widgets. - Widget is now implemented for Option<W> where W: Widget, allowing for rendering of optional widgets. - The blanket implementation of Widget for WidgetRef is reversed, to be a blanket implementation of WidgetRef for all &W where W: Widget. BREAKING CHANGE: implementations of WidgetRef no longer have a blanket implementation of Widget, so Widgets should generally implement the Widget trait on a reference to the widget rather than implementing WidgetRef directly. This has the advantage of not requiring unstable features to be enabled. Part of: https://github.com/ratatui/ratatui/issues/1388 Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
179 lines
3.3 KiB
TOML
179 lines
3.3 KiB
TOML
# This is a configuration file for the bacon tool
|
|
#
|
|
# Bacon repository: https://github.com/Canop/bacon
|
|
# Complete help on configuration: https://dystroy.org/bacon/config/
|
|
# You can also check bacon's own bacon.toml file
|
|
# as an example: https://github.com/Canop/bacon/blob/main/bacon.toml
|
|
|
|
default_job = "check"
|
|
|
|
[jobs.check]
|
|
command = ["cargo", "check", "--all-features", "--color", "always"]
|
|
need_stdout = false
|
|
|
|
[jobs.check-all]
|
|
command = [
|
|
"cargo",
|
|
"check",
|
|
"--all-targets",
|
|
"--all-features",
|
|
"--color",
|
|
"always",
|
|
]
|
|
need_stdout = false
|
|
|
|
[jobs.check-crossterm]
|
|
command = [
|
|
"cargo",
|
|
"check",
|
|
"--color",
|
|
"always",
|
|
"--all-targets",
|
|
"--no-default-features",
|
|
"--features",
|
|
"crossterm",
|
|
]
|
|
need_stdout = false
|
|
|
|
[jobs.check-termion]
|
|
command = [
|
|
"cargo",
|
|
"check",
|
|
"--color",
|
|
"always",
|
|
"--all-targets",
|
|
"--no-default-features",
|
|
"--features",
|
|
"termion",
|
|
]
|
|
need_stdout = false
|
|
|
|
[jobs.check-termwiz]
|
|
command = [
|
|
"cargo",
|
|
"check",
|
|
"--color",
|
|
"always",
|
|
"--all-targets",
|
|
"--no-default-features",
|
|
"--features",
|
|
"termwiz",
|
|
]
|
|
need_stdout = false
|
|
|
|
[jobs.clippy]
|
|
command = ["cargo", "clippy", "--all-targets", "--color", "always"]
|
|
need_stdout = false
|
|
|
|
[jobs.test]
|
|
command = [
|
|
"cargo",
|
|
"test",
|
|
"--all-features",
|
|
"--color",
|
|
"always",
|
|
"--",
|
|
"--color",
|
|
"always", # see https://github.com/Canop/bacon/issues/124
|
|
]
|
|
need_stdout = true
|
|
|
|
[jobs.test-unit]
|
|
command = [
|
|
"cargo",
|
|
"test",
|
|
"--lib",
|
|
"--all-features",
|
|
"--color",
|
|
"always",
|
|
"--",
|
|
"--color",
|
|
"always", # see https://github.com/Canop/bacon/issues/124
|
|
]
|
|
need_stdout = true
|
|
|
|
[jobs.doc]
|
|
command = [
|
|
"cargo",
|
|
"+nightly",
|
|
"doc",
|
|
"-Zunstable-options",
|
|
"-Zrustdoc-scrape-examples",
|
|
"--all-features",
|
|
"--color",
|
|
"always",
|
|
"--no-deps",
|
|
]
|
|
env.RUSTDOCFLAGS = "--cfg docsrs"
|
|
need_stdout = false
|
|
|
|
# If the doc compiles, then it opens in your browser and bacon switches
|
|
# to the previous job
|
|
[jobs.doc-open]
|
|
command = [
|
|
"cargo",
|
|
"+nightly",
|
|
"doc",
|
|
"-Zunstable-options",
|
|
"-Zrustdoc-scrape-examples",
|
|
"--all-features",
|
|
"--color",
|
|
"always",
|
|
"--no-deps",
|
|
"--open",
|
|
]
|
|
env.RUSTDOCFLAGS = "--cfg docsrs"
|
|
need_stdout = false
|
|
on_success = "job:doc" # so that we don't open the browser at each change
|
|
|
|
[jobs.coverage]
|
|
command = [
|
|
"cargo",
|
|
"llvm-cov",
|
|
"--lcov",
|
|
"--output-path",
|
|
"target/lcov.info",
|
|
"--all-features",
|
|
"--color",
|
|
"always",
|
|
]
|
|
|
|
[jobs.coverage-unit-tests-only]
|
|
command = [
|
|
"cargo",
|
|
"llvm-cov",
|
|
"--lcov",
|
|
"--output-path",
|
|
"target/lcov.info",
|
|
"--lib",
|
|
"--all-features",
|
|
"--color",
|
|
"always",
|
|
]
|
|
|
|
[jobs.hack]
|
|
command = [
|
|
"cargo",
|
|
"hack",
|
|
"test",
|
|
"--lib",
|
|
"--each-feature",
|
|
# "--all-targets",
|
|
"--workspace",
|
|
"--color",
|
|
"always",
|
|
]
|
|
|
|
# You may define here keybindings that would be specific to
|
|
# a project, for example a shortcut to launch a specific job.
|
|
# Shortcuts to internal functions (scrolling, toggling, etc.)
|
|
# should go in your personal global prefs.toml file instead.
|
|
[keybindings]
|
|
ctrl-h = "job:hack"
|
|
ctrl-c = "job:check-crossterm"
|
|
ctrl-t = "job:check-termion"
|
|
ctrl-w = "job:check-termwiz"
|
|
v = "job:coverage"
|
|
ctrl-v = "job:coverage-unit-tests-only"
|
|
u = "job:test-unit"
|
|
n = "job:nextest"
|