Path to this page:
./
devel/ormolu,
Formatter for Haskell source code
Branch: CURRENT,
Version: 0.7.4.0nb1,
Package name: ormolu-0.7.4.0nb1,
Maintainer: pkgsrc-usersOrmolu is a formatter for Haskell source code. The project was created with
the following goals in mind:
* Using GHC's own parser to avoid parsing problems caused by
haskell-src-exts.
* Let some whitespace be programmable. The layout of the input influences
the layout choices in the output. This means that the choices between
single-line/multi-line layouts in certain situations are made by the
user, not by an algorithm. This makes the implementation simpler and
leaves some control to the user while still guaranteeing that the
formatted code is stylistically consistent.
* Writing code in such a way so it's easy to modify and maintain.
* Implementing one "true" formatting style which admits no configuration.
* The formatting style aims to result in minimal diffs.
* Choose a style compatible with modern dialects of Haskell. As new Haskell
extensions enter broad use, we may change the style to accommodate them.
* Idempotence: formatting already formatted code doesn't change it.
* Be well-tested and robust so that the formatter can be used in large
projects.
Master sites:
Filesize: 342.644 KB
Version history: (Expand)
- (2024-05-09) Updated to version: ormolu-0.7.4.0nb1
- (2024-05-02) Updated to version: ormolu-0.7.4.0
- (2023-11-02) Updated to version: ormolu-0.7.3.0nb1
- (2023-10-30) Updated to version: ormolu-0.7.3.0
- (2023-10-09) Updated to version: ormolu-0.5.2.0nb2
- (2023-02-09) Updated to version: ormolu-0.5.2.0nb1
CVS history: (Expand)
2024-05-09 03:32:57 by Masatake Daimon | Files touched by this commit (1137) |
Log message:
Recursive revbump after changing the default Haskell compiler
|
2024-05-02 06:12:34 by Masatake Daimon | Files touched by this commit (4) |
Log message:
devel/ormolu: Update to 0.7.4.0
Ormolu 0.7.4.0
Don't error when the JavaScriptFFI language pragma is present. Issue 1087.
Improve comment placement in if-then-else blocks. Issue 998.
Now command line options for fixity overrides and module re-exports \
overwrite information from .ormolu files. Issue 1030.
Respect newlines in data declarations in more cases. Issue 1077 and issue 947.
The -d / --debug command line option now makes Ormolu print out debug \
information regarding operator fixity inference. Issue 1060.
|
2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141) |
Log message:
Revbump all Haskell after updating lang/ghc96
|
2023-10-30 07:28:51 by Masatake Daimon | Files touched by this commit (4) |
Log message:
devel/ormolu: Update to 0.7.3.0
Ormolu 0.7.3.0
* Switched to ghc-lib-parser-9.8, with the following new syntactic features:
- ExtendedLiterals: 123#Int8 is a literal of type Int8#. (disabled by
default)
- TypeAbstractions: @k-binders in data type declarations (enabled by
default)
- GHC proposal #134: deprecating/warning about exports
- GHC proposal #541: warning categories
Ormolu 0.7.2.0
* Preserve necessary braces for final function arguments. Issue 1044.
* Put "this" PackageImports at the end. Issue 1048.
* Format parenthesized operators starting with a # correctly in the
presence of UnboxedSums. Issue 1062.
* Fix false positives in AST diffing related to empty Haddock comments in
data declarations. Issue 1065.
Ormolu 0.7.1.0
* Include base fixity information when formatting a Haskell file that's not
mentioned in an existing cabal file. Issue 1032
* Update displayException for OrmoluException to pretty print the
exception. PR 1031.
* Ormolu is now aware of more common module re-exports by default.
* Support explicit mention of target package name in module
re-exports. Even if the exported package is not specified as a direct
dependency of the component being formatted it will still be taken into
account correctly. Issue 1037.
* Ormolu no longer fails when CPP directly follows the import section (a
regression introduced in 0.7.0.0). Issue 1040.
Ormolu 0.7.0.0
* Inference of operator fixity information is now more precise and takes
into account the import section of the module being formatted. Issue 892
and issue 929.
* Ormolu can now be made aware of module re-exports through either special
declarations in .ormolu files (see the readme for a description of the
syntax), or on the command line with the --reexport/-r option. Issue
1017.
* Ormolu now looks for .ormolu files independently of .cabal files. This
means that it is now possible to have one .ormolu file for multiple Cabal
packages. Issue 1019.
* Consistently format do blocks/cases/MultiWayIfs with 4 spaces if and only
if they occur as the applicand. Issue 1002 and issue 730.
* Support the (deprecated) DatatypeContexts extension to avoid
surprises. Issue 1012.
* Don't let comments escape from empty export lists. Issue 906.
* Format \cases with multiple patterns across multiple lines
correctly. Issue 1025.
Ormolu 0.6.0.1
* Fix false positives in AST diffing related to UnicodeSyntax. PR 1009.
Ormolu 0.6.0.0
* Haddocks attached to arguments of a data constructor are now formatted in
the pipe style (rather than the caret style), consistent with everything
else. As a consequence, now Ormolu's output will be deemed invalid by the
Haddock shipped with GHC <9.0. Issue 844 and issue 828.
* Insert space before char literals in ticked promoted constructs when
necessary. Issue 1000.
* Switched to ghc-lib-parser-9.6:
- Extended OverloadedLabels: #Foo, #3, #"Hello there".
- Also, it is now disabled by default, as it causes e.g. a#b to be parsed
differently.
- New extension: TypeData, enabled by default.
- Parse errors now include error codes, cf. https://errors.haskell.org.
* Updated to Cabal-syntax-3.10.
* Now whenever Ormolu fails to parse a .cabal file it also explains why. PR
999.
Ormolu 0.5.3.0
* Stop making empty lets move comments. Issue 917.
* Now .ormolu fixity override files can use both LF and CRLF line
endings. PR 969.
* Normalize parentheses around constraints. Issue 264.
* The ormolu function now consumes Text instead of String due to an
internal refactoring.
* Exposed a more complete public API in the Ormolu module. The API is
supposed to be stable and change according to PVP.
* Now warnings regarding Ormolu not being able to find .cabal files or
finding such files but them not mentioning the source file in question
are only displayed when --debug is used. Printing the warnings by default
seems to have been confusing, see e.g. Issue 971 and issue 924.
|
2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988) |
Log message:
Bump Haskell packages after updating lang/ghc94
|
2023-01-26 11:58:24 by Masatake Daimon | Files touched by this commit (5) |
Log message:
devel/ormolu: Update to 0.5.2.0
Ormolu 0.5.2.0
* Eliminated the fixity-th Cabal flag because it caused issues on GHC 9.4
as well as on aarch64. See issue 941 and issue 927.
* Now operators without explicitly specified fixity default to left
associativity and highest precedence. Issue 907.
Ormolu 0.5.1.0
* Imports are now sorted by package qualifier, if one is present. Issue
905.
* Extension packs like GHC2021 and Haskell2010 are now bumped to the top of
the list of language pragmas. Issue 922.
* Fix formatting of SCC pragmas in do blocks. Issue 925.
* Support type applications in patterns. Issue 930.
* Handle UnicodeSyntax variants more consistently. Issue 934.
* Fix an inconsistency in formatting of types in GADT declarations in
certain cases. PR 932.
* Switched to ghc-lib-parser-9.4, which brings support for the following
new syntactic features:
- \cases via LambdaCase
- OPAQUE pragmas
- Unboxed sum type constructors like (# | #).
* Updated to Cabal-syntax-3.8, supporting cabal-version: 3.8.
Ormolu 0.5.0.1
* Fixed a bug in the diff printing functionality. Issue 886.
* Indent closing bracket for list comprehensions in do blocks. Issue 893.
* Fix hs-source-dirs: . resulting in failing to find a .cabal file for a
Haskell source file. Issue 909.
* Comments in closed type family declarations are now indented
correctly. Issue 913.
* Cache .cabal file parsing and processing when given multiple input files
in the same project. This results in dramatic speedups on projects which
have both huge .cabal files and a large number of individual
modules. Issue 897.
Ormolu 0.5.0.0
* Changed the way operator fixities and precedences are inferred.
- Ormolu now tries to locate .cabal files of source files by default and
in addition to default extensions it also infers the list of
dependencies.
- Ormolu comes equipped with extensive knowledge of all packages on
Hackage and operators that those packages define. Knowing the names of
the dependencies it can select the right fixity and precedence info
from its knowledge base.
- You can ask Ormolu not to look for .cabal files by using the --no-cabal
switch.
- Dependencies can be selected manually by using the -p / --package
option (can be repeated many times).
- The default heuristic algorithm will still try to guess the right
fixities and precedence.
- Fixity overrides can be provided by the user in the familiar Haskell
notation (e.g. infixr 9 ., one declaration per line). They are loaded
by default from the .ormolu file that is expected to be in the same
directory as the .cabal file of a given source file. However, if
--no-cabal is supplied, the .ormolu file will not be looked for
either. Fixity declarations can be also provided by using the -f /
--fixity command line option, which see.
- This resolves the following issues: Issue 826, Issue 785, Issue 690,
Issue 825.
* Invalid haddock comments are formatted in a more consistent way. Leading
haddock triggers (|, ^) in an invalid haddock comment block are now
escaped with a backslash \. Issue 816.
* Type synonyms and families are now formatted correctly when the equals
sign is preceded by a comment. Issue 829.
* Bidirectional pattern synonyms are formatted nicer in certain
cases. Issue 843.
* Magic comments (like {- ORMOLU_DISABLED -}) now allow arbitrary
succeeding text. This fixes use cases like Issue 856.
* Remove discrepancies between unboxed types and terms. Issue 856 .
- Unboxed sum types are now formatted with a space before each |.
- Unboxed unit tuples on type and value levels are formatted as (# #).
* Errors caused by AST differences now print before/after diffs. Issue 877.
* Improved formatting of data declarations in the case of
single-constructor record with a Haddock. Issue 881.
|
2022-09-07 08:50:53 by Masatake Daimon | Files touched by this commit (149) | |
Log message:
Recursive bump for recently updated Haskell packages
|
2022-02-26 09:12:56 by Masatake Daimon | Files touched by this commit (1) |
Log message:
devel/ormolu: Generate shell completion scripts with optparse-applicative
|