-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JaneStreet profile: treat comments as doc-comments #2261
Conversation
557c12d
to
adc0fe5
Compare
@ceastlund: does this new behavior look good to you? |
I'm not quite sure I understand the change here. I believe ocp-indent may change the indentation of the opening |
6b75259
to
14b78c2
Compare
@ceastlund: The issue is, contrary to ocp-indent, we cannot predict where the comment will be printed on the next round (ocamlformat is looking for a fixpoint) of formatting. If we try to preserve the line offset, it will still be shifted when formatting inside a comment. A few months ago we added a new type of comments (prefixed by type t =
{ field : ty
(*= Here is some verbatim formatted text:
starting at column 7
*)
} Would that solution be acceptable for the comments you need to preserve in Jane Street's codebase? Maybe this verbatim issue only affects a low count of comments, and most of them are fine by being vertically left-aligned like it's done in this PR? (ignoring the |
Oh, I see, you're trying to move stuff relative to the comment itself. I'd say don't bother with that. Treat |
You are right, according to Odoc's parser (that is not used here but I think make sense to mention), the content of a verbatim shouldn't change, even its indentation. |
14b78c2
to
91e0d26
Compare
fcfbe3d
to
b896313
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get a crash on this input: (profile janestreet)
(*
Foo
*)
(Invalid_argument "Negative position: -3")
79a514f
to
1a81152
Compare
93616a4
to
7eb8100
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I fixed the conflicts, you can merge :)
…camlformat-bench (0.26.0) CHANGES: ### Removed - Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot) ### Deprecated ### Bug fixes - Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow) - Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow) - Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow) - Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow) - Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow) - Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot) * Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow) * Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot) - Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot) - Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot) - Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow) ### Changes - Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow) Remove unnecessary escaping and preserve empty lines. * Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow) - Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow) * Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow) * Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow) - Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow) It was formatted differently than `@@ let x = ...`. * Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow) * Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow) * Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow) * Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow) * Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow) The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body. - JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow) - Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow) ### New features - Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot) - Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
…camlformat-bench (0.26.0) CHANGES: ### Removed - Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot) ### Deprecated ### Bug fixes - Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow) - Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow) - Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow) - Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow) - Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow) - Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot) * Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow) * Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot) - Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot) - Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot) - Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow) ### Changes - Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow) Remove unnecessary escaping and preserve empty lines. * Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow) - Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow) * Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow) * Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow) - Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow) It was formatted differently than `@@ let x = ...`. * Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow) * Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow) * Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow) * Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow) * Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow) The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body. - JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow) - Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow) ### New features - Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot) - Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
CHANGES: ### Removed - Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot) ### Deprecated ### Bug fixes - Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow) - Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow) - Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow) - Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow) - Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow) - Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot) * Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow) * Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot) - Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot) - Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot) - Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow) ### Changes - Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow) Remove unnecessary escaping and preserve empty lines. * Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow) - Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow) * Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow) * Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow) - Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow) It was formatted differently than `@@ let x = ...`. * Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow) * Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow) * Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow) * Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow) * Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow) The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body. - JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow) - Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow) ### New features - Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot) - Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
CHANGES: ### Removed - Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot) ### Deprecated ### Bug fixes - Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow) - Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow) - Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow) - Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow) - Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow) - Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot) * Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow) * Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot) - Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot) - Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot) - Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow) ### Changes - Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow) Remove unnecessary escaping and preserve empty lines. * Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow) - Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow) * Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow) * Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow) - Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow) It was formatted differently than `@@ let x = ...`. * Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow) * Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow) * Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow) * Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow) * Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow) The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body. - JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow) - Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow) ### New features - Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot) - Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
CHANGES: ### Removed - Remove `--numeric` feature (ocaml-ppx/ocamlformat#2333, ocaml-ppx/ocamlformat#2357, @gpetiot) ### Deprecated ### Bug fixes - Fix crash caused by `let f (type a) :> a M.u = ..` (ocaml-ppx/ocamlformat#2399, @Julow) - Fix crash caused by `module T = (val (x : (module S)))` (ocaml-ppx/ocamlformat#2370, @Julow) - Fix invalid formatting of `then begin end` (ocaml-ppx/ocamlformat#2369, @Julow) - Protect match after `fun _ : _ ->` (ocaml-ppx/ocamlformat#2352, @Julow) - Fix invalid formatting of `(::)` (ocaml-ppx/ocamlformat#2347, @Julow) - Fix indentation of module-expr extensions (ocaml-ppx/ocamlformat#2323, @gpetiot) * Remove double parentheses around tuples in a match (ocaml-ppx/ocamlformat#2308, @Julow) * Remove extra parentheses around module packs (ocaml-ppx/ocamlformat#2305, @Julow, @gpetiot) - Fix indentation of trailing double-semicolons (ocaml-ppx/ocamlformat#2295, @gpetiot) - Fix formatting of comments in "disable" chunks (ocaml-ppx/ocamlformat#2279, @gpetiot) - Fix non-stabilizing comments attached to private/virtual/mutable keywords (ocaml-ppx/ocamlformat#2272, ocaml-ppx/ocamlformat#2307, @gpetiot, @Julow) ### Changes - Improve formatting of doc-comments (ocaml-ppx/ocamlformat#2338, ocaml-ppx/ocamlformat#2349, ocaml-ppx/ocamlformat#2376, ocaml-ppx/ocamlformat#2377, ocaml-ppx/ocamlformat#2379, ocaml-ppx/ocamlformat#2378, @Julow) Remove unnecessary escaping and preserve empty lines. * Indent `as`-patterns that have parentheses (ocaml-ppx/ocamlformat#2359, @Julow) - Don't print warnings related to odoc code-blocks when '--quiet' is set (ocaml-ppx/ocamlformat#2336, ocaml-ppx/ocamlformat#2373, @gpetiot, @Julow) * Improve formatting of module arguments (ocaml-ppx/ocamlformat#2322, @Julow) * Don't indent attributes after a let/val/external (ocaml-ppx/ocamlformat#2317, @Julow) - Consistent indentation of `@@ let+ x = ...` (ocaml-ppx/ocamlformat#2315, ocaml-ppx/ocamlformat#2396, @Julow) It was formatted differently than `@@ let x = ...`. * Improve formatting of class expressions and signatures (ocaml-ppx/ocamlformat#2301, ocaml-ppx/ocamlformat#2328, ocaml-ppx/ocamlformat#2387, @gpetiot, @Julow) * Consistent indentation of `fun (type a) ->` following `fun x ->` (ocaml-ppx/ocamlformat#2294, @Julow) * Restore short-form formatting of record field aliases (ocaml-ppx/ocamlformat#2282, ocaml-ppx/ocamlformat#2388, @gpetiot, @Julow) * Restore short-form for first-class modules: `((module M) : (module S))` is formatted as `(module M : S)`) (ocaml-ppx/ocamlformat#2280, ocaml-ppx/ocamlformat#2300, @gpetiot, @Julow) * Improve indentation of `~label:(fun ...` (ocaml-ppx/ocamlformat#2271, ocaml-ppx/ocamlformat#2291, ocaml-ppx/ocamlformat#2293, ocaml-ppx/ocamlformat#2298, ocaml-ppx/ocamlformat#2398, @Julow) The `fun` keyword is docked where possible and the arguments are indented to avoid confusion with the body. - JaneStreet profile: treat comments as doc-comments (ocaml-ppx/ocamlformat#2261, ocaml-ppx/ocamlformat#2344, ocaml-ppx/ocamlformat#2354, ocaml-ppx/ocamlformat#2365, ocaml-ppx/ocamlformat#2392, @gpetiot, @Julow) - Tweaks the JaneStreet profile to be more consistent with ocp-indent (ocaml-ppx/ocamlformat#2214, ocaml-ppx/ocamlformat#2281, ocaml-ppx/ocamlformat#2284, ocaml-ppx/ocamlformat#2289, ocaml-ppx/ocamlformat#2299, ocaml-ppx/ocamlformat#2302, ocaml-ppx/ocamlformat#2309, ocaml-ppx/ocamlformat#2310, ocaml-ppx/ocamlformat#2311, ocaml-ppx/ocamlformat#2313, ocaml-ppx/ocamlformat#2316, ocaml-ppx/ocamlformat#2362, ocaml-ppx/ocamlformat#2363, @gpetiot, @Julow) ### New features - Handle short syntax for generative functor types (ocaml-ppx/ocamlformat#2348, @gpetiot) - Improved error reporting for unstable or dropped comments (ocaml-ppx/ocamlformat#2292, @gpetiot)
Bringing the
janestreet
profile closer to what ocp-indent is producing.Here is how the diff is reduced on the js_source test:
{v v}
:{v v}
: