All notable changes to the "edlin" extension will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Command Registration: Fixed critical command registration mismatches
removeBlankLinenow correctly registered (wasremoveEmptyLine)splitnow correctly registered (wassplitBy)- Added missing
splitAndKeepcommand - Added missing
combinecommand combineWithnow correctly registered (wasjoinWith)
- Build Configuration: Fixed launch.json outFiles path
- Dependencies: Added missing ESLint dependencies
- Git Configuration: Updated .gitignore to exclude build artifacts
- Major Code Refactor: Complete modernization of the codebase
- Performance Tracking: Added performance monitoring and metrics
- Enhanced Error Handling: Comprehensive validation and user-friendly error messages
- Input Validation: Real-time validation for all user inputs
- Operation Feedback: Success messages showing operation counts and details
- Type Safety: Strict TypeScript configuration for better reliability
- Modern TypeScript: Upgraded from ES6 to ES2020 target with strict mode
- Updated Dependencies: Modern versions of TypeScript and VSCode APIs
- Improved UI: Better placeholders, validation messages, and user feedback
- Optimized Performance: Memoization for frequently called functions
- Code Organization: Better separation of concerns and cleaner architecture
- Error Messages: More descriptive and actionable error feedback
- Memory Leaks: Fixed potential memory issues with proper cleanup
- Edge Cases: Better handling of empty selections and invalid inputs
- Performance: Optimized newline detection algorithm
- Type Safety: Fixed various TypeScript type issues
- Added comprehensive error handling with custom error types
- Implemented performance tracking with decorators
- Added memoization for utility functions
- Enhanced input validation with real-time feedback
- Improved code documentation and comments
- Added debounced operations to prevent UI blocking
- Wrap Feature: Add wrap command using template with
$1placeholder - Template System: Support for custom wrap templates (e.g.,
console.log($1),alert($1))
- Index From: Start indexing from a custom number
- Combine With: Join lines using a custom separator
- Wrap Feature: Wrap lines using templates with
$1placeholder
- Improved command organization and categories
- Better user input handling for custom parameters
- Basic Index: Add numbered prefixes to lines
- Command Categories: Organized commands under "Edlin" category
- Better Menu Integration: Improved context menu organization
- Cross-Platform Support: Automatic handling of Windows (\r\n), Unix (\n), and Mac (\r) line endings
- Improved Trim Functions: Better handling of different whitespace characters
- MacOS Compatibility: Fixed trim function not working with '\r' line endings
- Line Ending Detection: Better detection and handling of different newline formats
- MacOS Trim Issue: Fixed trim function not working under MacOS for '\r' characters
- Plugin Grouping: Organized commands into specific groups in the context menu
- Combine Lines: Added functionality to combine multiple lines into one line
- Blank Line Removal: Fixed issue with removing blank lines in files using LF (\n) instead of CRLF (\r\n)
- Default Separator: Now uses default tab separator (\t) when no delimiter is selected
- Command Naming: Updated trim command names from "*trim" to "Trim *" for better clarity
- Trim Commands: Commands to remove whitespace from head or tail (left or right) of selected lines
- Remove Blank Lines: Command to remove empty lines from selection
- Context Menu Integration: All commands available in the right-click context menu
- Initial Release: Basic functionality for line editing operations