mirror of
https://github.com/sharkdp/bat
synced 2026-07-31 18:21:43 +00:00
Add word wrapping mode (#3597)
* feat: add word wrapping mode for --wrap flag * Run `cargo fmt` and add CHANGELOG entry * Add word wrap tests, update manpage and shell completions - Add integration tests for word wrapping: basic word boundary breaking, fallback to character wrapping for long words, line numbers, and short lines that fit without wrapping - Update manpage to document the new 'word' wrapping mode - Update bash, fish, zsh, and PowerShell completions with 'word' option - Avoid unnecessary clone of `line_buf` when word wrap is disabled * make clippy and cargo fmt happy --------- Co-authored-by: Keith Hall <keith-hall@users.noreply.github.com>
This commit is contained in:
@@ -405,6 +405,7 @@ impl App {
|
||||
} else {
|
||||
match self.matches.get_one::<String>("wrap").map(|s| s.as_str()) {
|
||||
Some("character") => WrappingMode::Character,
|
||||
Some("word") => WrappingMode::Word,
|
||||
Some("never") => WrappingMode::NoWrapping(true),
|
||||
Some("auto") | None => {
|
||||
if self.interactive_output || maybe_term_width.is_some() {
|
||||
|
||||
@@ -211,11 +211,11 @@ pub fn build_app(interactive_output: bool) -> Command {
|
||||
.long("wrap")
|
||||
.overrides_with("wrap")
|
||||
.value_name("mode")
|
||||
.value_parser(["auto", "never", "character"])
|
||||
.value_parser(["auto", "never", "character", "word"])
|
||||
.default_value("auto")
|
||||
.hide_default_value(true)
|
||||
.help("Specify the text-wrapping mode (*auto*, never, character).")
|
||||
.long_help("Specify the text-wrapping mode (*auto*, never, character). \
|
||||
.help("Specify the text-wrapping mode (*auto*, never, character, word).")
|
||||
.long_help("Specify the text-wrapping mode (*auto*, never, character, word). \
|
||||
The '--terminal-width' option can be used in addition to \
|
||||
control the output width."),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user