`cmd/gofmt: 重新格式化嵌套列表会移除现有注解中显式编写的层次结构,`

rwqw0loc  于 5个月前  发布在  Go
关注(0)|答案(4)|浏览(42)

在保存一些现有的复杂注解到一些现有的Go代码中,这些代码使用了嵌套列表,我非常惊讶地发现列表被展平了,因此剥离了分层信息。
文档指出不支持嵌套列表,这是可以接受的,提案阶段的新语法对我来说是有道理的(至少在我跟得上的时候),但是格式化程序应该保留它找到的嵌套列表,特别是作者的原始意图已经是“预格式化块”。渲染器的职责是在不支持嵌套列表时无法渲染它们,而不是在假设嵌套列表本来就不应该存在的情况下剥夺有价值的信息。
对于其他对此感到惊讶的人,我一直在尝试两个特定的解决方法(我相信还有更多):
在每行开头添加 > ,markdown引用样式。这无法渲染,但实际上渲染不是我的问题,意图非常明确,所以这是我目前正在尝试的方法:

> - foo
>   - bar
>     - baz
>   - qux
> - yep

在注解开头放置一个非列表行也会阻止自动展平:

Nobork:
  - foo
    - bar
      - baz
    - qux
  - yep

你使用的Go版本是什么( go version )?

$ go version go1.19 darwin/arm64

这个问题在最新版本的发布中是否会重现?

是的

你做了什么?

我保存了一个包含以下注解的文件(有几层更深)

Here is a hierarchical explanation using nested lists of something complex
that nested lists were a good way to demonstrate:

  - foo
    - bar
      - baz
    - qux
  - yep

你看到了什么?

Here is a hierarchical explanation using nested lists of something complex
that nested lists were a good way to demonstrate:

  - foo
  - bar
  - baz
  - qux
  - yep
hgc7kmma

hgc7kmma1#

假设这是一个godoc注解,你的分层列表在pkg.go.dev上是如何呈现的?

gk7wooem

gk7wooem2#

这已经在新的Go Doc Comments文档的"常见错误和陷阱"部分中列出,作为倒数第二个示例:https://go.dev/doc/comment#mistakes。

相关问题