140 Commits

Author SHA1 Message Date
Guanqun Lu
7783b4c0b6 add more specific reason why it fails to parse 2017-05-14 13:19:06 +08:00
topecongiro
5e832acdc4 Allow config-path to point to a file 2017-05-08 07:02:23 +09:00
Nick Cameron
75a13868da Block format control flow discriminant expressions and binops
Fixes #1450

Adds control_style option
2017-05-05 14:37:13 +12:00
est31
78d4ef1992 Drop rustc-serialize, use serde, update toml dependency 2017-05-03 10:23:50 +02:00
Nick Cameron
e809dcbf3b Merge pull request #1491 from regexident/where_density
Add todo on equal output for `where_density = Tall` or `Vertical`
2017-05-02 10:50:32 +12:00
Vincent Esche
5ae74cab8f Add todo on equal output for where_density = Tall or Vertical 2017-05-01 22:01:19 +02:00
Nick Cameron
c6f1dd4fb5 Remove generics_style option 2017-05-02 07:56:46 +12:00
Nick Cameron
5d9a35050d Remove where_indent option 2017-05-01 16:05:38 +12:00
Nick Cameron
f4952d3780 Implement a max array width
Fixes #1421
2017-04-06 13:01:19 +12:00
topecongiro
6af0968511 Change return type of 'from_toml' from 'Config' to 'Result<Config>'
Closes #1426.
2017-04-03 13:58:46 +09:00
Nick Cameron
a079b87e7c Use a char len heuristic rather than item count for chain_one_line_max 2017-03-28 11:12:15 +13:00
Nick Cameron
8bca85c4b6 Support block indent for function calls
Uses the `fn_call_style` option.

Fixes #1358
2017-03-28 10:43:46 +13:00
C4K3
abca1deded Add indent_match_arms option (#1404)
Makes it optional whether to indent arms in match expressions. Setting this
to false may be desirable for people wishing to avoid double-indents, in
that if the match arm is a block, the block will cause an extra indentation
level, and if it isn't a block but just a single line, it's still easy to
see the logic at a glance.

This style is preferred in certain other languages with switch statements,
e.g. Linux style C and the most common Java style.
2017-03-26 18:32:29 +13:00
C4K3
6be61bcdd6 Warn on unused config options (#1402)
This will make it clear if a user has misspelled a config option, or if
an option has been changed/removed.
2017-03-26 18:12:56 +13:00
Nick Cameron
4bb31a7231 Block indenting for struct lit patterns
Now follows struct_lit_style (and most other struct_lit_ options).

Required a fair bit of refactoring and bug fixes.

Fixes #1311
2017-03-22 09:25:26 +13:00
Nick Cameron
d4c5d572c8 Unify fn_args_layout and fn_arg_indent
Closes #1390
2017-03-20 11:59:08 +13:00
Nick Cameron
21ff1d43ba Unify a bunch of option types into IndentStyle 2017-03-20 11:46:39 +13:00
Nick Cameron
c986e895bb Remove FnArgLayoutStyle::BlockAlways 2017-03-20 11:35:53 +13:00
Nick Cameron
ce7b0aacd0 Remove BlockIndentStyle::Inherit 2017-03-20 11:23:44 +13:00
Nick Cameron
0cb6f56647 Block formatting for arrays
Fixes #1331
2017-03-20 10:26:19 +13:00
Nick Cameron
0c93e7dacf Merge branch 'master' of github.com:rust-lang-nursery/rustfmt 2017-03-13 11:43:12 +13:00
C4K3
ab832fa4bb config: Rename ideal_width -> comment_width (#1370)
Since the config option only affects comment widths, and the previous
name has led to some confusion (see #1321, #1152).
2017-03-13 09:07:33 +13:00
Nick Cameron
c8af03f475 Block formatting for tuple structs
Follows the fn_args_layout option
2017-03-10 15:31:45 +13:00
Nick Cameron
7b901130cb Insert a newline before block-formatted generics
Fixes #1359
2017-03-10 14:29:45 +13:00
Nick Cameron
b820d50ec0 Add style RFC conformant rustfmt toml
Add a new `where` clause option, as yet unused.
2017-03-09 13:16:14 +13:00
Nick Cameron
c7a33062e2 Add a heuristic for maximum number of elements in a single-line chain
And turn the source hints option to false by default. This should make formatting more deterministic.
2017-03-07 09:34:28 +13:00
Nick Cameron
6a58d91239 Coalesce trailing comma options 2017-02-24 10:31:23 +13:00
Nick Cameron
db10a0b9b2 Merge pull request #1325 from C4K3/master
Add error_on_line_overflow option
2017-02-23 14:46:24 +13:00
Nick Cameron
3bbdb0355e remove some chain options 2017-02-23 13:15:48 +13:00
Sebastian Blunt
f6ccbd71c3
Add error_on_line_overflow option
Makes it configurable whether to error if unable to get all lines within
the max_width.
2017-02-19 19:56:37 +01:00
Craig M. Brandenburg
f2c867d067 New disable_all_formatting config option (#1297)
* New `disable_all_formatting` config option

* Resolve code review comments
2017-02-07 17:11:47 +13:00
Nick Cameron
e56ef44a3a Do not format string lits by default 2017-01-27 08:11:59 +13:00
Nick Cameron
6572874965 Update to latest Syntex
As a side-effect of the Path changes, we are now a bit more aggressive about normalising paths.
2017-01-20 08:20:49 +13:00
Nick Cameron
846d7ad387 make rustfmt-normalize_comments false by default 2017-01-16 14:50:27 +13:00
Nick Cameron
5349336192 Refactor if/else formatting
Removes else_if_brace_style from config options. Use control_brace_style instead.
2017-01-11 18:14:41 +13:00
Nick Cameron
21c085261b Remove self from use foo::bar::self;
Also adds the `normalize_imports` config option.

Fixes #1252
2017-01-06 17:02:56 +13:00
Wieland Hoffmann
2fc1a2d3cc Prevent an ugly linebreak in --config-helps description of condense_wildcard_suffices 2016-11-27 21:43:02 +01:00
Sébastien Santoro
0dffec8a5c Improve config::WriteMode comments
- Fix typo
- Switch comments verbs to the the 3rd person to offer a better coherence among options
2016-11-12 03:59:43 +00:00
Marcus Klaas
5fc9fa3770 Condense suffix strings of simple wildcards in patterns 2016-11-07 21:38:20 +01:00
Mikko Rantanen
4b1c669037 Add spaces_within_square_brackets config option. (#1191)
* Add spaces_within_square_brackets config option.

Enabling the config enforces spaces within various array/slice brackets.

* Fixed budget-calculations for [] spacing
2016-10-18 09:09:49 +13:00
Mikko Rantanen
636a828772 Add support for spaces_within_angle_brackets
Enabling the config adds spaces within type arguments: <>
2016-10-13 19:28:18 +03:00
Mikko Rantanen
7be202fa3c Add support for spaces_within_parens config (#1187)
* Add support for spaces_within_parens config

* Changes based on review comments
2016-10-13 14:34:08 +13:00
est31
efd3e5c091 Add three new options for spaces 2016-09-17 02:22:13 +02:00
Nathan Ridge
4b999a99c0 Add two new whitespace options (#1109)
* An option to leave a space before the colon in a type annotation

* An option to leave a space before the colon in a trait or lifetime bound
2016-08-03 01:11:39 -04:00
Stuart Dootson
78b52ec3e1 Add use declaration re-ordering (#1104)
* Add config options for combinations of lines and items

* Reordering of import lines implemented.

* Changed nested matches to tuple pattern matching

* Added ordering of path list items to the ordering of use declarations

* Move `format_imports` and `format_import` methods to `imports.rs`

* Add comment to explain how `use` declarations are split off while walking through a module

* Change `ImportReordering` config option to separate boolean options
2016-07-26 17:20:01 +12:00
Kamal Marhubi
66483017f6 Explain that FileLines cannot be given in rustfmt.toml
This adds a note to both the `--config-help` output for `file_lines`,
and to the panic message on attempting to deserialize a `FileLines`
struct.
2016-05-31 01:35:18 +02:00
Kamal Marhubi
c311b30cac Add type to represent collection of lines in files
This commit adds a type to represent lines in files, and adds it to the
`Config` struct. It will be used for restricting formatting to specific
lines.

Refs #434
2016-05-31 01:24:38 +02:00
Marcus Klaas
98c0570a28 Format non-statement if-else expressions on a single line 2016-05-29 17:58:38 +02:00
Nick Cameron
775de8a62b Optionally put short struct variants on one line (#997)
Closes #418
2016-05-18 22:38:49 +02:00
Srinivas Reddy Thatiparthy
952a6beb51 change normalise spelling to American version - normalize as American english is more common across programming community 2016-05-15 22:24:46 +05:30