1
1
mirror of https://github.com/google/ormolu.git synced 2024-11-22 21:52:05 +03:00
Commit Graph

32 Commits

Author SHA1 Message Date
Mark Karpov
a63ded8397
Simplify the definition of ‘optParserInfo’ 2020-12-11 22:06:38 +01:00
Mark Karpov
ff9d64db24 Add ‘--color’ for controlling how diffs are printed
Also refactor the printing code and standardize how error messages are
output.
2020-11-15 20:50:38 +01:00
Mark Karpov
93bef509ca Display diffs in the checking mode
Also improve the way the diffs are printed.
2020-11-14 16:44:16 +01:00
Samir Talwar
e95ec9b83b Avoid modifying correctly-formatted files
Currently, when running with `--mode=inplace`, Ormolu always overwrites the
files, even when nothing has changed, updating the modified timestamp of the
file. This encourages Stack to rebuild everything when only one file has
changed.

A quick check to see if the file needs rewriting solves this problem.

I would prefer the API allowed me to only read the file once, but as the
`--mode=check` logic also reads the file twice, I decided this wasn't the
biggest sin for now.
2020-09-06 20:37:55 +02:00
Mark Karpov
e5bbfddfa3 Add ‘-i’ as a shortcut for ‘--mode inplace’ 2020-06-26 10:58:38 +02:00
Mark Karpov
5d1612f153 Replace “idempotency” with “idempotence” 2020-04-27 15:16:40 +02:00
Mark Karpov
d579a48f48
Give start/end line variables better names in the help text 2020-04-24 23:10:23 +02:00
Mark Karpov
21dd3775e7 Fix rendering of module headers 2020-04-24 20:21:35 +02:00
Mark Karpov
840acd908b Allow selection of a region to format 2020-04-24 19:01:30 +02:00
Mark Karpov
53f582a575
Implement experimental support for CPP 2020-04-22 14:47:09 +02:00
Mark Karpov
31f6cfd83f Compare failing logs with exact expected result
This will allow us to test on more code and catch changes in the logs as
they happen.
2020-04-15 15:00:08 +02:00
Mark Karpov
d09429f6ec Format records with a single data constructor more compactly 2020-04-10 18:02:26 +02:00
Utku Demir
34dc1cba49 Don't give up on first failure when multiple files are given
Closes #502.
2020-01-30 13:43:59 +01:00
Mark Karpov
a9f8926c8d Format the source of the application as well 2020-01-24 16:42:21 +01:00
Artyom Kazak
b08af17217 Migrate to ‘ghc-lib-parser’
This would let us have features from GHC 8.8.1 while still using GHC 8.6.5
from Nixpkgs. Bonus: Ormolu will be compilable with GHCJS.
2019-11-01 18:19:34 +01:00
mrkkrp
10232b9c86
Sort extensions that should be manually enabled 2019-09-02 17:10:08 +02:00
mrkkrp
d74b211f1e
A couple of minor tweaks (command line options parser) 2019-08-28 16:21:43 +02:00
mrkkrp
3a093e65c8 Support formatting multiple files at once 2019-08-16 23:06:05 +02:00
Utku Demir
da0b3b8565 Implement the --check-idempotency flag 2019-08-16 22:21:20 +02:00
mrkkrp
c5b9fa1168 Add an option to tolerate CPP pragmas 2019-07-14 13:14:55 +02:00
waddlaw
e663070623 An option to display “manual” extensions 2019-07-13 21:42:06 +02:00
mrkkrp
c201862f11 Drop ‘yaml’ configuration 2019-07-07 13:53:59 +02:00
Tuncer Ayaz
cad7e40ae5 Allow reading from stdin 2019-07-07 12:25:22 +02:00
Basile Henry
42c91987bf Use explicit error code in check mode 2019-06-19 21:28:22 +02:00
mrkkrp
b9c8b64947 Implement more precise comment placement without ‘ghc-exactprint’
‘ghc-exactprint’ (or perhaps lexer of GHC itself) does a fairly poor job at
associating comments with elements of AST. In many cases the result is not
what you'd expect. We ran into insuperable problems with that to the effect
that correct comment placement were impossible.

The new approach is to exploit the raw position information provided by the
GHC lexer, that is, spans attached to AST elements and comments. This
allowed us to place comments in output in a very precise and satisfactory
fashion.
2019-05-08 22:03:21 +02:00
mrkkrp
6f169f2969 Include debugging option in ‘Config’ 2019-02-28 22:22:10 +01:00
mrkkrp
2f73bae977 Implement CLI for the application 2019-02-28 22:22:10 +01:00
mrkkrp
b2e05d6f65 Throw exception when CPP is enabled (plus some refactoring) 2019-02-28 22:22:10 +01:00
mrkkrp
120b4caefc Implement handling of comments and printing of module headers 2019-02-21 18:15:27 +01:00
mrkkrp
fcd35a1faa Implement pretty printing combinators 2019-01-28 19:26:13 +01:00
mrkkrp
02c6a58f27
Implement basic parser for fooling around 2018-12-08 17:34:26 +07:00
mrkkrp
dc6605107a
Initial commit 2018-11-25 20:51:22 +07:00