Roadmap
This document outlines the development status and future plans for the Checkbox Sync plugin. It is divided into the main focus for the upcoming release and a backlog of ideas for future versions.
(Note: This roadmap is tentative and priorities may shift.)
Next Release Candidates
This section lists the main features and technical work currently planned or in progress for the next release.
- [Feature] File/Folder Scope Filter: Implement settings to include or exclude specific files or folders where the plugin should be active.
- [Feature] Logging Toggle: Add a setting to enable/disable detailed logging for debugging purposes.
- [Feature] Support Non-Checkbox Nodes: Allow regular list items (e.g.,
- Parent Item
without[ ]
) to function as structural nodes within the hierarchy for synchronization logic. - [Feature] Configurable Checkbox Character (Auto-Update): Add a setting to define which character is used to mark checkboxes when automatically updated by the plugin.
- [Tech] Overhaul List Parsing Logic: Replace the current line-based parsing with a more robust tree-based approach to improve accuracy and maintainability.
Future Ideas / Backlog
- [Feature] List Reordering Functionality: Explore and potentially implement list item reordering features, possibly inspired by approaches like obsidian-checkboxReorder (e.g., moving completed items).
- [Tech] Improve Change Detection: Investigate using a library like
jsdiff
to more accurately detect and react to specific changes within files, potentially improving performance and reliability. - [Tech] Refactor Settings Handling: Change how settings are used internally. Instead of passing the settings object by reference, create a new instance of
CheckboxUtils
(or relevant class) when settings are modified to ensure proper state isolation and updates.
Contributions and suggestions are welcome! Please open an issue to discuss these items or suggest new ones.