on master help sign in
Implement n+k pattern
commit4442039c6546bcf00947b73c0a73c742906eed39 authorwaddlaw <ingronze@gmail.com> dateFri 14 Jun 2019, 15:14 (7 years ago) parentcd8302a
3 files changed+22−1
data/examples/declaration/value/function/n-plus-k-pattern-out.hs+9 data/examples/declaration/value/function/n-plus-k-pattern.hs+7 src/Ormolu/Printer/Meat/Declaration/Value.hs+6−1
data/examples/declaration/value/function/n-plus-k-pattern-out.hsnew file+9
@@ -0,0 +1,9 @@
1+{-# LANGUAGE NPlusKPatterns #-}
2+singleline :: Int
3+singleline (n + 1) = n
4+
5+multiline :: Int
6+multiline
7+ ( n
8+ + 1
9+ ) = n
data/examples/declaration/value/function/n-plus-k-pattern.hsnew file+7
@@ -0,0 +1,7 @@
1+{-# LANGUAGE NPlusKPatterns #-}
2+singleline :: Int
3+singleline (n + 1) = n
4+
5+multiline :: Int
6+multiline(n
7+ + 1) = n
src/Ormolu/Printer/Meat/Declaration/Value.hs+6−1
@@ -512,7 +512,12 @@ p_pat = \case
512512 SplicePat NoExt splice -> p_hsSplice splice
513513 LitPat NoExt p -> atom p
514514 NPat NoExt v _ _ -> located v (atom . ol_val)
515− NPlusKPat {} -> notImplemented "NPlusKPat"
515+ NPlusKPat NoExt n k _ _ _ -> sitcc $ do
516+ p_rdrName n
517+ breakpoint
518+ inci $ do
519+ txt "+ "
520+ located k (atom . ol_val)
516521 SigPat hswc pat -> do
517522 located pat p_pat
518523 p_typeAscription hswc