Skip to content

Fix: break multiline comments#1122

Merged
gpetiot merged 7 commits intoocaml-ppx:masterfrom
gpetiot:break-multi-line-cmts
Nov 6, 2019
Merged

Fix: break multiline comments#1122
gpetiot merged 7 commits intoocaml-ppx:masterfrom
gpetiot:break-multi-line-cmts

Conversation

@gpetiot
Copy link
Copy Markdown
Collaborator

@gpetiot gpetiot commented Nov 4, 2019

Fix #912 and #1100, something similar could be done for docstrings to tackle #1043

The diff of test_branch.sh looks good.

This new behavior is only triggered when wrap-comments=false and when the first line of the comment is not empty (we don't want to indent the following lines of the comment if the first one is empty).

@gpetiot
Copy link
Copy Markdown
Collaborator Author

gpetiot commented Nov 6, 2019

@ceastlund does the new behavior proposed in this PR sound good to you?

@ceastlund
Copy link
Copy Markdown

Where should I look to understand the new behavior?

@gpetiot
Copy link
Copy Markdown
Collaborator Author

gpetiot commented Nov 6, 2019

As I wrote in the initial message, the new behavior (breaking a comment on newlines \n) is only triggered when wrap-comments=false (it's the case when using the janestreet profile) and when the first line of the comment is not empty (we don't want to indent the following lines of the comment if the first one is empty).

So if the first line of a comment is empty, the comment is not modified by this PR, meaning you may want to remove the empty lines at the beginning of comments to have them break properly.

@ceastlund
Copy link
Copy Markdown

Okay, yes, between that and reading the changes to JS test files, this change looks good. Thanks very much!

@gpetiot gpetiot requested a review from Julow November 6, 2019 16:28
Copy link
Copy Markdown
Collaborator

@Julow Julow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@gpetiot gpetiot merged commit bcb803e into ocaml-ppx:master Nov 6, 2019
@gpetiot gpetiot deleted the break-multi-line-cmts branch November 6, 2019 16:52
Julow added a commit to Julow/opam-repository that referenced this pull request Jan 28, 2020
CHANGES:

#### New features

  + Add an option `--margin-check` to emit a warning if the formatted output exceeds the margin (ocaml-ppx/ocamlformat#1110) (Guillaume Petiot)
  + Preserve comment indentation when `wrap-comments` is unset (ocaml-ppx/ocamlformat#1138, ocaml-ppx/ocamlformat#1159) (Jules Aguillon)
  + Improve error messages (ocaml-ppx/ocamlformat#1147) (Jules Aguillon)
  + Display standard output in the emacs plugin even when ocamlformat does not fail (ocaml-ppx/ocamlformat#1189) (Guillaume Petiot)

#### Removed

  + Remove `ocamlformat_reason` (ocaml-ppx/ocamlformat#254, ocaml-ppx/ocamlformat#1185) (Etienne Millon).
    This tool has never been released to opam, has no known users, and overlaps
    with what `refmt` can do.
  + Remove `ocamlformat-diff` (ocaml-ppx/ocamlformat#1205) (Guillaume Petiot)
    This tool has never been released to opam, has no known users, and overlaps
    with what `merge-fmt` can do.

#### Packaging

  + Work with base v0.13.0 (ocaml-ppx/ocamlformat#1163) (Jules Aguillon)

#### Bug fixes

  + Fix placement of comments just before a '|' (ocaml-ppx/ocamlformat#1203) (Jules Aguillon)
  + Fix build version detection when building in the absence of a git root (ocaml-ppx/ocamlformat#1198) (Anil Madhavapeddy)
  + Fix wrapping of or-patterns in presence of comments with `break-cases=fit` (ocaml-ppx/ocamlformat#1167) (Jules Aguillon)
    This also fixes an unstable comment bug in or-patterns
  + Fix an unstable comment bug in variant declarations (ocaml-ppx/ocamlformat#1108) (Jules Aguillon)
  + Fix: break multiline comments (ocaml-ppx/ocamlformat#1122) (Guillaume Petiot)
  + Fix: types on named arguments were wrapped incorrectly when preceding comments (ocaml-ppx/ocamlformat#1124) (Guillaume Petiot)
  + Fix the indentation produced by max-indent (ocaml-ppx/ocamlformat#1118) (Guillaume Petiot)
  + Fix break after Psig_include depending on presence of docstring (ocaml-ppx/ocamlformat#1125) (Guillaume Petiot)
  + Remove some calls to if_newline and break_unless_newline and fix break before closing brackets (ocaml-ppx/ocamlformat#1168) (Guillaume Petiot)
  + Fix unstable cmt in or-pattern (ocaml-ppx/ocamlformat#1173) (Guillaume Petiot)
  + Fix location of comment attached to the underscore of an open record (ocaml-ppx/ocamlformat#1208) (Guillaume Petiot)
  + Fix parentheses around optional module parameter (ocaml-ppx/ocamlformat#1212) (Christian Barcenas)
  + Fix grouping of horizontally aligned comments (ocaml-ppx/ocamlformat#1209) (Guillaume Petiot)
  + Fix dropped comments around module pack expressions (ocaml-ppx/ocamlformat#1214) (Jules Aguillon)
  + Fix regression of comment position in list patterns (ocaml-ppx/ocamlformat#1141) (Josh Berdine)
  + Fix: adjust definition of Location.is_single_line to reflect margin (ocaml-ppx/ocamlformat#1102) (Josh Berdine)

#### Documentation

  + Fix documentation of option `version-check` (ocaml-ppx/ocamlformat#1135) (Wilfred Hughes)
  + Fix hint when using `break-separators=after-and-docked` (ocaml-ppx/ocamlformat#1130) (Greta Yorsh)
bogdan2412 pushed a commit to bogdan2412/ocamlformat that referenced this pull request Mar 28, 2020
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.

ocamlformat mishandles multiple-line comments between named function arguments

4 participants