Skip to content

Latest commit

 

History

History
64 lines (57 loc) · 3.47 KB

File metadata and controls

64 lines (57 loc) · 3.47 KB

taskmark

Parse and mutate taskmark-spec markdown.

Architecture

┌─────────────────────────────────────────────────┐
│              Public API (__init__.py)           │
│         loads() / load() / update()             │
└─────────────────────────────────────────────────┘
                        │
            ┌───────────┴───────────┐
            ▼                       ▼
┌───────────────────────┐ ┌─────────────────────────┐
│     _parser.py        │ │      _loader.py         │
│  Lark parser + xform  │ │  Multi-file link loader │
└───────────────────────┘ └─────────────────────────┘
            │                       │
            └───────────┬───────────┘
                        ▼
┌─────────────────────────────────────────────────┐
│                 _resolver.py                    │
│     InheritanceResolver (context stack)         │
└─────────────────────────────────────────────────┘
                        │
            ┌───────────┴───────────┐
            ▼                       ▼
┌───────────────────────┐ ┌─────────────────────────┐
│     _mutator.py       │ │      _writer.py         │
│   Task mutation       │ │   File writing          │
└───────────────────────┘ └─────────────────────────┘
                        │
                        ▼
┌─────────────────────────────────────────────────┐
│                  _types.py                      │
│         Task, TaskStore, TaskChanges            │
└─────────────────────────────────────────────────┘

Modules

Module Purpose
__init__.py Public API
_parser.py Lark parser + frontmatter extraction
_transformer.py Parse tree → objects
_resolver.py Inheritance resolution
_loader.py Multi-file loading
_mutator.py Task mutation logic
_recurrence.py Recurrence pattern calculation
_dates.py Pendulum date utilities
_writer.py File writing
_types.py Type definitions
grammar.lark Lark grammar

Documentation

File Purpose
types.md Task, TaskStore, mutation types
behavior.md Parse/mutate operations
grammar.md Lark grammar, terminals
inheritance.md Heading/subtask inheritance