jgm / jgm/typst-hs

Better support for Typst `auto`

Open
#77 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Haskell
Stars
76
Forks
11
Avg merge
9h 5m
Merged PRs (30d)
1

Description

Currently we do have VAuto defined, but it works quite different from what Typst works.

In Typst, auto values are realized when it's actual rendered. For example, if I do #stroke().paint, I will see auto instead of an actual color.

To have support for more Typst functionalities (such as #76), refining the way that VAuto works would be important.

Specifically, these are desirable:

  • Functions can take VAuto as argument.
  • VAuto are actually stored as VAuto in constructs, not as a concrete default value.
  • VAuto are resolved to a concrete value later, whether when it's being converted to Pandoc AST, repr string, or an element.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing VAuto through function arguments, stored constructs, and the conversion paths to Pandoc AST, repr strings, and elements. Compare the current behavior with the listed Typst examples and establish tests showing that VAuto is preserved until each late-resolution boundary.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.