This document outlines the development roadmap for PyNote, organized by milestones.
Status: ✅ In Progress
Core functionality for a basic text editor:
- Open / Save / Save As
- Undo / Redo
- Status bar (line/column)
- Basic keyboard shortcuts (Ctrl+S, Ctrl+O, Ctrl+Z, Ctrl+N)
- Menu system
- Line numbers
- Light / Dark theme toggle
- Autosave (configurable)
Target: Basic usable editor
Status: 🔜 Planned
Enhanced user experience:
- Line numbers gutter
- Theme system (light/dark)
- Autosave with configurable interval
- Word/character count in status bar
- Recent files menu
- About dialog
- Preferences dialog
- Settings persistence (JSON)
Target: Polished, user-friendly editor
Status: 🔜 Planned
Advanced editing capabilities:
- Tabbed editing (multiple files)
- Find & Replace dialog
- Find & Replace with regex support
- Syntax highlighting (Python, JavaScript, HTML)
- Go to Line dialog
- Drag-and-drop file opening
- Print support
- File encoding detection
Target: Feature-rich editor
Status: 🔜 Planned
Professional features:
- Markdown preview (split view)
- Mini-map (scaled preview)
- Spell checking (pyspellchecker integration)
- Code folding (Python indentation-based)
- Syntax-aware autocomplete
- Plugin system (hook-based)
- Plugin marketplace UI
- Customizable keybindings UI
Target: Extensible, professional editor
Status: 🔜 Planned
Stable release with:
- Comprehensive test coverage
- Complete documentation
- Performance optimizations
- Cross-platform testing
- Installer/packaging
- User guide
- Developer documentation
Target: Production-ready release
- Incremental syntax tokenizer for large files
- Rope data structure for >100k line files
- Optimized rendering
- Real-time collaborative editing (local LAN)
- Simple peer-to-peer syncing
- Mini-language server (LS) client
- Hover documentation
- Full-text search across project folder
See CONTRIBUTING.md for how to contribute. Issues are tagged with milestones and difficulty levels.
Current Focus: Complete v0.1 MVP features
Last updated: 2024