aboutsummaryrefslogtreecommitdiff
path: root/lib/Daffm
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-10-24 20:25:15 +0530
committerAkshay Nair <phenax5@gmail.com>2025-10-24 20:25:15 +0530
commitff0daf7c5edb92e9e2361e9985996725bade9a85 (patch)
treeeea01a125f94bd1169e12ee55b0ff4df365ef92c /lib/Daffm
parentcae48d231a82cd451658e3745ab23e1a2057d406 (diff)
downloaddaffm-ff0daf7c5edb92e9e2361e9985996725bade9a85.tar.gz
daffm-ff0daf7c5edb92e9e2361e9985996725bade9a85.zip
Add build/install setup + fix read error for move command
Diffstat (limited to 'lib/Daffm')
-rw-r--r--lib/Daffm/Action/Commands.hs9
-rw-r--r--lib/Daffm/State.hs2
2 files changed, 5 insertions, 6 deletions
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)