Releases: epilande/codegrab
Releases · epilande/codegrab
v1.1.0
🎯 Highlights
This release introduces tree-only mode for token-efficient project structure sharing, adds Python dependency resolution, brings a preview panel with Vim-like navigation, and includes significant performance improvements through concurrency and caching.
🚀 New Features
Tree-Only Mode (#23)
-T/--tree-onlyflag: Output file structure without file contents- Toggle with
Tkey: Switch tree-only mode in interactive mode - 🌳 Footer Indicator: Visual indicator when tree-only mode is active
- All Formats Supported: Works with Markdown, Text, and XML output formats
Preview Panel with Vim Navigation (#18)
- New Preview Pane: View file contents alongside the file tree
- Focus Switching: Navigate between tree and preview with arrow keys or vim commands
- Visual Focus Indicators: Highlighted borders show active pane
Ctrl+GShortcut: Alternative togkey for generating output
Python Dependency Resolution (#20)
- PyResolver: Automatically detect and include Python file dependencies
- Import Parsing: Resolves relative and package imports
Git Repository URL Support
- Remote Code Analysis: Pass a Git URL directly to analyze remote repositories
- Example:
grab https://github.com/user/repo
Half-Page Scrolling
Ctrl+U/Ctrl+D: Vim-style half-page scrolling in tree and preview panels
Performance Enhancements
- Async Token Counter: Token counting with caching for faster UI updates
- Concurrent Directory Walker: Parallel file system traversal
- Concurrent File Collection: Parallel file content gathering in generator
- File Content Caching: Reduces redundant file reads
🐛 Bug Fixes
Search & Selection
- Folder Selection in Search: Fixed folder selection not working in search results
UI & Layout
- Preview Updates in Search Mode: Preview panel now updates correctly after
/search - Layout Calculations: Precise UI rendering with proper panel sizing
- Directory Icons: Fixed collapsed/expanded directory icons display
- Help Content Height: Adjusted help modal height calculation
Compatibility
- Windows Path Separator: Use consistent forward slash in tree paths for cross-platform compatibility
- Large File Sizes: Handle large size values properly with
math/big - EOF Error Handling: Properly handle EOF in text file detection
Fuzzy Search
- Unicode Support: Improved fuzzy search with Unicode and whitespace handling
🔧 Improvements
- UI Polish:
- Full-width highlight for focused panels
- Truncate long names to fit available width
- Enhanced viewport calculations and style consistency
- Refactored panel layouts and constants for better modularity
- Code Quality:
- Lazy load file content in tree builder
- Refactored layout and key handling logic
- Dependencies: Bumped go-devicons
👋 New Contributors
📝 Full Changelog
Full Changelog: v1.0.7...v1.1.0
v1.0.7
What's Changed
- feat(ui): Implement cursor highlighting in file tree by @epilande in #8
- feat: Add Rosé Pine theme and variations by @wadjoh in #9
- feat: Add token counts in view by @yuchenliu15 in #13
- feat(ui): Add nerd font icon support by @epilande in #16
- fix(glob): Normalize glob patterns for consistent path matching 921f06c
New Contributors
- @wadjoh made their first contribution in #9
- @yuchenliu15 made their first contribution in #13
Full Changelog: v1.0.6...v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3
v1.0.2
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Full Changelog: v1.0.0...v1.0.1