prefer-double-quotes
Same as prefer_double_quotes in Dart lints
- Group
- Style
- Path
lint/style/prefer-double-quotes- Default
- Off, opt in
- Origin
- Dart lints
- Rule
- 348 of 512
Flags single-quoted string literals that could use double quotes without needing an escape.
Prefer double quotes unless the string's text contains a double quote:
useStrings('should be double quote', r'should be double quote'); // flagged
useStrings("should be double quote", 'contains " quote'); // fine
Raw and multiline literals are checked too. An interpolated literal is left
alone when an interpolated expression contains another string literal, and
a literal nested inside another literal's interpolation is never flagged,
since swapping the quotes there would clash with the outer delimiters.
Each part of an adjacent-string concatenation is checked on its own. This
rule is the opposite of prefer-single-quotes; enable only one.
Invalid
void use(Object o) {}
void main() {
var name = "Ann";
use('single');
use(r'raw single');
use('hello $name');
use('''multiline''');
use("double" 'single');
use('${name.length} chars');
} var name = "Ann"; use('single'); use('single'); use(r'raw single'); use(r'raw single'); use('hello $name'); use('hello $name'); use('''multiline'''); use('''multiline'''); use("double" 'single'); use("double" 'single'); use('${name.length} chars');Valid
import "dart:core";
void use(Object o) {}
void main() {
var name = "Ann";
use("double");
use('say "hi"');
use('say \"hi\"');
use('Hello ${name.isEmpty ? "x" : "y"}');
use("outer ${'nested'}");
use('contains "$name"');
use(r"raw");
}
void patternStrings(Object value) {
switch (value) {
case "a${'b'}":
case "a${'b ${'c'}'}":
break;
}
}Configure prefer-double-quotes
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"style": {
"prefer-double-quotes": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/style/prefer-double-quotes: <reason>More style rules
- prefer-early-return
Flags a trailing
ifthat wraps multiple statements in a void function. - prefer-equatable-mixinequatable
Prefer
EquatableMixinto directly extending package:equatable's Equatable. - prefer-final-fields
prefer_final_fieldsrecommendedFlags a private field that is initialized but never reassigned, so it could be
final(prefer-final-fields, adopted from package:lints). - prefer-final-in-for-each
prefer_final_in_for_eachrecommendedPrefer
finalfor a for-each loop variable that is never reassigned. - prefer-final-locals
prefer_final_localsrecommendedPrefer
finalfor local variable declarations that are never reassigned. - prefer-final-parameters
prefer_final_parametersPrefer
finalfor parameters that are never reassigned. - prefer-first
prefer-firstFlags
[0]index access that should use the.firstgetter. - prefer-for-in
Flags zero-based, unit-step index loops over a syntactically known list.