#tree #tree-search #regex #grep #search-pattern #search

app treegrep

A pattern matcher frontend or backend which displays results in a tree

4 releases

0.1.3 Jan 22, 2024
0.1.2 Jan 11, 2024
0.1.1 Jan 4, 2024
0.1.0 Jan 2, 2024

#156 in Text processing

CC-BY-4.0

120KB
2K SLoC

treegrep

treegrep is a frontend for existing pattern matchers or a standalone pattern matcher which presents results in a tree format

tests release

Currently Suuported Backends

To Install

Cargo

cargo install treegrep

NetBSD

pkgin install treegrep

Releases

Download from releases

Manual

git clone https://github.com/4imothy/treegrep
cd treegrep
cargo build --release

crates.io | GitHub | AUR | NetBSD

https://github.com/4imothy/treegrep/assets/40186632/9c85c309-df78-4996-8127-ee5ad9f91ec3

--help Output

treegrep 0.1.3
by Timothy Cronin

A pattern matcher frontend or backend which displays results in a tree

tgrep [OPTIONS] <regex expression-positional|--regexp <regex expression>> [target-positional]

Arguments:
  [regex expression-positional]  specify the regex expression
  [target-positional]            specify the search target. If none provided, search the current directory.

Options:
  -e, --regexp <regex expression>  specify the regex expression
  -t, --target <target>            specify the search target. If none provided, search the current directory.
  -c, --count                      display number of files matched in directory and number of lines matched in a file if present
  -., --hidden                     search hidden files
  -n, --line-number                show line number of match if present
  -m, --menu                       open results in a menu to be edited with $EDITOR
                                   navigate through the menu using the following commands:
                                   - move up/down: k/j, p/n, up arrow/down arrow
                                   - move up/down with a bigger jump: K/J, P/N
                                   - move up/down paths: {/}, [/]
                                   - move to the start/end: g/G, </>, home/end
                                   - move up/down a page: ctrl + b/ctrl + f, pageup/pagedown
  -f, --files                      show the paths that have matches
      --links                      show linked paths for symbolic links
      --trim                       trim whitespace at the beginning of lines
      --pcre2                      enable PCRE2 if the searcher supports it
      --no-ignore                  don't use ignore files
      --max-depth <max-depth>      the max depth to search
      --threads <threads>          set the appropriate number of threads to use
      --max-length <max-length>    set the max length for a matched line
      --color <color>              set whether to color output [possible values: always, never]
  -s, --searcher <searcher>        executable to do the searching, currently supports rg  and tgrep
  -h, --help                       Print help
  -V, --version                    Print version

Dependencies

~6–14MB
~142K SLoC