Scooter is a fast, user-friendly find and replace tool built for people who love the terminal. We’ve recently released v0.4: here is a rundown of what’s new.
Include and exclude files with glob matching
You can now use glob patterns to both include and exclude files, in a
similar way to the find and replace in VSCode. For instance, if you
wanted to include all matches with the .rs
extension except
for those in the xtask
directory, you could do this:

Open editor from search results list
From the search results page you can now open your editor at the
selected file and line with o
:

By default this will use your $EDITOR
environment
variable, but you can override
this using your config file.
You can combine this with some editor configuration to get a nice integration - for instance, I use Helix and Tmux, and I have the following in my Helix configuration to open Scooter in a floating window:
[keys.select.ret]
s = ":sh tmux popup -xC -yC -w90% -h90% -E scooter"
I also have this in my Scooter config:
[editor_open]
command = 'tmux send-keys -t "$TMUX_PANE" ":open %file:%line" Enter'
exit = true
This allows me to open Scooter in a floating pane in my editor with
<enter> s
, and then open a search result back in the
editor (closing the floating window) with o
:

3x faster replacements
Replacements now happen in parallel, resulting in over 3x faster replacements which is especially nice in big repos. I’m sure there is a lot more room to improve things here, so watch this space, and if you have ideas I’d love contributions.
Improved scrolling
Previously the selected item was locked to the centre of the screen, which didn’t look quite right. Scrolling looks a lot more natural now!

Installation
Check out the installation guide here to get started with Scooter - I’d love to know what you think.
Contributions are welcome!
No matter your experience level I’m always really grateful for any contributions to Scooter, whether that’s creating issues for bugs, requesting features or creating PRs to implement new ideas and improve performance. If you want a new feature then just create an issue first so that we can chat about it! I’m also always grateful for anyone adding Scooter to package managers.