From 5ffa18860e2ff094d653ff030af1645a660d5cbe Mon Sep 17 00:00:00 2001 From: "borja (aider)" Date: Wed, 30 Apr 2025 16:23:16 +0200 Subject: [PATCH] docs: update README with known issues and debugging info --- README.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bb1938..aed3c4f 100644 --- a/README.md +++ b/README.md @@ -20,13 +20,22 @@ A Neovim plugin that provides enhanced TODO list management with smart handling 🐛 **Current Bugs:** - Tab indentation handling still uses feedkeys and needs refactoring - Shift-Tab behavior may not be consistent with spaces vs tabs +- Enter key () 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 -- 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 📌 **Planned Improvements:** - [ ] 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 nested TODO items with proper indentation - [ ] 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 Default configuration: