|  |  | @ -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: | 
			
		
	
	
		
		
			
				
					|  |  | 
 |