sass_embedded_host_rust/
lib.rs

1//! A Rust library that will communicate with Embedded Dart Sass using the Embedded Sass Protocol
2//!
3//! ```no_run
4//! use sass_embedded_host_rust::{Sass, StringOptions};
5//!
6//! let mut sass = Sass::new("path/to/sass_embedded");
7//! let res = sass.compile_string("a {b: c}", StringOptions::default()).unwrap();
8//! println!("{:?}", res);
9//! ```
10//!
11//! # features
12//!
13//! - **`legacy`**: support for [sass's legacy APIs](https://sass-lang.com/documentation/js-api/modules#renderSync)
14//!
15
16#![forbid(unsafe_code)]
17// #![deny(missing_docs)]
18
19mod api;
20mod channel;
21mod compiler;
22mod connection;
23mod dispatcher;
24mod embedded;
25mod error;
26mod host;
27mod protocol;
28mod varint;
29
30#[cfg(feature = "legacy")]
31pub mod legacy;
32
33pub use api::{
34  CompileResult, FileImporter, Importer, ImporterOptions, ImporterResult,
35  Logger, LoggerDebugOptions, LoggerWarnOptions, Options, OptionsBuilder,
36  SassImporter, SassLogger, StringOptions, StringOptionsBuilder,
37};
38pub use embedded::{Embedded, Embedded as Sass};
39pub use error::{Exception, Result};
40pub use protocol::{OutputStyle, SourceSpan, Syntax};
41pub use url::{self, Url};
42
43#[derive(Debug, Default, Clone)]
44pub struct Silent;
45
46impl Logger for Silent {
47  fn debug(&self, _: &str, _: &LoggerDebugOptions) {}
48
49  fn warn(&self, _: &str, _: &LoggerWarnOptions) {}
50}