22个版本 (11个重大变更)
新 0.12.0 | 2024年8月14日 |
---|---|
0.11.0 | 2024年7月19日 |
0.10.0 | 2024年7月1日 |
0.6.0 | 2024年3月2日 |
0.2.1 | 2023年11月11日 |
#61 in 模板引擎
每月下载量616次
用于holochain_scaffolding_cli
220KB
5.5K SLoC
markup_fmt是一个可配置的HTML、Vue、Svelte、Astro、Angular、Jinja、Twig、Nunjucks和Vento格式化器。
基本用法
您可以使用format_text
函数格式化源代码字符串。
use markup_fmt::{config::FormatOptions, format_text, Language};
let options = FormatOptions::default();
assert_eq!("<div class=\"container\"></div>\n", &format_text(
"<div class=container></div>",
Language::Html,
&options,
|code, _| Ok::<_, std::convert::Infallible>(code.into()),
).unwrap());
有关配置的详细文档,请参阅GitHub上的配置。
如果源代码中有语法错误,它将返回 [Err
]
use markup_fmt::{config::FormatOptions, format_text, FormatError, Language, SyntaxError};
let options = FormatOptions::default();
assert!(matches!(
format_text(
"<div>",
Language::Html,
&options,
|code, _| Ok::<_, std::convert::Infallible>(code.into()),
).unwrap_err(),
FormatError::Syntax(SyntaxError { .. })
));
外部格式化器也可以返回 [Err
]。此错误将汇总并返回在 FormatError::External
use markup_fmt::{config::FormatOptions, format_text, FormatError, Language};
struct ExternalFormatterError;
let options = FormatOptions::default();
assert!(matches!(
format_text(
"<script>a</script>",
Language::Html,
&options,
|_, _| Err(ExternalFormatterError),
).unwrap_err(),
FormatError::External(errors) if !errors.is_empty()
));
依赖项
~1.4–2MB
~28K SLoC