Compare commits
4 Commits
1e37c2c47b
...
5913a002ca
Author | SHA1 | Date | |
---|---|---|---|
Jonathan Lamothe | 5913a002ca | ||
Jonathan Lamothe | 44860dd495 | ||
Jonathan Lamothe | e41b560d37 | ||
Jonathan Lamothe | 44588c691a |
|
@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||
and this project adheres to the
|
||||
[Haskell Package Versioning Policy](https://pvp.haskell.org/).
|
||||
|
||||
## Unreleased
|
||||
## [Unreleased]
|
||||
|
||||
## 0.1.0.0 - YYYY-MM-DD
|
||||
## [0.1.0.1] - 2024-08-17
|
||||
|
||||
### Added
|
||||
|
||||
- added Emacs-style keybindings for cursor movement
|
||||
|
|
|
@ -67,8 +67,8 @@ effects:
|
|||
### Edit Mode
|
||||
|
||||
- ESC: Return to display mode.
|
||||
- Up/K: Move the cursor up.
|
||||
- Down/J: Move the cursor down.
|
||||
- Left/H: Move the cursor left.
|
||||
- Right/L: Move the cursor right.
|
||||
- Up/K/CTRL-P: Move the cursor up.
|
||||
- Down/J/CTRL-N: Move the cursor down.
|
||||
- Left/H/CTRL-B: Move the cursor left.
|
||||
- Right/L/CTRL-F: Move the cursor right.
|
||||
- F: Flip the bit under the cursor (1 becomes 0; 0 becomes 1).
|
||||
|
|
|
@ -5,9 +5,9 @@ cabal-version: 2.2
|
|||
-- see: https://github.com/sol/hpack
|
||||
|
||||
name: hamming
|
||||
version: 0.1.0
|
||||
version: 0.1.0.1
|
||||
synopsis: game/utility for teaching about Hamming codes
|
||||
description: Please see the README on GitHub at <https://github.com/githubuser/hamming#readme>
|
||||
description: Please see the README
|
||||
category: Games
|
||||
author: Jonathan Lamothe
|
||||
maintainer: jonathan@jlamothe.net
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: hamming
|
||||
version: 0.1.0
|
||||
version: 0.1.0.1
|
||||
license: AGPL-3.0-or-later
|
||||
author: "Jonathan Lamothe"
|
||||
maintainer: "jonathan@jlamothe.net"
|
||||
|
@ -16,7 +16,7 @@ category: Games
|
|||
# To avoid duplicated efforts in documentation and dealing with the
|
||||
# complications of embedding Haddock markup inside cabal files, it is
|
||||
# common to point users to the README.md file.
|
||||
description: Please see the README on GitHub at <https://github.com/githubuser/hamming#readme>
|
||||
description: Please see the README
|
||||
|
||||
dependencies:
|
||||
- base >= 4.7 && < 5
|
||||
|
|
|
@ -24,7 +24,7 @@ License along with this program. If not, see
|
|||
|
||||
|-}
|
||||
|
||||
{-# LANGUAGE LambdaCase, OverloadedStrings #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Hamming.App.Events (
|
||||
eventHandler,
|
||||
|
@ -47,7 +47,7 @@ import Brick.Keybindings
|
|||
, onEvent
|
||||
)
|
||||
import Control.Monad (void)
|
||||
import Control.Monad.State.Class (get, gets, modify, put)
|
||||
import Control.Monad.State.Class (gets, modify, put)
|
||||
import Data.Either (fromRight)
|
||||
import Graphics.Vty.Input.Events
|
||||
( Event (EvKey)
|
||||
|
@ -95,10 +95,7 @@ keyEventHandlers =
|
|||
, onEvent CheckBitsEvent "Set Check Bits" $
|
||||
hammingCode %= setCheckBits
|
||||
, onEvent FixCodeEvent "Attempt to Correct Errors" $
|
||||
zoom hammingCode $ get >>= \case
|
||||
Nothing -> return ()
|
||||
Just c -> put c
|
||||
. correctErrors
|
||||
zoom hammingCode $ gets correctErrors >>= mapM_ put
|
||||
, onEvent ResetEvent "Reset Code" $
|
||||
hammingCode .= 0
|
||||
]
|
||||
|
@ -153,21 +150,25 @@ keyBindingsFor m = coreBindings ++ case m of
|
|||
, ( UpEvent
|
||||
, [ bind KUp
|
||||
, bind 'k'
|
||||
, ctrl 'p'
|
||||
]
|
||||
)
|
||||
, ( DownEvent
|
||||
, [ bind KDown
|
||||
, bind 'j'
|
||||
, ctrl 'n'
|
||||
]
|
||||
)
|
||||
, ( LeftEvent
|
||||
, [ bind KLeft
|
||||
, bind 'h'
|
||||
, ctrl 'b'
|
||||
]
|
||||
)
|
||||
, ( RightEvent
|
||||
, [ bind KRight
|
||||
, bind 'l'
|
||||
, ctrl 'f'
|
||||
]
|
||||
)
|
||||
, ( FlipBitEvent
|
||||
|
|
Loading…
Reference in New Issue
Block a user