Skip to content

Commit 3bcde3d

Browse files
committed
Updated FUTURE file
1 parent 79f74d2 commit 3bcde3d

File tree

1 file changed

+0
-66
lines changed

1 file changed

+0
-66
lines changed

FUTURE.md

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,3 @@
1-
-----------------------------------------------------------------------------------------------------------------------------------------------------
2-
3-
## 📝 Project Overview & Feature Summary
4-
5-
### High-level architecture
6-
7-
* **Language & crates**
8-
Rust + Cargo project, using:
9-
10-
11-
* **clap** for CLI parsing
12-
13-
* **directories** + **toml** + **serde** for a user-editable config file
14-
15-
* **crossterm** + **ratatui** for the terminal UI
16-
17-
* **redis** for talking to Redis synchronously
18-
19-
* **crossclip** for clipboard support
20-
21-
* **fuzzy-matcher** for fuzzy key search
22-
23-
* **url** for URL parsing/validation
24-
25-
Cargo.toml
26-
* **Config loading**
27-
On startup (and on `--seed`), we load `~/.config/lazyredis/lazyredis.toml` (created automatically if missing) into a `Config` holding a list of
28-
`ConnectionProfile`s.
29-
[src/config.rs](/Users/mazdak/Code/lazyredis/src/config.rs)[src/config.rs](/Users/mazdak/Code/lazyredis/src/config.rs)
30-
* **CLI & seeding mode**
31-
The binary accepts a `--seed` flag to bulk-populate a development Redis instance with thousands of sample keys of every type.
32-
[src/main.rs](/Users/mazdak/Code/lazyredis/src/main.rs)[src/main.rs](/Users/mazdak/Code/lazyredis/src/main.rs)
33-
* **TUI startup**
34-
In normal mode, we switch to an alternate screen, enable raw mode, build a `ratatui::Terminal<CrosstermBackend>`, and hand off to `run_app`.
35-
[src/main.rs](/Users/mazdak/Code/lazyredis/src/main.rs)[src/main.rs](/Users/mazdak/Code/lazyredis/src/main.rs)
36-
37-
### Interactive UI & Controls
38-
39-
* **Profile / DB selection**
40-
Press `p` to open the profile selector (choose Redis instance), then use `j`/`k` (or ↑/↓) and `Enter`.
41-
[src/ui.rs](/Users/mazdak/Code/lazyredis/src/ui.rs)
42-
* **Key tree browsing**
43-
Keys are fetched via `KEYS *`, parsed into a folder-leaf tree based on the delimiter (`:` by default), and shown in the left panel.
44-
Navigate with `j`/`k` or arrows; `Enter` to descend into a folder or fetch a key’s value; `Backspace`/`Esc` to go up.
45-
[src/app.rs](/Users/mazdak/Code/lazyredis/src/app.rs)[src/app.rs](/Users/mazdak/Code/lazyredis/src/app.rs)
46-
* **Value inspection**
47-
Simple strings are pulled with `GET` and displayed. On `WRONGTYPE`, we run `TYPE` and then the appropriate fetcher (`HGETALL`, `ZRANGE …
48-
WITHSCORES`, `LRANGE`, etc.) for hash, zset, list, set, or stream.
49-
[src/app.rs](/Users/mazdak/Code/lazyredis/src/app.rs)
50-
* **Fuzzy search**
51-
`/` enters search mode. Every key in `raw_keys` is scored via `fuzzy_matcher::skim::SkimMatcherV2`, and matches populate the filtered list.
52-
[src/app.rs](/Users/mazdak/Code/lazyredis/src/app.rs)
53-
* **Clipboard support**
54-
`y` copies the selected key’s name; `Y` copies the selected value or sub-item. Under the hood this uses `crossclip::SystemClipboard`.
55-
[src/app.rs](/Users/mazdak/Code/lazyredis/src/app.rs)[src/app.rs](/Users/mazdak/Code/lazyredis/src/app.rs)
56-
* **Delete with confirmation**
57-
`d` on a focused key or folder pops up a confirmation dialog; upon `Y`es it issues `DEL` or does a prefixed `KEYS/p` + `DEL`.
58-
[src/ui.rs](/Users/mazdak/Code/lazyredis/src/ui.rs)[src/app.rs](/Users/mazdak/Code/lazyredis/src/app.rs)
59-
* **Footer help & paging**
60-
The bottom of the screen shows a help line with all keybindings, and PageUp/PageDown navigate long value lists.
61-
[src/ui.rs](/Users/mazdak/Code/lazyredis/src/ui.rs)
62-
63-
-----------------------------------------------------------------------------------------------------------------------------------------------------
64-
651
## 🔍 Areas for Improvement (Style, Functionality & Bug-risk)
662

673

@@ -90,8 +26,6 @@ dynamic dispatch.
9026
Embed a mini REPL for arbitrary Redis commands.
9127
5. **Export & import.**
9228
Backup selected keys or entire subtrees to JSON/CSV, and restore from file.
93-
6. **Authentication & TLS.**
94-
Support Redis ACL passwords, `rediss://` URLs, and certificates for secure connections.
9529
7. **Config reload at runtime.**
9630
Press a key to reload `lazyredis.toml` without restarting.
9731
8. **Enhanced metrics/viewer.**

0 commit comments

Comments
 (0)