Unify backspace in regex code
This commit is contained in:
@@ -446,41 +446,27 @@ updateBackspaceRegex :: World -> World
|
||||
updateBackspaceRegex w = case di ^? subInventory of
|
||||
Just NoSubInventory{}
|
||||
| secfocus (-1) 0 ->
|
||||
w & hud . hudElement %~ trybackspace (-1)
|
||||
w & hud . hudElement %~ trybackspace (-1) diInvFilter diInvFilter diSelection
|
||||
& worldEventFlags . at InventoryChange ?~ ()
|
||||
Just NoSubInventory{}
|
||||
| secfocus 2 3 ->
|
||||
w & hud . hudElement %~ trybackspace'' 2
|
||||
w & hud . hudElement %~ trybackspace 2 diCloseFilter diCloseFilter diSelection
|
||||
& worldEventFlags . at InventoryChange ?~ ()
|
||||
Just CombineInventory{} ->
|
||||
w & hud . hudElement . subInventory %~ trybackspace' (-1)
|
||||
w & hud . hudElement . subInventory %~ trybackspace (-1) ciFilter ciFilter ciSelection
|
||||
& worldEventFlags . at InventoryChange ?~ ()
|
||||
_ -> w
|
||||
where
|
||||
secfocus a b = fromMaybe False $ do
|
||||
i <- di ^? diSelection . _Just . _1
|
||||
return $ i == a || i == b
|
||||
trybackspace x he = fromMaybe he $ do
|
||||
str <- he ^? diInvFilter . _Just
|
||||
trybackspace x filtget filtset selset he = fromMaybe he $ do
|
||||
str <- he ^? filtget . _Just
|
||||
return $ case str of
|
||||
(_ : _) ->
|
||||
he & diInvFilter . _Just %~ init
|
||||
& diSelection ?~ (x, 0,mempty)
|
||||
[] -> he & diInvFilter .~ Nothing
|
||||
trybackspace'' x he = fromMaybe he $ do
|
||||
str <- he ^? diCloseFilter . _Just
|
||||
return $ case str of
|
||||
(_ : _) ->
|
||||
he & diCloseFilter . _Just %~ init
|
||||
& diSelection ?~ (x, 0,mempty)
|
||||
[] -> he & diCloseFilter .~ Nothing
|
||||
trybackspace' x ci = fromMaybe ci $ do
|
||||
str <- ci ^? ciFilter . _Just
|
||||
return $ case str of
|
||||
(_ : _) ->
|
||||
ci & ciFilter . _Just %~ init
|
||||
& ciSelection ?~ (x, 0,mempty)
|
||||
[] -> ci & ciFilter .~ Nothing
|
||||
he & filtset . _Just %~ init
|
||||
& selset ?~ (x, 0,mempty)
|
||||
[] -> he & filtset .~ Nothing
|
||||
di = w ^. hud . hudElement
|
||||
|
||||
updateEnterRegex :: World -> World
|
||||
|
||||
Reference in New Issue
Block a user