10个版本 (4个重大更改)
0.5.1 | 2024年2月25日 |
---|---|
0.5.0 | 2024年2月16日 |
0.4.0 | 2024年2月11日 |
0.3.0 | 2024年1月27日 |
0.1.1 | 2023年11月25日 |
在开发工具类别中排名118
每月下载量342
105KB
2.5K SLoC
yew-fmt
将增强HTML的Rust代码格式化成普通Rust代码
yew-fmt
是rustfmt
的替代品,这意味着它除了格式化之外,还格式化yew::html!
和yew::html_nested!
中的HTML。
安装 yew-fmt
安装它非常简单
cargo install yew-fmt
在项目中使用 yew-fmt
安装后,可以从命令行像 rustfmt
一样使用它。要验证这一点,请运行以下命令
yew-fmt --version
然而,因为它可以替换 rustfmt
,所以它可以作为 cargo fmt
命令的后端。要将它设置为机器上的默认格式化工具,导出环境变量 RUSTFMT
并将其设置为 yew-fmt
,在 Linux/MacOS 上可以使用以下命令
export RUSTFMT=yew-fmt
配置 yew-fmt
作为替代品,它继承了来自 rustfmt
的配置方法,这已在此处解释,所有 rustfmt
的配置选项也由 yew-fmt
支持。除此之外,yew-fmt
还提供了以下选项
yew.html_width
在回退到垂直格式化之前,HTML节点的最大宽度。
- 默认值:从
max_width
继承 - 可能值:任何正整数
yew.use_small_heuristics
与 yew.html_width
一起,不同类型的节点有不同的规则来决定何时断开。此选项控制使用哪些规则集。
- 默认值:从
use_small_heuristics
继承 - 可能的值:
"默认"
,"关闭"
,"最大"
默认
如果元素没有子元素或者所有子元素都是块级节点,则不会将它们拆分,否则会进行拆分。
if
节点总是会被拆分
<div>
<code>{ "panic!(" }{ msg }{ ")" }</code>
</div>
if condition {
<p>{ "Something else" }</p>
}
最大
元素只能因为超过 yew.html_width
而被拆分。
if
节点将保持在1行,除非它们超过 yew.html_width
<div><code>{ "panic!(" }{ msg }{ ")" }</code></div>
if condition { <p>{ "Something else" }</p> }
关闭
元素和 if
节点总是会被拆分
<div>
<code>
{ "panic!(" }
{ msg }
{ ")" }
</code>
</div>
if condition {
<p>
{ "Something else" }
</p>
}
yew.use_prop_init_shorthand
如果可能,使用属性初始化器缩写。
- 默认值:从
use_field_init_shorthand
继承 - 可能的值:
true
,false
false
<div id={id} />
true
<div {id} />
yew.unwrap_literal_prop_values
如果属性初始化器只包含字面量,则移除其大括号。
- 默认值:
true
- 可能的值:
true
,false
false
<div id={"foo"} class="bar" />
true
<div id="foo" class="bar" />
yew.self_close_elements
如果元素没有子元素,则使其成为自闭合元素。
- 默认值:
true
- 可能的值:
true
,false
false
<div id="foo"></div>
true
<div id="foo" />
yew.html_flavor
默认情况下,yew-fmt
使用 Yew 的原始语法格式化 HTML,然而,此功能允许切换使用的 HTML 风味以适应例如社区制作的变体。目前,唯一支持的语法变体是 yew-html-ext
- 默认值:
"Base"
- 可能的值:
"Base"
,"Ext"
Base
Yew 本身指定的默认语法。
Ext
yew-html-ext
的语法。
请注意,工作仍在进行中
由于该项目处于非常早期的开发阶段,rustfmt
的不是所有 CLI 选项都受支持,但该项目的最终目标是 100% 兼容性,因此下表中的所有 ❌ 最终将成为 🟩。
CLI 选项 | 支持 |
---|---|
--backup |
🟩 |
--check |
🟩 |
--color |
🟩 |
--config |
🟩 |
--config-path |
🟩 |
--edition |
🟩 |
--emit files |
🟩 |
--emit stdout |
🟩 |
--files-with-diff |
🟩 |
--print-config |
❌ |
--verbose |
❌ |
--quiet |
🟩 |
依赖项
~3–11MB
~98K SLoC