Marcus Klaas
6e1f77664d
Unwrap match arms that are simple blocks
2015-11-20 21:05:18 +01:00
Marcus Klaas
8f3a29d1a7
Blockify multiline match arms
2015-11-20 21:05:10 +01:00
Nick Cameron
3533f72c45
Merge pull request #618 from zyphrus/master
...
Comments in structs use appropriate style
2015-11-20 18:14:26 +13:00
Nick Cameron
a15dc3d373
Merge pull request #628 from kyeah/single-line-fn
...
Single-line Functions
2015-11-20 18:13:03 +13:00
Kevin Yeh
2e9b6dfab4
Combine rewrite_single_line_fn and rewrite_fn
2015-11-19 20:49:24 -06:00
Kevin Yeh
15ec5b2912
Fix empty body format, add fn_empty_single_line option, refactor block tests
2015-11-19 20:45:02 -06:00
Steven Fackler
d7b331bea7
Use argv[0] for usage output
...
Usage messages traditionally use this as it contains the path that the
user provided to run the executable (e.g. `rustfmt` instead of
`/usr/local/bin/rustfmt`).
2015-11-19 17:56:37 -08:00
David Barnett
b3f41e82fc
Use tactic instead of config
...
Add mixed test
Mixed is unreachable as there is no input combination that could get
to this value
2015-11-20 10:37:00 +13:00
Kevin Yeh
fbd1398c92
Implement Rewrite for ast::Stmt
2015-11-19 14:23:56 -06:00
Kevin Yeh
22837b0748
Combine block utilities
2015-11-19 14:23:56 -06:00
Kevin Yeh
4d7de5a16e
Support single-line functions
...
By default, places functions with empty bodies on one line.
If the function has only one expression or statement that fits on one line, the 'fn_single_line' option can be used.
2015-11-19 14:23:56 -06:00
Nick Cameron
f09aa85798
Merge pull request #619 from SiegeLord/item_brace_style_1
...
Implement initial option for brace style for non-fn items.
2015-11-20 07:41:12 +13:00
Pavel Sountsov
1056006790
Properly follow the brace styles.
2015-11-18 22:34:14 -08:00
Jan Likar
f85ff8d0e5
Print version of the crate
...
Print version acquired from Cargo when building. If built using rustc
directly, print X.X.X
2015-11-18 00:56:46 +01:00
Pavel Sountsov
a96a69b708
Comments.
...
- Move the option
- Add some more tests (don't pass yet)
2015-11-16 23:18:07 -08:00
David Barnett
30aec386f4
Comments in structs use appropriate style
...
Fixes #491
2015-11-17 11:57:49 +13:00
Jan Likar
1eb38c461e
Add -V
as a shorthand for --version
2015-11-16 14:52:14 +01:00
Jan Likar
6e063a1430
Add --version switch
...
Add --version switch, which prints a short hash of the current
commit. Fix #612
2015-11-16 04:37:08 +01:00
Nick Cameron
56a765ef05
Rustup
2015-11-16 14:16:46 +13:00
Pavel Sountsov
8658774ad2
Implement initial option for brace style for non-fn items.
2015-11-15 11:55:18 -08:00
Nick Cameron
f88345c431
Merge pull request #607 from rhoot/native-newline
...
Adding a "Native" option to newline_style.
2015-11-16 08:25:22 +13:00
Johan Sköld
add37b9c49
Adds a "Native" option to newline_style.
...
By using it one will get \r\n line endings on Windows, and \n line endings
on other platforms.
2015-11-15 04:16:34 -08:00
Seo Sanghyeon
faff4bc9e8
Add verbose mode
2015-11-15 15:41:41 +09:00
Eli Friedman
2fff041b43
Pass in whether an ast::Path is in an expression context.
...
This gets rid of a slightly nasty hack involving scanning the source
expression for a ":".
2015-11-14 13:54:57 -08:00
Marcus Klaas de Vries
de599015de
Merge pull request #601 from thorbenk/chains_tabbed_indent
...
Chains tabbed indent
2015-11-14 22:00:11 +01:00
Thorben Kroeger
d4be6a43e9
new config 'chain_indent'
2015-11-14 21:50:40 +01:00
Mika Attila
5b06ed6817
Don't print an unnecessary newline after printing format report
...
The Display implementation for FormatReport already prints
a newline after every error.
However, if the format report does not contain errors, we
don't want to print an empty newline.
This behavior clutters up the console output with
empty lines when rustfmt is invoked multiple times
(from .e.g a script or cargo-fmt).
So instead of using println! to print the report, we just
use print!.
2015-11-14 19:01:28 +01:00
Nick Cameron
2cf2230002
Merge pull request #596 from marcusklaas/where-indent
...
Fix brace indentation after where clause
2015-11-14 10:04:04 +13:00
Nick Cameron
fb6faed99b
Merge pull request #597 from marcusklaas/method-generix
...
Fix span issue with generic method calls
2015-11-14 10:03:12 +13:00
Marcus Klaas
c93c771e71
Fix span issue with generic method calls
2015-11-13 14:53:34 +01:00
Marcus Klaas
d32245a13d
Fix brace indentation after where clause
2015-11-13 14:31:20 +01:00
Jan Likar
4443c4b7cc
Correct some non-idiomatic code
2015-11-13 02:08:57 +01:00
Jan Likar
cb64ab22ec
Enable rustfmt to format a list of files
...
Fix #580 by allowing rustfmt to accept a list of files. This also
enables usage of shell wildcard expansion, although notably this does
not work with cmd.exe on Windows. For example: 'rustfmt *.rs' will
format all rust files in the current working directory.
- Change usage text to show rustfmt will accept a list of files
- Change "Using rustfmt config file: {}" message to
"Using rustfmt config file {} for {}"
- Change Operation::Format(PathBuf, WriteMode) to
Operation::Format(Vec<PathBuf>, WriteMode)
- Loop through Vec<PathBuf>, load config and call 'run' for each path
2015-11-13 01:32:22 +01:00
Marcus Klaas de Vries
b6120b39ab
Merge pull request #571 from nrc/semi
...
Don't strip semi-colons from expressions with non-void type since it …
2015-11-10 08:43:29 +01:00
Jørn Lode
5d07b63ce5
Check if the CWD contains a config (previously it only checked parents)
2015-11-09 21:41:25 +01:00
Marcus Klaas de Vries
e0e24c4e76
Merge pull request #573 from nrc/doom_panic
...
Format tuple structs better
2015-11-09 20:17:50 +01:00
Nick Cameron
b7d61254a7
Option to disable line breaking in comments
...
Set to false by default for now, since we are having a lot of problems with comments. We should set to true once we have a better algorithm.
2015-11-10 08:03:01 +13:00
Nick Cameron
bcda2824a2
Format tuple structs better
...
closes #546
2015-11-09 19:00:04 +13:00
Nick Cameron
3dc0b804f1
Don't strip semi-colons from expressions with non-void type since it can change semantics
2015-11-09 13:23:19 +13:00
Kamal Marhubi
ae13bbcc98
Move config help to dedicated --config-help flag
...
The existing help output is very verbose, overflowing a 50+ line
terminal. This moves the configuration options to a separate help flag
to make a mistyped command less annoying!
2015-11-07 19:03:25 -05:00
Mitsutaka Mimura
67f0b00112
fix unused variable path
warning
2015-11-05 08:14:55 +09:00
Florian Zeitz
2aa35f0f6d
Honor "enum_trailing_comma" option. Fixes #556
2015-11-03 23:57:31 +01:00
Johann
154e20a04f
Address review concerns
2015-11-03 09:16:33 +01:00
Johann
fcc62cbbe0
Stdin support
...
Adds support for receiving input from stdin in case no file was
specified. This is useful for editor/IDE integrations and other tooling.
To achieve clean output a new write-mode option called plain was added,
this option is mandatory when using stdin.
2015-11-02 20:45:45 +01:00
Eli Friedman
1c235de97d
Fix crash speculatively parsing macro arguments as expressions.
...
The problem is essentially that if we try to parse a token tree using a
CodeMap different from the one the tree was originally parsed with,
spans become nonsense. Since CodeMaps can't be cloned, we're basically
forced to use the original ParseSess for additional parsing.
Ideally, rustfmt would be a bit more clever and figure out how to parse
macro arguments based on the definition of the macro itself, rather than
just guessing that a particular token sequence looks like an expression,
but this is good enough for now.
Fixes #538 .
2015-10-27 23:41:32 -07:00
Nick Cameron
100058f2de
Merge pull request #531 from marcusklaas/match-inner-block
...
Address some issues with multiline patterns in let statements
2015-10-26 06:46:26 +13:00
Marcus Klaas
4fa0b0bc57
Print configuration options once in help message
2015-10-24 16:03:10 +02:00
Marcus Klaas
d122ad5adc
Address some issues with multiline patterns in let statements
2015-10-24 13:13:15 +02:00
Ravi Shankar
d135217db2
show rustfmt coverage!
2015-10-24 15:22:37 +05:30
Nick Cameron
29b244b67e
Merge pull request #471 from defuz/relative-configfile
...
Lookup of rustfmt.toml file should be relative from input file
2015-10-24 12:20:54 +13:00
defuz
2ec769709f
Lookup rustfmt.toml file is relative from input file, not from current directory
2015-10-24 02:14:12 +03:00
Nick Cameron
efa5df39a5
Merge pull request #530 from marcusklaas/match-inner-block
...
Bump match inner block indent a level
2015-10-24 11:22:50 +13:00
Nick Cameron
0c1360a77c
Merge pull request #529 from marcusklaas/pattern-indent
...
Fix indentation for enum-style patterns
2015-10-24 11:15:01 +13:00
Nick Cameron
45bcf59bde
Merge pull request #528 from marcusklaas/chain-idempotence
...
Restore idempotence for chain formatting
2015-10-24 11:14:24 +13:00
Alex Crichton
e6b7ad3e39
Ignore #[cfg_attr(rustfmt, rustfmt_skip)] functions
...
This adds to #[rustfmt_skip] but is usable on stable Rust!
2015-10-23 13:46:14 -07:00
Alex Crichton
26958a1c10
Move option parsing to crates.io-based getopts crate
...
Should help adding more options in the future as well!
2015-10-23 13:46:14 -07:00
Alex Crichton
579fb34417
Remove dependence on rustc/rustc_driver, use syntex
...
Instead just parse manually with the `syntex_syntax` crate which is a clone of
libsyntax on crates.io which builds on stable Rust.
2015-10-23 13:46:14 -07:00
Alex Crichton
36abfe5dc2
Remove usage of many unstable features
...
This removes usage of:
* PathExt
* split_last
* split_last_mut
* catch_panic
The catch_panic one was a little tricky as the ident interner needed to be
cloned across threads (a little unsafely), but it should otherwise be good to
go.
2015-10-23 13:46:14 -07:00
Alex Crichton
cda463275e
Use the log/env_logger crates from crates.io
2015-10-23 13:46:14 -07:00
Marcus Klaas
b41965539a
Bump match inner block indent a level
2015-10-23 21:39:26 +02:00
Marcus Klaas
ae5d7e6ba4
Fix indentation for enum-style patterns
2015-10-23 20:44:46 +02:00
Marcus Klaas
0bb979bb85
Restore idempotence for chain formatting
2015-10-23 20:37:45 +02:00
Marcus Klaas de Vries
7e76fad1f5
Merge pull request #485 from marcusklaas/floaters2
...
Deal with floaters
2015-10-22 22:33:24 +02:00
Marcus Klaas
2d267b16d1
Deal with floating links in chains
2015-10-22 22:30:01 +02:00
Eli Friedman
e720218ffb
Improve handling of commas after match arms.
...
Fixes #507 . Fixes #508 .
2015-10-21 14:35:45 -07:00
Eli Friedman
be9e7dc689
Don't use visit::walk_*
. Instead, recurse by hand.
...
This is much more straightforward to understand given how rustfmt
rewriting works, and it avoids walking into expressions in unexpected
places.
Fixes #513 . Fixes #514 .
2015-10-21 13:46:13 -07:00
Tim Kuehn
6b4ef7457a
Fix doc comment regression and add tests.
2015-10-20 02:13:14 -07:00
Marcus Klaas
e8447a8210
Fix large block comments
2015-10-19 23:06:36 +02:00
Marcus Klaas
3970748f59
Remove overflow indentation
2015-10-19 23:06:36 +02:00
Marcus Klaas
cf0f5ca814
Implement CommentCodeSlices
2015-10-19 23:06:35 +02:00
Marcus Klaas
11756d2ef8
Refactor enum formatting
2015-10-19 21:28:05 +02:00
Marcus Klaas de Vries
754925e132
Merge pull request #484 from marcusklaas/patternz
...
Format some patterns
2015-10-19 20:20:29 +02:00
Marcus Klaas
ca023ba9b7
Format some patterns
2015-10-19 20:15:36 +02:00
Marcus Klaas
7e0456b852
Format visibility for statics and consts
2015-10-19 20:08:03 +02:00
Marcus Klaas de Vries
8a9bbd9d7c
Merge pull request #487 from marcusklaas/konsts-n-statix
...
Format constants and static variables
2015-10-18 23:03:01 +02:00
Marcus Klaas
3ce425c9ed
Factor out common item indentation idiom
2015-10-18 22:59:39 +02:00
Marcus Klaas
8e2a910021
Fix indentation for function arguments
2015-10-18 22:22:41 +02:00
Marcus Klaas
1a7d39041e
Format constants and static variables
2015-10-18 21:36:26 +02:00
Nick Cameron
d326a29b4b
Merge pull request #479 from marcusklaas/moar-types
...
Format more type variants
2015-10-18 15:40:11 +13:00
Nick Cameron
d7019ce897
Merge pull request #474 from marcusklaas/fn-indent
...
Properly indent pub fns in extern blocks
2015-10-18 15:19:32 +13:00
Nick Cameron
51afb3ed10
Merge pull request #475 from marcusklaas/vektorz
...
Format vec! macro using brackets
2015-10-18 15:17:49 +13:00
Sinh Pham
82a6cca010
Refactor write_snippet
2015-10-17 11:35:47 -07:00
Marcus Klaas
01937061a9
Format more type variants
2015-10-17 16:05:59 +02:00
Marcus Klaas
5407202fdf
Properly indent pub fns in extern blocks
2015-10-16 23:05:11 +02:00
Marcus Klaas
a9bd695723
Format vec! macro using brackets
2015-10-16 22:55:42 +02:00
Marcus Klaas
5cc60dca97
Remove unsafe push and pop variants
2015-10-16 18:11:46 +02:00
Marcus Klaas de Vries
dfa8ae4048
Merge pull request #464 from marcusklaas/semicolonz
...
Force semicolons after break/continue/return. Remove after blocks.
2015-10-15 21:03:38 +02:00
Marcus Klaas
5ca9381d74
Adjust for unified enum variants and structs
2015-10-15 20:37:36 +02:00
Marcus Klaas
b039e3a8c3
Force semicolons after break/continue/return. Remove after blocks.
2015-10-15 19:55:42 +02:00
Marcus Klaas
dba08bf898
Indent uncontinued chains to block level
2015-10-14 19:41:29 +02:00
Gaurav Saxena
7f1fbea8e9
added semicolons for return statements
2015-10-13 02:22:35 -04:00
Marcus Klaas
e6af5d2c83
Use visual block indentation for array literals
2015-10-12 21:14:12 +02:00
Marcus Klaas
b768d27f03
Format variadic arguments
2015-10-11 20:57:44 +02:00
Will Speak
a5081c9832
Fix Build to Compile with 1.5.0-nightly ( 87cd2c082
)
...
There was an extra, unused, paramter int he match arm which causes an
error when compiling with the latest nightly.
2015-10-10 19:02:25 +01:00
Nick Cameron
aed558fce4
Handle multi-line return types and multi-line tuples
...
Closes #409
2015-10-10 14:55:31 +13:00
Sinh Pham
f075fd01ab
Fix https://github.com/nrc/rustfmt/issues/430
2015-10-08 22:49:16 -07:00
Nick Cameron
3ca8d3677a
Merge pull request #429 from marcusklaas/method-calls2
...
Try "overflowing" the final function argument when it's a closure
2015-10-09 12:27:37 +13:00
Marcus Klaas
ccd404ac6f
Try "overflowing" the final function argument when it's a closure
...
This means that we try formatting the last argument of a function call with block
indentation instead of visual indentation when it is a closure and its first line
fits on the same line as the first arguments.
2015-10-08 23:40:33 +02:00
Marcus Klaas de Vries
e7a6795509
Merge pull request #420 from mwiczer/Issue270
...
Fix https://github.com/nrc/rustfmt/issues/270
2015-10-08 23:38:04 +02:00
mwiczer
5162282b60
Support pre- and post-comments for enums
...
Use lists to format enum variants rather than special formatting.
Add tests for enums mostly around block comments.
2015-10-08 17:22:57 -04:00