All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
New utility library
lla_plugin_utils
for building plugins:- UI components (BoxComponent, HelpFormatter, KeyValue, etc.)
- Plugin infrastructure utilities
- Code highlighting and syntax support
- Configuration management tools
-
New command-line arguments for file type filtering:
--dirs-only
: Show only directories--files-only
: Show only regular files--symlinks-only
: Show only symbolic links--dotfiles-only
: Show only dot files and directories--no-dirs
: Hide directories--no-files
: Hide regular files--no-symlinks
: Hide symbolic links--no-dotfiles
: Hide dot files and directories
-
Enhanced plugin functionality:
- All official plugins updated with new UI components and improved functionality
- Users can update their plugins using
lla update
command - Individual plugin updates supported via
lla update <plugin_name>
- Updated configuration with new
no_dotfiles
setting to hide dot files by default - Enhanced documentation with detailed examples of file type filtering
- Updated
terminal_size
dependency to version 0.4.1
- Fix the issue with the default listing format from config overrides the args
- Faster recursive directory listing with optimized traversal
- Improved fuzzy search performance and accuracy
- Enhanced tree format with more efficient rendering
- Redesigned size calculation logic for faster and more accurate results
- General stability improvements and bug fixes
-
Interactive fuzzy file search (Experimental - Might be unstable)
- Enabled via the new
--fuzzy
flag - Designed for quick file lookups in standard-sized directories
- Future updates will optimize performance for large-scale directory structures
- Enabled via the new
-
Directory size integration
- New option to include directory sizes in all listing formats
- Compatible with default, sizemap, grid, and tree visualizations
- Recursive directory size calculation with
calculate_dir_size
- Configurable through the
include_dirs
setting in configuration files - Enhanced size bar visualization for both directories and files
-
Enhanced shell integration
- Added comprehensive shell completion support for bash, zsh, fish, and elvish
- Generate completions using
lla completion <shell> [path]
-
Customizable fuzzy search configuration
- New
listers.fuzzy.ignore_patterns
setting - Supports multiple pattern types:
- Simple substring matching
- Glob patterns
- Regular expressions
- New
-
Interactive theme management
- New
lla theme
command for interactive theme switching
- New
-
Advanced directory visualization
- New
--recursive
flag for hierarchical directory display - Implemented
RecursiveFormatter
for structured output - Flexible tree and recursive format options
- New
-
Architecture improvements
- Redesigned
Args
struct to accommodate shell completion, fuzzy format, and directory size features - Enhanced command handler for improved shell integration
- Optimized file listing and formatting logic
- Redesigned
-
Dependency updates
- Added
clap_complete
for shell completion functionality - Updated
hermit-abi
version specifications - Integrated
num_cpus
for improved performance
- Added
-
Search functionality enhancements
- Implemented configurable
FuzzyConfig
structure - Enhanced
FuzzyLister
andSearchIndex
components - Improved pattern matching and file filtering capabilities
- Implemented configurable
-
Core system refinements
- Optimized
create_lister
function - Enhanced configuration loading for fuzzy search and directory size inclusion
- Improved recursive listing implementation
- Updated
SizeMapFormatter
for better directory and file size visualization
- Optimized
- A theming system to customize the look of
lla
- New configuration option
theme
- An extensive theming preset library
- Add the
--no-color
flag to disable color output, and works will all listing formats - New package managers support
- Include window builds in the releases
- Minor fixes and improvements
- Stability improvements
- The ability to set plugins path with
config --set
- New configuration options like
sort
,filter
,icons
- Better error handling
- Better and much cleaner plugins installation process
- Revised config settings
- Refactor the main entry point
- Enhanced plugin update mechanism
- Fixed the layout and style of the plugin installation process
- Fixed plugins loading
- New configuration options like
sort
,filter
,icons
- Better error handling
- Better and much cleaner plugins installation process
- Revised config settings
- Refactor the main entry point
- Enhanced plugin update mechanism
- Fixed the layout and style of the plugin installation process
- Plugin system redesign:
- Protocol Buffers message passing architecture
- C API compatibility
- ABI version verification
- Improved documentation
- Enhanced plugin management interface
- Plugin cleanup command (
lla clean
) - Improved plugin discovery and loading
- Plugin update functionality improved
- Improved the functionality and look of all plugins
- Command shortcuts system:
- Store and manage plugin commands as shortcuts
- CLI commands for shortcut management (
lla shortcut add/remove/list
) - Configuration file storage with descriptions
- Support for custom arguments
- Simplified command syntax
- Sorting improvements:
- Reverse sorting (
-r
,--sort-reverse
) - Directory-first option (
--sort-dirs-first
) - Case-sensitive sorting (
--sort-case-sensitive
) - Natural number sorting (
--sort-natural
)
- Reverse sorting (
- Filter system updates:
- Multiple pattern support with comma separation
- AND operations using
+
prefix - Logical operations (AND, OR, NOT, XOR)
- Glob pattern matching
- Case sensitivity options
- Additional features:
- Icon support across formats
- Updated
sizemap
,timeline
andgit
views - Selective plugin installation
- Command shortcut system
- Performance optimizations for sorting
- Improved filter matching
- Plugin system reliability updates
- Refined sizemap visualization
- Updated plugin interfaces
- Interface improvements
- General stability enhancements
- Pregenerate protobuf bindings
- Plugin ABI compatibility
- Case-sensitive search behavior
- Directory sorting issues
- Numeric filename sorting
- Plugin system redesign:
- Protocol Buffers message passing architecture
- C API compatibility
- ABI version verification
- Improved documentation
- Enhanced plugin management interface
- Plugin cleanup command (
lla clean
) - Improved plugin discovery and loading
- Plugin update functionality improved
- Improved the functionality and look of all plugins
- Command shortcuts system:
- Store and manage plugin commands as shortcuts
- CLI commands for shortcut management (
lla shortcut add/remove/list
) - Configuration file storage with descriptions
- Support for custom arguments
- Simplified command syntax
- Sorting improvements:
- Reverse sorting (
-r
,--sort-reverse
) - Directory-first option (
--sort-dirs-first
) - Case-sensitive sorting (
--sort-case-sensitive
) - Natural number sorting (
--sort-natural
)
- Reverse sorting (
- Filter system updates:
- Multiple pattern support with comma separation
- AND operations using
+
prefix - Logical operations (AND, OR, NOT, XOR)
- Glob pattern matching
- Case sensitivity options
- Additional features:
- Icon support across formats
- Updated
sizemap
,timeline
andgit
views - Selective plugin installation
- Command shortcut system
- Performance optimizations for sorting
- Improved filter matching
- Plugin system reliability updates
- Refined sizemap visualization
- Updated plugin interfaces
- Interface improvements
- General stability enhancements
- Plugin ABI compatibility
- Case-sensitive search behavior
- Directory sorting issues
- Numeric filename sorting
- New display formats for enhanced visualization:
git
: Display Git status information for filesgrid
: Present files in an organized grid layoutsizemap
: Visualize file sizes with proportional representationtable
: Show files in a structured table formattimeline
: Group files by creation/modification dates
- Interactive plugin management system
- Plugin update functionality via CLI
- Extended configuration options for customization
- Plugin support for default and long format customization
- Significant performance improvements:
- Optimized tree view rendering
- More efficient recursive file listing
- Better memory management for large directories
- Plugin system improvements:
- Refined plugin interface for better integration
- More robust plugin installation process
- Enhanced plugin discovery and loading
- Sorting functionality:
- More accurate file sorting across all formats
- Improved performance for large directory sorting
- Memory leaks in recursive directory listing
- Plugin installation reliability issues
- Color output consistency across different formats
- Plugin interface versioning
- Plugin interface versioning
- GitHub Actions workflows
- Multi-architecture support for all major platforms
- Cargo workspace setup for better dependency management
- GitHub Actions workflows for automated releases
- SHA256 checksums for all binary artifacts
- Migrated to Cargo workspace structure
- Updated build system to use workspace inheritance
- Improved cross-compilation support
- Build consistency across different platforms
- Plugin interface versioning