如何让 ocamlformat 忽略特定评论
How do I get ocamlformat to ignore a specific comment
我的代码中有一条注释指出二维数组中包含的内容:
(**
I
N H
F A
A B L A T E
B A I N T
R T H O U G H
A E A
S T
I N C I N E R A T E
V
E
*)
由于它的性质,它需要完全像这样格式化。但是,每当我 运行 ocamlformat
时,它都会重新格式化为如下所示:
(** I N H F A A B L A T E B A I N T R T H O U G H A E A S T I N C I
N E R A T E V E *)
我该如何解决这个问题?在不影响其他任何东西的情况下,我能得到的最接近的是:
let _ =
()
(*
I
N H
F A
A B L A T E
B A I N T
R T H O U G H
A E A
S T
I N C I N E R A T E
V
E
*)
[@ocamlformat "disable"]
但这不是很令人满意。这个评论应该附加到顶级项目,但我不能用这种方法做到这一点 b/c 然后 ocamlformat 将对整个项目禁用。我不知道如何只禁用评论格式。
您可以使用 [@@ocamlformat "wrap-comments=false"]
仅禁用评论换行功能,
let _ =
()
(*
I
N H
F A
A B L A T E
B A I N T
R T H O U G H
A E A
S T
I N C I N E R A T E
V
E
*)
[@@ocamlformat "wrap-comments=false"]
您也可以在 .ocamlformat
中禁用它,但由于它已经默认禁用,我认为它是有意为之的。您还可以在文件开头使用 [@@@ocamlformat "wrap-comments=false"]
在模块级别禁用该功能。
附带说明一下,如果您希望 ocamldoc 在生成的文档中保留注释的外观,您还应该将其包装在 verbatim 标签中,例如,以下内容将逐字呈现,
(**
{v
If P, then Q.
Not Q.
Therefore, not P.
v}
*)
我的代码中有一条注释指出二维数组中包含的内容:
(**
I
N H
F A
A B L A T E
B A I N T
R T H O U G H
A E A
S T
I N C I N E R A T E
V
E
*)
由于它的性质,它需要完全像这样格式化。但是,每当我 运行 ocamlformat
时,它都会重新格式化为如下所示:
(** I N H F A A B L A T E B A I N T R T H O U G H A E A S T I N C I
N E R A T E V E *)
我该如何解决这个问题?在不影响其他任何东西的情况下,我能得到的最接近的是:
let _ =
()
(*
I
N H
F A
A B L A T E
B A I N T
R T H O U G H
A E A
S T
I N C I N E R A T E
V
E
*)
[@ocamlformat "disable"]
但这不是很令人满意。这个评论应该附加到顶级项目,但我不能用这种方法做到这一点 b/c 然后 ocamlformat 将对整个项目禁用。我不知道如何只禁用评论格式。
您可以使用 [@@ocamlformat "wrap-comments=false"]
仅禁用评论换行功能,
let _ =
()
(*
I
N H
F A
A B L A T E
B A I N T
R T H O U G H
A E A
S T
I N C I N E R A T E
V
E
*)
[@@ocamlformat "wrap-comments=false"]
您也可以在 .ocamlformat
中禁用它,但由于它已经默认禁用,我认为它是有意为之的。您还可以在文件开头使用 [@@@ocamlformat "wrap-comments=false"]
在模块级别禁用该功能。
附带说明一下,如果您希望 ocamldoc 在生成的文档中保留注释的外观,您还应该将其包装在 verbatim 标签中,例如,以下内容将逐字呈现,
(**
{v
If P, then Q.
Not Q.
Therefore, not P.
v}
*)