on master help sign in
cosmetic: mess with indentation
5ee219eEvan Czaplicki
compiler/src/Generate/JavaScript/Builder.hs+56−81
@@ -282,12 +282,11 @@ merge a b =
282linesMap :: (a -> (Lines, b)) -> [a] -> (Bool, [b])
282linesMap :: (a -> (Lines, b)) -> [a] -> (Bool, [b])
283linesMap func xs =
283linesMap func xs =
284 let
284 let
285− pairs =
286− map func xs
285+ pairs = map func xs
287 in
286 in
288− ( any ((==) Many . fst) pairs
287+ ( any ((==) Many . fst) pairs
289− , map snd pairs
288+ , map snd pairs
290− )
289+ )
291
290
292
291
293data Grouping = Atomic | Whatever
292data Grouping = Atomic | Whatever
@@ -327,35 +326,29 @@ fromExpr indent grouping expression =
327 Array exprs ->
326 Array exprs ->
328 (,) Many $
327 (,) Many $
329 let
328 let
330− (anyMany, builders) =
331− linesMap (fromExpr indent Whatever) exprs
329+ (anyMany, builders) = linesMap (fromExpr indent Whatever) exprs
332 in
330 in
333− if anyMany then
331+ if anyMany then
334− "[\n"
332+ "[\n"
335− <> deeper indent
333+ <> deeper indent
336− <> commaNewlineSep indent builders
334+ <> commaNewlineSep indent builders
337− <> "\n" <> indent <> "]"
335+ <> "\n" <> indent <> "]"
338−
339− else
336+ else
340− "[" <> commaSep builders <> "]"
337+ "[" <> commaSep builders <> "]"
341
338
342 Object fields ->
339 Object fields ->
343 (,) Many $
340 (,) Many $
344 let
341 let
345− deeperIndent =
342+ deeperIndent = deeper indent
346− deeper indent
347−
348− (anyMany, builders) =
349− linesMap (fromField deeperIndent) fields
343+ (anyMany, builders) = linesMap (fromField deeperIndent) fields
350 in
344 in
351− if anyMany then
345+ if anyMany then
352− "{\n"
346+ "{\n"
353− <> deeperIndent
347+ <> deeperIndent
354− <> commaNewlineSep indent builders
348+ <> commaNewlineSep indent builders
355− <> "\n" <> indent <> "}"
349+ <> "\n" <> indent <> "}"
356−
357− else
350+ else
358− "{" <> commaSep builders <> "}"
351+ "{" <> commaSep builders <> "}"
359
352
360 Ref name ->
353 Ref name ->
361 (One, Name.toBuilder name)
354 (One, Name.toBuilder name)
@@ -368,24 +361,20 @@ fromExpr indent grouping expression =
368
361
369 Prefix op expr ->
362 Prefix op expr ->
370 let
363 let
371− (lines, builder) =
372− fromExpr indent Atomic expr
364+ (lines, builder) = fromExpr indent Atomic expr
373 in
365 in
374− ( lines
366+ ( lines
375− , parensFor grouping (fromPrefix op <> builder)
367+ , parensFor grouping (fromPrefix op <> builder)
376− )
368+ )
377
369
378 Infix op leftExpr rightExpr ->
370 Infix op leftExpr rightExpr ->
379 let
371 let
380− (leftLines, left) =
381− fromExpr indent Atomic leftExpr
372+ (leftLines , left ) = fromExpr indent Atomic leftExpr
382−
383− (rightLines, right) =
384− fromExpr indent Atomic rightExpr
373+ (rightLines, right) = fromExpr indent Atomic rightExpr
385 in
374 in
386− ( merge leftLines rightLines
375+ ( merge leftLines rightLines
387− , parensFor grouping (left <> fromInfix op <> right)
376+ , parensFor grouping (left <> fromInfix op <> right)
388− )
377+ )
389
378
390 If condExpr thenExpr elseExpr ->
379 If condExpr thenExpr elseExpr ->
391 let
380 let
@@ -393,39 +382,30 @@ fromExpr indent grouping expression =
393 thenB = snd (fromExpr indent Atomic thenExpr)
382 thenB = snd (fromExpr indent Atomic thenExpr)
394 elseB = snd (fromExpr indent Atomic elseExpr)
383 elseB = snd (fromExpr indent Atomic elseExpr)
395 in
384 in
396− ( Many
385+ ( Many
397− , parensFor grouping (condB <> " ? " <> thenB <> " : " <> elseB)
386+ , parensFor grouping (condB <> " ? " <> thenB <> " : " <> elseB)
398− )
387+ )
399
388
400 Assign lValue expr ->
389 Assign lValue expr ->
401 let
390 let
402− (leftLines, left) =
403− fromLValue indent lValue
391+ (leftLines , left ) = fromLValue indent lValue
404−
405− (rightLines, right) =
406− fromExpr indent Whatever expr
392+ (rightLines, right) = fromExpr indent Whatever expr
407 in
393 in
408− ( merge leftLines rightLines
394+ ( merge leftLines rightLines
409− , parensFor grouping (left <> " = " <> right)
395+ , parensFor grouping (left <> " = " <> right)
410− )
396+ )
411
397
412 Call function args ->
398 Call function args ->
413 (,) Many $
399 (,) Many $
414 let
400 let
415− deeperIndent =
401+ deeperIndent = deeper indent
416− deeper indent
417−
418− funcB =
419− snd (fromExpr indent Atomic function)
402+ funcB = snd (fromExpr indent Atomic function)
420−
421− (anyMany, argsB) =
422− linesMap (fromExpr deeperIndent Whatever) args
403+ (anyMany, argsB) = linesMap (fromExpr deeperIndent Whatever) args
423 in
404 in
424− if anyMany then
405+ if anyMany then
425− funcB <> "(\n" <> deeperIndent <> commaNewlineSep indent argsB <> ")"
406+ funcB <> "(\n" <> deeperIndent <> commaNewlineSep indent argsB <> ")"
426−
427− else
407+ else
428− funcB <> "(" <> commaSep argsB <> ")"
408+ funcB <> "(" <> commaSep argsB <> ")"
429
409
430 Function maybeName args stmts ->
410 Function maybeName args stmts ->
431 (,) Many $
411 (,) Many $
@@ -443,12 +423,11 @@ fromExpr indent grouping expression =
443fromField :: Builder -> (Name, Expr) -> (Lines, Builder)
423fromField :: Builder -> (Name, Expr) -> (Lines, Builder)
444fromField indent (field, expr) =
424fromField indent (field, expr) =
445 let
425 let
446− (lines, builder) =
447− fromExpr indent Whatever expr
426+ (lines, builder) = fromExpr indent Whatever expr
448 in
427 in
449− ( lines
428+ ( lines
450− , Name.toBuilder field <> ": " <> builder
429+ , Name.toBuilder field <> ": " <> builder
451− )
430+ )
452
431
453
432
454
433
@@ -471,24 +450,20 @@ fromLValue indent lValue =
471makeDot :: Builder -> Expr -> Name -> (Lines, Builder)
450makeDot :: Builder -> Expr -> Name -> (Lines, Builder)
472makeDot indent expr field =
451makeDot indent expr field =
473 let
452 let
474− (lines, builder) =
475− fromExpr indent Atomic expr
453+ (lines, builder) = fromExpr indent Atomic expr
476 in
454 in
477− (lines, builder <> "." <> Name.toBuilder field)
455+ (lines, builder <> "." <> Name.toBuilder field)
478
456
479
457
480makeBracketed :: Builder -> Expr -> Expr -> (Lines, Builder)
458makeBracketed :: Builder -> Expr -> Expr -> (Lines, Builder)
481makeBracketed indent expr bracketedExpr =
459makeBracketed indent expr bracketedExpr =
482 let
460 let
483− (lines, builder) =
484− fromExpr indent Atomic expr
461+ (lines , builder ) = fromExpr indent Atomic expr
485−
486− (bracketedLines, bracketedBuilder) =
487− fromExpr indent Whatever bracketedExpr
462+ (bracketedLines, bracketedBuilder) = fromExpr indent Whatever bracketedExpr
488 in
463 in
489− ( merge lines bracketedLines
464+ ( merge lines bracketedLines
490− , builder <> "[" <> bracketedBuilder <> "]"
465+ , builder <> "[" <> bracketedBuilder <> "]"
491− )
466+ )
492
467
493
468
494
469