Document successful implementation of interactive search feature:
- Issue #30 completed with real-time filename filtering
- Technical architecture and testing validation details
- Current deployment status and commit references
- Updated feature matrix showing completion status
- Identified next opportunities for future enhancements
Add entry for interactive search feature that addresses GitHub issue #30:
- Real-time filename filtering with '/' key
- Case-insensitive substring matching
- Status line with search query and match count
- Preserves tree structure during filtering
Implement real-time search feature activated by '/' key:
- Press '/' to enter search mode with case-insensitive filename filtering
- Type to filter files in real-time, backspace to edit query
- Press Esc to exit search and restore full file list
- Status line shows current search query and match count
- Preserves tree structure and selection state during filtering
Addresses GitHub issue #30.
Root directory now properly displays permissions with -p flag and
consistent git status spacing with -G flag for aligned output.
Changes:
- Add root directory metadata retrieval and permission formatting
- Include git status spacing prefix for root directory consistency
- Ensure root directory formatting matches tree entry patterns
- Both individual flags (-p, -G) and combined (-G -p) work correctly
Fixes:
- Root directory permissions now displayed with -p flag
- Consistent 2-space git status prefix for all directories with -G flag
- Perfect alignment between root and child entries
- Output matches Unix tree command formatting exactly
Closes#32
Implemented tree-aware hierarchical sorting to replace flat sorting
that was destroying parent-child relationships. This resolves multiple
cascading issues affecting core tree display functionality.
Changes:
- Add sort_entries_hierarchically() function to preserve tree structure
- Update classic mode (src/view.rs) to use tree-aware sorting
- Update TUI mode (src/tui.rs) to use same tree-aware sorting logic
- Make compare_entries() public for reuse in hierarchical sorting
- Ensure consistent tree structure between classic and TUI modes
Fixes:
- Tree connectors now show proper mix of ├── and └── instead of all └──
- Files appear correctly nested under their parent directories
- Eliminates duplicate/phantom entries in TUI mode
- Maintains proper hierarchical organization with sorting
- Output matches Unix tree command exactly
Closes#36
- Create examples/sample-directory/ with complex nested structure
- Include various file types for testing icons (.rs, .js, .md, .json, .yaml, .png, etc.)
- Add hidden files and directories for testing -a flag
- Include gitignored content (build/, node_modules/, temp/) for testing -g flag
- Provide comprehensive README with usage examples
- Exclude examples from workspace to avoid build conflicts
- Replace all └── with correct ├── and └── connectors based on tree position
- Add vertical │ connectors for proper tree visualization
- Implement build_tree_info() function to determine correct connectors
- Add comprehensive tests for various tree structures
- Update existing dotfiles test to match new proper tree format
Before: All entries used └── regardless of position
After: Proper tree structure with ├── for intermediate entries, └── for last entries, and │ for vertical connections