Skip to content

Preserve comment indentation#1138

Merged
Julow merged 4 commits intoocaml-ppx:masterfrom
Julow:preserve_cmt_indent
Nov 15, 2019
Merged

Preserve comment indentation#1138
Julow merged 4 commits intoocaml-ppx:masterfrom
Julow:preserve_cmt_indent

Conversation

@Julow
Copy link
Copy Markdown
Collaborator

@Julow Julow commented Nov 12, 2019

Closes #1132

Instead of stripping all indentation, only remove the indentation common to all the lines of the comment.

I intentionally add a regression: remove trailing empty lines. This add no diffs with test_branch, what do you think ?

@Julow Julow requested a review from gpetiot November 12, 2019 16:27
@facebook-github-bot
Copy link
Copy Markdown

Hi Julow! Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file.In order for us to review and merge your code, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

@Julow Julow requested review from emillon and gpetiot and removed request for gpetiot November 12, 2019 16:27
@facebook-github-bot
Copy link
Copy Markdown

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

@gpetiot
Copy link
Copy Markdown
Collaborator

gpetiot commented Nov 12, 2019

Can you add a test similar to the usecase of Carl with different indentations for different lines?

@Julow
Copy link
Copy Markdown
Collaborator Author

Julow commented Nov 12, 2019

Good idea. Done.

Should I keep removing the empty lines at the end of comments ?

@gpetiot
Copy link
Copy Markdown
Collaborator

gpetiot commented Nov 12, 2019

Should I keep removing the empty lines at the end of comments ?

It sounds reasonable to me

Copy link
Copy Markdown
Collaborator

@gpetiot gpetiot left a comment

Choose a reason for hiding this comment

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

Thanks, looks good to me. No regression with test_branch with the default profile, the janestreet profile and both values of wrap-comments.

@Julow Julow force-pushed the preserve_cmt_indent branch from 89df428 to e5bf969 Compare November 14, 2019 11:24
Instead of stripping all indentation, only remove the indentation common to all the lines of the comment.
@gpetiot
Copy link
Copy Markdown
Collaborator

gpetiot commented Nov 15, 2019

Can we merge this one?
Don't hesitate if you have feedback on this @ceastlund

@ceastlund
Copy link
Copy Markdown

Looks good to me.

@Julow Julow merged commit eb187db into ocaml-ppx:master Nov 15, 2019
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
Instead of stripping all indentation, only remove the indentation common to all the lines of the comment.
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.

Bug: verbatim comment formatting not respected

4 participants