sql-cli 1.73.1

SQL query tool for CSV/JSON with both interactive TUI and non-interactive CLI modes - perfect for exploration and automation
Documentation
# SQL CLI Enhancements Summary

## Navigation Enhancements

### 1. Fixed Alt+[ (Jump to Previous Token)
- **Issue**: Alt+[ was not working properly
- **Fix**: Updated logic to handle cursor position within tokens correctly
- **Behavior**: 
  - If cursor is in the middle of a token, first jump goes to token start
  - Otherwise, jumps to the previous token

### 2. Token-Based Navigation
- **Alt+[** - Jump to previous SQL token
- **Alt+]** - Jump to next SQL token
- Uses the SQL lexer for intelligent token recognition

### 3. Word-Based Navigation (Already existed)
- **Ctrl+Left / Alt+B** - Move backward one word
- **Ctrl+Right / Alt+F** - Move forward one word

## Editing Enhancements

### 1. Delete Operations
- **Ctrl+W** - Delete word backward (with undo support)
- **Alt+D** - Delete word forward (with undo support)
- **Ctrl+K** - Kill line (delete from cursor to end of line)
- **Ctrl+U** - Kill line backward (delete from cursor to beginning)

### 2. Undo/Redo
- **Ctrl+Z** - Undo last edit
- Maintains undo stack (max 100 entries)
- All destructive operations save to undo stack

### 3. Kill Ring
- **Ctrl+Y** - Yank (paste from kill ring)
- Kill ring stores text deleted with Ctrl+K or Ctrl+U

## Status Bar Improvements

### Previous (Verbose Debug Info)
```
[CMD] Ready | Token: 3/5 | cursor_aware: AfterFrom | Suggestions: 2 | Complexity: simple
```

### New (Clean and Useful)
```
[CMD] Ready | Token 3/5 [FROM] | CSV: test_data | F1:Help F7:Cache q:Quit
```

### In Results Mode
```
[NAV] Query executed | Row 3/150 | FILTERED [age > 25] | F1:Help F7:Cache q:Quit
```

### Features:
- Shows current token position (e.g., Token 3/5)
- Displays the actual token at cursor in brackets (e.g., [FROM])
- In results mode, shows row position and filter status
- Removed verbose debug information

## CSV Mode Enhancements

### Table Name Completion
- When typing `SELECT * FROM <TAB>` in CSV mode, the table name is available for completion
- The table name is derived from the CSV filename (e.g., test_data.csv → test_data)
- Already implemented via `update_single_table` when loading CSV

## Implementation Details

### New Struct Fields Added
```rust
// Undo/redo and kill ring
undo_stack: Vec<(String, usize)>, // (text, cursor_pos)
redo_stack: Vec<(String, usize)>,
kill_ring: String,
```

### Key Functions Added
- `get_token_at_cursor()` - Returns the SQL token at cursor position
- `delete_word_forward()` - Deletes word forward from cursor
- `kill_line()` - Deletes from cursor to end of line
- `kill_line_backward()` - Deletes from cursor to beginning of line
- `undo()` - Restores previous state from undo stack
- `yank()` - Inserts kill ring content at cursor
- `jump_to_prev_token()` - Jumps to previous SQL token (fixed)
- `jump_to_next_token()` - Jumps to next SQL token

### Help Text Updated
Added new sections for Navigation and Editing in the F1 help display