|
|
@ -20,13 +20,22 @@ A Neovim plugin that provides enhanced TODO list management with smart handling
|
|
|
|
🐛 **Current Bugs:**
|
|
|
|
🐛 **Current Bugs:**
|
|
|
|
- Tab indentation handling still uses feedkeys and needs refactoring
|
|
|
|
- Tab indentation handling still uses feedkeys and needs refactoring
|
|
|
|
- Shift-Tab behavior may not be consistent with spaces vs tabs
|
|
|
|
- Shift-Tab behavior may not be consistent with spaces vs tabs
|
|
|
|
|
|
|
|
- Enter key (<CR>) handling has several issues:
|
|
|
|
|
|
|
|
- Doesn't properly handle empty lines after TODO items
|
|
|
|
|
|
|
|
- Cursor positioning can be incorrect in some cases
|
|
|
|
|
|
|
|
- Outdenting behavior is inconsistent
|
|
|
|
- Edge cases with mixed indentation (spaces + tabs) not fully handled
|
|
|
|
- Edge cases with mixed indentation (spaces + tabs) not fully handled
|
|
|
|
- Cursor positioning could be improved in some scenarios
|
|
|
|
- Cursor positioning could be improved in several scenarios
|
|
|
|
|
|
|
|
- Debug output is currently only enabled for Tab/Shift-Tab but not other operations
|
|
|
|
|
|
|
|
|
|
|
|
## Roadmap
|
|
|
|
## Roadmap
|
|
|
|
|
|
|
|
|
|
|
|
📌 **Planned Improvements:**
|
|
|
|
📌 **Planned Improvements:**
|
|
|
|
- [ ] Refactor tab indentation to use proper buffer operations
|
|
|
|
- [ ] Refactor tab indentation to use proper buffer operations
|
|
|
|
|
|
|
|
- [ ] Fix Enter key handling for all cases
|
|
|
|
|
|
|
|
- [ ] Add consistent debug output for all operations
|
|
|
|
|
|
|
|
- [ ] Improve cursor positioning logic
|
|
|
|
|
|
|
|
- [ ] Handle empty lines and edge cases better
|
|
|
|
- [ ] Add support for numbered lists
|
|
|
|
- [ ] Add support for numbered lists
|
|
|
|
- [ ] Add support for nested TODO items with proper indentation
|
|
|
|
- [ ] Add support for nested TODO items with proper indentation
|
|
|
|
- [ ] Add visual selection operations for multiple TODOs
|
|
|
|
- [ ] Add visual selection operations for multiple TODOs
|
|
|
@ -50,6 +59,28 @@ Using [lazy.nvim](https://github.com/folke/lazy.nvim):
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Debugging Recommendations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To help diagnose issues, you can:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Add `debug_line()` calls to key functions like `press_enter()`
|
|
|
|
|
|
|
|
2. Create a debug mode that can be toggled via:
|
|
|
|
|
|
|
|
```lua
|
|
|
|
|
|
|
|
local debug_mode = false
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Make debug output more structured with timestamps and operation types
|
|
|
|
|
|
|
|
4. Log cursor positions before/after operations
|
|
|
|
|
|
|
|
5. Add validation of line states after modifications
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example debug output format:
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
[DEBUG] [TIMESTAMP] [OPERATION]
|
|
|
|
|
|
|
|
Line: 42
|
|
|
|
|
|
|
|
Before: {indent=" ", marker="-", is_todo=true}
|
|
|
|
|
|
|
|
After: {indent=" ", marker="-", is_todo=true}
|
|
|
|
|
|
|
|
Cursor: {lnum=42, col=6} -> {lnum=43, col=4}
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
|
|
|
|
Default configuration:
|
|
|
|
Default configuration:
|
|
|
|