on master help sign in
Implement n+k pattern
4442039waddlaw
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
512 SplicePat NoExt splice -> p_hsSplice splice
512 SplicePat NoExt splice -> p_hsSplice splice
513 LitPat NoExt p -> atom p
513 LitPat NoExt p -> atom p
514 NPat NoExt v _ _ -> located v (atom . ol_val)
514 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)
516 SigPat hswc pat -> do
521 SigPat hswc pat -> do
517 located pat p_pat
522 located pat p_pat
518 p_typeAscription hswc
523 p_typeAscription hswc