sql-cli 1.67.2

SQL query tool for CSV/JSON with both interactive TUI and non-interactive CLI modes - perfect for exploration and automation
Documentation
# V10 Branch - Search Modes Complete Refactor

## Summary
All search modes have been unified under the `SearchModesWidget` with consistent behavior:
- Debounced search-as-you-type
- SQL query preservation
- Comprehensive logging
- Case-insensitive support

## All Search Modes Fixed

### 1. Column Search (`\`)
- **Fixed**: Duplicate key handler causing double trigger
- **Fixed**: Tab/Shift-Tab navigation between matching columns
- **Fixed**: SQL query restoration when exiting
- **Added**: Comprehensive debug logging
- **Status**: ✅ FULLY WORKING

### 2. Filter Mode (`Shift+F` or `F`)  
- **Fixed**: Case-insensitive matching with `(?i)` regex flag
- **Fixed**: Filter clearing on cancel (Esc)
- **Fixed**: Re-filtering when backspacing (shows more results)
- **Added**: Debug logging showing match counts
- **Status**: ✅ FULLY WORKING

### 3. Fuzzy Filter (`f`)
- **Fixed**: SQL query preservation
- **Fixed**: Integration with SearchModesWidget
- **Added**: Debouncing support
- **Added**: Debug logging
- **Status**: ✅ FULLY WORKING

### 4. Search Mode (`/`)
- **Fixed**: SQL query preservation  
- **Fixed**: Integration with SearchModesWidget
- **Added**: Debouncing support
- **Added**: Debug logging
- **Status**: ✅ FULLY WORKING

## Key Improvements

### 1. Unified Architecture
All search modes now use `SearchModesWidget`:
- Consistent debouncing (500ms)
- Saves SQL when entering mode
- Restores SQL when exiting
- Handles Tab/Shift-Tab for navigation (where applicable)

### 2. Comprehensive Logging
- `SET_INPUT_TEXT` - logs every input change
- `SET_INPUT_TEXT_WITH_CURSOR` - logs with cursor position
- Mode-specific debug logs showing:
  - Pattern being searched
  - Case-insensitive setting
  - Number of matches found
  - Mode transitions

### 3. F5 Debug View Enhanced
Shows complete state for all search modes:
- Current pattern
- Match counts
- Widget state (active/inactive)
- Debouncer state
- Column search matches

### 4. Fixed Issues
- No more duplicate key handlers
- Proper case-insensitive support
- Filter clearing works correctly
- SQL query always preserved
- Tab navigation works in column search

## Testing Checklist

### Column Search Test
1. Execute query: `SELECT * FROM table`
2. Press `\` to enter column search
3. Type pattern (e.g., "order")
4. Verify debounced search finds columns
5. Use Tab/Shift-Tab to navigate
6. Press Enter to jump to column
7. Press `c` to return to Command mode
8. ✅ SQL query should be restored

### Filter Test  
1. Execute query: `SELECT * FROM table`
2. Press `Shift+F` to enter filter mode
3. Type pattern (e.g., "unconfir")
4. Verify debounced filtering
5. Backspace to shorter pattern
6. Verify more results appear
7. Press Esc to cancel
8. ✅ All results should be restored

### Fuzzy Filter Test
1. Execute query: `SELECT * FROM table`
2. Press `f` to enter fuzzy filter
3. Type pattern
4. Verify fuzzy matching works
5. Press Enter or Esc
6. ✅ SQL query should be restored

### Search Test
1. Execute query: `SELECT * FROM table`
2. Press `/` to enter search
3. Type pattern
4. Verify search highlights
5. Use `n`/`N` to navigate matches
6. Press Enter or Esc
7. ✅ SQL query should be restored

## Code Quality

### Removed
- Duplicate key handlers for all search keys (/, \, F, f)
- Dead code (legacy handlers not being called)

### Added
- Consistent logging throughout
- Proper error handling
- Case-insensitive support for filters

## Ready for Merge
The v10 branch search modes refactor is complete and ready for merge. All search modes:
- Follow the same pattern
- Have comprehensive logging
- Preserve SQL properly
- Support debouncing
- Respect case-insensitive settings

## Next Steps (v11 branch)
- Consider removing dead code (legacy handlers)
- Further UI enhancements
- Performance optimizations