aboutsummaryrefslogtreecommitdiffstats
path: root/app/Issue
diff options
context:
space:
mode:
Diffstat (limited to 'app/Issue')
-rw-r--r--app/Issue/Text.hs39
1 files changed, 2 insertions, 37 deletions
diff --git a/app/Issue/Text.hs b/app/Issue/Text.hs
index 5d1dddb..4cfc5f7 100644
--- a/app/Issue/Text.hs
+++ b/app/Issue/Text.hs
@@ -6,52 +6,17 @@ module Issue.Text
where
import Control.Arrow (first, second)
-import Data.List (find)
-import Data.Maybe (fromMaybe)
import Data.Text (Text)
import Data.Text qualified as T
-import TreeGrepper.FileType (FileType)
-import TreeGrepper.FileType qualified as G
-extractText :: FileType -> Text -> (Text, Maybe Text)
-extractText fileType rawText = (title, description)
+extractText :: Text -> (Text, Maybe Text)
+extractText text = (title, description)
where
- text = stripComments fileType $ stripLines rawText
- stripLines = T.intercalate "\n" . map T.strip . T.lines
(title, description') = second T.stripStart $ T.breakOn "\n" text
description
| T.null description' = Nothing
| otherwise = Just description'
-stripComments :: G.FileType -> Text -> Text
-stripComments fileType text =
- maybe
- (stripLineComments (G.info fileType).lineStart text)
- ( \(blockInfo, blockStart) ->
- stripBlockComment blockStart blockInfo.blockEnd text
- )
- $ do
- blockInfo <- (G.info fileType).block
- (,) blockInfo <$> find (`T.isPrefixOf` text) blockInfo.blockStart
-
-stripLineComments :: Text -> Text -> Text
-stripLineComments lineStart text =
- onLines
- ( \line ->
- fromMaybe line . fmap T.stripStart $
- T.stripPrefix lineStart line
- )
- text
- where
- onLines f = T.intercalate "\n" . map f . T.lines
-
-stripBlockComment :: Text -> Text -> Text -> Text
-stripBlockComment blockStart blockEnd text =
- T.strip
- . (fromMaybe text . T.stripSuffix blockEnd)
- . (fromMaybe text . T.stripPrefix blockStart)
- $ text
-
issueMarkers :: [T.Text]
issueMarkers =
[ "TODO",