ceastlund
ceastlund
Currently, ocamlformat moves `@inline` attributes to the end of a functor declaration: ```ocaml module Make (M : S) = struct end [@@inline] ``` When the body of the functor is...
**Describe the bug** ``` let _ = 1 + (* ____________________ *) (* ____________________ *) 2 ;; ``` **How to Reproduce** With `--profile=janestreet`, gives the following error: ``` BUG: formatting...
**Is your feature request related to a problem? Please describe.** Right now, ocamlformat can generate code like this: ``` if peacetime then do_nothing () else get_launch_authorization_exn ~from:missile_silo ~for:target ~authorization:current_user; launch_the_missiles...
**Current behavior** Currently, `not a && not b` gets styled to `(not a) && not b`. There are similar issues with other forms without terminating delimiters, like `match`, where they...
**Describe the bug** This code: ``` let _ = match x with | None -> ((* comment preceding [try] *) try f () with | exn -> raise exn) |...
**Describe the bug** The last line of this definition should be wrapped, but isn't: ``` let _ = match () with | _ -> (match () with | _ ->...
**Describe the bug** The nested expression should be wrapped, the line exceeds 90 characters. ``` let _ = [%str let () = very_long_function_name__________________ very_long_argument_name____________] ;; ``` **How to Reproduce** ocamlformat...
`let () = match () with Core.[] -> ()` fails, reporting `Core.[]` as having an identifier overlapping a pattern. I believe this is ultimately a parser bug in the source...
Addresses #363 about the associativity of `esequence`, and how this makes `deriving_inline` and `ocamlformat` clash. While I'm at it, update comment in `ppx_foo_deriver.ml` to reflect the module definition it generates.
Apparently the ocaml parser gives the body of a let+ the same location as the whole let+ expression. This makes the locations check in ppxlib fail for any ppx that...