0.12
版本发布时间: 2019-11-05 01:12:54
ocaml-ppx/ocamlformat最新发布版本:0.26.2(2024-04-18 18:07:29)
CHANGES:
Changes
- Set "conventional" as the default profile (#1060) (Guillaume Petiot)
This new profile is made to better match the most used style and is encouraged.
To continue using the previous default, use
profile = ocamlformat
in your.ocamlformat
. - CLI: Allow both values of boolean options (#1062) (Jules Aguillon)
Now, both
--opt
and --no-opt` are available on the CLI for any boolean option "opt". Previously, only one of them were available depending on the default value. - Auto mode for
break-string-literals
(#1057) (Guillaume Petiot)wrap
,newlines
andnewlines-and-wrap
values ofbreak-string-literals
are removed.auto
replaces them, it is equivalent tonewlines-and-wrap
. - Dock collection brackets (#1014) (Guillaume Petiot)
after-and-docked
value ofbreak-separators
is removed and is replaced by a newdock-collection-brackets
option. - Preserve
begin
andend
keywords in if-then-else (#978) (Jules Aguillon) Previously,begin
/end
keywords around if-then-else branches were turned into parentheses.
New features
- Give a hint when warning 50 is raised (#1111) (Guillaume Petiot)
- Add a message when a config value is removed (#1089) (Etienne Millon) Explain what replaces removed options and avoid printing a parsing error.
- Implement
sequence-blank-line=preserve-one
for let bindings (#1077) (Jules Aguillon) Preserve a blank line afterlet .. in
whensequence-blank-line
set topreserve-one
. Previously, only blank lines after;
could be preserved. - Parse toplevel directives (#1020) (Jules Aguillon)
Allow
#directives
in.ml
files. Previously, files containing a directive needed to be parsed as "use file". The "use file" mode is removed and--use-file
is now the same as--impl
. - Don't require
--name
, require kind, forbid--inplace
, allow--check
, make--enable-outside-detected-project
implicit when reading from stdin (#1018) (Guillaume Petiot) - Parse code in docstrings (#941) (Guillaume Petiot)
Format OCaml code in cinaps-style comments
(*$ code *)
and code blocks in documentation comments(** {[ code ]} *)
. - Parse documentation comments with Odoc (#721) (Jules Aguillon) Formatting of documentation comments is more robust and support newer Odoc syntaxes. Internally, Odoc replaces Octavius as the documentation parser.
Bug fixes
- Fix unstabilizing comments on assignments (#1093) (Guillaume Petiot)
- Fix the default value documentation for
max-indent
(#1105) (Guillaume Petiot) - Fix closing parenthesis exceeding the margin in function application (#1098) (Jules Aguillon)
- Missing break before attributes of
Pmty_with
(#1103) (Josh Berdine) - Fix closing quote exceeding the margin (#1096) (Jules Aguillon)
- Fix break before the closing bracket of collections (exceeding the margin) (#1073) (Guillaume Petiot)
- Fix precedence of Dot wrt Hash (#1058) (Guillaume Petiot)
- Fix break in variant type definition to not exceed the margin (#1064) (Guillaume Petiot)
- Fix newlines and indentation in toplevel extension points (#1054) (Guillaume Petiot)
- Fix placement of doc comments around extensions (#1052) (Jules Aguillon)
- Inline extensions that do not break (#1050) (Guillaume Petiot)
- Add missing cut before attributes in type declarations (#1051) (Guillaume Petiot)
- Fix alignment of cases (#1046) (Guillaume Petiot)
- Fix blank line after comments at the end of lists (#1045) (Guillaume Petiot)
- Fix indexing operators precedence (#1039) (Jules Aguillon)
- Fix dropped comment after infix op (#1030) (Guillaume Petiot)
- No newline if the input is empty (#1031) (Guillaume Petiot)
- Fix unstable comments around attributes (#1029) (Guillaume Petiot)
- Fix extra blank line in sequence (#1021) (Jules Aguillon)
- Check functor arguments when computing placement of doc comments (#1013) (Jules Aguillon)
- Fix indentation of labelled args (#1006) (Guillaume Petiot)
- Fix linebreak between or-cases with comments when
break-cases=all
(#1002) (Guillaume Petiot) - Fix unstable unattached doc comment in records (#998) (Jules Aguillon)
- Fix string literal changed (#995) (Jules Aguillon)
- Fix type variable (#996) (Jules Aguillon)
- Fix crash on extension sequence (#992) (Guillaume Petiot)
- Fix position of expressions regarding of comments in infix-op expressions (#986) (Guillaume Petiot)
- Escape special characters in external declaration (#988) (Jules Aguillon)
- Fix parens around constrained expr with attrs (#987) (Guillaume Petiot)
- Fix the margin, and correctly breaks comments (#957) (Guillaume Petiot)
- Fix formatting of custom indexing operators (#975) (Guillaume Petiot)
- Fix position of comments of labelled arrow types (#976) (Guillaume Petiot)
- No box around inline odoc styles (#971) (Guillaume Petiot)
- Fix boxing of collection expressions/patterns (#960) (Guillaume Petiot)
- Fix crash on record expr with pack fields (#963) (Jules Aguillon)
- Fix letop in subexpr (#956) (hhugo)
Internal
- Take file kind from --name when formatting stdin (#1119) (Jules Aguillon)
- Make Fmt.t abstract (#1109) (Jules Aguillon)
- Future-proof Fmt API in case Fmt.t goes abstract (#1106) (Etienne Millon)
- Future-proof
Fmt
API in caseFmt.t
goes abstract (#1106) (Etienne Millon) - Optional names for formatting boxes in debug output (#1083) (Guillaume Petiot)
- Check ocamlformat error codes in the testsuite (#1084) (Etienne Millon)
- Clean
Translation_unit
(#1078) (Guillaume Petiot) - Use dune file generation in test/passing/dune (#1082) (Etienne Millon)
- CI: factorize tests and check reason build (#1079) (Guillaume Petiot)
- Use short form for action in src/dune (#1076) (Etienne Millon)
- Cleanup
sequence_blank_line
(#1075) (Jules Aguillon) - CI: use a script travis-ci.sh to simplify .travis.yml (#1063) (Guillaume Petiot)
- Remove utility functions from
Fmt_ast
(#1059) (Guillaume Petiot) - CI: use opam-2.0.5 in Travis (#1044) (Anton Kochkov)
- CI: check the build with OCaml 4.07.1 and 4.08.0 (#1036) (Jules Aguillon)
- Use the same sets of options for both branches by default in
test_branch.sh
(#1033) (Guillaume Petiot) - Fix
test_branch.sh
and CI checking of CHANGES.md (#1032, #1034) (Jules Aguillon) - Fix flag of git-worktree in
test_branch.sh
andbisect.sh
(#1027) (Guillaume Petiot) - Remove the
bisect_ppx
dependency and clean theMakefile
(#1005) (Jules Aguillon) - Use a
CHANGES.md
log file again (#1023) (Guillaume Petiot) - Support OCaml 4.09.0 (add the odoc.1.4.2 dependency) (#1024) (Guillaume Petiot)
- Update labels of issue templates (#1017) (Guillaume Petiot)
- Update labels in
CONTRIBUTING.md
(#1007) (Guillaume Petiot) - Allow to ignore invalid options (#984) (hhugo)
The
--ignore-invalid-option
flag is added to ignore invalid options in.ocamlformat
files. - Improve the documentation of
--doc-comments
(#982) (Jules Aguillon) - Remove symbolic links and change naming convention of tests (#980) (Guillaume Petiot)
- Change the type of
fmt_code
(#974) (Guillaume Petiot) - Simplify
Makefile
(#973) (hhugo) - Dune should not be flagged as a build dep anymore (#954) (Guillaume Petiot)
1、 ocamlformat-0.12.tbz 315.33KB