Skip to content

Stupremee/displaydoc-lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

displaydoc-lite

Crates.io Documentation

Implement the Display trait using your standard doc comments.

This crate is a lite version of the popular crate displaydoc. It provides the same functionality but using a declarative macro instead and not depending on syn or quote.

This crate is also usable in no_std environments. No additional features are required for that.

Note: displaydoc-lite still has a proc-macro as a dependency, but it's very tiny and doesn't have any dependencies.

Example

use displaydoc_lite::displaydoc;

displaydoc! {
    #[derive(Debug)]
    pub enum DataStoreError {
        /// data store disconnected: {_0}
        Disconnect(io::Error),
        /// the data for key `{_0}` is not available
        Redaction(String),
        /// invalid header (expected {expected}, found {found})
        InvalidHeader {
            expected: String,
            found: String,
        },
        /// unknown data store error
        Unknown,
    }
}

Details

Listing of all supported syntax variants inside a {}:

  • {var} -> write!("{}", self.var)
  • {_0} -> write!("{}", self.0)
  • {var:?} -> write!("{:?}", self.var)
  • {_0:?} -> write!("{:?}", self.0)

License

Licensed under either Apache License or the MIT license.

About

Implement the Display trait using your normal doc comments.

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published