Commit graph

240 commits

Author SHA1 Message Date
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 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
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 0fae34dfa1 Don't ignore universal quantification in function types
Fixes #1006
2016-05-27 15:09:04 -07:00
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
Kamal Marhubi 8309d1a74c deps: Update syntex_syntax to 0.32.0 2016-05-05 16:39:34 -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
Nick Cameron 19849fea15 Update the world 2016-04-08 15:51:06 +12:00
Nick Cameron 5b11d2e80f Merge pull request #892 from marcusklaas/closed-ranges
Format closed ranges
2016-03-31 13:47:09 +13:00
Nick Cameron 19768da5c9 Version bump - v0.4
closes #870
2016-03-30 15:19:46 +13:00
Marcus Klaas 9eee93306a Format closed ranges 2016-03-29 23:58:45 +02: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
Marcus Klaas 03bf1ceeb9 Fix tuple destructuring in impl fns 2016-03-27 13:07:28 +02:00
Nick Cameron 204e732c1b cargo update 2016-03-14 18:19:57 +13:00
Kamal Marhubi 589dabda2f deps: Update syntex_syntax to 0.29.1 2016-03-02 13:08:21 -05:00
Manish Goregaokar 23ba7e7b4b Upgrade deps to make it compile again 2016-02-27 00:58:31 +05:30
Kamal Marhubi 09425ddc35 Bump version in Cargo.lock
This was missed in 82a177e.

Refs #805
2016-02-10 13:15:01 -05:00
Utkarsh Kukreti 6a12818c23 Bump diff to 0.1.8. Fixes #606. 2015-12-28 17:22:03 +05:30
Aleksey Kladov b3f691fa13 update Cargo.lock to match Cargo.toml 2015-12-23 17:31:54 +03:00
Nick Cameron 909b3560ba Add quick start info to README.md, cargo update. 2015-12-16 17:58:20 +13:00
Nick Cameron 78957d371e Use crates.io for everything 2015-12-14 08:03:58 +13:00
Nick Cameron e94bd34a06 cargo upgrade, bug fix, and prepare for packaging 2015-12-08 16:19:23 +13:00
Jakko Sikkar 411fa40988 update dependencies and fix compile errors 2015-11-23 20:54:33 +02:00
Nick Cameron 56a765ef05 Rustup 2015-11-16 14:16:46 +13: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 cda463275e Use the log/env_logger crates from crates.io 2015-10-23 13:46:14 -07:00
Marcus Klaas e8447a8210 Fix large block comments 2015-10-19 23:06:36 +02:00
Marcus Klaas 199d40fa55 Increase default function call width limit 2015-10-06 22:27:11 +02:00
Marcus Klaas da3d2f57da Bump diff.rs version
This should make the computation of diffs quite a bit faster, which is particularly noticable in tests.
2015-09-14 20:22:07 +02:00
Sinh Pham e7a5f9327e Add diff write mode https://github.com/nrc/rustfmt/issues/261 2015-09-10 18:30:07 -04:00
Sinh Pham 61f642f6f8 Support unicode in string literals. 2015-09-03 23:41:25 -04:00
Marcus Klaas adeafb3e45 Refactor diff handling in tests
This splits the generation and display of mismatches. Mismatches now include a few lines of context. Finally, diffs are now coloured.
2015-08-30 22:31:26 +02:00
Gaëtan Cassiers 5b5927996f Kill ChangeSet and replace remaining part by FileMap
Also fix style issues
Cargo update to get fixes of strings.rs (was cause of a misformatted
function call).
2015-08-02 13:33:01 +02:00
Marcus Klaas 5924b83829 Rustup 2015-06-22 14:52:23 +02:00
Marcus Klaas 98c9c6e9ef implement framework for system tests 2015-06-05 17:50:22 +02:00
Nick Cameron 1a09a6d00a Use config file for constants 2015-05-23 17:53:53 +12:00
Nick Cameron aa6f7e8d3c Add default.toml and modify the build system for it 2015-05-23 15:28:41 +12:00
Marcus Klaas 4ecde410c4 Show diffs for failing tests 2015-05-12 02:19:14 +02:00
Tobias Bucher 7d70c9b02d Add Cargo.lock file, because this application is a program
Do this so you can reliably build `rustfmt` in the future, even if one of the
dependencies (in this case, only `strings.rs`) makes backward-incompatible
changes.

See also http://doc.crates.io/guide.html#cargo.toml-vs-cargo.lock.
2015-04-30 09:33:13 +02:00