topecongiro
4a0094f28f
Add combine_control_expr option
2017-06-04 19:35:29 +09:00
topecongiro
b548d8d773
Refactor rewrite_call
2017-06-04 19:35:29 +09:00
topecongiro
a01ad30459
Forbid line break between if and pattern
2017-06-04 19:35:29 +09:00
topecongiro
fef347cb9e
Add use_block_indent
method to RewriteContext
2017-06-04 19:35:29 +09:00
topecongiro
d54634bd7c
Use recover_comment_removed in rewrite_static
2017-06-04 18:44:08 +09:00
Nick Cameron
3e25e628a1
Merge pull request #1619 from topecongiro/config/format_if_else_cond_comment
...
Add format_if_else_cond_comment config option
2017-06-04 15:26:26 +12:00
Nick Cameron
6f1cb950d6
Merge pull request #1628 from topecongiro/issue-1113
...
Preserve the layout of comment after return type
2017-06-04 11:40:37 +12:00
Nick Cameron
3090086000
Merge pull request #1627 from topecongiro/issue-1624
...
Refactor vertical layout of function definition with options
2017-06-04 11:34:25 +12:00
topecongiro
15e936bfc7
Preserve the layout of comment after return type
2017-06-04 06:59:55 +09:00
Seiichi Uchida
dd13761f85
Organize vertical layout of function definition
2017-06-03 23:18:39 +09:00
Seiichi Uchida
9b7ba980cf
Use correct budget
2017-06-03 23:17:30 +09:00
Seiichi Uchida
d21792a730
Put opening paren next to multi line generic
2017-06-03 23:16:29 +09:00
Seiichi Uchida
08b5375776
Forbid trailing comma at the end of args of variadic functions
2017-06-03 15:03:08 +09:00
topecongiro
aadd3e11f4
Unindent comment on top of else
2017-06-02 11:58:58 +09:00
Seiichi Uchida
5650411d64
Fix a typo
2017-06-02 11:20:49 +09:00
Nick Cameron
cdc3f9321c
Rename the Style::Default option to Legacy
2017-06-02 11:44:38 +12:00
Nick Cameron
0480f7e105
Merge pull request #1620 from topecongiro/rfc-if
...
Use correct line budget when using Rfc control style
2017-06-02 11:36:16 +12:00
topecongiro
fbd4b87329
Use correct one line budget when using Rfc control style
2017-06-01 19:59:50 +09:00
Seiichi Uchida
10c3632078
Format source codes
2017-06-01 12:08:25 +09:00
Seiichi Uchida
789abf063d
Use block indent style when visual indent failed
2017-06-01 12:08:20 +09:00
Ravi Khadiwala
3d0ea5a099
Fix typo in from_toml_path
2017-05-30 22:25:24 -05:00
Ravi Khadiwala
17995e1539
Expose methods to locate and load config
...
* Make method for searching parents for toml file public
* Make method for loading config from path directly public, tweak the
API since it was never returning None
2017-05-30 21:41:30 -05:00
Nick Cameron
4d0ee80e61
Merge pull request #1609 from topecongiro/nested-tuple
...
Put a space between nested tuple field
2017-05-31 11:58:03 +12:00
topecongiro
b63e3aaa83
Put a space between nested tuple field
2017-05-30 20:40:05 +09:00
Nick Cameron
cfa3d59974
Merge pull request #1608 from topecongiro/issue-1598
...
Fix index bug in write_snippet_inner
2017-05-30 15:28:44 +12:00
topecongiro
33a7357543
Fix index bug in write_snippet_inner
2017-05-30 10:53:48 +09:00
topecongiro
924a9b5cb6
Allow longer custom comment
2017-05-30 08:46:25 +09:00
Nick Cameron
b79094262f
Merge pull request #1604 from topecongiro/comment-group
...
Format comments with different opening in different manner
2017-05-30 08:53:22 +12:00
topecongiro
bcebe9e7de
Use different style when rewriting comment with different opener
2017-05-29 11:28:48 +09:00
Nick Cameron
9b79cb5c22
Merge pull request #1602 from topecongiro/attributes-on-expressions
...
Allow attributes on expressions
2017-05-28 18:34:50 +12:00
Nick Cameron
d82962d7ac
Merge pull request #1601 from topecongiro/issue-1600
...
Allow attributes in generics of impl
2017-05-28 18:32:15 +12:00
topecongiro
99c2eab5ac
Allow attributes on expressions
2017-05-28 11:44:41 +09:00
Seiichi Uchida
4402412b78
Allow attributes in generics of impl
2017-05-27 23:59:29 +09:00
Seiichi Uchida
a22228acee
Avoid unnecessary binary search in rewrite_call
2017-05-27 21:56:23 +09:00
Nick Cameron
8ac3fc36cc
Merge pull request #1597 from topecongiro/comments-after-attributes
...
Allow comments after attributes of struct fields
2017-05-27 13:47:42 +12:00
Nick Cameron
aad250e20e
Merge pull request #1596 from topecongiro/issue-1595
...
Add a trailing comma if the last arg ends with comment
2017-05-27 13:38:14 +12:00
Nick Cameron
2dc4298b71
Merge pull request #1593 from topecongiro/issue-1439
...
Allow comments after where clause
2017-05-27 13:34:50 +12:00
Nick Cameron
4e5df80c03
Merge pull request #1588 from topecongiro/nesting-macro
...
Allow macro to be nested like function call
2017-05-27 13:28:47 +12:00
topecongiro
b6c503ac32
Allow comments after attributes of struct fields
2017-05-27 09:36:25 +09:00
topecongiro
67e8a690ff
Add a trailing comma if the last arg ends with comment
2017-05-27 07:33:06 +09:00
topecongiro
dab14b4485
Allow comments after where clause
2017-05-27 02:07:58 +09:00
topecongiro
fcffe854b8
Allow default associated types
2017-05-26 17:17:12 +09:00
topecongiro
554605d47c
Format source codes and add tests
2017-05-26 16:40:19 +09:00
topecongiro
15b988aed3
Allow macro to nested and overflowed like function call
2017-05-26 16:35:34 +09:00
topecongiro
b748fe8bec
Set inside_macro to false when rewriting args of macro
2017-05-26 16:34:58 +09:00
topecongiro
0869bca85a
Put closing paren on the next line when the last arg contains comment
2017-05-26 13:15:10 +09:00
Nick Cameron
3d135ebba4
Merge pull request #1586 from topecongiro/minor
...
Fix minor bugs
2017-05-26 08:43:52 +12:00
Seiichi Uchida
92270ba191
Add offset when rewriting index
2017-05-25 23:01:41 +09:00
Seiichi Uchida
10c7934700
Be precise with one_line_budget for fn_base
2017-05-25 22:55:11 +09:00
topecongiro
86856491bc
Format source codes
2017-05-25 16:08:08 +09:00
topecongiro
2580d7a310
Add chain_split_single_child option
2017-05-25 16:07:56 +09:00
topecongiro
c69608a7e0
Allow the last elem in chain to overflow
2017-05-25 15:50:46 +09:00
topecongiro
4d6e385f09
Refactoring: introduce one_line_budget
2017-05-25 15:50:46 +09:00
topecongiro
635fdc662a
Format source codes
2017-05-25 15:50:46 +09:00
topecongiro
6aed417738
Disallow single line chain when the line exceeds the given budget
2017-05-25 15:50:46 +09:00
topecongiro
857747c9ca
Consider trailing try operations when counting almost_total
2017-05-25 15:50:46 +09:00
Nick Cameron
a7b8dcc60d
Simplify --version info
2017-05-25 16:39:44 +12:00
Nick Cameron
393ba27311
Remove dependency on Itertools
2017-05-25 16:23:07 +12:00
Nick Cameron
80f3b3c9c4
Remove multimap dep
2017-05-25 15:59:06 +12:00
topecongiro
c8ad521c9f
Decide whether args fit in a single line inside rewrite_call_args
2017-05-25 06:10:00 +09:00
Nick Cameron
93c556c6ba
Merge pull request #1578 from topecongiro/poor/macro
...
Use original code snippet for macro which contains invalid syntax
2017-05-24 11:43:10 +12:00
topecongiro
e3eec44690
Return original snippet when macro contains invalid syntax
2017-05-24 07:24:31 +09:00
topecongiro
04bb5d8929
Format source codes
2017-05-24 00:07:02 +09:00
topecongiro
92b54d6490
Add heuristic when rewriting chain with a single child
...
rustfmt splits chain into multiline when the length of chain exceeds
`chain_one_line_max`. However, currenly this rule only applies when the chain
has more than one child. This can lead to unexpected long chain if the parent
is long. This commit adds heuristic that if the length of parent is longer
than the half of `chain_one_line_max` we use multiline even if there is
only a single child.
2017-05-24 00:06:23 +09:00
topecongiro
ec33121aaf
Format source codes
2017-05-23 22:13:29 +09:00
topecongiro
cb4a6a2419
Use correct width when rewriting chain
2017-05-23 22:12:52 +09:00
topecongiro
a83d4876e7
Allow first child to stay on the same line with block parent
2017-05-23 22:12:37 +09:00
topecongiro
f83c22f24f
Add trailing comma to a single arg in multiline
2017-05-23 13:26:59 +09:00
topecongiro
b4cd9584b3
Implement combining for tuple and block
2017-05-23 12:51:32 +09:00
topecongiro
2c15204f0c
Update tests
2017-05-23 12:51:13 +09:00
topecongiro
29c0ab77ba
Implement combining openings and closings
2017-05-23 12:45:09 +09:00
topecongiro
dc8d3aa23a
Update tests
2017-05-23 11:39:31 +09:00
topecongiro
77a2e9858b
Format source codes
2017-05-23 11:37:33 +09:00
topecongiro
f2ec5a7bac
Refactor source codes
2017-05-23 11:37:12 +09:00
topecongiro
520340481d
Allow macro rewrite to fail on rhs
2017-05-23 11:37:12 +09:00
topecongiro
13af774e55
Fix weird indentaion in chain
2017-05-23 11:37:12 +09:00
topecongiro
d16a0a399e
Implement 'vec![expr; expr]'
2017-05-23 11:32:09 +09:00
Michael Killough
bce1f309b7
Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt into config
2017-05-19 16:10:27 +07:00
Ben Boeckel
8ca699ce26
config: fix suffices
-> suffixes
typo
...
Fixes #1477 .
2017-05-18 08:03:47 -04:00
Seiichi Uchida
c0fae6a82a
Merge pull request #1562 from flier/reorder_imports_in_group
...
reorder imports in group
2017-05-18 17:53:23 +09:00
Michael Killough
c3c2e823cb
Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt into config
2017-05-18 13:05:19 +07:00
Michael Killough
31c8fb4e76
Add --dump-default-config and --dump-minimal-config.
...
- `--dump-default-config` outputs the default configuration to the
specified file as TOML and then exits.
- `--dump-minimal-config` is checked after formatting files as normal.
If present, any configuration options that were checked during
formatting are written to the specified file as TOML.
- These options were added only to `rustfmt`, not to `cargo fmt`. They
can be specified when using `cargo fmt` by placing them after `--`.
- It would have been nice if the filename was optional, so you could
run just `rusfmt --dump-minimal-config build.rs` to have it output to
`rustfmt.toml`. However, this doesn't do what you might expect: it
outputs the config to `build.rs`!
2017-05-18 12:56:49 +07:00
Flier Lu
1077a100a1
reorder imports in group
2017-05-18 13:26:34 +08:00
Michael Killough
3f34ff8229
Return PartialConfig
from Config
methods.
...
Leave serialization to the caller, but provide a
`PartialConfig.to_toml()` method, to deal with the fact that
`file_lines` can't be serialized.
Add a simple test.
2017-05-18 12:10:25 +07:00
Michael Killough
222bac1397
Provide config.set().item(value)
API.
...
This API isn't fantastic, but it's the best I can come up with without
something like `concat_idents!()`. There are relatively few places where
config is set, to hopefully the ugliness isn't disastrous.
Change previous occurences of `config.item = value` to this new API,
rather than using `config.override_value()`. Undo the changes to
`override_value()`, as it's no longer important to propogate the error
to the caller. Add a test for the new interface.
2017-05-18 11:42:32 +07:00
Michael Killough
9e26575ed8
Use unreachable!() instead of panic!().
2017-05-18 11:09:11 +07:00
Michael Killough
6098f7f924
Remove ConfigTracker - inline in Config.
...
Use an individual `Cell<bool>` on each config item, rather than
maintaining a set of config names that were accessed. Add a simple unit
test.
2017-05-18 11:07:49 +07:00
topecongiro
cfff3bd91e
Use multiline when signature does not fit single line
2017-05-17 16:31:09 +09:00
topecongiro
d7b6f1199f
Format source codes
2017-05-16 23:24:38 +09:00
topecongiro
feff6248c4
Allow last child in chain to go multiline
2017-05-16 23:24:00 +09:00
Michael Killough
7a4955f705
Add methods to serialize Config to TOML.
...
Two different modes:
- Serialize the full Config object. This is useful as
`Config::default().to_toml()` to output a rustfmt.toml with defaults
(#317 ).
- Serialize only the options that have been accessed. This could be
useful to output a minimal rustfmt.toml for a project. (If the
default value of any unused config item changes, you'll then get the
new default when you come to use it).
This commit doesn't expose this anywhere - deciding a sensible CLI is a
bit trickier.
This commit also has very simple error reporting (Result<String,
String>) - once the CLI is decided, a more sensible method of reporting
errors might become obvious.
2017-05-16 18:08:24 +07:00
Michael Killough
4d879662a9
Track which config items are accessed.
...
Required by #865 . This doesn't introduce any method to view which
parameters are accessed.
We record which config items are accessed even if we don't intend to
output them, as we assume it will be a relatively cheap operation.
2017-05-16 18:05:40 +07:00
Michael Killough
c0bdbfa531
Switch to accessing config items via method.
...
Preparation for #865 , which proposes adding a flag which outputs which
config options are used during formatting.
This PR should not make any difference to functionality. A lot of this
was search-and-replace.
Some areas worthy of review/discussion:
- The method for each config item returns a clone of the underlying
value. We can't simply return an immutable reference, as lots of
places in the code expect to be able to pass the returned value as
`bool` (not `&bool). It would be nice if the `bool` items could
return a copy, but the more complex types a borrowed reference... but
unfortunately, I couldn't get the macro to do this.
- A few places (mostly tests and `src/bin/rustfmt.rs`) were overriding
config items by modifying the fields of the `Config` struct directly.
They now use the existing `override_value()` method, which has been
modified to return a `Result` for use by `src/bin/rustfmt.rs`. This
benefits of this are that the complex `file_lines` and `write_mode`
strings are now parsed in one place (`Config.override_value`) instead
of multiple. The disadvantages are that it moves the compile-time
checks for config names to become run-time checks.
2017-05-16 15:47:09 +07:00
Seiichi Uchida
762db5138e
Format source codes
2017-05-15 22:55:45 +09:00
Seiichi Uchida
79ba34c607
Use offset_left for rewrite_unary_prefix
2017-05-15 22:55:01 +09:00
Nick Cameron
d1682b3473
Merge pull request #1510 from fintelia/better-filelines
...
Better file_lines
2017-05-15 09:19:18 +12:00
Nick Cameron
ebb26db68b
Merge pull request #1551 from topecongiro/else-if-early-line-break
...
Forbid early line breaks inside else if
2017-05-15 08:59:03 +12:00
Nick Cameron
0ebd5775d7
Merge pull request #1550 from topecongiro/issue-1547
...
Prevent rewriting closure block to expr inside macro
2017-05-15 08:46:14 +12:00
Nick Cameron
65e151279d
Merge pull request #1552 from guanqun/give-specific-errors
...
add more specific reason why it fails to parse
2017-05-14 18:08:27 +12:00
Guanqun Lu
7783b4c0b6
add more specific reason why it fails to parse
2017-05-14 13:19:06 +08:00
Jonathan Behrens
9f83f29187
Refactor file range checking
2017-05-13 13:14:24 -04:00
Seiichi Uchida
5383b6cc17
Format source code
2017-05-13 21:08:10 +09:00
Seiichi Uchida
819a13030f
Use precise width when rewriting else if
2017-05-13 21:07:36 +09:00
Seiichi Uchida
7ec78711f2
Prevent rewriting closure block to expr inside macro
2017-05-13 18:32:25 +09:00
Seiichi Uchida
d0a094eefb
Merge pull request #1546 from topecongiro/bug/range-full
...
Add a missing trailing comma before elipses
2017-05-13 17:40:47 +09:00
topecongiro
4aa64674c9
Add a missing trailing comma before elipses
2017-05-13 07:23:34 +09:00
Seiichi Uchida
56515dd4d6
Merge pull request #1543 from topecongiro/field-attr
...
Support struct_field_attributes
2017-05-12 20:08:36 +09:00
topecongiro
744fa427e2
Support struct_field_attributes
2017-05-12 17:58:38 +09:00
topecongiro
384ce46eef
Use vertical layout when args len is larger than fn_call_width
2017-05-12 16:30:26 +09:00
topecongiro
ba1a7b9e7f
Try multi-line only when fn_call_style is Block and rewriting function call
2017-05-12 10:33:05 +09:00
Nick Cameron
1eec103516
Merge pull request #1523 from topecongiro/poor-formatting/fn_call_style
...
Use multiline when args exceeds max_width in fn_call_style = "block"
2017-05-10 08:27:24 +12:00
topecongiro
30a8050559
Use multiline when args exceeds max_width in fn_call_style = "block"
2017-05-10 00:27:57 +09:00
topecongiro
9d96c33d59
Inherit alignment to last else
2017-05-09 17:33:45 +09:00
topecongiro
ac6e6dfd5d
Refactor rewrite_pat_expr
2017-05-09 17:33:28 +09:00
Nick Cameron
35e1ca73fc
Merge pull request #1519 from topecongiro/poor-formatting/if-else
...
Remove visual_indent when rewriting else block
2017-05-09 15:21:29 +12:00
Nick Cameron
da261ef9d3
Merge pull request #1520 from topecongiro/allow-match
...
Apply closure exception to match in args
2017-05-09 15:21:06 +12:00
topecongiro
0248e9869d
Apply closure exception to match in args
2017-05-09 08:28:05 +09:00
topecongiro
f36411c339
Remove visual_indent when rewriting else block
2017-05-09 08:11:05 +09:00
topecongiro
2776615dc9
Replace 'try!' with '?'
2017-05-08 13:14:23 +09:00
topecongiro
d062d79fb5
Use block indent when visual indent failed
2017-05-08 08:07:18 +09:00
Nick Cameron
459b4449a6
Merge pull request #1442 from topecongiro/poor-formatting/trailing-comma
...
Remove comma from function definition with a single argument
2017-05-08 10:45:03 +12:00
Nick Cameron
e5f8a725db
Merge pull request #1511 from topecongiro/bug/closure-fallback
...
Add fallback path inside rewrite_closure
2017-05-08 10:30:49 +12:00
Nick Cameron
2d88c7569f
Merge pull request #1513 from topecongiro/refactoring
...
Add methods to Shape
2017-05-08 10:29:02 +12:00
topecongiro
4a28be486e
Refactor Shape
2017-05-08 07:24:32 +09:00
topecongiro
e923df4146
Add indented and with_max_width
2017-05-08 07:24:12 +09:00
topecongiro
5e832acdc4
Allow config-path to point to a file
2017-05-08 07:02:23 +09:00
topecongiro
2ee8e730a6
Add fallback path
2017-05-07 13:13:44 +09:00
Jonathan Behrens
b1c9832c9b
Respect file_lines within write_snippet() function
2017-05-06 17:59:51 -04:00
Jonathan Behrens
7c6479358b
Respect file_lines within format_lines() function
2017-05-06 15:14:44 -04: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
topecongiro
e7c6d34854
Use SeperatorTactic::Never for a single argument
2017-05-04 14:47:50 +09:00
Nick Cameron
8579c1db0e
Merge pull request #1495 from topecongiro/poor-formatting/closure
...
Fix weird indentation inside closures
2017-05-04 17:15:58 +12:00
Nick Cameron
c89c01efc0
Merge pull request #1500 from shioju/master
...
Format macros in trait item position
2017-05-04 10:00:03 +12:00
Sheng Hau
51815effbe
Format macros in trait item position
2017-05-04 00:10:03 +08:00
topecongiro
58d957be3f
Check format failures explicitly in visit_block
2017-05-04 00:21:51 +09:00
est31
11cc56b06b
Format fix
2017-05-03 17:16:58 +02:00
est31
6e46a827b6
Simplifications
2017-05-03 17:11:34 +02:00
est31
78d4ef1992
Drop rustc-serialize, use serde, update toml dependency
2017-05-03 10:23:50 +02:00
topecongiro
f5da9d779f
Format source codes
2017-05-03 11:26:25 +09:00
topecongiro
e91d498b8f
Keep a chain with length chain_one_line_max in a single line
2017-05-03 11:24:08 +09:00
topecongiro
2c1d896f60
Split a long chain with a single child
2017-05-03 11:22:36 +09:00
topecongiro
3f703fd33d
Use block indent when visual indent failed inside closure block
2017-05-03 11:21:31 +09:00
Nick Cameron
59d66c3ae8
Merge pull request #1453 from topecongiro/bug/empty-struct-with-comment
...
Handle empty tuple struct def with comment properly
2017-05-02 13:49:15 +12:00
topecongiro
93dae1a34d
Add test for empty tuple struct with comment
2017-05-02 10:21:39 +09:00
topecongiro
2e00c117e5
Handle empty tuple struct def properly
2017-05-02 10:21:39 +09:00
Seiichi Uchida
19599b9a01
Use block when arm exceeds max_width
2017-05-02 10:15:31 +09:00
Vincent Esche
42dbe482e3
Made type_punctuation_density
apply too all +
in types
2017-05-02 01:03:46 +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
Nick Cameron
7fb288f0b3
Merge pull request #1487 from topecongiro/issue1470
...
Use block indent when visual indent exceeds max_width
2017-05-02 10:45:23 +12:00
Nick Cameron
c546f1b396
Merge pull request #1454 from topecongiro/match
...
Format nested mathces properly.
2017-05-02 10:40:31 +12:00
Nick Cameron
2223b64f86
Merge pull request #1486 from topecongiro/refactoring
...
Refactor source codes
2017-05-02 10:30:11 +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
Seiichi Uchida
c7e9bcadaa
Use block indent when visual indent exceeds max_width
2017-05-01 18:52:43 +09:00
topecongiro
9dc643a6ae
Remove TODO from 'format_tuple_struct'
2017-05-01 15:57:08 +09:00
topecongiro
68c5915176
Remove TODO from 'rewrite_generics'
2017-05-01 15:57:08 +09:00
topecongiro
883db2f952
Refactor Shape
2017-05-01 15:57:08 +09:00
topecongiro
af3f4c7f29
Remove duplicates
2017-05-01 15:57:02 +09:00
topecongiro
3d2cd681ae
Use 'first_line_width'
2017-05-01 15:36:40 +09:00
Nick Cameron
7a2577322d
Merge pull request #1473 from topecongiro/bug/no-such-file-or-directory
...
Prevent panicking against directories or non-existent files
2017-05-01 16:38:43 +12:00
Nick Cameron
5d9a35050d
Remove where_indent option
2017-05-01 16:05:38 +12:00
Nick Cameron
fba5af2a7d
Merge pull request #1469 from topecongiro/bug/chains
...
Remove a bug when calculating the length of the chain
2017-05-01 15:48:53 +12:00
Nick Cameron
a8fbfdb4a3
Merge pull request #1459 from shioju/master
...
Show exit codes' meanings with the rustfmt help message
2017-05-01 15:15:30 +12:00
Nick Cameron
29e1a3329f
Merge pull request #1457 from diaevd/master
...
format_lines: fix line_len for config.max_width
2017-05-01 15:13:19 +12:00
Nick Cameron
6a19c93f2a
Merge pull request #1461 from DarkEld3r/1447-line-length-in-chars
...
Fix line length calculation (should be in chars, not bytes)
2017-05-01 13:15:28 +12:00
Seiichi Uchida
4cec3ab71d
Prevent panicking against directories or non-existent files
2017-04-26 17:29:56 +09:00
topecongiro
02cf515be6
Format source codes
2017-04-24 16:50:11 +09:00
topecongiro
cbd33e1983
Remove '+ 1' when counting the length of chains
2017-04-24 16:48:05 +09:00
Stanislav Tkach
b53aeebbcf
Fix line length calculation (should be in chars, not bytes)
2017-04-19 17:49:03 +03:00
Sheng Hau
0653b8413e
Show exit codes' meanings with the rustfmt help message
2017-04-19 00:25:48 +08:00
Evgeny Duzhakov
bb7b002b23
format_lines: fix line_len for config.max_width
2017-04-18 14:31:53 +03:00
topecongiro
02c9ac93be
Prohibit long return val from 'rewrite_closure_block'
2017-04-17 23:17:17 +09:00
topecongiro
0614e94d0d
Format source codes
2017-04-15 18:42:45 +09:00
topecongiro
a91fd699a0
Add heuristic choosing block or visual indent for unary op based on span
2017-04-15 18:40:39 +09:00
topecongiro
8dc53d3750
Check the length of the first line of the last method in the chain
2017-04-15 16:23:38 +09:00
topecongiro
1c1ad525f6
Format source codes
2017-04-15 16:22:54 +09:00
topecongiro
8a5038c8f5
Use offset instead of indent for match arm
2017-04-15 16:22:26 +09:00
Jay Lee
c5f07eda41
fix path check
2017-04-10 05:25:12 +08:00
Nick Cameron
bdcb8d663e
Merge pull request #1438 from topecongiro/poor-formatting/method-chains
...
Lookup the last element of 'subexpr_list' instead of the first one
2017-04-06 21:26:13 +12:00
Nick Cameron
ee9daade35
Fix a bug with overlong function calls
2017-04-06 21:17:22 +12:00
Nick Cameron
f4952d3780
Implement a max array width
...
Fixes #1421
2017-04-06 13:01:19 +12:00
topecongiro
8d22e85e48
Lookup the last element of 'subexpr_list' instead of the first one
...
Closes #1217 , #1236 , #1389 and #1434 .
2017-04-06 09:26:25 +09:00
Nick Cameron
b3a4ba570e
Merge pull request #1432 from topecongiro/parse-config
...
Print error and usage when decoding config file failed
2017-04-06 11:30:33 +12:00
Ryan1729
eb25ac5e11
eliminate nested match
2017-04-04 00:01:33 -06:00
Ryan1729
4c4f70957b
fix bug by adding boolean argument
...
Signed-off-by: Ryan1729 <Ryan1729@gmail.com>
2017-04-03 17:39:14 -06: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
f63815ee95
Merge pull request #1435 from iliekturtles/line-length
...
Do not count `\r` as part of line width.
2017-04-03 08:40:22 +12:00
Nick Cameron
20395c5c55
Merge pull request #1430 from fintelia/stdin_lines
...
The --file_lines argument now supports "stdin"
2017-04-03 08:27:35 +12:00
Mike Boutin
a0efdf2de9
Do not count \r
as part of line width.
...
Resolves #1335 . Does not attempt to handle a `\r` not followed by a `\n` nor
attempt to handle Unicode intricacies (#6 ) including zero-width or multi-byte
characters.
2017-04-02 11:09:29 -04:00
Jonathan Behrens
6241469a69
Warn about extra files listed in file_lines argument
2017-03-31 13:34:53 -04:00
topecongiro
34b90d8716
Check existence of pre comment explicitly
...
This commit fixes #1428 .
2017-03-31 21:57:29 +09:00
Jonathan Behrens
56da223dc2
--file_lines argument now supports "stdin"
2017-03-30 19:35:58 -04:00
Nick Cameron
3edc184221
Merge pull request #1413 from Emilgardis/master
...
Implemented support for workspaces
2017-03-31 08:43:40 +13:00
Nick Cameron
4f226eb909
Merge pull request #1424 from topecongiro/long-struct
...
Split long fields in structs
2017-03-31 08:42:40 +13:00
topecongiro
3a1ffa7db7
Split long fields in structs
...
This commit splits long fields in structs.
Closes #1412 .
2017-03-30 13:37:34 +09:00
Emil Gardström
6971b4b5c9
Implemented support for workspaces
...
closes rust-lang-nursery/rustfmt#1244
2017-03-30 03:29:32 +02:00
Jonathan Behrens
36f0402bac
Canonicalize range path in FileLines::intersects()
2017-03-29 18:50:39 -04:00
Jonathan Behrens
b6f1b516d9
Format any statement whose span intersects file_lines
2017-03-29 01:33:14 -04:00
Nick Cameron
603f26d8f1
Merge pull request #1415 from topecongiro/remove-duplicates
...
Remove duplicates
2017-03-29 17:51:19 +13:00
topecongiro
78826e6783
Fix a typo
2017-03-29 09:17:58 +09:00
Fabian Zaiser
6ecc18c7de
Omit space before '\n' + comment ( fixes #457 )
2017-03-28 16:32:12 +02:00
topecongiro
a2d57e956a
Remove duplicate definitions
...
This commit removes duplicated definitions of `type_annotation_separator` and
`type_bound_colon`.
2017-03-28 23:20:50 +09:00
Nick Cameron
5305bc8436
test fallout
2017-03-28 11:25:59 +13:00
Nick Cameron
5fb1140688
fallout - source reformatting
2017-03-28 11:14:47 +13: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
e4efa22983
Source formatting fallout
2017-03-28 10:58:41 +13:00
Nick Cameron
038436919d
Put the second element of a chain on its own line when block formatting.
2017-03-28 10:56:46 +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
Nick Cameron
f53d5dd90c
Merge pull request #1409 from alobb/1408-empty-tuple-enum-decl
...
Prevent conversion of empty tuples to unit structs
2017-03-27 14:28:41 +13:00
Aaron Lobb
548de69d2d
Prevent conversion of empty tuples to unit structs
...
Fixes #1408
2017-03-26 15:47:48 -07: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
Aaron Lobb
0dd0cc1941
Break use
statements into multiple lines ( #1407 )
...
This fixes how line lengths for use statements with multiple
items don't extend beyond the maximum line length.
Fixes #1400
2017-03-26 18:21:43 +13:00
Jon Gjengset
f96e56c3a0
Avoid extra comma in vertical single-field struct patterns ( #1403 )
...
* Add (failing) test for #1397
* Fix for #1397
Specifically, we end up double-adding a trailing comma for single-member
struct patterns that are arranged vertically. One is added by write_list
(since such structs return true for needs_trailing_separator), and
another is added by the if in the old code.
2017-03-26 18:16:45 +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
488c0b9546
Test and source fallout
2017-03-22 09:25:26 +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
Robert Gawdzik
bfb1c277a8
Make list_files deterministic ( Closes #1141 ) ( #1393 )
...
- Use BTreeMap instead
2017-03-22 09:00:33 +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
Nick Cameron
ed10bf9532
Trailing comma for functions with empty bodies
2017-03-13 11:42:41 +13:00
Nick Cameron
4df405a768
Line breaking around generics in tuple structs
2017-03-13 11:25:46 +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
d5478f7d45
Reformatting source code
2017-03-10 16:06:05 +13:00
Nick Cameron
22be93780c
block generics in traits
2017-03-10 16:04:08 +13:00
Nick Cameron
a1d94e545c
Attempt to fixup impls with long generics
2017-03-10 15:58:35 +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
4b60d94a99
Check we can put the where clause on one line when we think we can
...
Fixes #1362
2017-03-10 09:45:26 +13:00
Nick Cameron
70085fca84
Try harder to format function sigs
...
Fixes #1363
2017-03-10 09:26:14 +13:00
Nick Cameron
e3aad6ee83
Be smarter about finding the span for ..
in patterns
...
Fixes #1319
2017-03-09 15:49:58 +13:00
Nick Cameron
d107ca12b8
Use trailing commas if block formatting fn args
...
Fixes #1330
2017-03-09 14:47:29 +13:00
Nick Cameron
6025492245
Implement where_style Rfc
2017-03-09 14:21:20 +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
e7489356c6
Format glob imports
...
Fixes #1356
2017-03-08 10:12:42 +13:00
Nick Cameron
e5638e0cb5
More space for qself paths
...
Fixes #1349
2017-03-07 14:53:10 +13:00
Nick Cameron
981b031c9f
Treat new blocks like existing ones in closures
...
Fixes #1355
2017-03-07 14:30:01 +13:00
Nick Cameron
33b83ae7df
Formatting fallout
...
Also fixes a minor bug when we break a line after `if` and used to leave a trailing space
2017-03-07 09:50:41 +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
Andy Librian
63114f3cac
added unit tests for Indent and Shape ( #1353 )
2017-03-06 07:50:04 +13:00
Nick Cameron
c9ac348759
Fix failing test
2017-03-02 15:03:32 +13:00
Nick Cameron
f2eac0513f
Fix trailing comma tests
2017-03-02 14:27:33 +13:00
Nick Cameron
248f2aba56
Merge branch 'master' of github.com:rust-lang-nursery/rustfmt
2017-03-02 14:27:02 +13:00
Marcus Ball
b8da53ad78
Fix wrap_match_arms resulting in a missing comma ( #1307 )
...
* Fix match arms missing comma with "wrap_match_arms = false"
* remove assert; use body_suffix for comma
* basic test case for issue 1127
2017-03-01 09:46:10 +13:00
Nick Cameron
eff665c5c4
Merge pull request #1334 from gypsydave5/fix_1255
...
Fix #1255 - incorrect removal of `default` on associated types
2017-02-27 11:57:58 +13:00
David Wickes
371ffa4710
Small reformat
2017-02-26 22:28:53 +00:00
David Wickes
094c8898e1
Fix for #1255
...
Default annotation incorrectly removed on associated types
Fixed by adding a specific function to perform formatting on `ImplItems`.
2017-02-26 22:28:21 +00:00