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