From 568923344f0941b2771459dd8dbe935ac971a968 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 28 Dec 2024 14:53:58 +0530 Subject: Allow clicking with enter --- src/Chelleport/AppState.hs | 3 ++- src/Chelleport/Types.hs | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) (limited to 'src/Chelleport') diff --git a/src/Chelleport/AppState.hs b/src/Chelleport/AppState.hs index 4c8e0a8..fe397e8 100644 --- a/src/Chelleport/AppState.hs +++ b/src/Chelleport/AppState.hs @@ -9,6 +9,7 @@ import Chelleport.Types import Chelleport.Utils (cIntToInt, clamp, intToCInt, isEmpty, itemAt) import Control.Monad (replicateM_) import Data.Char (toLower) +import Data.Default (Default (def)) import Data.Maybe (isJust) import qualified Text.Fuzzy as Fuzzy @@ -16,7 +17,7 @@ initialState :: (Monad m) => Configuration -> m (State, Maybe AppAction) initialState config = do let cells = either error id $ generateGrid 0 (rows, columns) hintKeys let action = Just $ SetMode $ configMode config - pure (defaultAppState {stateGrid = cells}, action) + pure (def {stateGrid = cells}, action) where rows = 9 columns = 16 diff --git a/src/Chelleport/Types.hs b/src/Chelleport/Types.hs index cc1a4c3..3deb4a8 100644 --- a/src/Chelleport/Types.hs +++ b/src/Chelleport/Types.hs @@ -52,18 +52,18 @@ data State = State } deriving (Show, Eq) -defaultAppState :: State -defaultAppState = - State - { stateGrid = [], - stateKeySequence = "", - stateIsMatched = False, - stateIsShiftPressed = False, - stateIsDragging = False, - stateRepetition = 1, - stateIsModeInitialized = False, - stateMode = ModeHints - } +instance Default State where + def = + State + { stateGrid = [], + stateKeySequence = "", + stateIsMatched = False, + stateIsShiftPressed = False, + stateIsDragging = False, + stateRepetition = 1, + stateIsModeInitialized = False, + stateMode = ModeHints + } data Direction = DirUp | DirDown | DirLeft | DirRight deriving (Show, Eq) -- cgit v1.3.1