Skip to content

Refactor architecture for CLI support, add search, and implement file locking. - #1

Merged
Sakura-Ex merged 1 commit into
devfrom
feat/cli-support
Feb 7, 2026
Merged

Refactor architecture for CLI support, add search, and implement file locking.#1
Sakura-Ex merged 1 commit into
devfrom
feat/cli-support

Conversation

@Sakura-Ex

Copy link
Copy Markdown
Owner
  • Split commands.py into controller.py, mcdr_entry.py, and cli_entry.py to decouple business logic from MCDR API
  • Implement TodoController with advanced search functionality supporting multiple criteria, negation, and caching
  • Add __main__.py to allow running the plugin as a standalone CLI tool
  • Introduce FileLock and transaction context in TodoManager for safe concurrent data access
  • Add !!todo search command and update list and archive to utilize the new search logic
  • Update interface.py to support rendering arbitrary task lists with custom pagination prefixes
  • Relocate data storage to sf_tasks/tasks.json in the working directory to share state between MCDR and CLI
  • Add localization keys for search features in lang/zh_cn.json

… locking

- Split `commands.py` into `controller.py`, `mcdr_entry.py`, and `cli_entry.py` to decouple business logic from MCDR API
- Implement `TodoController` with advanced search functionality supporting multiple criteria, negation, and caching
- Add `__main__.py` to allow running the plugin as a standalone CLI tool
- Introduce `FileLock` and transaction context in `TodoManager` for safe concurrent data access
- Add `!!todo search` command and update `list` and `archive` to utilize the new search logic
- Update `interface.py` to support rendering arbitrary task lists with custom pagination prefixes
- Relocate data storage to `sf_tasks/tasks.json` in the working directory to share state between MCDR and CLI
- Add localization keys for search features in `lang/zh_cn.json`
@Sakura-Ex
Sakura-Ex merged commit 9c86231 into dev Feb 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant