Skip to content

v0.3.0

Choose a tag to compare

@trag1c trag1c released this 15 Apr 18:00
· 28 commits to main since this release
a1eaa9d

Added

  • A command-line interface
  • Python 3.9 support
  • CodeBlock objects now return the fenced Markdown code block form when converted to string
  • Style objects can now be created from strings, e.g. Style.from_string("cyan+bold") is the same as Style(Color.Cyan, bold=True)

Changed

  • Most of the parsing/highlighting logic was moved to Rust, leading to significant speedups for both small (<300 lines) and large (>10k lines) inputs:
    • highlight_zig_code is 4–10x faster for small inputs and ~300x faster for large inputs
    • process_markdown(only_code=False) is 3–6x faster for small inputs and ~50x faster for large inputs
    • process_markdown(only_code=True) is ~4x faster for all inputs
    • extract_codeblocks is ~10% faster for large inputs
  • Color:
    • can no longer be instantiated with Color["red"], use Color.from_string("red") instead
    • members now use PascalCase names, e.g. Color.BLUE is now Color.Blue
  • extract_codeblocks:
    • no longer strips CR and LF characters
    • now returns a list instead of an iterator
  • Theme keys are now PascalCase instead of snake_case