snapInsB :: BufferM ()
snapInsB = do
    w <- askWindow wkey
    movePoint <- Set.member w <$> use pointFollowsWindowA
    when movePoint $ do
        r <- winRegionB
        p <- pointB
        moveTo $ max (regionStart r) $ min (regionEnd r) p

-- | return index of Sol on line @n@ above current line
snapInsB :: BufferM ()
snapInsB = do
    w <- askWindow wkey
    movePoint <- Set.member w <$> use pointFollowsWindowA
    when movePoint $ do
        r <- winRegionB
        p <- pointB
        moveTo $ max (regionStart r) $ min (regionEnd r) p

-- | return index of Sol on line @n@ above current line
snapInsB = do
    w <- askWindow wkey
    movePoint <- Set.member w <$> use pointFollowsWindowA
    when movePoint $ do
        r <- winRegionB
        p <- pointB
        moveTo $ max (regionStart r) $ min (regionEnd r) p

-- | return index of Sol on line @n@ above current line