brittany 0.13.1.2 → 0.14.0.0
raw patch · 623 files changed
+14161/−16797 lines, 623 filesdep +ghc-bootdep −ghc-pathsdep −parsecdep −unsafedep ~aesondep ~basedep ~butchersetup-changed
Dependencies added: ghc-boot
Dependencies removed: ghc-paths, parsec, unsafe
Dependency ranges changed: aeson, base, butcher, bytestring, cmdargs, containers, czipwith, data-tree-print, deepseq, directory, extra, filepath, ghc, ghc-boot-th, ghc-exactprint, hspec, monad-memo, mtl, multistate, pretty, random, safe, semigroups, strict, syb, text, transformers, uniplate, yaml
This diff is very large; some files are shown as “too large to diff”. Download the raw patch for the complete diff.
Files
- ChangeLog.md +7/−0
- README.md +2/−21
- Setup.hs +0/−2
- brittany.cabal +102/−294
- data/Test1.hs +1/−0
- data/Test10.hs +3/−0
- data/Test100.hs +1/−0
- data/Test101.hs +3/−0
- data/Test102.hs +3/−0
- data/Test103.hs +1/−0
- data/Test104.hs +1/−0
- data/Test105.hs +1/−0
- data/Test106.hs +1/−0
- data/Test107.hs +1/−0
- data/Test108.hs +1/−0
- data/Test109.hs +1/−0
- data/Test11.hs +3/−0
- data/Test110.hs +6/−0
- data/Test111.hs +4/−0
- data/Test112.hs +6/−0
- data/Test113.hs +5/−0
- data/Test114.hs +3/−0
- data/Test115.hs +7/−0
- data/Test116.hs +7/−0
- data/Test117.hs +1/−0
- data/Test118.hs +5/−0
- data/Test119.hs +5/−0
- data/Test12.hs +5/−0
- data/Test120.hs +3/−0
- data/Test121.hs +3/−0
- data/Test122.hs +3/−0
- data/Test123.hs +7/−0
- data/Test124.hs +4/−0
- data/Test125.hs +4/−0
- data/Test126.hs +3/−0
- data/Test127.hs +6/−0
- data/Test128.hs +6/−0
- data/Test129.hs +1/−0
- data/Test13.hs +5/−0
- data/Test130.hs +1/−0
- data/Test131.hs +1/−0
- data/Test132.hs +1/−0
- data/Test133.hs +12/−0
- data/Test134.hs +12/−0
- data/Test135.hs +1/−0
- data/Test136.hs +1/−0
- data/Test137.hs +1/−0
- data/Test138.hs +6/−0
- data/Test139.hs +1/−0
- data/Test14.hs +1/−0
- data/Test140.hs +1/−0
- data/Test141.hs +1/−0
- data/Test142.hs +1/−0
- data/Test143.hs +1/−0
- data/Test144.hs +1/−0
- data/Test145.hs +1/−0
- data/Test146.hs +1/−0
- data/Test147.hs +1/−0
- data/Test148.hs +1/−0
- data/Test149.hs +1/−0
- data/Test15.hs +5/−0
- data/Test150.hs +3/−0
- data/Test151.hs +1/−0
- data/Test152.hs +1/−0
- data/Test153.hs +4/−0
- data/Test154.hs +14/−0
- data/Test155.hs +11/−0
- data/Test156.hs +3/−0
- data/Test157.hs +13/−0
- data/Test158.hs +3/−0
- data/Test159.hs +3/−0
- data/Test16.hs +6/−0
- data/Test160.hs +3/−0
- data/Test161.hs +10/−0
- data/Test162.hs +11/−0
- data/Test163.hs +9/−0
- data/Test164.hs +7/−0
- data/Test165.hs +4/−0
- data/Test166.hs +3/−0
- data/Test167.hs +8/−0
- data/Test168.hs +2/−0
- data/Test169.hs +8/−0
- data/Test17.hs +6/−0
- data/Test170.hs +18/−0
- data/Test171.hs +2/−0
- data/Test172.hs +26/−0
- data/Test173.hs +2/−0
- data/Test174.hs +5/−0
- data/Test175.hs +2/−0
- data/Test176.hs +3/−0
- data/Test177.hs +2/−0
- data/Test178.hs +1/−0
- data/Test179.hs +1/−0
- data/Test18.hs +5/−0
- data/Test180.hs +3/−0
- data/Test181.hs +7/−0
- data/Test182.hs +7/−0
- data/Test183.hs +1/−0
- data/Test184.hs +5/−0
- data/Test185.hs +2/−0
- data/Test186.hs +1/−0
- data/Test187.hs +1/−0
- data/Test188.hs +1/−0
- data/Test189.hs +1/−0
- data/Test19.hs +7/−0
- data/Test190.hs +3/−0
- data/Test191.hs +1/−0
- data/Test192.hs +6/−0
- data/Test193.hs +2/−0
- data/Test194.hs +4/−0
- data/Test195.hs +3/−0
- data/Test196.hs +9/−0
- data/Test197.hs +3/−0
- data/Test198.hs +11/−0
- data/Test199.hs +4/−0
- data/Test2.hs +3/−0
- data/Test20.hs +7/−0
- data/Test200.hs +4/−0
- data/Test201.hs +5/−0
- data/Test202.hs +8/−0
- data/Test203.hs +11/−0
- data/Test204.hs +6/−0
- data/Test205.hs +4/−0
- data/Test206.hs +3/−0
- data/Test207.hs +3/−0
- data/Test208.hs +4/−0
- data/Test209.hs +3/−0
- data/Test21.hs +7/−0
- data/Test210.hs +3/−0
- data/Test211.hs +4/−0
- data/Test212.hs +3/−0
- data/Test213.hs +3/−0
- data/Test214.hs +4/−0
- data/Test215.hs +5/−0
- data/Test216.hs +5/−0
- data/Test217.hs +6/−0
- data/Test218.hs +5/−0
- data/Test219.hs +5/−0
- data/Test22.hs +7/−0
- data/Test220.hs +6/−0
- data/Test221.hs +5/−0
- data/Test222.hs +5/−0
- data/Test223.hs +6/−0
- data/Test224.hs +3/−0
- data/Test225.hs +10/−0
- data/Test226.hs +1/−0
- data/Test227.hs +1/−0
- data/Test228.hs +4/−0
- data/Test229.hs +3/−0
- data/Test23.hs +1/−0
- data/Test230.hs +4/−0
- data/Test231.hs +6/−0
- data/Test232.hs +4/−0
- data/Test233.hs +2/−0
- data/Test234.hs +7/−0
- data/Test235.hs +5/−0
- data/Test236.hs +6/−0
- data/Test237.hs +3/−0
- data/Test238.hs +7/−0
- data/Test239.hs +2/−0
- data/Test24.hs +4/−0
- data/Test240.hs +2/−0
- data/Test241.hs +3/−0
- data/Test242.hs +3/−0
- data/Test243.hs +2/−0
- data/Test244.hs +2/−0
- data/Test245.hs +3/−0
- data/Test246.hs +4/−0
- data/Test247.hs +3/−0
- data/Test248.hs +6/−0
- data/Test249.hs +7/−0
- data/Test25.hs +5/−0
- data/Test250.hs +6/−0
- data/Test251.hs +2/−0
- data/Test252.hs +7/−0
- data/Test253.hs +4/−0
- data/Test254.hs +4/−0
- data/Test255.hs +5/−0
- data/Test256.hs +4/−0
- data/Test257.hs +6/−0
- data/Test258.hs +9/−0
- data/Test259.hs +2/−0
- data/Test26.hs +1/−0
- data/Test260.hs +2/−0
- data/Test261.hs +2/−0
- data/Test262.hs +2/−0
- data/Test263.hs +3/−0
- data/Test264.hs +4/−0
- data/Test265.hs +1/−0
- data/Test266.hs +4/−0
- data/Test267.hs +3/−0
- data/Test268.hs +5/−0
- data/Test269.hs +6/−0
- data/Test27.hs +1/−0
- data/Test270.hs +1/−0
- data/Test271.hs +4/−0
- data/Test272.hs +4/−0
- data/Test273.hs +4/−0
- data/Test274.hs +6/−0
- data/Test275.hs +6/−0
- data/Test276.hs +7/−0
- data/Test277.hs +2/−0
- data/Test278.hs +4/−0
- data/Test279.hs +6/−0
- data/Test28.hs +5/−0
- data/Test280.hs +5/−0
- data/Test281.hs +5/−0
- data/Test282.hs +7/−0
- data/Test283.hs +6/−0
- data/Test284.hs +24/−0
- data/Test285.hs +12/−0
- data/Test286.hs +12/−0
- data/Test287.hs +35/−0
- data/Test288.hs +2/−0
- data/Test289.hs +6/−0
- data/Test29.hs +6/−0
- data/Test290.hs +2/−0
- data/Test291.hs +5/−0
- data/Test292.hs +7/−0
- data/Test293.hs +5/−0
- data/Test294.hs +2/−0
- data/Test295.hs +1/−0
- data/Test296.hs +5/−0
- data/Test297.hs +3/−0
- data/Test298.hs +14/−0
- data/Test299.hs +3/−0
- data/Test3.hs +4/−0
- data/Test30.hs +6/−0
- data/Test300.hs +4/−0
- data/Test301.hs +5/−0
- data/Test302.hs +18/−0
- data/Test303.hs +2/−0
- data/Test304.hs +9/−0
- data/Test305.hs +11/−0
- data/Test306.hs +7/−0
- data/Test307.hs +2/−0
- data/Test308.hs +50/−0
- data/Test309.hs +9/−0
- data/Test31.hs +2/−0
- data/Test310.hs +5/−0
- data/Test311.hs +5/−0
- data/Test312.hs +2/−0
- data/Test313.hs +2/−0
- data/Test314.hs +2/−0
- data/Test315.hs +1/−0
- data/Test316.hs +1/−0
- data/Test317.hs +1/−0
- data/Test318.hs +7/−0
- data/Test319.hs +13/−0
- data/Test32.hs +10/−0
- data/Test320.hs +2/−0
- data/Test321.hs +1/−0
- data/Test322.hs +2/−0
- data/Test323.hs +7/−0
- data/Test324.hs +9/−0
- data/Test325.hs +4/−0
- data/Test326.hs +4/−0
- data/Test327.hs +1/−0
- data/Test328.hs +3/−0
- data/Test329.hs +7/−0
- data/Test33.hs +10/−0
- data/Test330.hs +10/−0
- data/Test331.hs +5/−0
- data/Test332.hs +2/−0
- data/Test333.hs +18/−0
- data/Test334.hs +5/−0
- data/Test335.hs +12/−0
- data/Test336.hs +8/−0
- data/Test337.hs +4/−0
- data/Test338.hs +1/−0
- data/Test339.hs +5/−0
- data/Test34.hs +9/−0
- data/Test340.hs +2/−0
- data/Test341.hs +3/−0
- data/Test342.hs +50/−0
- data/Test343.hs +10/−0
- data/Test344.hs +7/−0
- data/Test345.hs +13/−0
- data/Test346.hs +2/−0
- data/Test347.hs +8/−0
- data/Test348.hs +8/−0
- data/Test349.hs +6/−0
- data/Test35.hs +2/−0
- data/Test350.hs +23/−0
- data/Test351.hs +7/−0
- data/Test352.hs +5/−0
- data/Test353.hs +4/−0
- data/Test354.hs +4/−0
- data/Test355.hs +5/−0
- data/Test356.hs +11/−0
- data/Test357.hs +7/−0
- data/Test358.hs +2/−0
- data/Test359.hs +4/−0
- data/Test36.hs +1/−0
- data/Test360.hs +5/−0
- data/Test361.hs +2/−0
- data/Test362.hs +2/−0
- data/Test363.hs +2/−0
- data/Test364.hs +3/−0
- data/Test365.hs +2/−0
- data/Test366.hs +6/−0
- data/Test367.hs +4/−0
- data/Test368.hs +4/−0
- data/Test369.hs +6/−0
- data/Test37.hs +2/−0
- data/Test370.hs +6/−0
- data/Test371.hs +2/−0
- data/Test372.hs +6/−0
- data/Test373.hs +7/−0
- data/Test374.hs +7/−0
- data/Test375.hs +6/−0
- data/Test376.hs +8/−0
- data/Test377.hs +8/−0
- data/Test378.hs +8/−0
- data/Test379.hs +8/−0
- data/Test38.hs +11/−0
- data/Test380.hs +2/−0
- data/Test381.hs +5/−0
- data/Test382.hs +6/−0
- data/Test383.hs +2/−0
- data/Test384.hs +2/−0
- data/Test385.hs +6/−0
- data/Test386.hs +7/−0
- data/Test387.hs +7/−0
- data/Test388.hs +3/−0
- data/Test389.hs +11/−0
- data/Test39.hs +4/−0
- data/Test390.hs +11/−0
- data/Test391.hs +3/−0
- data/Test392.hs +2/−0
- data/Test393.hs +3/−0
- data/Test394.hs +11/−0
- data/Test395.hs +3/−0
- data/Test396.hs +8/−0
- data/Test397.hs +5/−0
- data/Test398.hs +5/−0
- data/Test399.hs +5/−0
- data/Test4.hs +1/−0
- data/Test40.hs +4/−0
- data/Test400.hs +5/−0
- data/Test401.hs +4/−0
- data/Test402.hs +4/−0
- data/Test403.hs +5/−0
- data/Test404.hs +5/−0
- data/Test405.hs +6/−0
- data/Test406.hs +6/−0
- data/Test407.hs +2/−0
- data/Test408.hs +2/−0
- data/Test409.hs +2/−0
- data/Test41.hs +4/−0
- data/Test410.hs +2/−0
- data/Test411.hs +3/−0
- data/Test412.hs +3/−0
- data/Test413.hs +3/−0
- data/Test414.hs +2/−0
- data/Test415.hs +2/−0
- data/Test416.hs +2/−0
- data/Test417.hs +2/−0
- data/Test418.hs +4/−0
- data/Test419.hs +4/−0
- data/Test42.hs +2/−0
- data/Test420.hs +8/−0
- data/Test421.hs +6/−0
- data/Test422.hs +7/−0
- data/Test423.hs +3/−0
- data/Test424.hs +2/−0
- data/Test425.hs +4/−0
- data/Test426.hs +5/−0
- data/Test427.hs +5/−0
- data/Test428.hs +6/−0
- data/Test429.hs +5/−0
- data/Test43.hs +4/−0
- data/Test430.hs +3/−0
- data/Test431.hs +2/−0
- data/Test432.hs +4/−0
- data/Test433.hs +5/−0
- data/Test434.hs +2/−0
- data/Test435.hs +2/−0
- data/Test436.hs +2/−0
- data/Test437.hs +2/−0
- data/Test438.hs +2/−0
- data/Test439.hs +5/−0
- data/Test44.hs +2/−0
- data/Test440.hs +4/−0
- data/Test441.hs +4/−0
- data/Test442.hs +4/−0
- data/Test443.hs +4/−0
- data/Test444.hs +8/−0
- data/Test445.hs +5/−0
- data/Test446.hs +7/−0
- data/Test447.hs +7/−0
- data/Test448.hs +2/−0
- data/Test449.hs +2/−0
- data/Test45.hs +3/−0
- data/Test450.hs +2/−0
- data/Test451.hs +2/−0
- data/Test452.hs +13/−0
- data/Test453.hs +13/−0
- data/Test454.hs +2/−0
- data/Test455.hs +2/−0
- data/Test456.hs too large to diff
- data/Test457.hs too large to diff
- data/Test458.hs too large to diff
- data/Test459.hs too large to diff
- data/Test46.hs too large to diff
- data/Test460.hs too large to diff
- data/Test461.hs too large to diff
- data/Test462.hs too large to diff
- data/Test463.hs too large to diff
- data/Test464.hs too large to diff
- data/Test465.hs too large to diff
- data/Test466.hs too large to diff
- data/Test467.hs too large to diff
- data/Test468.hs too large to diff
- data/Test469.hs too large to diff
- data/Test47.hs too large to diff
- data/Test470.hs too large to diff
- data/Test471.hs too large to diff
- data/Test472.hs too large to diff
- data/Test473.hs too large to diff
- data/Test474.hs too large to diff
- data/Test475.hs too large to diff
- data/Test476.hs too large to diff
- data/Test477.hs too large to diff
- data/Test478.hs too large to diff
- data/Test479.hs too large to diff
- data/Test48.hs too large to diff
- data/Test480.hs too large to diff
- data/Test481.hs too large to diff
- data/Test482.hs too large to diff
- data/Test483.hs too large to diff
- data/Test484.hs too large to diff
- data/Test485.hs too large to diff
- data/Test486.hs too large to diff
- data/Test487.hs too large to diff
- data/Test488.hs too large to diff
- data/Test489.hs too large to diff
- data/Test49.hs too large to diff
- data/Test490.hs too large to diff
- data/Test491.hs too large to diff
- data/Test492.hs too large to diff
- data/Test493.hs too large to diff
- data/Test494.hs too large to diff
- data/Test495.hs too large to diff
- data/Test496.hs too large to diff
- data/Test497.hs too large to diff
- data/Test498.hs too large to diff
- data/Test499.hs too large to diff
- data/Test5.hs too large to diff
- data/Test50.hs too large to diff
- data/Test500.hs too large to diff
- data/Test501.hs too large to diff
- data/Test502.hs too large to diff
- data/Test503.hs too large to diff
- data/Test504.hs too large to diff
- data/Test505.hs too large to diff
- data/Test506.hs too large to diff
- data/Test507.hs too large to diff
- data/Test508.hs too large to diff
- data/Test509.hs too large to diff
- data/Test51.hs too large to diff
- data/Test510.hs too large to diff
- data/Test511.hs too large to diff
- data/Test512.hs too large to diff
- data/Test513.hs too large to diff
- data/Test514.hs too large to diff
- data/Test515.hs too large to diff
- data/Test516.hs too large to diff
- data/Test517.hs too large to diff
- data/Test518.hs too large to diff
- data/Test519.hs too large to diff
- data/Test52.hs too large to diff
- data/Test520.hs too large to diff
- data/Test521.hs too large to diff
- data/Test522.hs too large to diff
- data/Test523.hs too large to diff
- data/Test524.hs too large to diff
- data/Test525.hs too large to diff
- data/Test526.hs too large to diff
- data/Test527.hs too large to diff
- data/Test528.hs too large to diff
- data/Test529.hs too large to diff
- data/Test53.hs too large to diff
- data/Test530.hs too large to diff
- data/Test531.hs too large to diff
- data/Test532.hs too large to diff
- data/Test533.hs too large to diff
- data/Test534.hs too large to diff
- data/Test535.hs too large to diff
- data/Test536.hs too large to diff
- data/Test537.hs too large to diff
- data/Test538.hs too large to diff
- data/Test539.hs too large to diff
- data/Test54.hs too large to diff
- data/Test540.hs too large to diff
- data/Test55.hs too large to diff
- data/Test56.hs too large to diff
- data/Test57.hs too large to diff
- data/Test58.hs too large to diff
- data/Test59.hs too large to diff
- data/Test6.hs too large to diff
- data/Test60.hs too large to diff
- data/Test61.hs too large to diff
- data/Test62.hs too large to diff
- data/Test63.hs too large to diff
- data/Test64.hs too large to diff
- data/Test65.hs too large to diff
- data/Test66.hs too large to diff
- data/Test67.hs too large to diff
- data/Test68.hs too large to diff
- data/Test69.hs too large to diff
- data/Test7.hs too large to diff
- data/Test70.hs too large to diff
- data/Test71.hs too large to diff
- data/Test72.hs too large to diff
- data/Test73.hs too large to diff
- data/Test74.hs too large to diff
- data/Test75.hs too large to diff
- data/Test76.hs too large to diff
- data/Test77.hs too large to diff
- data/Test78.hs too large to diff
- data/Test79.hs too large to diff
- data/Test8.hs too large to diff
- data/Test80.hs too large to diff
- data/Test81.hs too large to diff
- data/Test82.hs too large to diff
- data/Test83.hs too large to diff
- data/Test84.hs too large to diff
- data/Test85.hs too large to diff
- data/Test86.hs too large to diff
- data/Test87.hs too large to diff
- data/Test88.hs too large to diff
- data/Test89.hs too large to diff
- data/Test9.hs too large to diff
- data/Test90.hs too large to diff
- data/Test91.hs too large to diff
- data/Test92.hs too large to diff
- data/Test93.hs too large to diff
- data/Test94.hs too large to diff
- data/Test95.hs too large to diff
- data/Test96.hs too large to diff
- data/Test97.hs too large to diff
- data/Test98.hs too large to diff
- data/Test99.hs too large to diff
- data/brittany.yaml too large to diff
- source/executable/Main.hs too large to diff
- source/library/Language/Haskell/Brittany.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Backend.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/BackendUtils.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Config.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Config/Types.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/LayouterBasics.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Decl.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Expr.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/IE.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Import.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Module.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot too large to diff
- source/library/Language/Haskell/Brittany/Internal/Layouters/Type.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Obfuscation.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/ParseModule.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Prelude.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/PreludeUtils.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Transformations/Alt.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Transformations/Columns.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Transformations/Floating.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Transformations/Indent.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Transformations/Par.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Types.hs too large to diff
- source/library/Language/Haskell/Brittany/Internal/Utils.hs too large to diff
- source/library/Language/Haskell/Brittany/Main.hs too large to diff
- source/test-suite/Main.hs too large to diff
- src-brittany/Main.hs too large to diff
- src-libinterfacetests/Main.hs too large to diff
- src-literatetests/10-tests.blt too large to diff
- src-literatetests/14-extensions.blt too large to diff
- src-literatetests/15-regressions.blt too large to diff
- src-literatetests/16-pending.blt too large to diff
- src-literatetests/30-tests-context-free.blt too large to diff
- src-literatetests/40-indent-policy-multiple.blt too large to diff
- src-literatetests/Main.hs too large to diff
- src-unittests/AsymptoticPerfTests.hs too large to diff
- src-unittests/TestMain.hs too large to diff
- src-unittests/TestUtils.hs too large to diff
- src/Language/Haskell/Brittany.hs too large to diff
- src/Language/Haskell/Brittany/Internal.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Backend.hs too large to diff
- src/Language/Haskell/Brittany/Internal/BackendUtils.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Config.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Config/Types.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs too large to diff
- src/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs too large to diff
- src/Language/Haskell/Brittany/Internal/LayouterBasics.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Decl.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/IE.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Import.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Module.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot too large to diff
- src/Language/Haskell/Brittany/Internal/Layouters/Type.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Obfuscation.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Prelude.hs too large to diff
- src/Language/Haskell/Brittany/Internal/PreludeUtils.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Transformations/Alt.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Transformations/Columns.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Transformations/Floating.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Transformations/Indent.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Transformations/Par.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Types.hs too large to diff
- src/Language/Haskell/Brittany/Internal/Utils.hs too large to diff
- src/Language/Haskell/Brittany/Main.hs too large to diff
- srcinc/prelude.inc too large to diff
@@ -1,5 +1,12 @@ # Revision history for brittany +## 0.14.0.0 -- November 2021++* #357: Added support for GHC 9.0. Dropped support for all other versions of GHC.+ * ab59e9acc3069551ac4132321b285d000f5f5691: Removed runtime dependency on `ghc-paths`.+ * fa8365a7fa9372043d5a1018f2f7669ce3853edd: Started providing pre-built binaries for Linux, MacOS, and Windows.+ * Many other changes to Brittany's internals and exposed Haskell interface, but (hopefully) no changes to its command-line interface.+ ## 0.13.1.2 -- May 2021 * #347: Allowed hspec 2.8. Thanks @felixonmars!
@@ -48,7 +48,7 @@ # Other usage notes -- Supports GHC versions `8.6`, `8.8`, `8.10`.+- Supports GHC version `9.0.x`. - included in stackage with lts>=10.0 (or nightlies dating to >=2017-11-15) - config (file) documentation is lacking. - some config values can not be configured via commandline yet.@@ -65,14 +65,7 @@ ~~~~ If you use an lts that includes brittany this should just work; otherwise- you may want to clone the repo and try again (there are several stack.yamls- included).--- via `nix`:- ~~~.sh- nix build- nix-env -i ./result- ~~~+ you may want to clone the repo and try again. - via `cabal` @@ -102,18 +95,6 @@ ~~~~ # Development tips--## Run a hoogle server--To host a local Hoogle server with all of Brittany's dependencies run:--```sh-echo brittany.cabal |- $(nix-build '<nixpkgs>' --no-link -A entr)/bin/entr -r -- \- sh -c "nix-shell --run 'hoogle server --local'"-```--This will watch `brittany.cabal` for changes and restart the server when new dependencies are added there. # Editor Integration
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
@@ -1,14 +1,15 @@+cabal-version: 2.2+ name: brittany-version: 0.13.1.2+version: 0.14.0.0 synopsis: Haskell source code formatter-description: {+description: See <https://github.com/lspitzner/brittany/blob/master/README.md the README>. . If you are interested in the implementation, have a look at <https://github.com/lspitzner/brittany/blob/master/doc/implementation/theory.md this document>; . The implementation is documented in more detail <https://github.com/lspitzner/brittany/blob/master/doc/implementation/index.md here>.-}-license: AGPL-3+license: AGPL-3.0-only license-file: LICENSE author: Lennart Spitzner maintainer: Lennart Spitzner <hexagoxel@hexagoxel.de>@@ -16,326 +17,133 @@ Copyright (C) 2019 PRODA LTD category: Language build-type: Simple-cabal-version: 1.18 homepage: https://github.com/lspitzner/brittany/ bug-reports: https://github.com/lspitzner/brittany/issues-extra-doc-files: {+extra-doc-files: ChangeLog.md README.md doc/implementation/*.md-}-extra-source-files: {- src-literatetests/*.blt- srcinc/prelude.inc-}+extra-source-files:+ data/brittany.yaml+ data/*.hs -source-repository head {+source-repository head type: git location: https://github.com/lspitzner/brittany.git-} -flag brittany-dev-lib- description: set buildable false for anything but lib+flag pedantic default: False+ description: Enables @-Werror@, which turns warnings into errors. manual: True -flag brittany-test-perf- description: determines if performance test suite is enabled- default: False- manual: True+common library+ build-depends:+ , aeson ^>= 2.0.1+ , base ^>= 4.15.0+ , butcher ^>= 1.3.3+ , bytestring ^>= 0.10.12+ , cmdargs ^>= 0.10.21+ , containers ^>= 0.6.4+ , czipwith ^>= 1.0.1+ , data-tree-print ^>= 0.1.0+ , deepseq ^>= 1.4.5+ , directory ^>= 1.3.6+ , extra ^>= 1.7.10+ , filepath ^>= 1.4.2+ , ghc ^>= 9.0.1+ , ghc-boot ^>= 9.0.1+ , ghc-boot-th ^>= 9.0.1+ , ghc-exactprint ^>= 0.6.4+ , monad-memo ^>= 0.5.3+ , mtl ^>= 2.2.2+ , multistate ^>= 0.8.0+ , pretty ^>= 1.1.3+ , random ^>= 1.2.1+ , safe ^>= 0.3.19+ , semigroups ^>= 0.19.2+ , strict ^>= 0.4.0+ , syb ^>= 0.7.2+ , text ^>= 1.2.5+ , transformers ^>= 0.5.6+ , uniplate ^>= 1.6.13+ , yaml ^>= 0.11.7+ default-language: Haskell2010+ ghc-options:+ -Weverything+ -Wno-all-missed-specialisations+ -Wno-incomplete-uni-patterns+ -Wno-missing-deriving-strategies+ -Wno-missing-export-lists+ -Wno-missing-import-lists+ -Wno-missing-local-signatures+ -Wno-missing-safe-haskell-mode+ -Wno-monomorphism-restriction+ -Wno-prepositive-qualified-module+ -Wno-safe+ -Wno-unsafe -library {- default-language:- Haskell2010- hs-source-dirs:- src- include-dirs:- srcinc- exposed-modules: {+ if flag(pedantic)+ ghc-options: -Werror++common executable+ import: library++ build-depends: brittany+ ghc-options:+ -rtsopts+ -threaded+ -Wno-implicit-prelude+ -Wno-unused-packages++library+ import: library++ autogen-modules: Paths_brittany+ hs-source-dirs: source/library+ exposed-modules: Language.Haskell.Brittany- Language.Haskell.Brittany.Main Language.Haskell.Brittany.Internal- Language.Haskell.Brittany.Internal.Prelude- Language.Haskell.Brittany.Internal.PreludeUtils- Language.Haskell.Brittany.Internal.Types- Language.Haskell.Brittany.Internal.Utils+ Language.Haskell.Brittany.Internal.Backend+ Language.Haskell.Brittany.Internal.BackendUtils Language.Haskell.Brittany.Internal.Config Language.Haskell.Brittany.Internal.Config.Types Language.Haskell.Brittany.Internal.Config.Types.Instances- Language.Haskell.Brittany.Internal.Obfuscation- Paths_brittany- }- other-modules: {- Language.Haskell.Brittany.Internal.LayouterBasics- Language.Haskell.Brittany.Internal.Backend- Language.Haskell.Brittany.Internal.BackendUtils Language.Haskell.Brittany.Internal.ExactPrintUtils- Language.Haskell.Brittany.Internal.Layouters.Type+ Language.Haskell.Brittany.Internal.LayouterBasics+ Language.Haskell.Brittany.Internal.Layouters.DataDecl Language.Haskell.Brittany.Internal.Layouters.Decl Language.Haskell.Brittany.Internal.Layouters.Expr- Language.Haskell.Brittany.Internal.Layouters.Stmt- Language.Haskell.Brittany.Internal.Layouters.Pattern Language.Haskell.Brittany.Internal.Layouters.IE Language.Haskell.Brittany.Internal.Layouters.Import Language.Haskell.Brittany.Internal.Layouters.Module- Language.Haskell.Brittany.Internal.Layouters.DataDecl+ Language.Haskell.Brittany.Internal.Layouters.Pattern+ Language.Haskell.Brittany.Internal.Layouters.Stmt+ Language.Haskell.Brittany.Internal.Layouters.Type+ Language.Haskell.Brittany.Internal.Obfuscation+ Language.Haskell.Brittany.Internal.ParseModule+ Language.Haskell.Brittany.Internal.Prelude+ Language.Haskell.Brittany.Internal.PreludeUtils Language.Haskell.Brittany.Internal.Transformations.Alt- Language.Haskell.Brittany.Internal.Transformations.Floating- Language.Haskell.Brittany.Internal.Transformations.Par Language.Haskell.Brittany.Internal.Transformations.Columns+ Language.Haskell.Brittany.Internal.Transformations.Floating Language.Haskell.Brittany.Internal.Transformations.Indent- }- ghc-options: {- -Wall- -fno-warn-unused-imports- -fno-warn-redundant-constraints- }- build-depends:- { base >=4.12 && <4.15- , ghc >=8.6.1 && <8.11- , ghc-paths >=0.1.0.9 && <0.2- , ghc-exactprint >=0.5.8 && <0.6.5- , transformers >=0.5.2.0 && <0.6- , containers >=0.5.7.1 && <0.7- , mtl >=2.2.1 && <2.3- , text >=1.2 && <1.3- , multistate >=0.7.1.1 && <0.9- , syb >=0.6 && <0.8- , data-tree-print- , pretty >=1.1.3.3 && <1.2- , bytestring >=0.10.8.1 && <0.11- , directory >=1.2.6.2 && <1.4- , butcher >=1.3.1 && <1.4- , yaml >=0.8.18 && <0.12- , aeson >=1.0.1.0 && <1.6- , extra >=1.4.10 && <1.8- , uniplate >=1.6.12 && <1.7- , strict >=0.3.2 && <0.5- , monad-memo >=0.4.1 && <0.6- , unsafe >=0.0 && <0.1- , safe >=0.3.9 && <0.4- , deepseq >=1.4.2.0 && <1.5- , semigroups >=0.18.2 && <0.20- , cmdargs >=0.10.14 && <0.11- , czipwith >=1.0.1.0 && <1.1- , ghc-boot-th >=8.6.1 && <8.11- , filepath >=1.4.1.0 && <1.5- , random >= 1.1 && <1.3- }- default-extensions: {- CPP-- NoImplicitPrelude-- GADTs-- FlexibleContexts- FlexibleInstances- ScopedTypeVariables- MonadComprehensions- LambdaCase- MultiWayIf- KindSignatures- }-}+ Language.Haskell.Brittany.Internal.Transformations.Par+ Language.Haskell.Brittany.Internal.Types+ Language.Haskell.Brittany.Internal.Utils+ Language.Haskell.Brittany.Main+ Paths_brittany executable brittany- if flag(brittany-dev-lib) {- buildable: False- } else {- buildable: True- }- main-is: Main.hs- hs-source-dirs: src-brittany- build-depends:- { base- , brittany- }- default-language: Haskell2010- ghc-options: {- -Wall- -fno-spec-constr- -fno-warn-unused-imports- -fno-warn-redundant-constraints- -rtsopts- -with-rtsopts "-M2G"- }--test-suite unittests- if flag(brittany-dev-lib) || !flag(brittany-test-perf) {- buildable: False- } else {- buildable: True- }- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends:- { brittany- , base- , ghc- , ghc-paths- , ghc-exactprint- , transformers- , containers- , mtl- , text- , multistate- , syb- , data-tree-print- , pretty- , bytestring- , directory- , butcher- , yaml- , aeson- , extra- , uniplate- , strict- , monad-memo- , unsafe- , safe- , deepseq- , semigroups- , cmdargs- , czipwith- , ghc-boot-th- , hspec >=2.4.1 && <2.9- }- main-is: TestMain.hs- other-modules: TestUtils- AsymptoticPerfTests- hs-source-dirs: src-unittests- include-dirs: srcinc- default-extensions: {- CPP-- NoImplicitPrelude+ import: executable - GADTs+ hs-source-dirs: source/executable+ main-is: Main.hs - FlexibleContexts- FlexibleInstances- ScopedTypeVariables- MonadComprehensions- LambdaCase- MultiWayIf- KindSignatures- }- ghc-options: {- -Wall- -fno-warn-unused-imports- -rtsopts- -with-rtsopts "-M2G"- -threaded- -- ^ threaded is not necessary at all, but our CI trusts on being able- -- to pass -N1, which is not possible without threaded :-/- -- (plus -no-threaded is not a thing, afaict)- }+test-suite brittany-test-suite+ import: executable -test-suite littests- if flag(brittany-dev-lib) {- buildable: False- } else {- buildable: True- }- type: exitcode-stdio-1.0- default-language: Haskell2010 build-depends:- { brittany- , base- , ghc- , ghc-paths- , ghc-exactprint- , transformers- , containers- , mtl- , text- , multistate- , syb- , data-tree-print- , pretty- , bytestring- , directory- , butcher- , yaml- , aeson- , extra- , uniplate- , strict- , monad-memo- , unsafe- , safe- , deepseq- , semigroups- , cmdargs- , czipwith- , ghc-boot-th- , hspec >=2.4.1 && <2.9- , filepath- , parsec >=3.1.11 && <3.2- }- main-is: Main.hs- other-modules:- hs-source-dirs: src-literatetests- include-dirs: srcinc- default-extensions: {- CPP-- NoImplicitPrelude-- GADTs-- FlexibleContexts- FlexibleInstances- ScopedTypeVariables- MonadComprehensions- LambdaCase- MultiWayIf- KindSignatures- }- ghc-options: {- -Wall- -fno-warn-unused-imports- -threaded- -rtsopts- -with-rtsopts "-M2G -N"- }--test-suite libinterfacetests- if flag(brittany-dev-lib) {- buildable: False- } else {- buildable: True- }- type: exitcode-stdio-1.0- default-language: Haskell2010- build-depends:- { brittany- , base- , text- , transformers- , hspec >=2.4.1 && <2.9- }- main-is: Main.hs- other-modules:- hs-source-dirs: src-libinterfacetests- include-dirs: srcinc- default-extensions: {- FlexibleContexts- FlexibleInstances- ScopedTypeVariables- MonadComprehensions- LambdaCase- MultiWayIf- KindSignatures- }- ghc-options: {- -Wall- -fno-warn-unused-imports- -rtsopts- -with-rtsopts "-M2G"- -threaded- -- ^ threaded is not necessary at all, but our CI trusts on being able- -- to pass -N1, which is not possible without threaded :-/- -- (plus -no-threaded is not a thing, afaict)- }+ , hspec ^>= 2.8.3+ hs-source-dirs: source/test-suite+ main-is: Main.hs+ type: exitcode-stdio-1.0
@@ -0,0 +1,1 @@+func :: a -> a
@@ -0,0 +1,3 @@+func+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> (lakjsdlkjasldkj -> lakjsdlkjasldkj)
@@ -0,0 +1,1 @@+func = klajsdas klajsdas klajsdas
@@ -0,0 +1,3 @@+func = lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd
@@ -0,0 +1,3 @@+func = lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd lakjsdlajsdljas+ lakjsdlajsdljas+ lakjsdlajsdljas
@@ -0,0 +1,1 @@+func = (1 +)
@@ -0,0 +1,1 @@+func = (+ 1)
@@ -0,0 +1,1 @@+func = (1 `abc`)
@@ -0,0 +1,1 @@+func = (`abc` 1)
@@ -0,0 +1,1 @@+func = (abc, def)
@@ -0,0 +1,1 @@+func = (abc, )
@@ -0,0 +1,1 @@+func = (, abc)
@@ -0,0 +1,3 @@+func+ :: (lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd -> lakjsdlkjasldkj)+ -> lakjsdlkjasldkj
@@ -0,0 +1,6 @@+myTupleSection =+ ( verylaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaargefirstelement+ ,+ , verylaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaargethirdelement+ ,+ )
@@ -0,0 +1,4 @@+func =+ ( lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ , lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ )
@@ -0,0 +1,6 @@+foo = if True+ then+ -- iiiiii+ "a "+ else+ "b "
@@ -0,0 +1,5 @@+func = if cond+ then pure 42+ else do+ -- test+ abc
@@ -0,0 +1,3 @@+func = case x of+ False -> False+ True -> True
@@ -0,0 +1,7 @@+func =+ case+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ of+ False -> False+ True -> True
@@ -0,0 +1,7 @@+func = do+ case+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ of+ False -> False+ True -> True
@@ -0,0 +1,1 @@+func = case x of {}
@@ -0,0 +1,5 @@+func =+ case+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ of {}
@@ -0,0 +1,5 @@+func = do+ case+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ of {}
@@ -0,0 +1,5 @@+func+ :: ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ -> lakjsdlkjasldkj
@@ -0,0 +1,3 @@+func = do+ stmt+ stmt
@@ -0,0 +1,3 @@+func = do+ x <- stmt+ stmt x
@@ -0,0 +1,3 @@+func = do+ let x = 13+ stmt x
@@ -0,0 +1,7 @@+func =+ foooooo+ $ [ case+ foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo+ of+ _ -> True+ ]
@@ -0,0 +1,4 @@+testMethod foo bar baz qux =+ let x = undefined foo bar baz qux qux baz bar :: String+ -- some comment explaining the in expression+ in undefined foo x :: String
@@ -0,0 +1,4 @@+testMethod foo bar baz qux =+ let x = undefined :: String+ -- some comment explaining the in expression+ in undefined :: String
@@ -0,0 +1,3 @@+testMethod foo bar baz qux =+ -- some comment explaining the in expression+ let x = undefined :: String in undefined :: String
@@ -0,0 +1,6 @@+foo foo bar baz qux =+ let a = 1+ b = 2+ c = 3+ -- some comment explaining the in expression+ in undefined :: String
@@ -0,0 +1,6 @@+func =+ foo+ $ [ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ , bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+ ]+ ++ [ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc]
@@ -0,0 +1,1 @@+module Main where
@@ -0,0 +1,5 @@+func+ :: ( ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ )
@@ -0,0 +1,1 @@+module Main () where
@@ -0,0 +1,1 @@+module Main (main) where
@@ -0,0 +1,1 @@+module Main (main, test1, test2) where
@@ -0,0 +1,12 @@+module Main+ ( main+ , test1+ , test2+ , test3+ , test4+ , test5+ , test6+ , test7+ , test8+ , test9+ ) where
@@ -0,0 +1,12 @@+module Main+ ( main+ -- main+ , test1+ , test2+ -- Test 3+ , test3+ , test4+ -- Test 5+ , test5+ -- Test 6+ ) where
@@ -0,0 +1,1 @@+module Main (Test(..)) where
@@ -0,0 +1,1 @@+module Main (module Main) where
@@ -0,0 +1,1 @@+module Main (Test(Test, a, b)) where
@@ -0,0 +1,6 @@+-- comment1+module Main+ ( Test(Test, a, b)+ , foo -- comment2+ ) -- comment3+ where
@@ -0,0 +1,1 @@+module Main (Test()) where
@@ -0,0 +1,1 @@+func :: asd -> Either a b
@@ -0,0 +1,1 @@+-- Intentionally left empty
@@ -0,0 +1,1 @@+import Data.List
@@ -0,0 +1,1 @@+import Data.List as L
@@ -0,0 +1,1 @@+import qualified Data.List
@@ -0,0 +1,1 @@+import qualified Data.List as L
@@ -0,0 +1,1 @@+import safe Data.List as L
@@ -0,0 +1,1 @@+import {-# SOURCE #-} Data.List ( )
@@ -0,0 +1,1 @@+import safe qualified Data.List
@@ -0,0 +1,1 @@+import {-# SOURCE #-} safe qualified Data.List
@@ -0,0 +1,1 @@+import qualified "base" Data.List
@@ -0,0 +1,5 @@+func+ :: asd+ -> Either+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,3 @@+import {-# SOURCE #-} safe qualified "base" Data.List as L+import {-# SOURCE #-} safe qualified "base" Data.List ( )+import {-# SOURCE #-} safe qualified Data.List hiding ( )
@@ -0,0 +1,1 @@+import qualified Data.List ( )
@@ -0,0 +1,1 @@+import Data.List ( nub )
@@ -0,0 +1,4 @@+import Data.List ( foldl'+ , indexElem+ , nub+ )
@@ -0,0 +1,14 @@+import Test ( Long+ , anymore+ , fit+ , items+ , line+ , list+ , not+ , onA+ , quite+ , single+ , that+ , will+ , with+ )
@@ -0,0 +1,11 @@+import Test ( (+)+ , (:!)(..)+ , (:*)((:.), T7, t7)+ , (:.)+ , T+ , T2()+ , T3(..)+ , T4(T4)+ , T5(T5, t5)+ , T6((<|>))+ )
@@ -0,0 +1,3 @@+import Test hiding ( )+import Test as T+ hiding ( )
@@ -0,0 +1,13 @@+import Prelude as X+ hiding ( head+ , init+ , last+ , maximum+ , minimum+ , pred+ , read+ , readFile+ , succ+ , tail+ , undefined+ )
@@ -0,0 +1,3 @@+import TestJustAbitToLongModuleNameLikeThisOneIs+ ( )+import TestJustShortEnoughModuleNameLikeThisOne ( )
@@ -0,0 +1,3 @@+import TestJustAbitToLongModuleNameLikeThisOneI+ as T+import TestJustShortEnoughModuleNameLikeThisOn as T
@@ -0,0 +1,6 @@+func+ :: asd+ -> Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,3 @@+import TestJustAbitToLongModuleNameLikeTh+ hiding ( )+import TestJustShortEnoughModuleNameLike hiding ( )
@@ -0,0 +1,10 @@+import MoreThanSufficientlyLongModuleNameWithSome+ ( compact+ , fit+ , inA+ , items+ , layout+ , not+ , that+ , will+ )
@@ -0,0 +1,11 @@+import TestJustAbitToLongModuleNameLikeTh+ hiding ( abc+ , def+ , ghci+ , jklm+ )+import TestJustShortEnoughModuleNameLike hiding ( abc+ , def+ , ghci+ , jklm+ )
@@ -0,0 +1,9 @@+import {-# SOURCE #-} safe qualified "qualifier" A hiding ( )+import {-# SOURCE #-} safe qualified "qualifiers" A+ hiding ( )+import {-# SOURCE #-} safe qualified "qualifiers" AlsoAf as T+import {-# SOURCE #-} safe qualified "qualifiers" AlsoAff ( )+import {-# SOURCE #-} safe qualified "qualifiers" AlsoAff+ as T+import {-# SOURCE #-} safe qualified "qualifiers" AlsoAffe+ ( )
@@ -0,0 +1,7 @@+-- Test+import Data.List ( nub ) -- Test+{- Test -}+import qualified Data.List as L+ ( foldl' ) {- Test -}+-- Test+import Test ( test )
@@ -0,0 +1,4 @@+import Test ( abc+ , def+ -- comment+ )
@@ -0,0 +1,3 @@+import Test ( abc+ -- comment+ )
@@ -0,0 +1,8 @@+import Test ( abc+ -- comment+ , def+ , ghi+ {- comment -}+ , jkl+ -- comment+ )
@@ -0,0 +1,2 @@+import Test ( -- comment+ )
@@ -0,0 +1,8 @@+import Test ( longbindingNameThatoverflowsColum+ )+import Test ( Long+ ( List+ , Of+ , Things+ )+ )
@@ -0,0 +1,6 @@+func+ :: Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> asd
@@ -0,0 +1,18 @@+import Test ( Thing+ ( -- Comments+ )+ )+import Test ( Thing+ ( Item+ -- and Comment+ )+ )+import Test ( Thing+ ( With+ -- Comments+ , and+ -- also+ , items+ -- !+ )+ )
@@ -0,0 +1,2 @@+import VeryLongModuleNameThatCouldEvenCauseAnEmptyBindingListToExpandIntoMultipleLine+ ( )
@@ -0,0 +1,26 @@+{-# LANGUAGE BangPatterns #-}+{-+ - Test module+ -}+module Test+ ( test1+ -- ^ test+ , test2+ -- | test+ , test3+ , test4+ , test5+ , test6+ , test7+ , test8+ , test9+ , test10+ -- Test 10+ ) where+-- Test+import Data.List ( nub ) -- Test+{- Test -}+import qualified Data.List as L+ ( foldl' ) {- Test -}+-- Test+import Test ( test )
@@ -0,0 +1,2 @@+import Aaa+import Baa
@@ -0,0 +1,5 @@+import Zaa+import Zab++import Aaa+import Baa
@@ -0,0 +1,2 @@+import Boo+import qualified Zoo
@@ -0,0 +1,3 @@+import Boo ( a )++import Boo ( b )
@@ -0,0 +1,2 @@+import A.B.C+import A.B.D
@@ -0,0 +1,1 @@+type MySynonym = String
@@ -0,0 +1,1 @@+type MySynonym a = [a]
@@ -0,0 +1,5 @@+func+ :: Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ (lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd -> asd)
@@ -0,0 +1,3 @@+-- | Important comment thrown in+type MySynonym b a+ = MySynonym a b -> MySynonym a b -> MyParamType a b -> MyParamType a b
@@ -0,0 +1,7 @@+type MySynonym3 b a+ = MySynonym a b+ -> MySynonym a b+ -- ^ RandomComment+ -> MyParamType a b+ -> MyParamType a b+ -> MySynonym2 b a
@@ -0,0 +1,7 @@+{-# LANGUAGE StarIsType #-}+type MySynonym (a :: * -> *)+ = MySynonym a b+ -> MySynonym a b+ -> MyParamType a b+ -> MyParamType a b+ -> MySynonym2 b a
@@ -0,0 +1,1 @@+type MySynonym a = Num a => a -> Int
@@ -0,0 +1,5 @@+type MySynonym a+ = Num a+ => AReallyLongTypeName+ -> AnotherReallyLongTypeName+ -> AThirdTypeNameToOverflow
@@ -0,0 +1,2 @@+{-# LANGUAGE RankNTypes #-}+type MySynonym = forall a . [a]
@@ -0,0 +1,1 @@+type (:+:) a b = (a, b)
@@ -0,0 +1,1 @@+type a `MySynonym` b = a -> b
@@ -0,0 +1,1 @@+type a :+: b = (a, b)
@@ -0,0 +1,1 @@+type (a `Foo` b) c = (a, b, c)
@@ -0,0 +1,7 @@+func+ :: Trither+ asd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )
@@ -0,0 +1,3 @@+type Foo a -- fancy type comment+ = -- strange comment+ Int
@@ -0,0 +1,1 @@+type (a :+: b) = (a, b)
@@ -0,0 +1,6 @@+type Foo+ = ( -- t1+ A -- t2+ , -- t3+ B -- t4+ ) -- t5
@@ -0,0 +1,2 @@+instance MyClass Int where+ myMethod x = x + 1
@@ -0,0 +1,4 @@+instance MyClass Int where+ myMethod x =+ -- insightful comment+ x + 1
@@ -0,0 +1,3 @@+instance MyClass Int where+ myMethod :: Int -> Int+ myMethod x = x + 1
@@ -0,0 +1,9 @@+instance MyClass Int where+ myMethod+ :: Int+ -> Int+ -> AReallyLongType+ -> AReallyLongType+ -> AReallyLongType+ -> Int+ myMethod x = x + 1
@@ -0,0 +1,3 @@+instance MyClass Int where+ myMethod x = x + 1+ myMethod2 x = x + 1
@@ -0,0 +1,11 @@+instance MyClass Int where+ myMethod+ :: Int+ -> Int+ -> AReallyLongType+ -> AReallyLongType+ -> AReallyLongType+ -> Int+ myMethod x = x + 1+ myMethod2 :: Int -> Int+ myMethod2 x = x + 1
@@ -0,0 +1,4 @@+-- | This instance should be commented on+instance MyClass Int where+ -- | This method is also comment-worthy+ myMethod x = x + 1
@@ -0,0 +1,3 @@+func+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,7 @@+func+ :: asd+ -> ( Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )
@@ -0,0 +1,4 @@+instance MyClass Int where+ type MyType = Int+ myMethod :: MyType -> Int+ myMethod x = x + 1
@@ -0,0 +1,5 @@+instance MyClass Int where+ type MyType = String+ myMethod :: MyType -> Int+ myMethod x = x + 1+ type MyType = Int
@@ -0,0 +1,8 @@+instance MyClass Int where+ -- | This data is very important+ data MyData = IntData+ { intData :: String+ , intData2 :: Int+ }+ myMethod :: MyData -> Int+ myMethod = intData2
@@ -0,0 +1,11 @@+instance MyClass Int where+ -- | This data is important+ data MyData = Test Int Int+ myMethod :: MyData -> Int+ myMethod = intData2+ -- | This data is also important+ data MyData2 = IntData+ { intData :: String+ -- ^ Interesting field+ , intData2 :: Int+ }
@@ -0,0 +1,6 @@+{-# LANGUAGE TypeFamilies #-}+module Lib where+instance Foo () where+ newtype Bar () = Baz ()+ deriving (Eq, Ord, Show)+ bar = Baz
@@ -0,0 +1,4 @@+instance Foo Int where+ newtype Bar Int = BarInt+ { unBarInt :: Int+ }
@@ -0,0 +1,3 @@+{-# language TypeFamilies #-}+type family F a+type instance F Int = IO Int
@@ -0,0 +1,3 @@+{-# language TypeFamilies #-}+type family F a+type instance F Int = IO Int -- x
@@ -0,0 +1,4 @@+{-# language TypeFamilies #-}+module M where+type family F a+type instance F Int = IO Int
@@ -0,0 +1,3 @@+{-# language TypeFamilies #-}+data family F a+newtype instance F Int = N Int
@@ -0,0 +1,7 @@+func+ :: asd+ -> ( Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,3 @@+{-# language TypeFamilies #-}+data family F a+newtype instance F Int = N Int -- x
@@ -0,0 +1,4 @@+{-# language TypeFamilies #-}+module M where+data family F a+newtype instance F Int = N Int
@@ -0,0 +1,3 @@+{-# language TypeFamilies #-}+data family F a+data instance F Int = D Int
@@ -0,0 +1,3 @@+{-# language TypeFamilies #-}+data family F a+data instance F Int = D Int -- x
@@ -0,0 +1,4 @@+{-# language TypeFamilies #-}+module M where+data family F a+data instance F Int = D Int
@@ -0,0 +1,5 @@+{-# language TypeFamilies #-}+class C a where+ type family F a+instance C Int where+ type F Int = IO Int
@@ -0,0 +1,5 @@+{-# language TypeFamilies #-}+class C a where+ type family F a+instance C Int where+ type F Int = IO Int -- x
@@ -0,0 +1,6 @@+{-# language TypeFamilies #-}+module M where+class C a where+ type family F a+instance C Int where+ type F Int = IO Int
@@ -0,0 +1,5 @@+{-# language TypeFamilies #-}+class C a where+ data family F a+instance C Int where+ newtype F Int = N Int
@@ -0,0 +1,5 @@+{-# language TypeFamilies #-}+class C a where+ data family F a+instance C Int where+ newtype F Int = N Int -- x
@@ -0,0 +1,7 @@+func+ :: ( Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> asd
@@ -0,0 +1,6 @@+{-# language TypeFamilies #-}+module M where+class C a where+ data family F a+instance C Int where+ newtype F Int = N Int
@@ -0,0 +1,5 @@+{-# language TypeFamilies #-}+class C a where+ data family F a+instance C Int where+ data F Int = D Int
@@ -0,0 +1,5 @@+{-# language TypeFamilies #-}+class C a where+ data family F a+instance C Int where+ data F Int = D Int -- x
@@ -0,0 +1,6 @@+{-# language TypeFamilies #-}+module M where+class C a where+ data family F a+instance C Int where+ data F Int = D Int
@@ -0,0 +1,3 @@+module Main where+import Prelude+firstDecl = True
@@ -0,0 +1,10 @@+func = do+ -- complex first step+ aaa+ -- complex second step+ bbb+ where+ helper :: Helper+ helper = helpful+ other :: Other+ other = True
@@ -0,0 +1,1 @@+type instance MyFam Bool = String
@@ -0,0 +1,1 @@+type instance MyFam (Maybe a) = a -> Bool
@@ -0,0 +1,4 @@+type instance MyFam ALongishType+ = AMuchLongerTypeThanThat+ -> AnEvenLongerTypeThanTheLastOne+ -> ShouldDefinitelyOverflow
@@ -0,0 +1,3 @@+-- | A happy family+type instance MyFam Bool -- This is an odd one+ = AnotherType -- Here's another
@@ -0,0 +1,1 @@+func :: [a -> b]
@@ -0,0 +1,4 @@+{-# LANGUAGE MultiWayIf #-}+func = if+ | cond1 -> loooooooooooooooooooooooooooooong expr1+ | cond2 -> loooooooooooooooooooooooooooooong expr2
@@ -0,0 +1,6 @@+{-# LANGUAGE MultiWayIf #-}+func = do+ foo+ bar $ if+ | cond1 -> loooooooooooooooooooooooooooooong expr1+ | cond2 -> loooooooooooooooooooooooooooooong expr2
@@ -0,0 +1,4 @@+{-# LANGUAGE LambdaCase #-}+func = \case+ FooBar -> x+ Baz -> y
@@ -0,0 +1,2 @@+{-# LANGUAGE ImplicitParams #-}+func :: (?asd::Int) -> ()
@@ -0,0 +1,7 @@+{-# LANGUAGE ImplicitParams #-}+func+ :: ( ?asd+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ -> ()
@@ -0,0 +1,5 @@+{-# LANGUAGE RecursiveDo #-}+foo = do+ rec a <- f b+ b <- g a+ return (a, b)
@@ -0,0 +1,6 @@+{-# LANGUAGE RecursiveDo #-}+foo = do+ rec -- comment+ a <- f b+ b <- g a+ return (a, b)
@@ -0,0 +1,3 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE PatternSynonyms #-}+module Test (type (++), (++), pattern Foo) where
@@ -0,0 +1,7 @@+{-# LANGUAGE ExplicitNamespaces #-}+{-# LANGUAGE PatternSynonyms #-}+import Test ( type (++)+ , (++)+ , pattern (:.)+ , pattern Foo+ )
@@ -0,0 +1,2 @@+{-# LANGUAGE PatternSynonyms #-}+pattern J x = Just x
@@ -0,0 +1,4 @@+func+ :: [ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ ]
@@ -0,0 +1,2 @@+{-# LANGUAGE PatternSynonyms #-}+pattern F x <- (x, _)
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+pattern HeadC x <- x : xs where+ HeadC x = [x]
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+pattern Head2 x y <- x : y : xs where+ Head2 x y = [x, y]
@@ -0,0 +1,2 @@+{-# LANGUAGE PatternSynonyms #-}+pattern x :> y = [x, y]
@@ -0,0 +1,2 @@+{-# LANGUAGE PatternSynonyms #-}+pattern MyData { a, b, c } = [a, b, c]
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+pattern myLongLeftVariableName `MyLongInfixPatternMatcher` myLongRightVariableName =+ [myLongLeftVariableName, myLongRightVariableName]
@@ -0,0 +1,4 @@+{-# LANGUAGE PatternSynonyms #-}+pattern myLeftVariableName `MyInfixPatternMatcher` myRightVariableName <-+ [myLongLeftVariableName, myLongRightVariableName] where+ MyInfixPatternMatcher x y = [x, x, y]
@@ -0,0 +1,3 @@+{-# LANGUAGE PatternSynonyms #-}+pattern J :: a -> Maybe a+pattern J x = Just x
@@ -0,0 +1,6 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ViewPatterns #-}+pattern Signed x <- (asSigned -> x) where+ Signed (Neg x) = -x+ Signed Zero = 0+ Signed (Pos x) = x
@@ -0,0 +1,7 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ViewPatterns #-}+pattern Signed xxxxxxxxxxxxxxxxxxxxxxxx <-+ (asSigned -> xxxxxxxxxxxxxxxxxxxxxxxx) where+ Signed (Neg x) = -x+ Signed Zero = 0+ Signed (Pos x) = x
@@ -0,0 +1,5 @@+func+ :: [ ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ ]
@@ -0,0 +1,6 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE ViewPatterns #-}+pattern Signed x <- (asSigned -> x) where+ Signed (Neg x) = -x -- negative comment+ Signed Zero = 0 -- zero comment+ Signed (Pos x) = x -- positive comment
@@ -0,0 +1,2 @@+{-# LANGUAGE PatternSynonyms #-}+pattern J, K :: a -> Maybe a
@@ -0,0 +1,7 @@+{-# LANGUAGE PatternSynonyms #-}+pattern LongMatcher+ :: longlongtypevar+ -> longlongtypevar+ -> longlongtypevar+ -> Maybe [longlongtypevar]+pattern LongMatcher x y z = Just [x, y, z]
@@ -0,0 +1,4 @@+{-# LANGUAGE UnboxedTuples #-}+spanKey :: (# Int, Int #) -> (# Int, Int #)+spanKey = case foo of+ (# bar, baz #) -> (# baz, bar #)
@@ -0,0 +1,4 @@+{-# LANGUAGE MagicHash, UnboxedTuples #-}+spanKey :: (# Int#, Int# #) -> (# Int#, Int# #)+spanKey = case foo of+ (# bar#, baz# #) -> (# baz# +# bar#, bar# #)
@@ -0,0 +1,5 @@+{-# LANGUAGE QuasiQuotes #-}+func = [blub|+ asd+ qwe+ |]
@@ -0,0 +1,4 @@+{-# LANGUAGE QuasiQuotes #-}+func = [blub|+ asd+ qwe|]
@@ -0,0 +1,6 @@+{-# LANGUAGE QuasiQuotes #-}+func = do+ let body = [json|+ hello+ |]+ pure True
@@ -0,0 +1,9 @@+-- brittany { lconfig_allowHangingQuasiQuotes: False }+{-# LANGUAGE QuasiQuotes #-}+func = do+ let+ body =+ [json|+ hello+ |]+ pure True
@@ -0,0 +1,2 @@+{-# LANGUAGE OverloadedLabels #-}+foo = #bar
@@ -0,0 +1,1 @@+func :: (a, b, c)
@@ -0,0 +1,2 @@+{-# LANGUAGE OverloadedLabels #-}+foo = #bar . #baz $ fmap #foo xs
@@ -0,0 +1,2 @@+{-# LANGUAGE ImplicitParams #-}+foo = ?bar
@@ -0,0 +1,2 @@+{-# LANGUAGE ImplicitParams #-}+foo = let ?bar = Foo in value
@@ -0,0 +1,3 @@+{-# LANGUAGE ImplicitParams #-}+foo :: (?bar::Bool) => ()+foo = ()
@@ -0,0 +1,4 @@+func = do+ abc <- foo+--abc+return ()
@@ -0,0 +1,1 @@+func = (())
@@ -0,0 +1,4 @@+func = do+ let foo True = True+ foo _ = False+ return ()
@@ -0,0 +1,3 @@+func = do+ s <- mGet+ mSet $ s { _lstate_indent = _lstate_indent state }
@@ -0,0 +1,5 @@+func = do+ s <- mGet+ mSet $ s { _lstate_indent = _lstate_indent state+ , _lstate_foo = _lstate_foo state+ }
@@ -0,0 +1,6 @@+func = do+ s <- mGet+ mSet $ s+ { _lstate_indent = _lstate_indent lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , _lstate_foo = _lstate_foo lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ }
@@ -0,0 +1,1 @@+func :: ((a, b, c), (a, b, c), (a, b, c))
@@ -0,0 +1,1 @@+func = Foo { _lstate_indent = _lstate_indent state }
@@ -0,0 +1,4 @@+func = Foo+ { _lstate_indent = _lstate_indent lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , _lstate_fooo = _lstate_foo lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ }
@@ -0,0 +1,4 @@+func = do+ Foo { _lstate_indent = _lstate_indent lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , _lstate_foo = _lstate_foo lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ }
@@ -0,0 +1,4 @@+func = do+-- abc+ -- def+ return ()
@@ -0,0 +1,6 @@+func = do+ do+ return ()+ -- abc+ -- def+ return ()
@@ -0,0 +1,6 @@+func+ :: Int -- basic indentation amount+ -> Int -- currently used width in current line (after indent)+ -- used to accurately calc placing of the current-line+ -> LayoutDesc+ -> Int
@@ -0,0 +1,7 @@+func =+ ( lkjadljasldjalskdjaldjalsdjkalsdjlaksdjlasjdlajsaldskj+ $ abc+ $ def+ $ ghi+ $ jkl+ )
@@ -0,0 +1,2 @@+buildG bounds0 edges0 = accumArray (flip (:)) [] bounds0 (map reassoc edges0)+ where reassoc (v, e, w) = (v, (e, w))
@@ -0,0 +1,4 @@+downloadRepoPackage = case repo of+ RepoLocal {..} -> return ()+ RepoLocal { abc } -> return ()+ RepoLocal{} -> return ()
@@ -0,0 +1,6 @@+func = do+ let (primaryPkg, otherPkgs) = selectPrimaryLocalPackage pwd pkgs'+ (bproblems, x) = resolveBuildTargets primaryPkg otherPkgs utargets''+ -- default local dir target if there's no given target+ utargets'' = "foo"+ return ()
@@ -0,0 +1,5 @@+func+ :: ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )
@@ -0,0 +1,5 @@+func =+ [ (thing, take 10 alts) --TODO: select best ones+ | (thing, _got, alts@(_ : _)) <- nosuchFooThing+ , gast <- award+ ]
@@ -0,0 +1,5 @@+func = if x+ then if y -- y is important+ then foo+ else bar+ else Nothing
@@ -0,0 +1,7 @@+wrapPatPrepend pat prepElem = do+ patDocs <- layoutPat pat+ case Seq.viewl patDocs of+ Seq.EmptyL -> return $ Seq.empty+ x1 Seq.:< xR -> do+ x1' <- docSeq [prepElem, return x1]+ return $ x1' Seq.<| xR
@@ -0,0 +1,6 @@+layoutWriteNewlineBlock+ :: ( MonadMultiWriter Text.Builder.Builder m+ , MonadMultiState LayoutState m+ , MonadMultiWriter (Seq String) m+ )+ => m ()
@@ -0,0 +1,24 @@+{-# LANGUAGE MultiWayIf #-}+readMergePersConfig path shouldCreate conf = do+ exists <- liftIO $ System.Directory.doesFileExist path+ if+ | exists -> do+ contents <- liftIO $ ByteString.readFile path -- no lazy IO, tyvm.+ fileConf <- case Data.Yaml.decodeEither contents of+ Left e -> do+ liftIO+ $ putStrErrLn+ $ "error reading in brittany config from "+ ++ path+ ++ ":"+ liftIO $ putStrErrLn e+ mzero+ Right x -> return x+ return $ fileConf Semigroup.<> conf+ | shouldCreate -> do+ liftIO $ ByteString.writeFile path $ Data.Yaml.encode $ cMap+ (Option . Just . runIdentity)+ staticDefaultConfig+ return $ conf+ | otherwise -> do+ return conf
@@ -0,0 +1,12 @@+func = BuildReport+ where+ convertInstallOutcome = case result of+ Left BR.PlanningFailed -> PlanningFailed+ Left (BR.DependentFailed p) -> DependencyFailed p+ Left (BR.DownloadFailed _) -> DownloadFailed+ Left (BR.UnpackFailed _) -> UnpackFailed+ Left (BR.ConfigureFailed _) -> ConfigureFailed+ Left (BR.BuildFailed _) -> BuildFailed+ Left (BR.TestsFailed _) -> TestsFailed+ Left (BR.InstallFailed _) -> InstallFailed+ Right (BR.BuildOk _ _ _ ) -> InstallOk
@@ -0,0 +1,12 @@+func = BuildReport+ where+ convertInstallOutcome = case result of+ Left BR.PlanningFailed -> PlanningFailed+ Left (BR.DependentFailed p) -> DependencyFailed p+ Left (BR.DownloadFailed _) -> DownloadFailed+ Left (BR.UnpackFailed _) -> UnpackFailed+ Left (BR.ConfigureFailed _) -> ConfigureFailed+ Left (BR.BuildFailed _) -> BuildFailed+ Left (BR.TestsFailed _) -> TestsFailed+ Left (BR.InstallFailed _) -> InstallFailed+ Right (BR.BuildOk _ _ _ ) -> InstallOk
@@ -0,0 +1,35 @@+showPackageDetailedInfo pkginfo =+ renderStyle (style { lineLength = 80, ribbonsPerLine = 1 })+ $ char '*'+ $+$ something+ [ entry "Synopsis" synopsis hideIfNull reflowParagraphs+ , entry "Versions available"+ sourceVersions+ (altText null "[ Not available from server ]")+ (dispTopVersions 9 (preferredVersions pkginfo))+ , entry+ "Versions installed"+ installedVersions+ (altText+ null+ (if hasLib pkginfo then "[ Not installed ]" else "[ Unknown ]")+ )+ (dispTopVersions 4 (preferredVersions pkginfo))+ , entry "Homepage" homepage orNotSpecified text+ , entry "Bug reports" bugReports orNotSpecified text+ , entry "Description" description hideIfNull reflowParagraphs+ , entry "Category" category hideIfNull text+ , entry "License" license alwaysShow disp+ , entry "Author" author hideIfNull reflowLines+ , entry "Maintainer" maintainer hideIfNull reflowLines+ , entry "Source repo" sourceRepo orNotSpecified text+ , entry "Executables" executables hideIfNull (commaSep text)+ , entry "Flags" flags hideIfNull (commaSep dispFlag)+ , entry "Dependencies" dependencies hideIfNull (commaSep dispExtDep)+ , entry "Documentation" haddockHtml showIfInstalled text+ , entry "Cached" haveTarball alwaysShow dispYesNo+ , if not (hasLib pkginfo)+ then empty+ else text "Modules:"+ $+$ nest 4 (vcat (map disp . sort . modules $ pkginfo))+ ]
@@ -0,0 +1,2 @@+isValidPosition position | validX && validY = Just position+ | otherwise = Nothing
@@ -0,0 +1,6 @@+foo = Reflex.runSpiderHost $ ReflexHost.hostApp $ do+ (inputEvent :: Reflex.Event Reflex.Spider String, inputFire :: String+ -> IO Bool ) <-+ ReflexHost.newExternalEvent+ liftIO . forkIO . forever $ getLine >>= inputFire+ ReflexHost.performEvent_ $ fmap (liftIO . putStrLn) inputEvent
@@ -0,0 +1,6 @@+func+ :: ( ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , (lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd)+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ )
@@ -0,0 +1,2 @@+foldrDesc f z = unSwitchQueue $ \q ->+ switch (Min.foldrDesc (f unTaggedF) z q) (Min.foldrAsc (f unTaggedF) z q)
@@ -0,0 +1,5 @@+autocheckCases =+ [ ("Never Deadlocks" , representative deadlocksNever)+ , ("No Exceptions" , representative exceptionsNever)+ , ("Consistent Result", alwaysSame) -- already representative+ ]
@@ -0,0 +1,7 @@+autocheckCases =+ [ ("Never Deadlocks", representative deadlocksNever)+ , ("No Exceptions" , representative exceptionsNever)+ , ( "Consistent Result"+ , alwaysSame -- already representative+ )+ ]
@@ -0,0 +1,5 @@+func =+ [ (abc, (1111, 1111))+ , (def, (2, 2))+ , foo -- comment+ ]
@@ -0,0 +1,2 @@+foo a b = g a b -- fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo+ where g a b = b + b * a
@@ -0,0 +1,1 @@+foo a b = g a b where g a b = b + b * a -- fooooooooooooooooooooooooooooooooooo
@@ -0,0 +1,5 @@+func = do+ abc <- expr+ abcccccccccccccccccc <- expr+ abcccccccccccccccccccccccccccccccccccccccccc <- expr+ abccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc <- expr
@@ -0,0 +1,3 @@+func (MyLongFoo abc def) = 1+func (Bar a d ) = 2+func _ = 3
@@ -0,0 +1,14 @@+parserCompactLocation =+ [ try+ $ [ ParseRelAbs (Text.Read.read digits) _ _+ | digits <- many1 digit+ , rel1 :: Maybe (Either Int (Ratio Int)) <- optionMaybe+ [ case divPart of+ Nothing -> Left $ Text.Read.read digits+ Just ddigits ->+ Right $ Text.Read.read digits % Text.Read.read ddigits+ | digits <- many1 digit+ , divPart <- optionMaybe (string "/" *> many1 digit)+ ]+ ]+ ]
@@ -0,0 +1,3 @@+func = fooooooooooooooooooooooooooooooooo $ foooooooooooooooooooooooooooooooo+ foooooooooooooooooooooooooooooooo+ foooooooooooooooooooooooooooooooo
@@ -0,0 +1,4 @@+func+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lakjsdlkjasldkj+ -> lakjsdlkjasldkj
@@ -0,0 +1,6 @@+func+ :: [ ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ ]
@@ -0,0 +1,4 @@+func =+ fooooooooooooooooooooooooooooooooo+ + foooooooooooooooooooooooooooooooo foooooooooooooooooooooooooooooooo+ foooooooooooooooooooooooooooooooo
@@ -0,0 +1,5 @@+func = fooooooooooooooooooooooooooooooooo + foooooooooooooooooooooooooooooooo+ [ foooooooooooooooooooooooooooooooo+ , foooooooooooooooooooooooooooooooo+ , foooooooooooooooooooooooooooooooo+ ]
@@ -0,0 +1,18 @@+parserPrim =+ [ r+ | r <-+ [ SGPPrimFloat $ bool id (0 -) minus $ readGnok "parserPrim"+ (d1 ++ d2 ++ d3 ++ d4)+ | d2 <- string "."+ , d3 <- many1 (oneOf "0123456789")+ , _ <- string "f"+ ]+ <|> [ SGPPrimFloat $ bool id (0 -) minus $ fromIntegral+ (readGnok "parserPrim" d1 :: Integer)+ | _ <- string "f"+ ]+ <|> [ SGPPrimInt $ bool id (0 -) minus $ fromIntegral+ (readGnok "parserPrim" d1 :: Integer)+ | _ <- string "i"+ ]+ ]
@@ -0,0 +1,2 @@+samples = (SV.unpackaaaaadat) <&> \f ->+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -0,0 +1,9 @@+runBrittany tabSize text = do+ let config' = staticDefaultConfig+ config = config'+ { _conf_layout = (_conf_layout config')+ { _lconfig_indentAmount = coerce tabSize+ }+ , _conf_forward = forwardOptionsSyntaxExtsEnabled+ }+ parsePrintModule config text
@@ -0,0 +1,11 @@+-- brittany { lconfig_indentPolicy: IndentPolicyLeft }+runBrittany tabSize text = do+ let+ config' = staticDefaultConfig+ config = config'+ { _conf_layout = (_conf_layout config')+ { _lconfig_indentAmount = coerce tabSize+ }+ , _conf_forward = forwardOptionsSyntaxExtsEnabled+ }+ parsePrintModule config text
@@ -0,0 +1,7 @@+foo =+ ( a+ , -- comment1+ b+ -- comment2+ , c+ )
@@ -0,0 +1,2 @@+{-# LANGUAGE TypeApplications #-}+foo = bar @Baz
@@ -0,0 +1,50 @@+{-# LANGUAGE TypeApplications #-}+layoutPatternBindFinal alignmentToken binderDoc mPatDoc clauseDocs = do+ docAlt+ $ -- one-line solution+ [ docCols+ (ColBindingLine alignmentToken)+ [ docSeq (patPartInline ++ [guardPart])+ , docSeq+ [ appSep $ return binderDoc+ , docForceSingleline $ return body+ , wherePart+ ]+ ]+ | not hasComments+ , [(guards, body, _bodyRaw)] <- [clauseDocs]+ , let guardPart = singleLineGuardsDoc guards+ , wherePart <- case mWhereDocs of+ Nothing -> return @[] $ docEmpty+ Just [w] -> return @[] $ docSeq+ [ docSeparator+ , appSep $ docLit $ Text.pack "where"+ , docSetIndentLevel $ docForceSingleline $ return w+ ]+ _ -> []+ ]+ ++ -- one-line solution + where in next line(s)+ [ docLines+ $ [ docCols+ (ColBindingLine alignmentToken)+ [ docSeq (patPartInline ++ [guardPart])+ , docSeq+ [appSep $ return binderDoc, docForceParSpacing $ return body]+ ]+ ]+ ++ wherePartMultiLine+ | [(guards, body, _bodyRaw)] <- [clauseDocs]+ , let guardPart = singleLineGuardsDoc guards+ , Data.Maybe.isJust mWhereDocs+ ]+ ++ -- two-line solution + where in next line(s)+ [ docLines+ $ [ docForceSingleline+ $ docSeq (patPartInline ++ [guardPart, return binderDoc])+ , docEnsureIndent BrIndentRegular $ docForceSingleline $ return+ body+ ]+ ++ wherePartMultiLine+ | [(guards, body, _bodyRaw)] <- [clauseDocs]+ , let guardPart = singleLineGuardsDoc guards+ ]
@@ -0,0 +1,9 @@+{-# LANGUAGE MultiWayIf #-}+func = do+ let foo = if+ | Constuctoooooooooooooooooooooooooooooooooooor `elem` artics -- TODO+ -> max+ (defLen - 0.2) -- TODO+ (defLen * 0.8)+ | otherwise -> max (defLen - 0.05) (defLen * 0.95) -- TODO+ return True
@@ -0,0 +1,2 @@+{-# LANGUAGE ScopedTypeVariables #-}+func :: forall (a :: *) b . a -> b
@@ -0,0 +1,5 @@+foo n = case n of+ 1 -> True+ -1 -> False+bar n = case n of+ (-2, -2) -> (-2, -2)
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeApplications #-}+foo =+ let a = b @1+ cccc = ()+ in foo
@@ -0,0 +1,2 @@+{-# LANGUAGE RecordWildCards #-}+v = A { a = 1, .. } where b = 2
@@ -0,0 +1,2 @@+{-# LANGUAGE RecordWildCards #-}+v = A { .. } where b = 2
@@ -0,0 +1,2 @@+{-# LANGUAGE RecordWildCards #-}+v = A { a = 1, b = 2, c = 3 }
@@ -0,0 +1,1 @@+test :: Proxy 'Int
@@ -0,0 +1,1 @@+test :: Proxy '[ 'True]
@@ -0,0 +1,1 @@+test :: Proxy '[Bool]
@@ -0,0 +1,7 @@+{-# LANGUAGE RankNTypes, KindSignatures #-}+func+ :: forall m str+ . (Str str, Monad m)+ => Int+ -> Proxy (str :: [*])+ -> m (Tagged str String)
@@ -0,0 +1,13 @@+widgetsDyn =+ [ [ vBox+ [ padTop Max outputLinesWidget+ , padRight Max wid1 <+> flowWidget -- alignment here is strange/buggy+ , padBottom (Pad 5) help+ ]+ ]+ | wid1 <- promptDyn+ , (flowWidget, _) <- flowResultD+ , outputLinesWidget <- outputLinesWidgetD+ , help <- suggestionHelpBox+ , parser <- cmdParserD+ ]
@@ -0,0 +1,10 @@+{-# LANGUAGE ScopedTypeVariables #-}+func+ :: forall m+ . Foo+ => ColMap2+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> m ()
@@ -0,0 +1,2 @@+fmapuv :: U.Unbox a => (a -> b) -> U.Vector a -> V.Vector b+fmapuv f xs = G.generate (G.length xs) (f . (xs G.!))
@@ -0,0 +1,1 @@+cs0 = 0 : [ c / Interval n | c <- cs | n <- [1..] ]
@@ -0,0 +1,2 @@+{-# LANGUAGE TemplateHaskell #-}+deriveFromJSON (unPrefix "assignPost") ''AssignmentPost
@@ -0,0 +1,7 @@+main = -- a+ let --b+ x = 1 -- x+ y = 2 -- y+ in do+ print x+ print y
@@ -0,0 +1,9 @@+alternatives :: Parser (Maybe Text)+alternatives =+ alternativeOne -- first try this one+ <|> alterantiveTwo -- then this one+ <|> alternativeThree -- then this one+ where+ alternativeOne = purer "one"+ alternativeTwo = purer "two"+ alterantiveThree = purer "three"
@@ -0,0 +1,4 @@+{-# LANGUAGE BangPatterns #-}+func = do+ let !forced = some+ pure ()
@@ -0,0 +1,4 @@+spanKey p q = case minViewWithKey q of+ Just ((k, _), q') | p k ->+ let (kas, q'') = spanKey p q' in ((k, a) : kas, q'')+ _ -> ([], q)
@@ -0,0 +1,1 @@+a :: () ':- ()
@@ -0,0 +1,3 @@+func = do+ createDirectoryIfMissing True path+ openFile fileName AppendMode
@@ -0,0 +1,7 @@+alternatives :: Parser (Maybe Text)+alternatives = -- a+ ( -- b+ alternativeOne -- c+ <|> alterantiveTwo -- d+ <|> alternativeThree -- e+ ) -- f
@@ -0,0 +1,10 @@+{-# LANGUAGE ScopedTypeVariables #-}+func+ :: forall m+ . ColMap2+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> m ()
@@ -0,0 +1,10 @@+{-# LANGUAGE ScopedTypeVariables #-}+func+ :: forall a+ . ()+ => aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ -> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+func+ :: ()+ => aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ -> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -0,0 +1,5 @@+go l [] = Right l+go l ((IRType, _a) : eqr) = go l eqr+go l ((_, IRType) : eqr) = go l eqr+go _ ((IRTypeError ps t1 t2, _) : _) = Left $ makeError ps t1 t2+go _ ((_, IRTypeError ps t1 t2) : _) = Left $ makeError ps t1 t2
@@ -0,0 +1,2 @@+type instance XPure StageParse = ()+type Pair a = (a, a)
@@ -0,0 +1,18 @@+-- brittany { lconfig_indentAmount: 4, lconfig_indentPolicy: IndentPolicyMultiple }+dsfnjKeekbwwbosbOfakxqRsiyix cnehokzozwbVaguvu migbnaRwutbz =+ let+ eyuAfrarIso'+ :: (RveoexdxunuAafalm -> Axlau (Axlau (a, OinejrdCplle)))+ -> Gbodoy+ -> Axlau (Axlau OinejrdCplle, Gbodoy)+ eyuAfrarIso' = ulcPaaekBst cnehokzozwbVaguvu+ amkgoxEhalazJjxunecCuIfaw+ :: Axlau (Axlau OinejrdCplle, Gbodoy) -> Axlau RqlnrluYqednbCiggxi+ amkgoxEhalazJjxunecCuIfaw uKqviuBisjtn = do+ (sEmo, quc) <- uKqviuBisjtn+ pure (xoheccewfWoeyiagOkfodiq sEmo quc)+ xoheccewfWoeyiagOkfodiq+ :: Axlau OinejrdCplle -> Gbodoy -> RqlnrluYqednbCiggxi+ xoheccewfWoeyiagOkfodiq sEmo quc = case migbnaRwutbz of+ Afogmf -> xgeqe (OfBkkuih quc) (Ciitog quc) sEmo+ in QabqyilexuiNizzhsQuxxac migbnaRwutbz (hwaTihhjt lhowvscIiozgqe)
@@ -0,0 +1,5 @@+spec = do+ it "creates a snapshot at the given level" . withGraph runDB $ do+ lift $ do+ studentDiagnosticReadingLevel updatedStudent `shouldBe` Just 10 -- x+ elaSnapshotReadingLevel snapshot `shouldBe` 12
@@ -0,0 +1,12 @@+jaicyhHumzo btrKpeyiFej mava = do+ m :: VtohxeRgpmgsu <- qloxIfiq mava+ case m of+ ZumnaoFujayerIswadabo kkecm chlixxag -> do+ imomue <- ozisduRaqiseSBAob btrKpeyiFej $ \s ->+ case MizA.pigevo kkecm (_tc_gulawulu s) of+ Ebocaba ->+ ( s { _tc_gulawulu = MizA.jxariu kkecm rwuRqxzhjo (_tc_gulawulu s) }+ , Gtzvonm+ )+ Xcde{} -> (s, Pioemav)+ pure imomue
@@ -0,0 +1,8 @@+-- brittany { lconfig_indentPolicy: IndentPolicyMultiple }+foo = bar+ arg1 -- this is the first argument+ arg2 -- this is the second argument+ arg3 -- this is the third argument, now I'll skip one comment+ arg4+ arg5 -- this is the fifth argument+ arg6 -- this is the sixth argument
@@ -0,0 +1,4 @@+True `nand` True = False+nand _ _ = True+nor False False = True+_ `nor` _ = False
@@ -0,0 +1,1 @@+f ((:) a as) = undefined
@@ -0,0 +1,5 @@+{-# LANGUAGE BangPatterns #-}+a = \x -> x+b = \ ~x -> x+c = \ !x -> x+d = \(~x) -> x
@@ -0,0 +1,9 @@+{-# LANGUAGE RankNTypes #-}+addFlagStringParam+ :: forall f out+ . (Applicative f)+ => String -- ^ short flag chars, i.e. "v" for -v+ -> [String] -- ^ list of long names, i.e. ["verbose"]+ -> String -- ^ param name+ -> Flag String -- ^ properties+ -> CmdParser f out String
@@ -0,0 +1,2 @@+{-# LANGUAGE RankNTypes #-}+func :: forall b . Show b => b -> String
@@ -0,0 +1,3 @@+{-# LANGUAGE TypeFamilies #-}+f :: ((~) a b) => a -> b+f = id
@@ -0,0 +1,50 @@+-- brittany { lconfig_indentPolicy: IndentPolicyLeft }+vakjkeSulxudbFokvir = Duotpo+ { _ekku_gcrpbze = xgonae (1 :: Int)+ , _oola_louwu = FoqsiYcuidx+ { _xxagu_umea_iaztoj = xgonae False+ , _tuktg_tizo_kfikacygsqf = xgonae False+ , _ahzbo_xpow_otq_nzeyufq = xgonae False+ , _uagpi_lzps_luy_xcjn = xgonae False+ , _dxono_qjef_aqtafq_bes = xgonae False+ , _yzuaf_nviy_vuhwxe_ihnbo_uhw = xgonae False+ , _iwcit_fzjs_yerakt_dicox_mtryitko = xgonae False+ , _ehjim_ucfe_dewarp_newrt_gso = xgonae False+ , _ogtxb_ivoj_amqgai_rttui_xuwhetb = xgonae False+ , _bhycb_iexz_megaug_qunoa_ohaked = xgonae False+ , _nnmbe_uqgt_ewsuga_vaiis = xgonae False+ , _otzil_ucvugaiyj_aosoiatunx_asir = xgonae False+ }+ , _iwsc_lalojz = XqspaiDainqw+ { _uajznac_ugah = xgonae (80 :: Int)+ , _qayziku_gazibzDejipj = xgonae DewizeCxwgyiKjig+ , _auhebll_fiqjxyArfxia = xgonae (2 :: Int)+ , _zubfuhq_dupiwnIoophXameeet = xgonae True+ , _oavnuqg_opkreyOufuIkifiin = xgonae True+ , _ufojfwy_fhuzcePeqwfu = xgonae (50 :: Int)+ , _mlosikq_zajdxxSeRoelpf = xgonae (50 :: Int)+ , _heemavf_fjgOfoaikh = xgonae (FyoVfvdygaZuzuvbeWarwuq 3)+ , _ohxmeoq_ogtbfoPtqezVseu = xgonae (EdjotoLcbapUdiuMmytwoig 0.7)+ , _omupuiu_ituamexjuLccwu = xgonae (30 :: Int)+ , _xoseksf_atvwwdwaoHanofMyUvujjopoz = xgonae True+ , _umuuuat_nuamezwWeqfUqzrnaxwp = xgonae False+ , _uuriguz_wixhutbuKecigaFiwosret = xgonae True+ , _betohxp_scixaLsvcesErtwItxrnaJmuz = xgonae False+ , _lchxgee_olaetGcqzuqxVujenCzexub = xgonae True+ , _egeibao_imamkuigqikhZdcbpidokVcixiqew = xgonae False+ }+ , _nloo_cfmrgZcisiugk = YuwodSavxwnicBekuel+ { _oebew_rrtpvthUzlizjAqIwesly = xgonae False+ , _blkff_Acxoid = xgonae False+ , _datei_YewolAowoqOpunvpgu = xgonae BeekgUzojaPnixxaruJehyPmnnfu+ , _ejfrj_eheb_justvh_pumcp_ismya = xgonae False+ }+ , _kena_uzeddovosoki = NyoRvshullezUpauud+ { _mtfuwi_TUVEmoi = xgonae RZXKoytUtogx+ , _larqam_adaxPehaylZafeqgpc = xgonae False+ }+ , _spob_qipaarx = KaxavsmOtoyeaq { _rusrirw_okx = Tajemkix [] }+ , _vmah_uivucnfka_ikaquebxay_gzcm = xgonae False+ , _qaqb_eykzuyuwi = xgonae False+ -- test comment+ }
@@ -0,0 +1,10 @@+-- brittany { lconfig_indentPolicy: IndentPolicyLeft }+vakjkeSulxudbFokvir = Duotpo+ { _ekku_gcrpbze = xgonae (1 :: Int)+ , _spob_qipaarx = KaxavsmOtoyeaq { _rusrirw_okx = Tajemkix [] }+ , _vmah_uivucnfka_ikaquebxay_gzcm = xgonae False+ , _qaqb_eykzuyuwi = xgonae False+ -- test comment+ , -- N.B.+ .. -- x+ }
@@ -0,0 +1,7 @@+func = abc + def+ -- a+ -- b+ -- comment+ where+ abc = 13+ def = 1
@@ -0,0 +1,13 @@+zItazySunefp twgq nlyo lwojjoBiecao =+ let mhIarjyai =+ ukwAausnfcn+ $ XojlsTOSR.vuwOvuvdAZUOJaa+ $ XojlsTOSR.vkesForanLiufjeDI+ $ XojlsTOSR.vkesForanLiufjeDI+ $ XojlsTOSR.popjAyijoWarueeP+ $ XojlsTOSR.jpwuPmafuDqlbkt nlyo+ $ XojlsTOSR.jpwuPmafuDqlbkt xxneswWhxwng+ $ XojlsTOSR.jpwuPmafuDqlbkt oloCuxeDdow+ $ XojlsTOSR.jpwuPmafuDqlbkt (uwurrvoNnukzefuDjeh lwojjoBiecao nlyo)+ $ etOslnoz lwojjoBiecao+ in kucotg $ (bbbr, Yoxe.Dwzbuzi.zrLokoTnuy piv)
@@ -0,0 +1,2 @@+-- test+module MyModule where
@@ -0,0 +1,8 @@+foo =+ [ ("xxx", "xx")+ , --+ ("xx" , "xx")+ --+ , ("xx" , "xxxxx")+ , ("xx" , "xx")+ ]
@@ -0,0 +1,8 @@+foo =+ [ ("xx", "xx")+ , ( "xx" --+ , "xx"+ )+ , ("xx", "xxxxx")+ , ("xx", "xx")+ ]
@@ -0,0 +1,6 @@+module Main+ ( DataTypeI+ , DataTypeII(DataConstructor)+ -- * Haddock heading+ , name+ ) where
@@ -0,0 +1,2 @@+{-# LANGUAGE ScopedTypeVariables #-}+func :: forall (a :: *) b . a -> b
@@ -0,0 +1,23 @@+xeoeqibIaib+ :: ( KqujhIsaus m+ , XivuvIpoboi Droqifim m+ , IgorvOtowtf m+ , RyagaYaqac m+ , QouruDU m+ )+ => MaptAdfuxgu+ -> Zcnxg NsxayqmvIjsezea -- ^ if Lvqucoo, opsip jl reyoyhk lfil qaculxgd+ -> QNOZqwuzg+ -> Eoattuq+ '[ XkatytdWdquraosu -- test comment+ , KyezKijim -- another test comment+ , DjmioeePuoeg+ , NinrxoiOwezc+ , QATAlrijacpk+ , TrutvotwIwifiqOjdtu+ , CoMmuatjwr+ , BoZckzqyodseZole+ , VagfwoXaeChfqe+ ]+ m+ ()
@@ -0,0 +1,7 @@+createRedirectedProcess processConfig = do+ let redirectedProc = (_processConfig_inner processConfig)+ { std_in = CreatePipe+ , std_out = CreatePipe+ , std_err = CreatePipe+ }+ foo
@@ -0,0 +1,5 @@+instance HasDependencies SomeDataModel where+ -- N.B. Here is a bunch of explanatory context about the relationship+ -- between these data models or whatever.+ type Dependencies SomeDataModel+ = (SomeOtherDataModelId, SomeOtherOtherDataModelId)
@@ -0,0 +1,4 @@+func =+ do+ y+ >>= x
@@ -0,0 +1,4 @@+-- brittany { lconfig_indentAmount: 4, lconfig_indentPolicy: IndentPolicyMultiple }+func =+ mweroiuxlskdfjlksjdflkjsdfljksldkjflkjsdflkj+ + mweroiuxlskdfjlksjdflkjsdfljksldkjflkjsdflkj
@@ -0,0 +1,5 @@+-- brittany { lconfig_indentAmount: 4, lconfig_indentPolicy: IndentPolicyMultiple }+foo = do+ let aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ foo
@@ -0,0 +1,11 @@+-- brittany { lconfig_indentAmount: 8, lconfig_indentPolicy: IndentPolicyMultiple }+foo = do+ let aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ foo+foo = do+ let aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ foo
@@ -0,0 +1,7 @@+-- brittany { lconfig_indentAmount: 4, lconfig_indentPolicy: IndentPolicyMultiple }+foo = asdyf8asdf+ "ajsdfas"+ [ asjdf asyhf $ do+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ ]
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: a -> a
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,1 @@+func :: a -> b -- comment
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lakjsdlkjasldkj+ -> lakjsdlkjasldkj
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: ((a))
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: (a -> a) -> a
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: a -> (a -> a)
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: (((((((((())))))))))+-- current output is.. funny. wonder if that can/needs to be improved..
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: ()
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lakjsdlkjasldkj+ -> lakjsdlkjasldkj+ )
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> (lakjsdlkjasldkj -> lakjsdlkjasldkj)
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: (lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd -> lakjsdlkjasldkj)+ -> lakjsdlkjasldkj
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ -> lakjsdlkjasldkj
@@ -0,0 +1,2 @@+funcA :: a -> b -- comment A+funcB :: a -> b -- comment B
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: ( ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ )
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: asd -> Either a b
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: asd+ -> Either+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,7 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: asd+ -> Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,7 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> asd
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ (lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd -> asd)
@@ -0,0 +1,8 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: Trither+ asd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )
@@ -0,0 +1,8 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: asd+ -> ( Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )
@@ -0,0 +1,8 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: asd+ -> ( Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd
@@ -0,0 +1,8 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: ( Trither+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> asd
@@ -0,0 +1,11 @@+-- a+func -- b+ :: -- c+ a -- d+ -> -- e+ ( -- f+ c -- g+ , -- h+ d -- i+ ) -- j+-- k
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: [a -> b]
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: [ lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ ]
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: [ ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ ]
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: (a, b, c)
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: ((a, b, c), (a, b, c), (a, b, c))
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )
@@ -0,0 +1,7 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: ( ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , (lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd)+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ )
@@ -0,0 +1,7 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func+ :: [ ( lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ , lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ ]
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE ScopedTypeVariables #-}+func :: forall (a :: *) b . a -> b
@@ -0,0 +1,11 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE ScopedTypeVariables #-}+func+ :: forall m+ . Foo+ => ColMap2+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> m ()
@@ -0,0 +1,4 @@+func = f+ where+ {-# INLINE f #-}+ f = id
@@ -0,0 +1,11 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE ScopedTypeVariables #-}+func+ :: forall m+ . ColMap2+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> ColInfo+ -> m ()
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE ScopedTypeVariables #-}+func :: forall (a :: *) b . a -> b
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func :: a -> b -- comment
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+funcA :: a -> b -- comment A+funcB :: a -> b -- comment B
@@ -0,0 +1,11 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+-- a+func -- b+ :: -- c+ a -- d+ -> -- e+ ( -- f+ c -- g+ , -- h+ d -- i+ ) -- j-- k
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE ImplicitParams #-}+func :: (?asd::Int) -> ()
@@ -0,0 +1,8 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE ImplicitParams #-}+func+ :: ( ?asd+ :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd+ )+ -> ()
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = f+ where+ {-# INLINE f #-}+ f = id
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = ($)+ where+ {-# INLINE ($) #-}+ ($) = id
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = f+ where+ {-# INLINE CONLIKE [1] f #-}+ f = id
@@ -0,0 +1,1 @@+func :: ((a))
@@ -0,0 +1,4 @@+func = ($)+ where+ {-# INLINE ($) #-}+ ($) = id
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = f+ where+ {-# INLINE [~1] f #-}+ f = id
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+data Foo = Bar+ { foo :: Baz+ }
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+data Foo = Bar+ { foo, bar :: Baz+ }
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+data Foo = Bar+ { foo :: Baz+ , bar :: Bizzz+ }
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+data Foo = Bar+ { foo, biz :: Baz+ , bar :: Bizzz+ }
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+data Foo = Bar+ { foo :: Baz+ , bar :: Bizzz+ }+ deriving Show
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+data Foo = Bar+ { foo :: Baz+ , bar :: Bizzz+ }+ deriving (Show, Eq, Monad, Functor, Traversable, Foldable)
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func x = x
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+x *** y = x
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+(***) x y = x
@@ -0,0 +1,4 @@+func = f+ where+ {-# INLINE CONLIKE [1] f #-}+ f = id
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func _ = x
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func reallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongvariable =+ x
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func reallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongvariable reallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongvariable+ = x
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func reallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongvariable a b+ = x
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func (A a) = a
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func (x : xr) = x
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func (x :+: xr) = x
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func | True = x
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func x+ | x = simple expression+ | otherwise = 0
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func x+ | a somewhat longer guard x = "and a somewhat longer expession that does not"+ | otherwise = "fit without putting the guards in new lines"
@@ -0,0 +1,2 @@+{-# NOINLINE func #-}+func :: Int
@@ -0,0 +1,8 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func x+ | very long guard, another rather long guard that refers to x = nontrivial+ expression+ foo+ bar+ alsdkjlasdjlasj+ | otherwise = 0
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func x+ | very long guard, another rather long guard that refers to x+ = nontrivialexpression foo bar alsdkjlasdjlasj+ | otherwise+ = 0
@@ -0,0 +1,7 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func x+ | very loooooooooooooooooooooooooooooong guard+ , another rather long guard that refers to x+ = nontrivial expression foo bar alsdkjlasdjlasj+ | otherwise+ = 0
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = x+describe "infix op" $ do
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = x + x
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func =+ mweroiuxlskdfjlksjdflkjsdfljksldkjflkjsdflkj+ + mweroiuxlskdfjlksjdflkjsdfljksldkjflkjsdflkj
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func =+ mweroiuxlskdfjlksjdflkjsdfljksldkjflkjsdflkj+ + mweroiuxlskdfjlksj+ + mweroiuxlskdfjlksj
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func =+ mweroiuxlskdfjlksj+ + mweroiuxlskdfjlksj+ + mweroiuxlskdfjlksjdflkjsdfljksldkjflkjsdflkj
@@ -0,0 +1,6 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = 1+func = "abc"+func = 1.1e5+func = 'x'+func = 981409823458910394810928414192837123987123987123
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE LambdaCase #-}+func = \case+ FooBar -> x+ Baz -> y
@@ -0,0 +1,4 @@+func = f+ where+ {-# INLINE [~1] f #-}+ f = id
@@ -0,0 +1,3 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = \x -> abc+describe "app" $ do
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = klajsdas klajsdas klajsdas
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ lakjsdlajsdljas+ lakjsdlajsdljas+ lakjsdlajsdljas
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = (1 +)
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = (+ 1)
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = (1 `abc`)
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = (`abc` 1)
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = (abc, def)
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func =+ ( lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ , lakjsdlajsdljasdlkjasldjasldjasldjalsdjlaskjd+ )
@@ -0,0 +1,2 @@+data Foo = Bar {}+data Biz = Baz
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+foo =+ let longIdentifierForShortValue = 1+ in longIdentifierForShortValue + longIdentifierForShortValue
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = do+ stmt+ stmt
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = do+ x <- stmt+ stmt x
@@ -0,0 +1,4 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func = do+ let x = 13+ stmt x
@@ -0,0 +1,8 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func =+ foooooo+ $ [ case+ foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo+ of+ _ -> True+ ]
@@ -0,0 +1,5 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE MultiWayIf #-}+func = if+ | cond1 -> loooooooooooooooooooooooooooooong expr1+ | cond2 -> loooooooooooooooooooooooooooooong expr2
@@ -0,0 +1,7 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+{-# LANGUAGE MultiWayIf #-}+func = do+ foo+ bar $ if+ | cond1 -> loooooooooooooooooooooooooooooong expr1+ | cond2 -> loooooooooooooooooooooooooooooong expr2
@@ -0,0 +1,7 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+func =+ foo+ $ [ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ , bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+ ]+ ++ [ccccccccccccccccccccccccccccccccccccccccccccccccccccccccc]
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main where
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main () where
@@ -0,0 +1,3 @@+data Foo = Bar+ { foo :: Baz+ }
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main (main) where
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main (main, test1, test2) where
@@ -0,0 +1,13 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main+ ( main+ , test1+ , test2+ , test3+ , test4+ , test5+ , test6+ , test7+ , test8+ , test9+ ) where
@@ -0,0 +1,13 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main+ ( main+ -- main+ , test1+ , test2+ -- Test 3+ , test3+ , test4+ -- Test 5+ , test5+ -- Test 6+ ) where
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main (Test(..)) where
@@ -0,0 +1,2 @@+-- brittany { lconfig_columnAlignMode: { tag: ColumnAlignModeDisabled }, lconfig_indentPolicy: IndentPolicyLeft }+module Main (module Main) where
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff
file too large to diff