From ff0daf7c5edb92e9e2361e9985996725bade9a85 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Fri, 24 Oct 2025 20:25:15 +0530 Subject: Add build/install setup + fix read error for move command --- lib/Daffm/Action/Commands.hs | 9 +++++---- lib/Daffm/State.hs | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/Daffm/Action/Commands.hs b/lib/Daffm/Action/Commands.hs index 669ff3c..c77a9fc 100644 --- a/lib/Daffm/Action/Commands.hs +++ b/lib/Daffm/Action/Commands.hs @@ -20,6 +20,7 @@ import Data.Maybe (fromMaybe) import qualified Data.Text as Text import qualified Data.Text.IO as Text import qualified System.Process as Proc +import Text.Read (readMaybe) runCmdline :: AppEvent () runCmdline = do @@ -53,14 +54,14 @@ parseCommand cmd = mkCmd . splitCmdArgs $ trimStart cmd ("search", term) -> Just $ CmdSearch $ trim term ("search-next", _) -> Just $ CmdSearchNext 1 ("search-prev", _) -> Just $ CmdSearchNext (-1) - ("move", Text.stripPrefix "$" -> Just _) -> Just $ CmdMove MoveToEnd - ("move", Text.stripPrefix "+" -> Just inc) -> Just . CmdMove . MoveDown . read $ Text.unpack inc - ("move", Text.stripPrefix "-" -> Just inc) -> Just . CmdMove . MoveUp . read $ Text.unpack inc - ("move", pos) -> Just . CmdMove . MoveTo . read $ Text.unpack pos ("map", Text.break isSpace -> (keysraw, cmdraw)) -> do keys <- parseKeySequence keysraw cmd' <- parseCommand $ trimStart cmdraw pure $ CmdKeymapSet keys cmd' + ("move", Text.stripPrefix "$" -> Just _) -> Just $ CmdMove MoveToEnd + ("move", Text.stripPrefix "+" -> Just inc) -> Just . CmdMove . MoveDown . read $ Text.unpack inc + ("move", Text.stripPrefix "-" -> Just inc) -> Just . CmdMove . MoveUp . read $ Text.unpack inc + ("move", readMaybe . Text.unpack -> Just pos) -> Just . CmdMove . MoveTo $ pos _ -> Nothing readCommandLines' :: Text.Text -> IO [Text.Text] diff --git a/lib/Daffm/State.hs b/lib/Daffm/State.hs index cd8d6ec..6d7f6ea 100644 --- a/lib/Daffm/State.hs +++ b/lib/Daffm/State.hs @@ -3,13 +3,11 @@ {-# HLINT ignore "Redundant multi-way if" #-} module Daffm.State where -import Brick (suspendAndResume') import qualified Brick.Widgets.Edit as Editor import qualified Brick.Widgets.List as L import Control.Applicative ((<|>)) import Control.Exception (try) import Control.Monad (filterM, forM) -import qualified Debug.Trace as Debug import Daffm.Types import Daffm.Utils (trim) import Data.List (findIndex, sortBy) -- cgit v1.3.1