summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2022-01-16 15:43:02 -0500
committerDan Davison <dandavison7@gmail.com>2022-01-16 16:44:13 -0500
commit4fa97a60f400a58e7c27cf8be694cf65d3d67f6f (patch)
tree1a6de406134dabe6f20d84dd45284cba49e95586
parent587453d12074d75483049270fbab834cac98e8ca (diff)
Sort options in --help output
-rw-r--r--src/cli.rs1125
1 files changed, 562 insertions, 563 deletions
diff --git a/src/cli.rs b/src/cli.rs
index 1b590d87..95f2c42d 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -203,142 +203,119 @@ https://github.com/dandavison/delta/issues.
"
)]
pub struct Opt {
- #[clap(long = "light")]
- /// Use default colors appropriate for a light terminal background.
+ #[clap(long = "blame-code-style", value_name = "STYLE_STRING")]
+ /// Style string for the code section of a git blame line.
///
- /// For more control, see the style options and --syntax-theme.
- pub light: bool,
+ /// By default the code will be syntax-highlighted with the same background color as the blame
+ /// format section of the line (the background color is determined by blame-palette). E.g.
+ /// setting this option to 'syntax' will syntax-highlight the code with no background color.
+ pub blame_code_style: Option<String>,
- #[clap(long = "dark")]
- /// Use default colors appropriate for a dark terminal background.
+ #[clap(
+ long = "blame-format",
+ default_value = "{timestamp:<15} {author:<15.14} {commit:<8}",
+ value_name = "FORMAT_STRING"
+ )]
+ /// Format string for git blame commit metadata.
///
- /// For more control, see the style options and --syntax-theme.
- pub dark: bool,
+ /// Available placeholders are "{timestamp}", "{author}", and "{commit}".
+ pub blame_format: String,
- #[clap(short = 'n', long = "line-numbers")]
- /// Display line numbers next to the diff.
+ #[clap(long = "blame-palette", value_name = "COLORS")]
+ /// Background colors used for git blame lines (space-separated string).
///
- /// See LINE NUMBERS section.
- pub line_numbers: bool,
+ /// Lines added by the same commit are painted with the same color; colors are recycled as
+ /// needed.
+ pub blame_palette: Option<String>,
- #[clap(short = 's', long = "side-by-side")]
- /// Display diffs in side-by-side layout.
- pub side_by_side: bool,
+ #[clap(
+ long = "blame-separator",
+ default_value = "│",
+ value_name = "SEPARATOR_STRING"
+ )]
+ /// Separator between the commit metadata and code sections of a git blame line.
+ pub blame_separator: String,
- #[clap(long = "diff-highlight")]
- /// Emulate diff-highlight.
- ///
- /// (https://github.com/git/git/tree/master/contrib/diff-highlight)
- pub diff_highlight: bool,
+ #[clap(long = "blame-separator-style", value_name = "STYLE_STRING")]
+ /// Style string for the separator between the commit metadata and code sections of a git blame line.
+ pub blame_separator_style: Option<String>,
- #[clap(long = "diff-so-fancy")]
- /// Emulate diff-so-fancy.
- ///
- /// (https://github.com/so-fancy/diff-so-fancy)
- pub diff_so_fancy: bool,
+ #[clap(
+ long = "blame-timestamp-format",
+ default_value = "%Y-%m-%d %H:%M:%S %z",
+ value_name = "TIMESTAMP_FORMAT_STRING"
+ )]
+ /// Format of `git blame` timestamp in raw git output received by delta.
+ pub blame_timestamp_format: String,
- #[clap(long = "navigate")]
- /// Activate diff navigation.
+ #[clap(long = "color-only")]
+ /// Do not alter the input structurally in any way.
///
- /// Use n to jump forwards and N to jump backwards. To change the file labels used see
- /// --file-modified-label, --file-removed-label, --file-added-label, --file-renamed-label.
- pub navigate: bool,
+ /// But color and highlight hunk lines according to your delta configuration. This is mainly
+ /// intended for other tools that use delta.
+ pub color_only: bool,
- #[clap(long = "relative-paths")]
- /// Output all file paths relative to the current directory.
+ #[clap(
+ long = "commit-decoration-style",
+ default_value = "",
+ value_name = "STYLE_STRING"
+ )]
+ /// Style string for the commit hash decoration.
///
- /// This means that they will resolve correctly when clicked on or used in shell commands.
- pub relative_paths: bool,
+ /// See STYLES section. The style string should contain one of the special attributes 'box',
+ /// 'ul' (underline), 'ol' (overline), or the combination 'ul ol'.
+ pub commit_decoration_style: String,
- #[clap(long = "hyperlinks")]
- /// Render commit hashes, file names, and line numbers as hyperlinks.
- ///
- /// Following the hyperlink spec for terminal emulators:
- /// https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda. By default, file names
- /// and line numbers link to the local file using a file URL, whereas commit hashes link to the
- /// commit in GitHub, if the remote repository is hosted by GitHub. See
- /// --hyperlinks-file-link-format for full control over the file URLs emitted. Hyperlinks are
- /// supported by several common terminal emulators. To make them work, you must use less version
- /// >= 581 with the -R flag (or use -r with older less versions, but this will break e.g.
- /// --navigate). If you use tmux, then you will also need a patched fork of tmux (see
- /// https://github.com/dandavison/tmux).
- pub hyperlinks: bool,
+ #[clap(long = "commit-regex", default_value = r"^commit ")]
+ /// Regular expression used to identify the commit line when parsing git output.
+ pub commit_regex: String,
- #[clap(long = "keep-plus-minus-markers")]
- /// Prefix added/removed lines with a +/- character, as git does.
+ #[clap(
+ long = "commit-style",
+ default_value = "raw",
+ value_name = "STYLE_STRING"
+ )]
+ /// Style string for the commit hash line.
///
- /// By default, delta does not emit any prefix, so code can be copied directly from delta's
+ /// See STYLES section. The style 'omit' can be used to remove the commit hash line from the
/// output.
- pub keep_plus_minus_markers: bool,
-
- #[clap(long = "show-config")]
- /// Display the active values for all Delta options.
- ///
- /// Style string options are displayed with foreground and background colors. This can be used to
- /// experiment with colors by combining this option with other options such as --minus-style,
- /// --zero-style, --plus-style, --light, --dark, etc.
- pub show_config: bool,
-
- #[clap(long = "list-languages")]
- /// List supported languages and associated file extensions.
- pub list_languages: bool,
-
- #[clap(long = "list-syntax-themes")]
- /// List available syntax-highlighting color themes.
- pub list_syntax_themes: bool,
-
- #[clap(long = "show-syntax-themes")]
- /// Show example diff for available syntax-highlighting themes.
- ///
- /// If diff output is supplied on standard input then this will be used for the demo. For
- /// example: `git show | delta --show-syntax-themes`.
- pub show_syntax_themes: bool,
-
- #[clap(long = "show-themes")]
- /// Show example diff for available delta themes.
- ///
- /// A delta theme is a delta named feature (see --features) that sets either `light` or `dark`.
- /// See https://github.com/dandavison/delta#custom-color-themes. If diff output is supplied on
- /// standard input then this will be used for the demo. For example: `git show | delta
- /// --show-themes`. By default shows dark or light themes only, according to whether delta is in
- /// dark or light mode (as set by the user or inferred from BAT_THEME). To control the themes
- /// shown, use --dark or --light, or both, on the command line together with this option.
- pub show_themes: bool,
+ pub commit_style: String,
- #[clap(long = "show-colors")]
- /// Show available named colors.
+ #[clap(long = "dark")]
+ /// Use default colors appropriate for a dark terminal background.
///
- /// In addition to named colors, arbitrary colors can be specified using RGB hex codes. See
- /// COLORS section.
- pub show_colors: bool,
+ /// For more control, see the style options and --syntax-theme.
+ pub dark: bool,
- #[clap(long = "parse-ansi")]
- /// Display ANSI color escape sequences in human-readable form.
+ #[clap(long = "default-language", value_name = "LANGUAGE")]
+ /// Default language used for syntax highlighting.
///
- /// Example usage: git show --color=always | delta --parse-ansi
- /// This can be used to help identify input style strings to use with map-styles.
- pub parse_ansi: bool,
+ /// Used when the language cannot be inferred from a filename. It will typically make sense to
+ /// set this in per-repository git config (.git/config)
+ pub default_language: Option<String>,
- #[clap(long = "no-gitconfig")]
- /// Do not read any settings from git config.
+ #[clap(long = "diff-highlight")]
+ /// Emulate diff-highlight.
///
- /// See GIT CONFIG section.
- pub no_gitconfig: bool,
+ /// (https://github.com/git/git/tree/master/contrib/diff-highlight)
+ pub diff_highlight: bool,
- #[clap(long = "raw")]
- /// Do not alter the input in any way.
+ #[clap(long = "diff-so-fancy")]
+ /// Emulate diff-so-fancy.
///
- /// This is mainly intended for testing delta.
- pub raw: bool,
+ /// (https://github.com/so-fancy/diff-so-fancy)
+ pub diff_so_fancy: bool,
- #[clap(long = "color-only")]
- /// Do not alter the input structurally in any way.
+ #[clap(
+ long = "diff-stat-align-width",
+ default_value = "48",
+ value_name = "WIDTH"
+ )]
+ /// Width allocated for file paths in a diff stat section.
///
- /// But color and highlight hunk lines according to your delta configuration. This is mainly
- /// intended for other tools that use delta.
- pub color_only: bool,
+ /// If a relativized file path exceeds this width then the diff stat will be misaligned.
+ pub diff_stat_align_width: usize,
- ////////////////////////////////////////////////////////////////////////////////////////////
#[clap(long = "features", value_name = "FEATURE_NAMES")]
/// Names of delta features to activate (space-separated).
///
@@ -349,134 +326,185 @@ pub struct Opt {
/// side-by-side temporarily.
pub features: Option<String>,
- #[clap(long = "syntax-theme", value_name = "THEME_NAME")]
- /// The syntax-highlighting theme to use.
- ///
- /// Use --show-syntax-themes to demo available themes. Defaults to the value of the BAT_THEME
- /// environment variable, if that contains a valid theme name. --syntax-theme=none disables all
- /// syntax highlighting.
- pub syntax_theme: Option<String>,
-
#[clap(
- long = "minus-style",
- default_value = "normal auto",
- value_name = "STYLE_STRING"
+ long = "file-added-label",
+ default_value = "added:",
+ value_name = "STRING"
)]
- /// Style string for removed lines.
+ /// Text to display in front of an added file path.
///
- /// See STYLES section.
- pub minus_style: String,
+ /// Used in the default value of navigate-regex.
+ pub file_added_label: String,
#[clap(
- long = "zero-style",
- default_value = "syntax normal",
- value_name = "STYLE_STRING"
+ long = "file-copied-label",
+ default_value = "copied:",
+ value_name = "STRING"
)]
- /// Style string for unchanged lines.
- ///
- /// See STYLES section.
- pub zero_style: String,
+ /// Text to display in front of a copied file path.
+ pub file_copied_label: String,
#[clap(
- long = "plus-style",
- default_value = "syntax auto",
+ long = "file-decoration-style",
+ default_value = "blue ul",
value_name = "STYLE_STRING"
)]
- /// Style string for added lines.
+ /// Style string for the file decoration.
///
- /// See STYLES section.
- pub plus_style: String,
+ /// See STYLES section. The style string should contain one of the special attributes 'box',
+ /// 'ul' (underline), 'ol' (overline), or the combination 'ul ol'.
+ pub file_decoration_style: String,
#[clap(
- long = "minus-emph-style",
- default_value = "normal auto",
- value_name = "STYLE_STRING"
+ long = "file-modified-label",
+ default_value = "",
+ value_name = "STRING"
)]
- /// Style string for emphasized sections of removed lines.
+ /// Text to display in front of a modified file path.
///
- /// See STYLES section.
- pub minus_emph_style: String,
+ /// Used in the default value of navigate-regex.
+ pub file_modified_label: String,
#[clap(
- long = "minus-non-emph-style",
- default_value = "minus-style",
- value_name = "STYLE_STRING"
+ long = "file-removed-label",
+ default_value = "removed:",
+ value_name = "STRING"
)]
- /// Style string for non-emphasized sections of removed lines that have an emphasized section.
+ /// Text to display in front of a removed file path.
///
- /// See STYLES section.
- pub minus_non_emph_style: String,
+ /// Used in the default value of navigate-regex.
+ pub file_removed_label: String,
#[clap(
- long = "plus-emph-style",
- default_value = "syntax auto",
- value_name = "STYLE_STRING"
+ long = "file-renamed-label",
+ default_value = "renamed:",
+ value_name = "STRING"
)]
- /// Style string for emphasized sections of added lines.
+ /// Text to display in front of a renamed file path.
///
- /// See STYLES section.
- pub plus_emph_style: String,
+ /// Used in the default value of navigate-regex.
+ pub file_renamed_label: String,
#[clap(
- long = "plus-non-emph-style",
- default_value = "plus-style",
+ long = "file-style",
+ default_value = "blue",
value_name = "STYLE_STRING"
)]
- /// Style string for non-emphasized sections of added lines that have an emphasized section.
+ /// Style string for the file section.
///
- /// See STYLES section.
- pub plus_non_emph_style: String,
+ /// See STYLES section. The style 'omit' can be used to remove the file section from the output.
+ pub file_style: String,
+
+ #[structopt(long = "file-transformation", value_name = "SED_COMMAND")]
+ /// Sed-style command transforming file paths for display.
+ pub file_regex_replacement: Option<String>,
+
+ #[clap(long = "grep-context-line-style", value_name = "STYLE_STRING")]
+ /// Style string for non-matching lines of grep output.
+ ///
+ /// See STYLES section. Defaults to zero-style.
+ pub grep_context_line_style: Option<String>,
+
+ #[clap(long = "grep-file-style", value_name = "STYLE_STRING")]
+ /// Style string for file paths in grep output.
+ ///
+ /// See STYLES section. Defaults to hunk-header-file-path-style.
+ pub grep_file_style: Option<String>,
+
+ #[clap(long = "grep-line-number-style", value_name = "STYLE_STRING")]
+ /// Style string for line numbers in grep output.
+ ///
+ /// See STYLES section. Defaults to hunk-header-line-number-style.
+ pub grep_line_number_style: Option<String>,
+
+ #[clap(long = "grep-match-line-style", value_name = "STYLE_STRING")]
+ /// Style string for matching lines of grep output.
+ ///
+ /// See STYLES section. Defaults to plus-style.
+ pub grep_match_line_style: Option<String>,
+
+ #[clap(long = "grep-match-word-style", value_name = "STYLE_STRING")]
+ /// Style string for the matching substrings within a matching line of grep output.
+ ///
+ /// See STYLES section. Defaults to plus-style.
+ pub grep_match_word_style: Option<String>,
#[clap(
- long = "commit-style",
- default_value = "raw",
- value_name = "STYLE_STRING"
+ long = "grep-separator-symbol",
+ default_value = ":",
+ value_name = "SEPARATOR"
)]
- /// Style string for the commit hash line.
+ /// Separator symbol printed after the file path and line number in grep output.
///
- /// See STYLES section. The style 'omit' can be used to remove the commit hash line from the
- /// output.
- pub commit_style: String,
+ /// Defaults to ":" for both match and context lines, since many terminal emulators recognize
+ /// constructs like "/path/to/file:7:". However, standard grep output uses "-" for context
+ /// lines: set this option to "keep" to keep the original separator symbols.
+ pub grep_separator_symbol: String,
#[clap(
- long = "commit-decoration-style",
- default_value = "",
+ long = "hunk-header-decoration-style",
+ default_value = "blue box",
value_name = "STYLE_STRING"
)]
- /// Style string for the commit hash decoration.
+ /// Style string for the hunk-header decoration.
///
/// See STYLES section. The style string should contain one of the special attributes 'box',
/// 'ul' (underline), 'ol' (overline), or the combination 'ul ol'.
- pub commit_decoration_style: String,
+ pub hunk_header_decoration_style: String,
- #[clap(long = "commit-regex", default_value = r"^commit ")]
- /// Regular expression used to identify the commit line when parsing git output.
- pub commit_regex: String,
+ #[clap(
+ long = "hunk-header-file-style",
+ default_value = "blue",
+ value_name = "STYLE_STRING"
+ )]
+ /// Style string for the file path part of the hunk-header.
+ ///
+ /// See STYLES section. The file path will only be displayed if hunk-header-style contains the
+ /// 'file' special attribute.
+ pub hunk_header_file_style: String,
#[clap(
- long = "file-style",
+ long = "hunk-header-line-number-style",
default_value = "blue",
value_name = "STYLE_STRING"
)]
- /// Style string for the file section.
+ /// Style string for the line number part of the hunk-header.
///
- /// See STYLES section. The style 'omit' can be used to remove the file section from the output.
- pub file_style: String,
+ /// See STYLES section. The line number will only be displayed if hunk-header-style contains the
+ /// 'line-number' special attribute.
+ pub hunk_header_line_number_style: String,
#[clap(
- long = "file-decoration-style",
- default_value = "blue ul",
+ long = "hunk-header-style",
+ default_value = "line-number syntax",
value_name = "STYLE_STRING"
)]
- /// Style string for the file decoration.
+ /// Style string for the hunk-header.
///
- /// See STYLES section. The style string should contain one of the special attributes 'box',
- /// 'ul' (underline), 'ol' (overline), or the combination 'ul ol'.
- pub file_decoration_style: String,
+ /// See STYLES section. Special attributes 'file' and 'line-number' can be used to include the
+ /// file path, and number of first hunk line, in the hunk header. The style 'omit' can be used
+ /// to remove the hunk header section from the output.
+ pub hunk_header_style: String,
- #[structopt(long = "file-transformation", value_name = "SED_COMMAND")]
- /// Sed-style command transforming file paths for display.
- pub file_regex_replacement: Option<String>,
+ #[clap(long = "hunk-label", default_value = "", value_name = "STRING")]
+ /// Text to display in front of a hunk header.
+ ///
+ /// Used in the default value of navigate-regex.
+ pub hunk_label: String,
+
+ #[clap(long = "hyperlinks")]
+ /// Render commit hashes, file names, and line numbers as hyperlinks.
+ ///
+ /// Following the hyperlink spec for terminal emulators:
+ /// https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda. By default, file names
+ /// and line numbers link to the local file using a file URL, whereas commit hashes link to the
+ /// commit in GitHub, if the remote repository is hosted by GitHub. See
+ /// --hyperlinks-file-link-format for full control over the file URLs emitted. Hyperlinks are
+ /// supported by several common terminal emulators. To make them work, you must use less version
+ /// >= 581 with the -R flag (or use -r with older less versions, but this will break e.g.
+ /// --navigate). If you use tmux, then you will also need a patched fork of tmux (see
+ /// https://github.com/dandavison/tmux).
+ pub hyperlinks: bool,
#[clap(long = "hyperlinks-commit-link-format", value_name = "FORMAT_STRING")]
/// Format string for commit hyperlinks (requiraes --hyperlinks).
@@ -503,232 +531,156 @@ pub struct Opt {
pub hyperlinks_file_link_format: String,
#[clap(
- long = "hunk-header-style",
- default_value = "line-number syntax",
+ long = "inline-hint-style",
+ default_value = "blue",
value_name = "STYLE_STRING"
)]
- /// Style string for the hunk-header.
+ /// Style string for short inline hint text.
///
- /// See STYLES section. Special attributes 'file' and 'line-number' can be used to include the
- /// file path, and number of first hunk line, in the hunk header. The style 'omit' can be used
- /// to remove the hunk header section from the output.
- pub hunk_header_style: String,
+ /// This styles certain content added by delta to the original diff such as special characters
+ /// to highlight tabs, and the symbols used to indicate wrapped lines. See STYLES section.
+ pub inline_hint_style: String,
#[clap(
- long = "hunk-header-file-style",
- default_value = "blue",
- value_name = "STYLE_STRING"
+ long = "inspect-raw-lines",
+ default_value = "true",
+ value_name = "true|false"
)]
- /// Style string for the file path part of the hunk-header.
+ /// Kill-switch for --color-moved support.
///
- /// See STYLES section. The file path will only be displayed if hunk-header-style contains the
- /// 'file' special attribute.
- pub hunk_header_file_style: String,
+ /// Whether to examine ANSI color escape sequences in raw lines received from Git and handle
+ /// lines colored in certain ways specially. This is on by default: it is how Delta supports
+ /// Git's --color-moved feature. Set this to "false" to disable this behavior.
+ pub inspect_raw_lines: String,
- #[clap(
- long = "hunk-header-line-number-style",
- default_value = "blue",
- value_name = "STYLE_STRING"
- )]
- /// Style string for the line number part of the hunk-header.
+ #[clap(long = "keep-plus-minus-markers")]
+ /// Prefix added/removed lines with a +/- character, as git does.
///
- /// See STYLES section. The line number will only be displayed if hunk-header-style contains the
- /// 'line-number' special attribute.
- pub hunk_header_line_number_style: String,
+ /// By default, delta does not emit any prefix, so code can be copied directly from delta's
+ /// output.
+ pub keep_plus_minus_markers: bool,
- #[clap(
- long = "hunk-header-decoration-style",
- default_value = "blue box",
- value_name = "STYLE_STRING"
- )]
- /// Style string for the hunk-header decoration.
+ #[clap(long = "light")]
+ /// Use default colors appropriate for a light terminal background.
///
- /// See STYLES section. The style string should contain one of the special attributes 'box',
- /// 'ul' (underline), 'ol' (overline), or the combination 'ul ol'.
- pub hunk_header_decoration_style: String,
+ /// For more control, see the style options and --syntax-theme.
+ pub light: bool,
#[clap(
- long = "merge-conflict-begin-symbol",
- default_value = "▼",
- value_name = "STRING"
+ long = "line-buffer-size",
+ default_value = "32",
+ value_name = "NUMBER_OF_LINES"
)]
- /// String marking the beginning of a merge conflict region.
+ /// Size of internal line buffer.
///
- /// The string will be repeated until it reaches the required length.
- pub merge_conflict_begin_symbol: String,
+ /// Delta compares the added and removed versions of nearby lines in order to detect and
+ /// highlight changes at the level of individual words/tokens. Therefore, nearby lines must be
+ /// buffered internally before they are painted and emitted. Increasing this value might improve
+ /// highlighting of some large diff hunks. However, setting this to a high value will adversely
+ /// affect delta's performance when entire files are added/removed.
+ pub line_buffer_size: usize,
- #[clap(
- long = "merge-conflict-end-symbol",
- default_value = "▲",
- value_name = "STRING"
- )]
- /// String marking the end of a merge conflict region.
+ #[clap(long = "line-fill-method", value_name = "STRING")]
+ /// Line-fill method in side-by-side mode.
///
- /// The string will be repeated until it reaches the required length.
- pub merge_conflict_end_symbol: String,
+ /// How to extend the background color to the end of the line in side-by-side mode. Can be ansi
+ /// (default) or spaces (default if output is not to a terminal). Has no effect if
+ /// --width=variable is given.
+ pub line_fill_method: Option<String>,
- #[clap(
- long = "merge-conflict-ours-diff-header-style",
- default_value = "normal",
- value_name = "STYLE_STRING"
- )]
- /// Style string for the header above the 'ours' branch merge conflict diff.
+ #[clap(short = 'n', long = "line-numbers")]
+ /// Display line numbers next to the diff.
///
- /// See STYLES section.
- pub merge_conflict_ours_diff_header_style: String,
+ /// See LINE NUMBERS section.
+ pub line_numbers: bool,
#[clap(
- long = "merge-conflict-ours-diff-header-decoration-style",
- default_value = "box",
- value_name = "STYLE_STRING"
+ long = "line-numbers-left-format",
+ default_value = "{nm:^4}⋮",
+ value_name = "FORMAT_STRING"
)]
- /// Style string for the decoration of the header above the 'ours' merge conflict diff.
+ /// Format string for the left column of line numbers.
///
- /// This styles the decoration of the header above the diff between the ancestral commit and the
- /// 'ours' branch. See STYLES section. The style string should contain one of the special
- /// attributes 'box', 'ul' (underline), 'ol' (overline), or the combination 'ul ol'.
- pub merge_conflict_ours_diff_header_decoration_style: String,
+ /// A typical value would be "{nm:^4}⋮" which means to display the line numbers of the minus
+ /// file (old version), center-aligned, padded to a width of 4 characters, followed by a
+ /// dividing character. See the LINE NUMBERS section.
+ pub line_numbers_left_format: String,
#[clap(
- long = "merge-conflict-theirs-diff-header-style",
- default_value = "normal",
+ long = "line-numbers-left-style",
+ default_value = "auto",
value_name = "STYLE_STRING"
)]
- /// Style string for the header above the 'theirs' branch merge conflict diff.
+ /// Style string for the left column of line numbers.
///
- /// This styles the header above the diff between the ancestral commit and 'their' branch. See
- /// STYLES section.
- pub merge_conflict_theirs_diff_header_style: String,
+ /// See STYLES and LINE NUMBERS sections.
+ pub line_numbers_left_style: String,
#[clap(
- long = "merge-conflict-theirs-diff-header-decoration-style",
- default_value = "box"
+ long = "line-numbers-minus-style",
+ default_value = "auto",
+ value_name = "STYLE_STRING"
)]
- /// Style string for the decoration of the header above the 'theirs' merge conflict diff.
- ///
- /// This styles the decoration of the header above the diff between the ancestral commit and
- /// 'their' branch. See STYLES section. The style string should contain one of the special
- /// attributes 'box', 'ul' (underline), 'ol' (overline), or the combination 'ul ol'.
- pub merge_conflict_theirs_diff_header_decoration_style: String,
-
- #[clap(long = "map-styles", value_name = "STYLES_MAP")]
- /// Map styles encountered in raw input to desired output styles.
+ /// Style string for line numbers in the old (minus) version of the file.
///
- /// An example is --map-styles='bold purple => red "#eeeeee", bold cyan => syntax "#eeeeee"'
- pub map_styles: Option<String>,
+ /// See STYLES and LINE NUMBERS sections.
+ pub line_numbers_minus_style: String,
#[clap(
- long = "blame-format",
- default_value = "{timestamp:<15} {author:<15.14} {commit:<8}",
- value_name = "FORMAT_STRING"
+ long = "line-numbers-plus-style",
+ default_value = "auto",
+ value_name = "STYLE_STRING"
)]
- /// Format string for git blame commit metadata.
+ /// Style string for line numbers in the new (plus) version of the file.
///
- /// Available placeholders are "{timestamp}", "{author}", and "{commit}".
- pub blame_format: String,
+ /// See STYLES and LINE NUMBERS sections.
+ pub line_numbers_plus_style: String,
#[clap(
- long = "blame-separator",
- default_value = "│",
- value_name = "SEPARATOR_STRING"
+ long = "line-numbers-right-format",
+ default_value = "{np:^4}│",
+ value_name = "FORMAT_STRING"
)]
- /// Separator between the commit metadata and code sections of a git blame line.
- pub blame_separator: String,
-
- #[clap(long = "blame-separator-style", value_name = "STYLE_STRING")]
- /// Style string for the separator between the commit metadata and code sections of a git blame line.
- pub blame_separator_style: Option<String>,
-
- #[clap(long = "blame-code-style", value_name = "STYLE_STRING")]
- /// Style string for the code section of a git blame line.
- ///
- /// By default the code will be syntax-highlighted with the same background color as the blame
- /// format section of the line (the background color is determined by blame-palette). E.g.
- /// setting this option to 'syntax' will syntax-highlight the code with no background color.
- pub blame_code_style: Option<String>,
-
- #[clap(long = "blame-palette", value_name = "COLORS")]
- /// Background colors used for git blame lines (space-separated string).
+ /// Format string for the right column of line numbers.
///
- /// Lines added by the same commit are painted with the same color; colors are recycled as
- /// needed.
- pub blame_palette: Option<String>,
+ /// A typical value would be "{np:^4}│ " which means to display the line numbers of the plus
+ /// file (new version), center-aligned, padded to a width of 4 characters, followed by a
+ /// dividing character, and a space. See the LINE NUMBERS section.
+ pub line_numbers_right_format: String,
#[clap(
- long = "blame-timestamp-format",
- default_value = "%Y-%m-%d %H:%M:%S %z",
- value_name = "TIMESTAMP_FORMAT_STRING"
+ long = "line-numbers-right-style",
+ default_value = "auto",
+ value_name = "STYLE_STRING"
)]
- /// Format of `git blame` timestamp in raw git output received by delta.
- pub blame_timestamp_format: String,
-
- #[clap(long = "grep-match-line-style", value_name = "STYLE_STRING")]
- /// Style string for matching lines of grep output.
- ///
- /// See STYLES section. Defaults to plus-style.
- pub grep_match_line_style: Option<String>,
-
- #[clap(long = "grep-match-word-style", value_name = "STYLE_STRING")]
- /// Style string for the matching substrings within a matching line of grep output.
- ///
- /// See STYLES section. Defaults to plus-style.
- pub grep_match_word_style: Option<String>,
-
- #[clap(long = "grep-context-line-style", value_name = "STYLE_STRING")]
- /// Style string for non-matching lines of grep output.
- ///
- /// See STYLES section. Defaults to zero-style.
- pub grep_context_line_style: Option<String>,
-
- #[clap(long = "grep-file-style", value_name = "STYLE_STRING")]
- /// Style string for file paths in grep output.
- ///
- /// See STYLES section. Defaults to hunk-header-file-path-style.
- pub grep_file_style: Option<String>,
-
- #[clap(long = "grep-line-number-style", value_name = "STYLE_STRING")]
- /// Style string for line numbers in grep output.
+ /// Style string for the right column of line numbers.
///
- /// See STYLES section. Defaults to hunk-header-line-number-style.
- pub grep_line_number_style: Option<String>,
+ /// See STYLES and LINE NUMBERS sections.
+ pub line_numbers_right_style: String,
#[clap(
- long = "grep-separator-symbol",
- default_value = ":",
- value_name = "SEPARATOR"
+ long = "line-numbers-zero-style",
+ default_value = "auto",
+ value_name = "STYLE_STRING"
)]
- /// Separator symbol printed after the file path and line number in grep output.
+ /// Style string for line numbers in unchanged (zero) lines.
///
- /// Defaults to ":" for both match and context lines, since many terminal emulators recognize
- /// constructs like "/path/to/file:7:". However, standard grep output uses "-" for context
- /// lines: set this option to "keep" to keep the original separator symbols.
- pub grep_separator_symbol: String,
+ /// See STYLES and LINE NUMBERS sections.
+ pub line_numbers_zero_style: String,
- #[clap(long = "default-language", value_name = "LANGUAGE")]
- /// Default language used for syntax highlighting.
- ///
- /// Used when the language cannot be inferred from a filename. It will typically make sense to
- /// set this in per-repository git config (.git/config)
- pub default_language: Option<String>,
+ #[clap(long = "list-languages")]
+ ///