docs: add comprehensive README for todoer.nvim plugin
							parent
							
								
									12bae73dfd
								
							
						
					
					
						commit
						dce228f70a
					
				| @ -0,0 +1,75 @@ | ||||
| # Todoer.nvim - Enhanced TODO Management for Neovim | ||||
| 
 | ||||
| A Neovim plugin that provides enhanced TODO list management with smart handling of checkboxes, indentation, and list items in markdown and other text formats. | ||||
| 
 | ||||
| ## Features | ||||
| 
 | ||||
| ✅ **Current Functionality:** | ||||
| - Smart TODO item creation with `<leader>ti`, `<leader>ta`, `<leader>to` | ||||
| - Toggle checkboxes with `<leader>tt` | ||||
| - Remove TODO markup with `<leader>td` | ||||
| - Smart Enter key handling in insert mode: | ||||
|   - Creates new TODO items with proper indentation | ||||
|   - Handles empty TODO items by outdenting or terminating lists | ||||
| - Tab/Shift-Tab indentation for TODO items | ||||
| - Supports multiple list markers: `-`, `*`, `+` | ||||
| - Works with markdown, text, and norg files by default | ||||
| 
 | ||||
| ## Known Issues | ||||
| 
 | ||||
| 🐛 **Current Bugs:** | ||||
| - Tab indentation handling still uses feedkeys and needs refactoring | ||||
| - Shift-Tab behavior may not be consistent with spaces vs tabs | ||||
| - Edge cases with mixed indentation (spaces + tabs) not fully handled | ||||
| - Cursor positioning could be improved in some scenarios | ||||
| 
 | ||||
| ## Roadmap | ||||
| 
 | ||||
| 📌 **Planned Improvements:** | ||||
| - [ ] Refactor tab indentation to use proper buffer operations | ||||
| - [ ] Add support for numbered lists | ||||
| - [ ] Add support for nested TODO items with proper indentation | ||||
| - [ ] Add visual selection operations for multiple TODOs | ||||
| - [ ] Add commands for archiving completed items | ||||
| - [ ] Add support for custom TODO markers | ||||
| - [ ] Add support for custom checkbox states (e.g., `[ ]`, `[x]`, `[-]`) | ||||
| 
 | ||||
| ## Installation | ||||
| 
 | ||||
| Using [lazy.nvim](https://github.com/folke/lazy.nvim): | ||||
| 
 | ||||
| ```lua | ||||
| { | ||||
|     'your-username/todoer.nvim', | ||||
|     config = function() | ||||
|         require('todoer').setup({ | ||||
|             -- Optional: override default filetypes | ||||
|             filetypes = { 'markdown', 'text', 'norg' } | ||||
|         }) | ||||
|     end | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ## Configuration | ||||
| 
 | ||||
| Default configuration: | ||||
| 
 | ||||
| ```lua | ||||
| { | ||||
|     filetypes = { "markdown", "text", "norg" } -- Filetypes to activate the plugin for | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ## Keybindings | ||||
| 
 | ||||
| Normal Mode: | ||||
| - `<leader>ti` - Convert line to TODO (cursor after `] `) | ||||
| - `<leader>ta` - Convert line to TODO (cursor at end) | ||||
| - `<leader>to` - Insert new TODO line below | ||||
| - `<leader>tt` - Toggle checkbox state | ||||
| - `<leader>td` - Remove TODO markup | ||||
| 
 | ||||
| Insert Mode: | ||||
| - `<CR>` - Smart enter behavior for TODO items | ||||
| - `<Tab>` - Indent TODO item | ||||
| - `<S-Tab>` - Outdent TODO item | ||||
					Loading…
					
					
				
		Reference in New Issue