pseudo-lang 0.0.1

Reserved name for the Pseudo language. The actual crate will be published when v1.0 Ludens ships. See https://github.com/siliconyouth/pseudo for development.
Documentation
//! `pseudo-lang` — name reserved for the [Pseudo] language.
//!
//! The Pseudo language is currently in pre-v1 development. The actual
//! Rust runtime + compiler bindings will be published to crates.io when
//! v1.0 Ludens ships and Vladimir Dukelic personally tests + approves
//! the working version.
//!
//! Until then:
//!
//! - **Source**: <https://github.com/siliconyouth/pseudo>
//! - **Marketing**: <https://pseudo-lang.com> (lands at v1.0)
//! - **Spec**: in the GitHub repo under `docs/superpowers/specs/`
//! - **Compatibility matrix**: `COMPATIBILITY.md` in the repo
//! - **Standards conformance**: `CONFORMANCE.md` in the repo
//!
//! License: MIT OR Apache-2.0
//! Owner: Vladimir Dukelic <vladimir@dukelic.com>
//!
//! [Pseudo]: https://github.com/siliconyouth/pseudo

#![doc(html_root_url = "https://docs.rs/pseudo-lang/0.0.1")]

/// Reserved-name marker. Always `true` in this placeholder release.
pub const RESERVED: bool = true;

/// Pre-v1 development status.
pub const STATUS: &str = "pre-v1";

/// Marketing site URL (lands at v1.0).
pub const HOMEPAGE: &str = "https://pseudo-lang.com";

/// Upstream repository.
pub const REPOSITORY: &str = "https://github.com/siliconyouth/pseudo";

/// Print the reserved-name notice.
pub fn notice() -> &'static str {
    "\n  pseudo-lang — name reserved for the Pseudo language.\n\n  The actual crate will be published when v1.0 Ludens ships.\n  Source: https://github.com/siliconyouth/pseudo\n"
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn reserved() {
        assert!(RESERVED);
        assert_eq!(STATUS, "pre-v1");
        assert!(notice().contains("pseudo-lang"));
    }
}