5 releases
0.1.4 | Jun 3, 2024 |
---|---|
0.1.3 | Jan 22, 2024 |
0.1.2 | Jan 11, 2024 |
0.1.1 | Jan 4, 2024 |
0.1.0 | Jan 2, 2024 |
#232 in Text processing
125KB
2.5K
SLoC
treegrep
treegrep is a frontend for existing pattern matchers or a standalone pattern matcher which presents results in a tree format
https://github.com/4imothy/treegrep/assets/40186632/9c85c309-df78-4996-8127-ee5ad9f91ec3
Currently Supported Backends
Links
crates.io | GitHub | AUR | NetBSD
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
--help Output
treegrep 0.1.4
by Timothy Cronin
A pattern matcher frontend or backend which displays results in a tree
tgrep [OPTIONS] [positional regexp] [positional target]
Arguments:
[positional regexp] specify the regex expression
[positional target] specify the search target. If none provided, search the current directory.
Options:
-e, --regexp <> specify the regex expression
-t, --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: b/f, pageup/pagedown
- quit: q, ctrl + c
-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
--no-color don't use colors if present
--max-depth <> the max depth to search
--threads <> set the appropriate number of threads to use
--max-length <> set the max length for a matched line
-s, --searcher <> executable to do the searching [possible values: rg, tgrep]
-l, --tree display the files that would be search in tree format
--glob <> rules match .gitignore globs, but ! has inverted meaning, overrides other ignore logic
-h, --help Print help
-V, --version Print version
Any of the above can be set using the TREEGREP_DEFAULT_OPTS environment variable
Dependencies
~6–14MB
~175K SLoC