git diff-name-list

built-in
-17.0% Savings
77 Commands
-1145 Tokens saved
3 Tests

Install

tokf install 065b518ce4ad41c14009f21d1f08a1aa825783e4f04b378e78244e06321c12b2
Safety checks passed

Filter definition

# git/diff-name-list.toml — tree-structured output for --name-only / --name-status
# Delegated from git/diff via [[variant]] args_pattern.
# No `run` override — the original command runs as-is.
#
# This filter is only reachable via variant delegation — the command below
# uses a synthetic name that won't match any real invocation, preventing
# it from shadowing the parent during filter discovery.

command = "git diff-name-list"
description = "Tree-structured name-only / name-status diff output"

strip_ansi = true

# --name-status: "M\tsrc/foo.rs" (status + tab + path)
# --name-only:   "src/foo.rs"   (bare path)
# Group 1 captures optional status+tab; group 2 captures the path.
[tree]
pattern = '^([ACDMR]\t)?(.+)$'
passthrough_unmatched = true
min_files = 3
min_shared_depth = 1
style = "indent"
collapse_single_child = true

Examples

below min_files threshold passes through unchanged ~5 tokens → ~5 tokens
Raw output
src/lib.rs
src/main.rs
Filtered output
src/lib.rs
src/main.rs
name-only output gets tree treatment ~18 tokens → ~16 tokens (11% saved)
Raw output
src/config/mod.rs
src/config/types.rs
src/config/variant.rs
src/commands.rs
Filtered output
src/
  config/
    mod.rs
    types.rs
    variant.rs
  commands.rs
name-status output gets tree treatment ~20 tokens → ~18 tokens (10% saved)
Raw output
M	src/config/mod.rs
A	src/config/types.rs
M	src/config/variant.rs
M	src/commands.rs
Filtered output
src/
  config/
    M	mod.rs
    A	types.rs
    M	variant.rs
  M	commands.rs
Warning: Community filters are third-party code. Review the filter definition above before installing it in production environments.
Browse all filters