Skip to content
This repository has been archived by the owner on Jan 5, 2024. It is now read-only.

4imothy/gret

Repository files navigation

NOTICE OF ARCHIVAL

gret is replaced by treegrep

Treegrep can act as a pattern matcher on its own or parse output from ripgrep which leads to much better performance.

gret

gret (Global Regular Expression Tree) is a command-line utility designed to search through directories and files for a regex expression that matches while respecting .gitignore and .ignore files, the results are presented in a tree format and a menu can be spawned to select from.

demo.mp4

Quick Install

cargo install gret

To Run

Use cargo run, the first positional argument is the pattern, the second is the path to search. If you want to match multiple patterns use -e followed by the pattern.

To launch a menu use the flag -m or --menu, this will open a match picker. After selecting one by pression enter the file/directory will be launched by $EDITOR if on unix or start if on windows. If $EDITOR is not found, then open will be called on macos and xdg-open will be called on other non-windows operating systems.

How To Use

See the options.md file.

To Install

cargo install gret

or

Run the ./add_to_path.sh script after changing the links location to somewhere on your path. Or run the commands seperately:

cargo build --release

And then source the correct completion file that is in the completions/ directory.

To Benchmark

Run ./benchmarks/bench at the root directory. Results can be seen in the times file in the benchmarks directory.

Then add the binary to your path and then source the script to give you proper completions. For the completions to work on next login you must source it at each login.

Shell Completion Script to Source
BASH completions/gret.bash
Zsh completions/_gret
Fish completions/gret.fish
Elvish completions/gret.elv
PowerShell _gret.ps1