Skip to content
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

Dock 'object .. end' blocks in class signatures #2301

Merged
merged 6 commits into from
Mar 16, 2023

Conversation

Julow
Copy link
Collaborator

@Julow Julow commented Mar 16, 2023

This includes #2297
Fix #2288

Make class signatures more consistent with class structures. This does not make class signature consistent with function signatures yet but is a step in the right direction.

@gpetiot
Copy link
Collaborator

gpetiot commented Mar 16, 2023

Great job!

Do you think we could slightly improve the formatting of class c : 'a -> let open X in k for the Jane Street profile? We get:

class c : 'a
  -> let open X in
     k

Before the change it was formatted as:

class c :
  'a
  -> let open X in
     k

With the conventional profile we get:

class c : 'a ->
  let open X in
  k

@Julow
Copy link
Collaborator Author

Julow commented Mar 16, 2023

Considering that not everything can go after a let open, there can be a better formatting. I'd prefer not to block this PR too long though.

@gpetiot
Copy link
Collaborator

gpetiot commented Mar 16, 2023

Fair enough! All good to go then!

@Julow Julow merged commit cfce574 into ocaml-ppx:main Mar 16, 2023
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 18, 2023
…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)
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 18, 2023
…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)
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 18, 2023
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)
Julow added a commit to Julow/opam-repository that referenced this pull request Jul 19, 2023
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)
nberth pushed a commit to nberth/opam-repository that referenced this pull request Jun 18, 2024
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bad formatting of class signatures
2 participants