Stéphane Campinas
bb7442802a
rewrite_string: retain blank lines that are trailing
2018-10-08 14:48:15 +02:00
Stéphane Campinas
1c6a2e3de8
rewrite_string: take care of blank lines appearing within the last line
2018-10-08 14:48:14 +02:00
Stéphane Campinas
3205e17cc3
rewrite_string: handle newlines in the last line that fits in the shape for cases where line_start is not a whitespace
2018-10-08 14:48:14 +02:00
Stéphane Campinas
2fc1de6b4a
rewrite_string: do not overflow the next line when the line_start is not a whitespace
2018-10-08 14:48:13 +02:00
Stéphane Campinas
f46082fbd8
rewrite_string: trim trailing whitespace in case the last_line fits in the given shape
2018-10-08 14:48:13 +02:00
Stéphane Campinas
4b26723e55
format_strings: take into account newline occurring within a rewritten line
2018-10-02 00:41:56 +02:00
Stéphane Campinas
86018133a0
removed unused max_width argument of rewrite_string function
2018-07-14 19:33:26 +02:00
Stéphane Campinas
472a2ed0f6
fix rewrite_string when a line feed is present in a sequence of whitespaces, resulting in strange formatting
2018-07-14 19:22:31 +02:00
Nick Cameron
486f8fd8e7
Fixup formatting of tests and source
2018-07-12 21:37:28 +12:00
Pazzaz
f711078126
Seperate and optimize grapheme conditions
2018-05-24 21:32:01 +02:00
Pazzaz
a1d137116b
Avoid unnecessary comparisons with cur_end
2018-05-24 21:32:01 +02:00
Nick Cameron
39301ae5f2
Go back to a non-workspace structure
...
Kinda reverts https://github.com/rust-lang-nursery/rustfmt/pull/2419
2018-03-02 14:58:23 +13:00
topecongiro
4af2aa3a9e
Create rustfmt_core crate
2018-02-07 22:48:05 +09:00
Seiichi Uchida
154bf8e1af
Cargo fmt
2018-01-22 13:05:18 +09:00
topecongiro
bc31014423
Add an optional max width argument to rewrite_string()
2017-10-31 15:04:50 +09:00
topecongiro
7e99893e25
Use visual indent only when rewriting string literal
2017-10-31 15:03:46 +09:00
topecongiro
0d359eacd7
Cargo fmt
2017-10-18 22:23:25 +09:00
topecongiro
fe69dde96b
Replace 'try_opt!' macro with a '?' operator
2017-10-05 20:50:19 +09:00
topecongiro
b74a0f960a
Implement StringFormat::new()
2017-10-01 19:39:00 +09:00
Seiichi Uchida
df7d2be562
Move Indent and Shape to shape.rs from lib.rs
2017-09-19 10:04:35 +09:00
topecongiro
f51261e93e
Cargo fmt
2017-09-15 12:10:58 +09:00
Seiichi Uchida
a8b0a6e4c5
Format source codes and update tests
2017-07-20 00:42:00 +09:00
topecongiro
6fd291981e
Sort imports in alphabetical and consistent order
2017-07-13 18:42:14 +09:00
topecongiro
208ff15954
Format source codes
2017-06-16 08:49:49 +09:00
topecongiro
b8f11a4e3c
Format source codes
2017-06-14 20:39:07 +09:00
Nick Cameron
18ccd0190e
Rebasing
2017-06-13 14:49:47 +12:00
Nick Cameron
1f512948a0
Reformat source code using new defaults
2017-06-13 14:41:49 +12:00
topecongiro
86856491bc
Format source codes
2017-05-25 16:08:08 +09:00
topecongiro
04bb5d8929
Format source codes
2017-05-24 00:07:02 +09: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
topecongiro
f5da9d779f
Format source codes
2017-05-03 11:26:25 +09:00
Nick Cameron
5fb1140688
fallout - source reformatting
2017-03-28 11:14:47 +13:00
Nick Cameron
e4efa22983
Source formatting fallout
2017-03-28 10:58:41 +13:00
Igor Gnatenko
3323056893
bump regex to 0.2
...
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-02-26 15:09:31 +01:00
Nick Cameron
9eb78a3333
Fallout
2017-02-23 13:15:48 +13:00
Nick Cameron
b35906dbce
WIP
2017-02-21 16:35:05 +13:00
Nick Cameron
428339fdc3
Refactor indent and width into Shape struct
2017-01-31 08:35:23 +13:00
Nick Cameron
6ecf5b8e84
If a string goes over-width, give up formatting it
...
Logic here is that the original might be better and at best we'll only make it a different kind of bad.
Fixes #1237
2017-01-06 16:35:28 +13: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
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
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
Marcus Klaas
1e80fd2dcd
Prevent incorrect backslash removal in strings
2015-12-25 18:50:40 +01:00
Marcus Klaas
8cccf45d43
Prevent backslash stripping in string literals
2015-12-12 16:25:01 +01:00
Alex
c726bcae80
infinite while loop fixed, redundancy removed
2015-10-02 11:13:07 -05:00
sezna
2f7acf00e5
Added punctuation preference
...
Create test.rs
Delete test.rs
Fixed compile error.
Trying a possible fix on an arithmetic overflow
another try at the test failure...
passed all tests.
Added tests and cleaned up logic as per nrc's critiques
Delete string.rs.old
Delete string.rs.bk
Made changes as per nrc's requests.
Update string_punctuation.rs
Update string_punctuation.rs
fixed logical redundancy
2015-10-02 08:37:21 -05:00
Marcus Klaas
a7690cb1e5
Make rewrite_string return Option<String>
2015-09-25 13:01:20 +02:00
Pavel Sountsov
03e1b27826
Add Indent::none(), remove make_indent.
2015-09-19 10:36:45 -07:00
Pavel Sountsov
d4108a3029
Initial implementation of hard tab indentation.
2015-09-19 10:36:45 -07:00
Marcus Klaas
c680bb4030
Implement basic chain formatting
2015-09-11 00:52:16 +02:00
Sinh Pham
e47646b44b
Small style fixes.
2015-09-09 07:56:56 -04:00