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
This commit is contained in:
parent
32cb839855
commit
6ecf5b8e84
10
src/expr.rs
10
src/expr.rs
@ -64,7 +64,7 @@ fn format_expr(expr: &ast::Expr,
|
||||
ast::ExprKind::Lit(ref l) => {
|
||||
match l.node {
|
||||
ast::LitKind::Str(_, ast::StrStyle::Cooked) => {
|
||||
rewrite_string_lit(context, l.span, width, offset)
|
||||
Some(rewrite_string_lit(context, l.span, width, offset))
|
||||
}
|
||||
_ => {
|
||||
wrap_str(context.snippet(expr.span),
|
||||
@ -1457,16 +1457,16 @@ fn rewrite_string_lit(context: &RewriteContext,
|
||||
span: Span,
|
||||
width: usize,
|
||||
offset: Indent)
|
||||
-> Option<String> {
|
||||
-> String {
|
||||
let string_lit = context.snippet(span);
|
||||
|
||||
if !context.config.format_strings && !context.config.force_format_strings {
|
||||
return Some(string_lit);
|
||||
return string_lit;
|
||||
}
|
||||
|
||||
if !context.config.force_format_strings &&
|
||||
!string_requires_rewrite(context, span, &string_lit, width, offset) {
|
||||
return Some(string_lit);
|
||||
return string_lit;
|
||||
}
|
||||
|
||||
let fmt = StringFormat {
|
||||
@ -1483,7 +1483,7 @@ fn rewrite_string_lit(context: &RewriteContext,
|
||||
// Remove the quote characters.
|
||||
let str_lit = &string_lit[1..string_lit.len() - 1];
|
||||
|
||||
rewrite_string(str_lit, &fmt)
|
||||
rewrite_string(str_lit, &fmt).unwrap_or_else(|| string_lit.to_owned())
|
||||
}
|
||||
|
||||
fn string_requires_rewrite(context: &RewriteContext,
|
||||
|
@ -15,6 +15,7 @@ use regex::Regex;
|
||||
|
||||
use Indent;
|
||||
use config::Config;
|
||||
use utils::wrap_str;
|
||||
|
||||
use MIN_STRING;
|
||||
|
||||
@ -117,7 +118,7 @@ pub fn rewrite_string<'a>(orig: &str, fmt: &StringFormat<'a>) -> Option<String>
|
||||
}
|
||||
|
||||
result.push_str(fmt.closer);
|
||||
Some(result)
|
||||
wrap_str(result, fmt.config.max_width, fmt.width, fmt.offset)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
@ -3,8 +3,23 @@ fn main() -> &'static str {
|
||||
let leave_me = "sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss\
|
||||
s
|
||||
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj";
|
||||
// Crappy formatting :-(
|
||||
let change_me = "ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss\
|
||||
s
|
||||
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj";
|
||||
}
|
||||
|
||||
fn issue_1237() {
|
||||
let msg = "eedadn\n\
|
||||
drvtee\n\
|
||||
eandsr\n\
|
||||
raavrd\n\
|
||||
atevrs\n\
|
||||
tsrnev\n\
|
||||
sdttsa\n\
|
||||
rasrtv\n\
|
||||
nssdts\n\
|
||||
ntnada\n\
|
||||
svetve\n\
|
||||
tesnvt\n\
|
||||
vntsnd\n\
|
||||
vrdear\n\
|
||||
dvrsen\n\
|
||||
enarar";
|
||||
}
|
||||
|
@ -48,8 +48,7 @@ enum StructLikeVariants {
|
||||
enum X {
|
||||
CreateWebGLPaintTask(Size2D<i32>,
|
||||
GLContextAttributes,
|
||||
IpcSender<Result<(IpcSender<CanvasMsg>, usize), String>>), /* This is
|
||||
* a post comment */
|
||||
IpcSender<Result<(IpcSender<CanvasMsg>, usize), String>>), /* This is a post comment */
|
||||
}
|
||||
|
||||
pub enum EnumWithAttributes {
|
||||
@ -71,8 +70,7 @@ pub enum EnumWithAttributes {
|
||||
pub enum SingleTuple {
|
||||
// Pre Comment AAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
Match(usize, usize, String), /* Post-comment
|
||||
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
|
||||
Match(usize, usize, String), /* Post-comment AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA */
|
||||
}
|
||||
|
||||
pub enum SingleStruct {
|
||||
|
@ -3,8 +3,23 @@ fn main() -> &'static str {
|
||||
let leave_me = "sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss\
|
||||
s
|
||||
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj";
|
||||
// Crappy formatting :-(
|
||||
let change_me = "sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
|
||||
\
|
||||
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj";
|
||||
}
|
||||
|
||||
fn issue_1237() {
|
||||
let msg = "eedadn\n\
|
||||
drvtee\n\
|
||||
eandsr\n\
|
||||
raavrd\n\
|
||||
atevrs\n\
|
||||
tsrnev\n\
|
||||
sdttsa\n\
|
||||
rasrtv\n\
|
||||
nssdts\n\
|
||||
ntnada\n\
|
||||
svetve\n\
|
||||
tesnvt\n\
|
||||
vntsnd\n\
|
||||
vrdear\n\
|
||||
dvrsen\n\
|
||||
enarar";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user