Configuration option for aligning tokens.
An event that happens while formatting a file.
Configuration for scalafmt optimizations.
Configuration for scalafmt optimizations.
Clear the search queue on new statements.
Use heuristics to escape when the search state grows out of bounds. An optimization that trades off optimal formatting output in order to complete in a reasonable time. Used as a last resort.
Visit the same formatToken at most MaxVisitsPerToken times.
How often do we try to escape before giving up and use original formatting.
Maximum depth of recursion.
Whether to listen to optimalAt fields in Splits.
Do not optimize inside certain areas such as term apply.
Eliminate solutions that move slower than other solutions. If a solution reaches a point X first and other solution that reaches the same point later, the first solution is preferred if it can be verified to be always better (see org.scalafmt.internal.State.alwaysBetter()). Note. This affects the output positively because it breaks a tie between two equally expensive solutions by eliminating the slower one. Example, solution 1 is preferred even though both solutions cost the same: // solution 1 a + b + c + d // solution 2 a + b + c + d
Recursively format { ... } blocks inside no optimization zones. By starting a new search queue, we can perform aggressive optimizations inside optimizations zones.
A FormatRunner configures how formatting should behave.
A FormatRunner configures how formatting should behave.
Should we collect debugging statistics?
Listen to events that happens while formatting
Are we formatting a scala.meta.{Source,Stat,Case,...}? For more details, see members of scala.meta.parsers.
Configuration options for scalafmt.
Configuration options for scalafmt.
Column limit, any formatting exceeding this field is penalized heavily.
Use scaladoc style docstring, otherwise use javadoc style.
If true, the margin character | is treated
as the new indentation in multiline strings
ending with .stripMargin
.
If true, will fit as many arguments on each line, only breaking at commas. If false, a function call's arguments will either be all on the same line or will have one line each.
Same as binPackArguments, except for def/class definition parameters.
Call-sites where there is a newline after opening ( and newline before closing ). If true, preserves the newlines and keeps one line per argument.
If true, will fit as many arguments on each line, only breaking at dots. If false, a either all selects go on the same line or will have one line each.
If true, a newline will never be placed in front of js.native.
Indent width for line continuation at call site.
Indent width for line continuation at definition/declaration site.
If true, scalafmt may choose to put a newline before colon : at defs.
Parent constructors are C and D in "class A extends B with C and D". If true, scalafmt will fit as many parent constructors on a single line. If false, each parent constructor gets its own line.
If true, aligns by <- in for comprehensions.
If true, aligns by ( in if/while/for. If false, indents by continuationIndentCallSite.
Single source of truth for version number.
Configuration option for aligning tokens.
string literal value of the token to align by.
regexp for class name of scala.meta.Tree "owner" of code.