codespan

Beautiful diagnostic reporting for text-based programming languages - crystal port of rust codespan

Beautiful diagnostic reporting for text-based programming languages - crystal port of rust codespan
A Crystal-native port focused on faithful diagnostic behavior.

Architecture · Development · Guidelines · Testing · PR Workflow · Porting Parity


codespan transforms compiler errors into readable diagnostics - spanning code regions to provide context and clarity where it matters most. This Crystal port keeps the precision and clarity of rust-codespan while adapting implementation details to Crystal idioms. The goal is diagnostic output that feels native in Crystal but stays behaviorally anchored to the Rust reference.


Quick Start

  1. Install dependencies:
shards install
  1. Run specs:
crystal spec

Features

  • Crystal shard scaffold ready for incremental rust-codespan parity porting.
  • Dedicated spec/ suite for behavior verification.
  • Project docs and workflows aligned to parity-first development.

Installation

  1. Add the dependency to your shard.yml:
dependencies:
  codespan:
    github: dsisnero/codespan
  1. Run shards install.

Usage

require "codespan"

Development

shards install
crystal tool format --check src spec
ameba src spec
crystal spec

See Development Guide for full setup instructions.

Documentation

Document Purpose
Architecture System design and data flow
Development Setup and daily workflow
Coding Guidelines Code style and conventions
Testing Test commands and patterns
PR Workflow Commits, PRs, and review process
Porting Parity Upstream source pinning and parity tracking ledger

Contributing

  1. Create an issue: /forge-create-issue
  2. Implement: /forge-implement-issue <number>
  3. Self-review: /forge-reflect-pr
  4. Address feedback: /forge-address-pr-feedback
  5. Update changelog: /forge-update-changelog

Contributors

Repository

codespan

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 3
  • about 9 hours ago
  • March 6, 2026
License

MIT License

Links
Synced at

Fri, 06 Mar 2026 19:52:30 GMT

Languages