[Enhancement] Extension scopes
- Dominant language
- Kotlin
- Stars
- 16.1k
- Forks
- 499
- Avg merge
- 5h 55m
- Merged PRs (30d)
- 56
Description
### Before submitting
- [x] I am using the latest version of Quarkdown.
- [x] I have checked the [wiki](https://quarkdown.com/wiki) to confirm this feature doesn't already exist.
- [x] I have searched existing [issues](https://github.com/iamgio/quarkdown/issues) for duplicates.
### Description
Should allow `.extend` in scopes to only act within that scope, including primitive extensions.
### Proposed syntax or behavior
```markdown
.if {yes}
.extend {heading}
.super foreground:{blue}
# Blue
# Not blue
```
### Additional context
_No response_
Contributor guide
Research direction
Start by tracing how `.extend` is parsed and applied within `.if` scopes, including primitive extensions. Use the proposed example as the first verification case: the heading inside the scope should be blue, while the heading after the scope should not be. Done means scoped extensions no longer affect content outside their scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100