Marcus Klaas
88fdf9a6e3
Fix integer underflow in extra_offset
2016-06-10 16:17:10 +02:00
Marcus Klaas
1b55aa9f10
Fix integer underflow
2016-06-10 15:19:06 +02:00
Jacob Clark
77edbb7def
Refactoring exsisting filter_maps to maps
2016-06-07 00:03:25 +01:00
Jacob Clark
2ea99869a7
Refactor string collects to itertools join
2016-06-06 22:30:40 +01:00
Marcus Klaas
b3488c6186
Fix constraints on pattern formatting of else arms
2016-06-03 23:18:19 +02:00
Nick Cameron
0087306761
Merge pull request #1016 from rust-lang-nursery/try-double-indent
...
Treat chains with just expr? specially.
2016-06-01 12:28:36 +01:00
lqd
b6263735b1
Add support for the default
keyword ( #1025 )
...
Adds support for Defaultness on impl methods.
Fixes #945
2016-05-31 19:48:49 +02:00
Kamal Marhubi
9759068e62
print_diff: Don't print color codes if output is not a tty
...
On unix, `term::stdout()` just reads the `TERM` environment variable to
decide what features are available. It does not check if the output file
descriptor is in fact a tty. This resulted in printing escape codes when
redirecting output.
2016-05-31 15:15:33 +02: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
8775fe4172
codemap: Add module description
2016-05-31 01:34:42 +02:00
Kamal Marhubi
a83f1a197e
Add copyright notices to added files
2016-05-31 01:34:07 +02:00
Kamal Marhubi
bef5d095a4
rustfmt: Add option to specify line ranges for formatting
...
This commit adds the `--experimental-file-lines` option to rustfmt. This
allows specifying line ranges to format from the command line.
Refs #434
2016-05-31 01:33:58 +02:00
Kamal Marhubi
9fa5a91fc5
visitor: Handle specified line ranges in visit_stmt
...
This commit adds a very rough implementation of handling the specified
line ranges in `config.file_lines_map` for statements. It reformats a
statement if its span is fully contained in the set of lines specified
for the file.
The implementation here is intended as a proof of concept, and
demonstration that the machinery added in the preceding commits is
functional. A final implementation would likely hook in via the
`Rewrite` trait.
Refs #434
2016-05-31 01:33:11 +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
Kamal Marhubi
ed27b4799a
codemap: Add utilities for looking up line ranges of spans
...
This commit adds extension methods to `Codemap` to allow looking up line
ranges for spans.
Refs #434
2016-05-31 00:49:31 +02:00
Kamal Marhubi
bd10af127e
utils: Move codemap related utilities to a dedicated module
...
This commit adds a `codemap` module, and moves the `CodemapSpanUtils`
added in #857 to it. This is preparation for adding more `Codemap`
specific utilities.
Refs #434
2016-05-31 00:49:26 +02:00
Kamal Marhubi
80c56a01ff
visitor: Add debug log for FmtVisitor::visit_stmt()
2016-05-31 00:43:48 +02:00
Kamal Marhubi
7f0d87cc51
Derive Debug for the Input enum
2016-05-31 00:43:48 +02:00
Nick Cameron
5436977bd5
Merge pull request #1017 from marcusklaas/tweak-if-else
...
Format non-statement if-else expressions on a single line
2016-05-31 01:57:29 +12:00
Kamal Marhubi
120e1a0b51
deps: Update syntex_syntax to 0.33
...
This bump brings syntex_syntax support for `..` in tuple and tuple
struct patterns, which come from RFC 1492:
https://github.com/rust-lang/rfcs/blob/master/text/1492-dotdot-in-patterns.md
These new patterns are not properly handled in this PR; instead #1021
tracks supporting them.
Refs #1021
2016-05-30 14:53:04 +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
bbb6038b92
Treat chains with just expr? specially.
...
Fixes #1004
2016-05-29 09:32:48 +01:00
Kamal Marhubi
66cac1f3e9
Handle pub(restricted) ( #1013 )
...
* Handle pub(restricted)
This commit properly handles pub(restricted) as introduced in RFC 1422
[0]. The syntax support was added in #971 , but they were not correctly
formatted.
[0] https://github.com/rust-lang/rfcs/blob/master/text/1422-pub-restricted.md
Fixes #970
* Drop #[inline] attribute on format_visibility
* Make newly non-failing functions return String
The change to `format_visibiilty` means that `format_header` and
`format_unit_struct` can no longer fail. Their return type is updated to
reflect that.
2016-05-28 00:58:25 +02:00
Nick Cameron
6e01fac285
Merge pull request #1008 from rust-lang-nursery/hrtb
...
Don't ignore universal quantification in function types
2016-05-28 10:08:00 +12:00
Nick Cameron
0fae34dfa1
Don't ignore universal quantification in function types
...
Fixes #1006
2016-05-27 15:09:04 -07:00
Nick Cameron
d633e831ba
Merge pull request #1009 from rust-lang-nursery/fn-args-1
...
Fix off by 2 error in function sigs
2016-05-28 10:04:04 +12:00
Nick Cameron
882ef8cc82
Fix off by 2 error in function sigs
...
Fixes #1000
This is a little conservative in some cases, but better than being wrong in others.
2016-05-27 15:05:15 -07:00
Nick Cameron
d6bcfceb7e
Don't put a newline before ?
when it is the second sub-expression in a chain ( #1012 )
...
Fixes #1003
2016-05-27 10:33:19 +02:00
Nick Cameron
775de8a62b
Optionally put short struct variants on one line ( #997 )
...
Closes #418
2016-05-18 22:38:49 +02:00
Nick Cameron
9589cac62d
Format inline attributes on out-of-line modules ( #996 )
...
Fixes #838
2016-05-18 22:36:59 +02:00
Nick Cameron
78f8b6c2e3
Merge branch 'master' of github.com:rust-lang-nursery/rustfmt
2016-05-18 10:02:04 +12:00
Nick Cameron
ff3ff5aa87
Handle parser errors better
2016-05-18 09:58:51 +12:00
Nick Cameron
d0720a00a1
Fall back to basic stdout if we can't unwrap a fancy terminal ( #995 )
...
fixes #978
2016-05-17 23:25:57 +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
Nick Cameron
9b05461666
Write each file as it is formatted ( #991 )
...
The old behaviour stored everything in memory until we were finished. Now we write as soon as we can.
This gives better behaviour when formatting large programs, since there is some progress indication. It also opens the door to optimising memory use by not storing everything in memory unless it is required (which it still might be). That is left as future work though.
2016-05-15 11:41:05 +02:00
Marcus Klaas
eae2921e14
Bootstrap it. Hard.
2016-05-12 21:50:43 +02:00
Marcus Klaas
cd158cecc8
Add try macro to try shorthand conversion tests
2016-05-12 21:15:06 +02:00
Marcus Klaas
ee7b5805fc
Format try shorthand
2016-05-09 20:07:59 +02:00
Nick Cameron
fc2549b576
Merge pull request #981 from DanielJCampbell/generated
...
Altered FmtVisitor to function correctly on generated code
2016-05-06 14:02:56 +12:00
Daniel Campbell
238fc500ae
Altered FmtVisitor to function correctly on generated code
2016-05-06 13:51:48 +12:00
Nick Cameron
b59b0497d3
Merge pull request #980 from DanielJCampbell/visibility
...
Changed modules & visitor mods to public, set filemap::write_file public
2016-05-06 13:09:46 +12:00
Daniel Campbell
4a2db3ec6c
Changed modules & visitor mods to public, set filemap::write_file public
2016-05-06 12:44:18 +12:00
Kamal Marhubi
8309d1a74c
deps: Update syntex_syntax to 0.32.0
2016-05-05 16:39:34 -04:00
Seo Sanghyeon
f85c603c63
Remove unused trait imports
2016-05-03 21:52:55 +09:00
Aaron Gallagher
96d59366fc
Don't misplace the :: on associated items.
...
The rewritten location of the :: on global paths for qpaths was wrong.
2016-05-02 17:11:22 -07:00
Nick Cameron
90c0f708f5
Merge pull request #971 from kamalmarhubi/update-syntex-syntax
...
deps: Update syntex_syntax to 0.31.0
2016-05-03 09:19:50 +12:00
Nick Cameron
c696dcf8da
Handle attributes on modules ( #968 )
...
* Handle attributes (including doc comments) on inline modules
Closes #22
Closes #684
* Tweak the rules for changing indentation in comments (to do it less often).
2016-05-02 10:54:25 +02:00
Kamal Marhubi
6285d53885
Handle new visibility types more gracefully
2016-05-02 01:05:23 -04:00
Kamal Marhubi
fd38acb86f
deps: Update syntex_syntax to 0.31.0
...
Most of the churn on this bump comes from the `Visibility` enum changing
from
pub enum Visibility {
Public,
Inherited,
}
to
pub enum Visibility {
Public,
Crate,
Restricted { path: P<Path>, id: NodeId },
Inherited,
}
which require taking `Visibility` by reference in most places. The new
variants are not handled at this point.
Refs #970
2016-05-01 23:06:58 -04:00
Micah Chalmer
70611bf9ac
Always skip children when using Plain write mode
...
Outputting child module contents in the "Plain" write mode does not make
sense, since there is no way to differentiate code that came from a
child module from that which came from the parent file.
2016-04-28 01:44:45 -04:00
Nick Cameron
de2b8d98ea
Merge pull request #960 from rust-lang-nursery/big-closures
...
Block indent large closures and field/method chains
2016-04-28 09:49:08 +12:00
Nick Cameron
9188ec0f7f
Bail out on recovered errors. ( #965 )
...
Closes #915
Closes #930
Closes #931
2016-04-27 21:08:44 +02:00
Nick Cameron
f2105d382f
Fix for stable
2016-04-26 14:27:13 +12:00
Nick Cameron
19fa5c9ebb
Update docs (and a function name)
2016-04-22 19:26:42 +12:00
Nick Cameron
a9c3108c9c
Change defaults and update tests and source
...
New defaults are `Tabbed` for `chain_indent` and `chain_base_indent`, and `5` for `closure_block_indent_threshold`.
2016-04-22 19:18:48 +12:00
Nick Cameron
9761cf71d8
Tests
2016-04-22 18:53:39 +12:00
Nick Cameron
95ff52f06f
Tabbed/Inherit indent for chains works even without a newline after first item.
2016-04-22 18:41:38 +12:00
Nick Cameron
3d46532e72
refactor and document the chain reformatting code
2016-04-22 14:47:00 +12:00
Nick Cameron
4c3228530f
block indent large closures
...
somewhat rough around the edges
2016-04-22 11:29:01 +12:00
mrBliss
b0755581ca
Format visibility of associated consts ( #953 )
...
Fixes #951 .
2016-04-19 20:19:14 +02:00
Marcus Klaas
f364a7ec43
Add option to force explicit extern ABI's
2016-04-18 18:39:40 +02:00
Thia Wyrod
d773cc5327
Added loop/match brace style control option
...
This adds Allman style loop/match braces as an alternative to the current
default style.
2016-04-17 14:52:04 -06:00
Thia Wyrod
5bd6036218
Added option to configure if/else brace style
2016-04-17 14:48:51 -06:00
Nick Cameron
fe993dbdf3
Merge pull request #947 from marcusklaas/match-pattern-limit
...
Fix off-by-one error in pattern formatting
2016-04-17 10:23:48 +12:00
Marcus Klaas
63f0fc9641
Fix off-by-one error in pattern formatting
2016-04-16 22:42:52 +02:00
Kamal Marhubi
27c91ee35b
rustfmt: Parse options once instead of once per file argument ( #944 )
...
`update_config()` was parsing the `write-mode` option once for each file
argument. This commit parses them once up front into a `CliOptions`
struct, which is then applied to the config before calling `run()`.
2016-04-16 22:34:15 +02:00
Nick Cameron
41e037da7e
Merge pull request #941 from marcusklaas/type-ascription
...
Format type ascription
2016-04-16 16:42:56 +12:00
Nick Cameron
f70d306b83
Merge pull request #942 from marcusklaas/break-continue-fix
...
Check length of break and continue expressions
2016-04-16 16:42:17 +12:00
Nick Cameron
ebebe96aab
Merge pull request #938 from kamalmarhubi/rename-doc-hint
...
config: Rename get_variant_names to doc_hint
2016-04-16 16:41:21 +12:00
Marcus Klaas
d98e22c971
Check length of break and continue expressions
2016-04-15 18:11:29 +02:00
Marcus Klaas
45a83d18cc
Format type ascription
2016-04-15 17:56:43 +02:00
Aleksey Kladov
847bad603e
Don't print empty lines to stderr ( #940 )
2016-04-15 16:52:21 +02:00
Nick Cameron
7a758ea20a
Fix closures again ( #937 )
...
* Fix closures again
Closes #934
Oh god, the rules for parsing closures are even more messed up than I thought - whether or not there is an inner block or depends not only on if there are braces, but also if there is a return type for the closure (!) and if there are statements in the block.
* Fix overflow
2016-04-15 10:52:08 +02:00
Kamal Marhubi
a2426a678d
config: Rename get_variant_names to doc_hint
...
The `ConfigType` trait is implemented for non-enum types, so the name no
longer makes perfect sense.
2016-04-15 01:11:04 -04:00
Nick Cameron
e1d33df302
Merge pull request #923 from matklad/proper-exit-code
...
return non-zero exit code if there are errors
2016-04-15 13:50:10 +12:00
Aleksey Kladov
77350e49b5
return non-zero exit code if there were errors
2016-04-15 02:51:50 +03:00
Marcus Klaas de Vries
320df84e96
Fix brace indentation for impl items ( #927 )
2016-04-14 20:42:38 +02:00
Aleksey Kladov
b1efb3a39e
don't silence error unnecessary
...
This `if` was used to separate error output from the formatting output, when they both used stdout. It was useful for integration with tools, which can submit input to stdin and read pretty printed result from stdout without worrying about errors intermingled with the actual result.
But now we write errors to `stderr`, so the problem disappears and we can safely remove this `if`.
Errors should never pass silently, unless explicitly silenced.
2016-04-14 01:39:39 +03:00
Nick Cameron
14775eb046
Merge pull request #926 from rust-lang-nursery/closures
...
Be careful about where we change braces in closures
2016-04-14 09:32:30 +12:00
Nick Cameron
c7780fdfd8
Be careful about where we change braces in closures
...
And some general refactoring of closure code.
Fixes #863
2016-04-14 09:05:42 +12:00
Nick Cameron
18246692c2
Merge pull request #914 from kamalmarhubi/invalid-operation-result
...
rustfmt: Make error handling more idiomatic
2016-04-14 08:40:55 +12:00
Srinivas Reddy Thatiparthy
58b022c56a
Change stdout to stderr ( #925 )
2016-04-13 21:22:45 +02:00
Nick Cameron
09440b55ef
Merge pull request #921 from matklad/more-unification
...
unify format_string and format_file
2016-04-12 11:05:06 +12:00
Nick Cameron
c6084cb29c
Fix the build
2016-04-12 11:04:33 +12:00
Nick Cameron
eadc878de0
Handle variadic function types
...
Closes #842
2016-04-12 10:47:35 +12:00
Nick Cameron
2f5f0a454a
Merge pull request #912 from rust-lang-nursery/pat-simple-mixed
...
Change the logic around breaking multiple patterns in match arms
2016-04-12 10:47:08 +12:00
Nick Cameron
ce97bc08be
Merge pull request #896 from erikjohnston/fn_arg_one_line
...
Add fn_arg_one_line option
2016-04-12 10:44:01 +12:00
Nick Cameron
5dc3283e49
Reviewer comments - mostly fix rewrite_guard
2016-04-12 10:30:57 +12:00
Nick Cameron
afc8be1d79
Change the logic around breaking multiple patterns in match arms
...
Refactor to use the list code, don't preserve original stacking-ness, base vertical vs mixed formatting on complexity of the patterns.
Closes #386
2016-04-12 09:23:37 +12:00
Aleksey Kladov
dc1fc4be0f
unify format_string and format_file
2016-04-11 22:56:54 +03:00
Nick Cameron
492b26cf04
Empty structs and struct lits ( #920 )
...
* Handle empty struct lits
Closes #835
* Don't crash on empty struct defs.
Not a great fix, but better than crashing.
2016-04-11 21:05:54 +02:00
Nick Cameron
7ac354fd09
Don't be so aggressie about line-breaking strings ( #911 )
...
We will no longer break in the middle of words, only at whitespace or punctuation.
This means we sometimes over-run, but that seems better than some of the bad splits we see.
Closes #369
2016-04-11 20:45:47 +02:00
Kamal Marhubi
72427356eb
rustfmt: Simplify match in project file lookup loop
...
This commit changes the match in `lookup_project_file` to use pattern
guards.
2016-04-10 18:42:55 -04:00
Kamal Marhubi
fe5fa874da
rustfmt: Make error handling more idiomatic
...
This commit replaces the `Operation::InvalidInput` variant with
`Result`, and uses the `try!()` macro instead of explicit matching.
2016-04-10 17:58:14 -04:00
Kamal Marhubi
b55e50f387
rustfmt: Move getopts::Options creation to its own function
2016-04-10 17:57:44 -04:00
Kamal Marhubi
a8c27c7086
macros: Cancel DiagnosticBuilder when not emitting error
...
The error handling in libsyntax changed to use a `DiagnosticBuilder`
type in the `Err` variant of `PResult`. This type has `emit()` and
`cancel()` methods. Once created, errors must be emitted or canceled; if
not, the `Drop` impl on `DiagnosticBuilder` will panic.
The first syntex_syntax release to include this change was v0.25.0. The
bump from v0.23.0 to v0.29.1 in #847 did not add any `cancel()` calls,
even though at least one was required. There may be others not caught in
this commit.
2016-04-07 18:05:57 -04:00
Erik Johnston
6a82a5fb0e
Tidy up
2016-04-07 20:47:43 +01:00
Erik Johnston
4c9dd747bf
Fix long generic indent
2016-04-07 20:29:05 +01:00
Erik Johnston
4edc6f1a4e
Add variant to fn_args_layout
2016-04-07 20:01:16 +01:00
Erik Johnston
615848339b
Merge branch 'master' of github.com:nrc/rustfmt into fn_arg_one_line
2016-04-07 19:53:19 +01:00
Srinivas Reddy Thatiparthy
901c5b1a5d
use std::error instead std::out
2016-04-06 23:23:02 +05:30
Nick Cameron
4fdf859787
Merge pull request #897 from matklad/refactor-run
...
Refactor run family of functions
2016-04-05 11:25:13 +12:00
Aleksey Kladov
c29ee66b94
make naming more consistent
2016-04-05 01:20:14 +03:00
0x0G
6e393b3d53
Fix. rustfmt write to stderr instead stdout
...
Fix. rustfmt write to stderr instead stdout
2016-04-04 12:49:16 +02:00
Aleksey Kladov
63887ed413
make format_string and fmt_lines private
2016-04-03 00:45:04 +03:00
Aleksey Kladov
ac4532e161
use format_input function in tests
2016-04-03 00:32:24 +03:00
Srinivas Reddy Thatiparthy
bee9682a49
Correct spelling of 'style'
2016-04-03 01:08:25 +05:30
Aleksey Kladov
84fb2f402e
refactor: unify run and run_from_stdin
2016-04-02 22:24:38 +03:00
Aleksey Kladov
294b463b5d
minor: use &mut ref instead of by value argument
...
This also unifies `write_all_files` and `write_file` functions
2016-04-02 19:36:56 +03:00
Erik Johnston
57847e451a
Add fn_arg_one_line option
...
If set, arguments will be kept on one line if they fit. Currently only
applies when `fn_args_layout` is set to `Block`.
This commit also fixes a bug where newlines were inserted inbetween
argument brackets when there were no arguments and `fn_args_layout` was
set to `Block`.
2016-04-02 00:25:35 +01:00
Erik Johnston
8219d15291
Fix incorrect indent with fn_args_layout: Block
...
The closing parenthesis for the arg list was written on a new line
without first applying the appropriate indent.
2016-04-01 23:01:49 +01:00
Nick Cameron
5b11d2e80f
Merge pull request #892 from marcusklaas/closed-ranges
...
Format closed ranges
2016-03-31 13:47:09 +13:00
Marcus Klaas de Vries
50820c6a43
Merge pull request #883 from marcusklaas/macro-with-name
...
Properly format macro's with an extra ident
2016-03-30 02:03:28 +02:00
Marcus Klaas
f941646118
Do not panic on type ascription or try shorthand
...
Instead, simply format expressions involving these unstable features
as they were found.
2016-03-30 00:01:54 +02:00
Marcus Klaas
9eee93306a
Format closed ranges
2016-03-29 23:58:45 +02:00
Marcus Klaas
9e5c0390a0
Properly format macro's with an extra ident
2016-03-29 23:16:40 +02:00
Nick Cameron
d3b18d0b45
Merge pull request #889 from kamalmarhubi/next-power-of-two
...
Use checked_next_power_of_two from std instead of custom method
2016-03-29 21:00:31 +13:00
Nick Cameron
11391dfe7b
Merge pull request #891 from kamalmarhubi/update-syntex-syntax
...
deps: Update syntex_syntax to 0.30.0
2016-03-29 20:58:57 +13:00
Nick Cameron
dd96c55801
Merge pull request #886 from matklad/make-illegal-states-unrepresentable
...
Introduce verbosity enum
2016-03-29 20:57:16 +13:00
Kamal Marhubi
f2b5931c6d
deps: Update syntex_syntax to 0.30.0
...
This bump includes ability to parse inclusive ranges (`a...b`) and the
question mark operator.
Refs #867 , #890
2016-03-29 00:04:44 -04:00
Kamal Marhubi
8168c7c44c
Use checked_next_power_of_two from std instead of custom method
...
NB The custom method returned 0 on an input of 0, which is arguably
incorrect: 0 is not a power of two; the method in `std` returns 1 in
that case.
2016-03-28 23:36:22 -04:00
Nick Cameron
6526533745
Merge pull request #879 from matklad/proper-exit-code
...
cargo-fmt: don't return zero on failure
2016-03-29 13:56:00 +13:00
Aleksey Kladov
c7e51d3994
minor: use enum instead of pair of booleans
...
This is a bit more typing, but statically forbids using both verbose and
quiet
2016-03-29 02:37:43 +03:00
Aleksey Kladov
ac7778cc51
cargo-fmt: don't return zero on failure
2016-03-29 02:11:43 +03:00
Nick Cameron
cfc9f70116
Merge pull request #885 from marcusklaas/empty-trait-type-params
...
Remove trailing whitespace for fn types /w non-unit return
2016-03-29 08:17:52 +13:00
Nick Cameron
7d66861b82
Merge pull request #882 from marcusklaas/empty-makro-issues
...
Fix issues with empty macros with curly braces
2016-03-29 08:14:27 +13:00
Marcus Klaas
0142191e51
Remove trailing whitespace for fn types /w non-unit return
2016-03-27 20:40:23 +02:00
Marcus Klaas
0e0cf976c9
Fix issues with empty macros with curly braces
2016-03-27 13:44:40 +02:00
Marcus Klaas
03bf1ceeb9
Fix tuple destructuring in impl fns
2016-03-27 13:07:28 +02:00
Marcus Klaas de Vries
8fd95df54a
Merge pull request #868 from rust-lang-nursery/tuple-wide
...
Don't apply the function args heuristic to tuple lits.
2016-03-24 14:57:24 +01:00
Marcus Klaas de Vries
ca757183fe
Merge pull request #864 from Venti-/fn-density
...
Add option for vertical function argument list
2016-03-22 10:14:04 +01:00
Marcus Klaas de Vries
6f2bb908bb
Merge pull request #866 from rust-lang-nursery/empty-extern
...
Keep empty extern blocks on one line
2016-03-16 18:06:25 +01:00
Connor Brewster
0a665aaceb
Fixed nitpicks
...
Removed unneeded comment
Commented line wrapping conditions
Removed prefix param on `rewrite_associated_type`
Merged `rewrite_associated_static` into `rewrite_static`
Added extra tests
2016-03-15 14:08:12 -06:00
Connor Brewster
a0a5335634
Fixed span_after issue
2016-03-14 20:51:41 -06:00
Connor Brewster
7a6eb2197e
Merge branch 'master' of https://github.com/rust-lang-nursery/rustfmt into add-trait-formatting
2016-03-14 20:49:14 -06:00
Connor Brewster
2793b4090c
Added tests
2016-03-14 20:05:20 -06:00
Connor Brewster
7ba43ff06e
Finished implementing impl and trait type/const
2016-03-14 19:52:07 -06:00
Nick Cameron
9d8ce54428
Don't apply the function args heuristic to tuple lits.
...
Closes #450
Closes #510
2016-03-14 20:51:06 +13:00
Nick Cameron
96a2f25788
Keep empty extern blocks on one line
...
Closes #462
2016-03-14 18:55:55 +13:00
Nick Cameron
da65090050
Merge pull request #857 from kamalmarhubi/codemap-ext
...
utils: Add CodeMapExt extension trait for span_* methods
2016-03-14 18:00:51 +13:00
Ari Koivula
0c8640a84f
Fix last comment turning into block comment
...
This fixes the comment after the last argument in an argument list
being turned into a block comment when it's not necessary.
2016-03-14 02:02:52 +02:00
Ari Koivula
db9d129025
Add Vertical fn_args_density
...
This adds new option Vertical to fn_args_density, which formats the
list vertically no matter what.
2016-03-14 02:00:21 +02:00
Kamal Marhubi
d82d9fc808
utils: Add CodeMapSpanUtils trait for span_* methods
...
This commit adds a CodeMapSpanUtils extension trait on CodeMap, and
moves some functions to methods there:
- span_after
- span_after_last
- span_before
This better reflects them being lookup methods on the codemap.
2016-03-13 18:14:07 -04:00
Nick Cameron
17856e8d56
Merge pull request #859 from solidsnack/master
...
Write non-output to stderr when there is output
2016-03-14 11:13:46 +13:00
Connor Brewster
3163071c75
Updated to latest rustfmt
2016-03-12 11:09:27 -07:00
Connor Brewster
87a5d88aeb
Uncommented missed spans check
2016-03-12 10:53:47 -07:00
Connor Brewster
de95b4cefb
Removed unneeded pattern matching
2016-03-11 22:50:30 -07:00
Connor Brewster
34651c4f78
Fixed formatting
2016-03-11 22:41:22 -07:00
Connor Brewster
d24c31f74c
Added support for associated type rewriting
2016-03-11 22:32:08 -07:00
Connor Brewster
9e583ce7a7
Added where clause formatting
2016-03-11 14:49:11 -07:00
Connor Brewster
35dfcc0078
Adding trait formatting
...
trait header formatting finished
generic formatting finished
added basic trait bounds formatting
2016-03-11 14:18:30 -07:00
Jason Dusek
867b5074aa
Use braces, not parens, for macro def
2016-03-11 00:41:11 -08:00
Jason Dusek
223df90c81
Align arguments
2016-03-11 00:15:26 -08:00
Jason Dusek
d216c358ef
Write non-output to stderr when there is output
2016-03-11 00:15:26 -08:00
Amanieu d'Antras
698027c4c4
Fix ordering of "const unsafe fn"
2016-03-09 02:44:01 -08:00
Nick Cameron
93029638a0
Merge pull request #847 from kamalmarhubi/update-syntex_syntax
...
deps: Update syntex_syntax to 0.29.1
2016-03-09 18:31:02 +08:00
Kamal Marhubi
589dabda2f
deps: Update syntex_syntax to 0.29.1
2016-03-02 13:08:21 -05:00
Kamal Marhubi
de1fc319c1
rustfmt: Use struct-like enum variants for Operation
2016-03-02 13:08:08 -05:00
Vincent Esche
a0567d4063
Fix for issue #811 (falsely inserted "::" in paths with parameterized trait cast).
2016-03-01 16:39:43 +01:00
Nick Cameron
65bc5c242d
Merge pull request #798 from kamalmarhubi/default-no-todo-warnings
...
config: Disable report_todo by default
2016-02-15 16:36:58 +13:00
Nick Cameron
160eb73baa
reviewer changes
2016-02-15 10:07:19 +13:00
Nick Cameron
d86cfb357a
Format all patterns (well, except macros)
...
Fixes #18
Fixes #672
2016-02-12 14:59:13 +13:00
Kamal Marhubi
14dbac5fd7
config: Use write_mode from config
...
This commit tidies up handling of `write_mode` by setting it in the
config at the start, and removing the `write_mode` parameter threaded
throughout the formatting process.
2016-02-08 22:52:44 -05:00
Nick Cameron
a6d70547e0
Merge pull request #799 from kamalmarhubi/const-instead-of-static
...
cleanup: Use const instead of static
2016-02-03 19:26:38 +13:00
Marcus Klaas de Vries
586f525cf1
Merge pull request #780 from sidred/config_path
...
Add support for the config-path option
2016-02-03 06:12:27 +01:00
Marcus Klaas de Vries
9c969ca6fb
Merge pull request #786 from rust-lang-nursery/str-leave
...
Don't reformat strings if we don't have to.
2016-02-03 06:11:01 +01:00
Marcus Klaas de Vries
e2c8c1cab5
Merge pull request #797 from kamalmarhubi/config-expect
...
config: Make panic messages more useful
2016-02-03 06:08:34 +01:00
Kamal Marhubi
70c9b55ecb
cleanup: Remove documentation of deleted parameter
...
The `args` parameter was removed in 579fb34
.
2016-02-02 12:37:38 -05:00
sid
46242ed10e
Add support for the config-path option
...
Adds a config-path option for rustfmt. If this argument is provided,
it recursively searches the config-path for a rustfmt.toml file.
If file is not found, reverts to searching the file input path for the
config file or uses default options.
2016-02-02 15:08:44 +05:30
Kamal Marhubi
8b601812a6
cleanup: Use const instead of static
2016-02-01 23:40:45 -05:00
Kamal Marhubi
52f98c763b
config: Disable report_todo by default
2016-02-01 20:29:44 -05:00
Kamal Marhubi
85d14617ce
config: Make panic messages more useful
2016-02-01 18:40:32 -05:00
Kamal Marhubi
0f254bb343
docs: Clarify return type of lookup_project_file
2016-02-01 12:55:12 -05:00
Kamal Marhubi
98726d0a53
bin: Improve error handling in project file lookup
...
Previously errors were being silently ignored. Eg, if `rustfmt` did not
have permission to read a `rustfmt.toml` file, the default configuration
was used without informing the user.
2016-01-31 10:28:47 -05:00
Marcus Klaas de Vries
edcc4ec6c0
Merge pull request #787 from rust-lang-nursery/mod-empty
...
Put empty modules on one line
2016-01-31 11:33:49 +01:00
Marcus Klaas de Vries
1d216e1829
Merge pull request #791 from kamalmarhubi/canonicalize-path
...
bin: Canonicalize path before looking for project file
2016-01-31 11:33:05 +01:00
Kamal Marhubi
7a0d8be405
bin: Canonicalize path before looking for project file
2016-01-31 02:01:54 -05:00
Kamal Marhubi
bd9ad6b0a0
bin: Properly handle a directories named rustfmt.toml
...
`lookup_project_file` could erroneously find a *directory* named
`rustmfmt.toml` if there was one in its lookup path, and so ignore any
configuration file it should have found further up. The error handling
resulted in this silently using the default configuration.
2016-01-31 01:49:29 -05:00
Nick Cameron
a0e85f9a5f
Put empty modules on one line
...
Fixes #463
2016-01-28 19:53:41 +13:00
Nick Cameron
02302d2800
Don't reformat strings if we don't have to.
...
Specifically if no line exceeds the allowed width and we aren't moving the string to a new offset
2016-01-28 19:14:08 +13:00
DarkDrek
feb09a42f5
Fix #784
2016-01-27 02:18:05 +01:00
Nick Cameron
4344c51c80
Merge pull request #783 from jwazny/issue-588
...
Added where_trailing_comma option.
2016-01-26 22:23:05 +13:00
Jeremy Wazny
7297bc320f
Limit when we emit a trailing where clause comma.
2016-01-26 16:39:00 +11:00
Jeremy Wazny
d82d3b2cd1
Added where_trailing_comma option.
...
The default is 'false', since a lot of the time there's only a single
predicate.
2016-01-26 12:42:11 +11:00
Kevin Yeh
f01ed6f507
Format item macros
2016-01-22 13:43:18 -06:00
Nick Cameron
81516fe8ca
Merge pull request #745 from markstory/checkstyle-output
...
RFC implementation of checkstyle output
2016-01-22 17:48:39 +13:00
Mark Story
d8c6f5954a
Update checkstyle write mode to take Write arguments.
...
By accepting Write traits we can write tests using StringBuffer.
2016-01-19 00:23:38 -05:00
Mark Story
5632831bd1
Clean up function names for checkstyle output.
2016-01-14 22:04:24 -05:00
Nick Cameron
f0ca7aec24
Fix an off-by-one error due to the comma in a struct lit field
...
Also allows splitting the field expression on a new line after the field name.
Fixes #698
2016-01-14 20:26:15 +13:00
Mark Story
add80569ff
Use PartialEq/Eq implementation instead of match.
...
Also cleanup from rebasing onto master.
2016-01-13 21:07:38 -05:00
Mark Story
58410ddd93
Extract checkstyle output into a separate module.
...
Rename functions a bit now that they are specific to checkstyle output.
2016-01-13 21:03:25 -05:00
Mark Story
3c968e1e38
Update based on pull request feedback.
...
* Extract duplicated logic.
* Make checkstyle errors into warnings.
2016-01-13 21:02:50 -05:00
Mark Story
de10545906
Encode XML entities.
2016-01-13 21:02:50 -05:00
Mark Story
c3632befb5
Remove unused argument.
2016-01-13 21:02:05 -05:00
Mark Story
309f284dfb
Fix formatting errors.
2016-01-13 21:01:27 -05:00
Mark Story
d188854e13
Hack together checkstyle output that compiles.
...
I'm not sure it does something useful yet though.
2016-01-13 21:01:26 -05:00
Mark Story
0c9f27fe5e
Start hacking checkstyle output in.
...
checkstyle now shows up on the option parser, and the code still
compiles/passes tests. Next up will be outputing the XML to stdout.
2016-01-13 20:59:18 -05:00
Victor M. Suarez
4f8938c616
Allow for setting of write-mode via config file. FIxes #215
...
Also from @marcusklaas:
Refactor code output functions
Specifically, `write_all_files` no longer returns a HashMap. It would sometimes
contain items, and sometimes be empty. When "fixed" newlines are required, this
must now be done with a separate call. The tests use this strategy and should now pass!
2016-01-12 18:12:48 -05:00
Marcus Klaas de Vries
ba465e0fc2
Merge pull request #766 from ConnorGBrewster/fix-#489
...
Added option for tighter punctuation in types. fixes #489
2016-01-12 22:52:34 +01:00
Marcus Klaas de Vries
4cefecb495
Merge pull request #768 from DarkDrek/amend-to-fix-#447
...
fixes parsing issue #767
2016-01-12 21:53:19 +01:00