pub struct Args {Show 53 fields
pub blocks: bool,
pub chop: bool,
pub squeeze_blanks: bool,
pub header: Option<String>,
pub rscroll: String,
pub window: Option<u16>,
pub word_wrap: bool,
pub follow_name: bool,
pub exit_follow_on_close: bool,
pub content_type: Option<String>,
pub dim: bool,
pub display: Option<String>,
pub examples: bool,
pub filter: Vec<String>,
pub follow: bool,
pub follow_suspend_on_motion: bool,
pub format: Option<String>,
pub grep: Vec<String>,
pub ignore_case: bool,
pub IGNORE_CASE: bool,
pub no_hilite_search: bool,
pub no_init: bool,
pub quit_if_one_screen: bool,
pub quit_on_intr: bool,
pub quit_at_eof: bool,
pub QUIT_AT_EOF: bool,
pub head: Option<usize>,
pub hex: bool,
pub hex_group: usize,
pub image_width: Option<usize>,
pub line_numbers: bool,
pub list_formats: bool,
pub live: bool,
pub manual: bool,
pub mouse: bool,
pub no_color: bool,
pub no_image: bool,
pub no_preprocess: bool,
pub output: Option<String>,
pub preprocess: Option<String>,
pub prettify: bool,
pub prompt: Option<String>,
pub raw_control_chars: bool,
pub truecolor: String,
pub status_style: String,
pub prompt_style: String,
pub record_start: Option<String>,
pub stdout: bool,
pub tab_width: u8,
pub tag: Option<String>,
pub tag_file: Option<PathBuf>,
pub tail: Option<usize>,
pub files: Vec<PathBuf>,
}Fields§
§blocks: boolRender images with Unicode half-blocks (▀, fg=top pixel, bg=bottom pixel) for ~2× vertical detail instead of the default character ramp.
chop: boolChop long lines instead of wrapping.
squeeze_blanks: boolCollapse runs of two or more consecutive blank lines into a
single blank line at display time. Real line numbers, search,
and tag jumps are unaffected (they reference the original
count). Mirrors less -s.
header: Option<String>Pin the top L source lines (and the left C columns, when
horizontal scroll is supported) at the top of the viewport.
Form: L or L,C. Default 0,0 (off). Mirrors less --header.
Runtime adjustment: :header L [C].
rscroll: StringCharacter to show at the right edge of a chopped line (-S chop
mode) indicating “more content right”. Default >. Pass an empty
string to disable. Mirrors less --rscroll=c.
window: Option<u16>PageDown / PageUp step size in lines. Default: full screen
height (body rows). Half-page commands always advance by half
the screen regardless. Mirrors less -zn / --window=n.
word_wrap: boolIn wrap mode, break lines on whitespace boundaries instead of
mid-character when possible. Falls back to mid-character break
when no whitespace fits in the row. Mirrors less --wordwrap.
follow_name: boolFollow the file by path rather than by descriptor (matches
tail -F / less --follow-name). tess already does this —
rotation and truncation are detected on every poll and the
source re-opens by path (since 0.25.0). This flag is accepted
for compatibility and currently has no behavioral effect.
exit_follow_on_close: boolIn follow mode with piped stdin, exit when the upstream writer
closes the pipe. Default behavior (off): tess remains open on
the captured content after stdin EOF. Mirrors
less --exit-follow-on-close.
content_type: Option<String>Force the content type for --prettify (otherwise auto-detected from
the filename extension and the first bytes). Values:
auto, raw, json, yaml, toml, xml, html, csv.
Setting this implies --prettify (unless the value is raw/auto).
dim: boolWith --filter, dim non-matching lines instead of hiding them. Keeps
surrounding context visible.
display: Option<String>Render each parsed line through this template instead of showing the
raw line. Syntax: <fieldname> placeholders, \< for literal <,
\\ for literal \. Example: --display '[<time>] <status> <msg>'.
Overrides the format’s display key (if set). Requires --format.
Search still matches against the raw line.
examples: boolPrint a curated list of usage examples and exit.
filter: Vec<String>Filter visible lines by parsed field. Repeatable; multiple filters AND.
Operators: = (exact), != (exact ≠), ~ (regex), !~ (regex ≠),
<, <=, >, >= (numeric if both sides parse as numbers, else
lexicographic). Examples: --filter status=500, --filter ip~^10\.,
--filter 'status>=500' (quote < and > to avoid shell redirection).
Requires --format.
follow: boolFollow mode: keep watching the source for new bytes (like tail -f).
Jumps to the bottom on startup. Toggle with Shift-F at runtime.
follow_suspend_on_motion: boolIn follow mode, any user motion (scroll, page, goto-line) suspends
following. Re-engage with Shift-F. Default off: today’s behavior
(movement keeps follow on; auto-scroll suspended while the viewport
is not at bottom). Matches less +F semantics when enabled.
format: Option<String>Apply a named log format (built-in or user-defined in
~/.config/tess/formats.toml). Required by --filter.
grep: Vec<String>Filter visible lines by regex against the raw line. Repeatable;
multiple --grep arguments AND. Works on any input — no --format
required. Composes with --filter (both must match) and with
--dim (non-matches stay visible but faded).
Example: --grep error --grep '^\['.
ignore_case: boolSmart-case search. /, ?, --grep, and --filter’s ~ / !~
operators match case-insensitively unless the pattern contains an
uppercase character. Mirrors less -i / ripgrep / vim smartcase.
Mutually exclusive with -I. Runtime toggle: :case.
IGNORE_CASE: boolForce case-insensitive search regardless of pattern case. Mirrors
less -I. Mutually exclusive with -i.
no_hilite_search: boolDisable search-match highlighting by default. Search still
navigates (n / N jump to matches); the visual reverse-video
highlight is suppressed. Runtime toggle: :hlsearch / :nohlsearch.
Mirrors less -G.
no_init: boolDon’t enter the alt-screen on startup. Content remains in
terminal scrollback after exit. Crucial for piped use and
debugging. Mirrors less -X / --no-init.
quit_if_one_screen: boolExit immediately (without paging) if the entire source fits on
one screen. Ignored with piped stdin in follow mode. Mirrors
less -F.
quit_on_intr: boolAccepted for less compatibility. tess always exits on Ctrl-C
(Ctrl-C → Command::Quit in the input table), so this flag is a
no-op. Provided so existing less invocations work unchanged.
quit_at_eof: boolQuit when the user tries to scroll forward past end-of-file for
the second time. Mirrors less -e. Mutually exclusive with -E.
QUIT_AT_EOF: boolQuit the first time end-of-file is reached. Mirrors less -E.
head: Option<usize>Show only the first N lines of the source. Mutually exclusive with –tail.
hex: boolRender the source as an xxd-style hex dump instead of byte-faithful text. 16 bytes per row, offset prefix, ASCII gutter. Mutually exclusive with parsing- and rendering-oriented flags.
hex_group: usizeHex characters per group in --hex mode. One of 2, 4, 8, 16, 32
(default 4, matching xxd). 32 means the whole row as a single
group with no spacing between hex pairs. Requires --hex. Can be
changed at runtime with :hex N.
image_width: Option<usize>Target width in columns for image rendering. Defaults to the terminal width interactively, or 80 when exporting to a file/stdout.
line_numbers: boolShow line numbers.
list_formats: boolPrint available log formats and their named fields, then exit.
live: boolLive mode: re-read the file when its on-disk content changes (mtime,
size, or inode). Use this for files rewritten in place — source files
being edited, files saved by an editor or AI agent. Different from
--follow (which watches for appended bytes); the two are mutually
exclusive. Press R inside the pager to force a reload.
manual: boolPrint the full user manual and exit.
mouse: boolEnable mouse capture: click rows in the file picker / help overlay, and scrollwheel scrolls the body. Trade-off: most terminals disable their native text selection while mouse capture is on.
no_color: boolShow raw control bytes as ^X glyphs (pre-0.18 default). Disables
SGR / OSC interpretation. Honoured also by the NO_COLOR environment
variable (any non-empty value) and CLICOLOR=0.
no_image: boolTreat a detected image file as raw/normal text instead of rendering it as ASCII art. Has no effect on non-image inputs.
no_preprocess: boolIgnore $LESSOPEN. Useful when LESSOPEN is exported but not wanted for one invocation.
output: Option<String>Non-interactive batch mode: apply –filter / –grep / –head / –tail / –prettify
to the source and write the resulting raw bytes to FILE, then exit.
Use - for stdout (--stdout is a synonym). Skips the alt-screen and
raw mode entirely. With --follow, doesn’t exit — keeps appending
matching new bytes to FILE as they arrive (Ctrl-C to stop). Not
compatible with --live.
preprocess: Option<String>Pipe the source file through this command before rendering.
Must start with |; %s is substituted with the file path.
Example: --preprocess '|pdftotext %s -'. Overrides $LESSOPEN.
prettify: boolPretty-print structured content (JSON, YAML, TOML, XML, HTML, CSV).
Detects the type from the filename extension or the first bytes; use
--content-type=NAME to override. Static files only — not allowed
with --follow, --live, or --filter. Toggle interactively with
Shift-P; force a type with -P then a letter (j/y/t/x/h/c).
prompt: Option<String>Replace the hardcoded status format with a templated string.
Uses the same <field> syntax as --display. Available fields:
label, top, bottom, total, pct, rec-top, rec-bottom, rec-total,
rec-block, wrap-offset, format-tag, filter-tag, grep-tag,
hide-tag, search-tag, pretty-tag, live-tag, follow-tag.
Per-format default can be set via prompt = '...' in formats.toml.
Mutually exclusive with –hex.
raw_control_chars: boolPass every byte to the terminal raw, including cursor moves and non-SGR escape sequences. Risky: scroll math may break on long lines. Less-style -r. Mutually exclusive with –no-color.
truecolor: StringTruecolor (24-bit RGB) handling. auto (default) checks $COLORTERM
and downsamples when truecolor isn’t advertised; never always
downsamples to the 256-color palette; always passes RGB through
regardless of terminal capability.
status_style: StringStyle for the status row. Comma-separated tokens: bold, dim,
italic, underline, reverse, fg=COLOR, bg=COLOR. COLOR is a
named color (black..white, optional bright- prefix), #RRGGBB,
or an indexed value (0–255). Empty string disables theming.
Default: reverse.
prompt_style: StringStyle for --prompt output (and per-format prompt_style). Same
grammar as --status-style. Default: empty (no extra styling on top
of what the prompt template itself emits).
record_start: Option<String>Treat lines matching REGEX as record boundaries. Lines that don’t match are joined to the preceding record. Affects search, filter, grep, and the status line — all operate on whole records when set. Overrides the active –format’s record_start if both are present. Without –format, this is the only way to enable records mode for plain text. Example: –record-start ‘^[’
stdout: boolSynonym for --output -: write the batch-mode output to stdout.
tab_width: u8Tab stop width (default 8).
tag: Option<String>Jump to the tag NAME at startup (requires a tags file).
tag_file: Option<PathBuf>Path to the tags file. Default: walk up from CWD looking for tags.
tail: Option<usize>Show only the last N lines of the source. For files this skips most of
the index work — useful for huge logs. Combine with -f for tail -f.
Mutually exclusive with –head. Streaming stdin is not supported.
files: Vec<PathBuf>Files to view (only the first is opened in MVP).
Trait Implementations§
Source§impl Args for Args
impl Args for Args
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl CommandFactory for Args
impl CommandFactory for Args
Source§impl FromArgMatches for Args
impl FromArgMatches for Args
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.