@@ -4,7 +4,7 @@ This is a local planning document for upcoming features and improvements.
44
55---
66
7- ## Current Status (v0.2 .0)
7+ ## Current Status (v0.3 .0)
88
99** Core Features Complete:**
1010- Lazy file reading with indexed line positions
@@ -27,15 +27,28 @@ This is a local planning document for upcoming features and improvements.
2727- Tab navigation (Tab, Shift+Tab, 1-9)
2828- AUR package available
2929
30+ ** v0.3.0 Features:**
31+ - Regex filter mode (Tab to toggle)
32+ - Case sensitivity toggle (Alt+C)
33+ - Filter history with mode persistence
34+ - Expandable log entries (Space to toggle, c to collapse)
35+ - Persistent filter history to disk
36+ - Stats panel (line counts)
37+ - Filter progress percentage display
38+ - Streaming filter with SIMD search (memmem) for better performance
39+ - Grep-style search for case-sensitive patterns
40+
3041---
3142
3243## Upcoming Features & Improvements
3344
3445### 🔴 HIGH PRIORITY
3546
36- #### Phase 1: Multi-Tab Support (CLI Arguments)
47+ #### Phase 1: Multi-Tab Support (CLI Arguments) ✅
3748** Goal:** View multiple log files in tabs within single UI instance
3849
50+ ** Status:** Complete (v0.2.0)
51+
3952``` bash
4053lazytail api.log worker.log db.log
4154# Opens UI with side panel showing all sources
@@ -81,30 +94,30 @@ Two-panel layout:
8194- Future: Bookmarks section at bottom for project-scoped quick access
8295
8396** Tasks:**
84- - [ ] Multi-tab state management
85- - [ ] Add ` Vec<TabState> ` to App (selection, filter, scroll, follow mode per tab)
86- - [ ] Track active tab index
87- - [ ] Refactor single-file state into ` TabState ` struct
88- - [ ] Side panel UI component
89- - [ ] Render source list on left
90- - [ ] Highlight active source
91- - [ ] Show status indicators (active/ended, filter active, follow mode)
97+ - [x ] Multi-tab state management
98+ - [x ] Add ` Vec<TabState> ` to App (selection, filter, scroll, follow mode per tab)
99+ - [x ] Track active tab index
100+ - [x ] Refactor single-file state into ` TabState ` struct
101+ - [x ] Side panel UI component
102+ - [x ] Render source list on left
103+ - [x ] Highlight active source
104+ - [x ] Show status indicators (active/ended, filter active, follow mode)
92105 - [ ] Toggle panel visibility keybinding
93106 - [ ] Configurable panel width
94- - [ ] Tab navigation keybindings
95- - [ ] ` Tab ` / ` Shift+Tab ` to cycle sources
96- - [ ] ` 1-9 ` for direct source access
107+ - [x ] Tab navigation keybindings
108+ - [x ] ` Tab ` / ` Shift+Tab ` to cycle sources
109+ - [x ] ` 1-9 ` for direct source access
97110 - [ ] Arrow keys to navigate panel when focused
98- - [ ] Show keybindings in help overlay
99- - [ ] File watching for multiple files
100- - [ ] Watch all open files simultaneously
101- - [ ] Update correct tab on file change
102- - [ ] CLI argument handling
103- - [ ] Accept multiple file paths
104- - [ ] Validate all files exist before starting
105- - [ ] Backward compatibility
106- - [ ] Single file still works: ` lazytail file.log `
107- - [ ] Add tests for multi-tab behavior
111+ - [x ] Show keybindings in help overlay
112+ - [x ] File watching for multiple files
113+ - [x ] Watch all open files simultaneously
114+ - [x ] Update correct tab on file change
115+ - [x ] CLI argument handling
116+ - [x ] Accept multiple file paths
117+ - [x ] Validate all files exist before starting
118+ - [x ] Backward compatibility
119+ - [x ] Single file still works: ` lazytail file.log `
120+ - [x ] Add tests for multi-tab behavior
108121
109122** Future Side Panel Enhancements:**
110123- [ ] Tree structure with collapsible groups
@@ -620,10 +633,13 @@ TRACE → DEBUG → INFO → WARN → ERROR → FATAL
620633## Future Ideas (Backlog)
621634
622635### Performance & Scalability
636+ - [x] Streaming filter with mmap for large files
637+ - [x] SIMD-accelerated search using memchr/memmem
638+ - [x] Grep-style lazy line counting for case-sensitive search
623639- [ ] Performance profiling on very large files (100GB+)
624- - [ ] Consider mmap for extremely large files
625640- [ ] Optimize ANSI parsing (cache parsed lines?)
626641- [ ] Benchmark filtering performance
642+ - [ ] Further optimize case-insensitive search
627643
628644### Features
629645- [ ] JSON log parsing and formatted view
0 commit comments