Releases

Rust-built swpui brings VS Code-like search and replace to the terminal

Swpui puts case-aware, preview-first replace jobs into a Rust TUI, aiming at the rename-and-refactor work that usually ends in messy shell one-liners.

Nina Kowalski··2 min read
Published
Listen to this article0:00 min
Rust-built swpui brings VS Code-like search and replace to the terminal
Source: beeb.li

Rust developers who have ever tried to rename a symbol across a codebase without making a mess got a new terminal option on May 15. Swpui, pronounced “swap UI,” arrived as a Rust-built search-and-replace TUI that tries to bring the confidence of VS Code-style editing into the shell, with immediate feedback instead of a blind replacement run.

The tool is built around the kinds of edits that usually force people into grep, sed, or Perl one-liners. Its README says swpui focuses on ergonomics, speed, and case-awareness in source code, and the workflow reflects that. Users can cycle match modes, toggle hidden files and gitignored files, preview matches in a split pane, and apply changes file by file or across all results. It also supports capture-group replacement, multiline regexes, and multithreaded search. That matters for the jobs Rust teams actually feel: bulk symbol renames, cleaning up mixed-case config keys, or making a codebase-wide text change without losing track of what will happen before the write.

AI-generated illustration
AI-generated illustration

That immediate-feedback approach is the real pitch. Instead of waiting on a slow or opaque replacement pass, swpui lets users see the impact first, which puts it closer to a terminal IDE workflow than a glorified regex wrapper. It is also the place where swpui separates itself from earlier Rust tools. facebookincubator’s fastmod is aimed at interactive regex validation before broad application, while acheronfail’s repgrep focuses on real-time preview and conditional replacement on top of ripgrep. Swpui pushes harder on case-aware replacement and on the feel of a full editing surface, which is exactly where it can beat a one-liner when the change is repetitive, sensitive, and easy to botch.

The project’s Rust roots help explain why it feels like an application instead of a command. Swpui leans on Ratatui, the Rust crate for terminal user interfaces that was forked from tui-rs in 2023 to keep development moving. The README also credits serpl, rat-widget, and ripgrep, and says the tool is available through cargo install, cargo-binstall, and Nix under MIT or Apache 2.0. Beeb’s beeb/swpui repository had 112 commits and a release line that included v0.7.2, enough momentum to show this was already being maintained, not just demoed.

That is also where the friction shows up for terminal-native Rust users. Swpui asks for an interactive, full-screen workflow where a tiny substitution might otherwise be one command and done. For the rename jobs that can quietly turn into a mess, though, that tradeoff is the point: it shows the change before it lands.

This article was produced by Prism’s automated news system from verified source data, official records, and press releases, then run through automated quality and moderation checks before publishing. The system is built and supervised by the people who set the standards it runs under. Read our full AI policy.

Did this article answer your question?

Discussion

More Rust Programming News