restui-0.1.0 is not a library.
restui
A lazygit-style TUI HTTP client. Run HTTP requests from your terminal with vim keybindings.
Features
- Vim-like keybindings (normal, insert, visual modes)
- Collections from
.httpfiles - Request chaining with
{{@request_name.json.path}}syntax - Environment variables support
- Syntax-highlighted JSON responses
- Theme support
- Request history
- Cookie management
- Neovim integration via restui.nvim
Installation
From source
This installs the restui binary to ~/.cargo/bin/. Make sure it's in your PATH:
# Add to your shell config (~/.bashrc, ~/.zshrc, etc.)
Requirements
- Rust 1.75+
wl-copy(Wayland) orxclip(X11) for clipboard support
Usage
# Open in current directory (scans for .http files)
# Open a specific file
# Specify working directory
# Use an environment file
Keybindings
Global
| Key | Action |
|---|---|
Ctrl+h/j/k/l |
Navigate between panels |
1/2/3/4 |
Focus panel (Collections/Request/Body/Response) |
Ctrl+r |
Execute request (global) / Redo (in vim edit mode) |
qq |
Quit |
? |
Help |
: |
Command palette |
Vim Modes (Body / Request fields)
| Key | Action |
|---|---|
i/I/a/A |
Enter insert mode |
Esc |
Exit to normal mode |
v |
Visual mode |
h/l |
Move cursor left/right |
w/b/e |
Word forward/backward/end |
0/$ |
Line start/end |
x |
Delete char under cursor |
dd |
Delete line / clear field |
yy |
Yank line / field |
p |
Paste |
u |
Undo |
Request Panel
| Key | Action |
|---|---|
j/k |
Navigate between fields |
e |
Enter field edit (normal mode) |
a |
Add header/param/cookie |
space |
Toggle enabled/disabled |
]/[ |
Cycle HTTP method |
{/} |
Switch tab (Headers/Queries/Cookies) |
Collections
| Key | Action |
|---|---|
j/k |
Navigate |
Enter |
Select request |
s |
Save request |
S |
Save as new |
n |
New collection |
.http File Format
# @name Get Users
GET https://api.example.com/users
Authorization: Bearer {{token}}
###
# @name Create User
POST https://api.example.com/users
Content-Type: application/json
{
"name": "John",
"email": "john@example.com"
}
Neovim Integration
Use restui.nvim to open restui in a floating terminal inside Neovim:
-- lazy.nvim
License
MIT