Module: Jade::Formatter

Extended by:
Formatter, Helper
Included in:
Formatter
Defined in:
lib/jade/formatter.rb,
lib/jade/formatter/body.rb,
lib/jade/formatter/type.rb,
lib/jade/formatter/calls.rb,
lib/jade/formatter/helper.rb,
lib/jade/formatter/lambda.rb,
lib/jade/formatter/leaves.rb,
lib/jade/formatter/case_of.rb,
lib/jade/formatter/pattern.rb,
lib/jade/formatter/accesses.rb,
lib/jade/formatter/bindings.rb,
lib/jade/formatter/exposing.rb,
lib/jade/formatter/collections.rb,
lib/jade/formatter/module_node.rb,
lib/jade/formatter/declarations.rb,
lib/jade/formatter/if_then_else.rb,
lib/jade/formatter/case_of_branch.rb,
lib/jade/formatter/infix_application.rb,
lib/jade/formatter/function_declaration.rb

Defined Under Namespace

Modules: Assign, Bind, Body, Calls, CaseOf, CaseOfBranch, CharLiteral, ConstructorReference, Exposing, FunctionCall, FunctionDeclaration, FunctionDeclarationParam, Grouping, Helper, IfThenElse, Implementation, ImplementationFunction, ImportDeclaration, InfixApplication, InterfaceDeclaration, InterfaceFunctionDecl, InteropFunction, InteropImportDeclaration, KeyedCall, Lambda, List, Literal, MemberAccess, ModuleNode, Pattern, Placeholder, QualifiedAccess, RecordAccess, RecordAccessSugar, RecordLiteral, RecordUpdate, RecordUpdateSugar, StructDeclaration, Tuple, Type, TypeDeclaration, VariableReference, VariantDeclaration

Constant Summary collapse

INDENT =

Constants live at the top-level module so unqualified references resolve via Ruby’s lexical-scope constant lookup from any nested per-node module (which only ‘extend`s Helper — `extend` doesn’t bring constants in).

"  "
LINE_LIMIT =
80

Instance Method Summary collapse

Methods included from Helper

and_indent, dispatch_for, format_delimited, format_exposing, format_leading_comments, format_node, format_pattern, format_trailing_comment, format_type, format_type_atom, too_long?

Instance Method Details

#format(node, comments:, source:, indent: 0) ⇒ Object



32
33
34
35
36
# File 'lib/jade/formatter.rb', line 32

def format(node, comments:, source:, indent: 0)
  Frontend::CommentAttacher
    .attach(node, comments, source)
    .then { format_node(it, indent:, source:) }
end