# hcl-primitives [![Build Status](https://github.com/martinohmann/hcl-rs/workflows/ci/badge.svg)](https://github.com/martinohmann/hcl-rs/actions?query=workflow%3Aci) [![crates.io](https://img.shields.io/crates/v/hcl-primitives)](https://crates.io/crates/hcl-primitives) [![docs.rs](https://img.shields.io/docsrs/hcl-primitives)](https://docs.rs/hcl-primitives) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) Primitives used by the HCL sub-languages. It is recommended to use [`hcl-rs`](https://docs.rs/hcl-rs) or [`hcl-edit`](https://docs.rs/hcl-edit) instead of depending on `hcl-primitives` directly. ## Cargo features The following features are available: * `perf`: enables parser performance optimizations such as inlining of small strings on the stack. This feature is disabled by default. Enabling it will pull in `kstring` as a dependency. The `perf` feature depends on the `std` feature and enables it automatically. * `serde`: Provides [`Serialize`](https://docs.rs/serde/latest/serde/ser/trait.Serialize.html) and [`Deserialize`](https://docs.rs/serde/latest/serde/de/trait.Deserialize.html) implementations for various types within this crate. This feature is disabled by default. Enabling it will pull in `serde` as a dependency. * `std`: Use the Rust Standard Library as a dependency. Disabling this feature will allow usage in `#![no_std]` environments. This feature is enabled by default. ## Contributing Contributions are welcome! Please read [`CONTRIBUTING.md`](https://github.com/martinohmann/hcl-rs/blob/main/CONTRIBUTING.md) before creating a PR. ## License The source code of hcl-primitives is licensed under either of [Apache License, Version 2.0](https://github.com/martinohmann/hcl-rs/blob/main/LICENSE-APACHE) or [MIT license](https://github.com/martinohmann/hcl-rs/blob/main/LICENSE-MIT) at your option.