From 1b1c3faabae530229eb675a2e70e744c2f45cbbe Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Mon, 4 Dec 2023 08:36:02 +0100 Subject: feat: add experimental render api --- app/Issue/Filter.hs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'app/Issue/Filter.hs') diff --git a/app/Issue/Filter.hs b/app/Issue/Filter.hs index e8209a7..68eda87 100644 --- a/app/Issue/Filter.hs +++ b/app/Issue/Filter.hs @@ -2,11 +2,14 @@ module Issue.Filter ( Filter, filterArg, applyFilters, + applyClosed, + applyPath, ) where import Control.Applicative (liftA2, (<|>)) import Data.Attoparsec.Text qualified as A +import Data.List (isPrefixOf) import Data.Text (Text) import Data.Text qualified as T import Issue (Issue (..)) @@ -132,3 +135,15 @@ op (Ge) = flip (>=) op (Gt) = flip (>) op (Le) = flip (<=) op (Lt) = flip (<) + +applyClosed :: Bool -> [Issue] -> [Issue] +applyClosed closed = filter (\issue -> closed || not issue.closed) + +applyPath :: [FilePath] -> [Issue] -> [Issue] +applyPath files = + filter + ( \issue -> + if null files + then True + else any (`isPrefixOf` issue.file) files + ) -- cgit v1.2.3