Documentation for substringCheck.
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Mon, 21 Jul 2014 15:22:13 +0000 (16:22 +0100)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Mon, 21 Jul 2014 16:01:25 +0000 (17:01 +0100)
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
utils/ghc-pkg/Main.hs

index 390873a..a1f30f6 100644 (file)
@@ -326,6 +326,28 @@ runit verbosity cli nonopts = do
           where splitComma "" = Nothing
                 splitComma fs = Just $ break (==',') (tail fs)
 
+        -- | Parses a glob into a predicate which tests if a string matches
+        -- the glob.  Returns Nothing if the string in question is not a glob.
+        -- At the moment, we only support globs at the beginning and/or end of
+        -- strings.  This function respects case sensitivity.
+        --
+        -- >>> fromJust (substringCheck "*") "anything"
+        -- True
+        --
+        -- >>> fromJust (substringCheck "string") "string"
+        -- True
+        --
+        -- >>> fromJust (substringCheck "*bar") "foobar"
+        -- True
+        --
+        -- >>> fromJust (substringCheck "foo*") "foobar"
+        -- True
+        --
+        -- >>> fromJust (substringCheck "*ooba*") "foobar"
+        -- True
+        --
+        -- >>> fromJust (substringCheck "f*bar") "foobar"
+        -- False
         substringCheck :: String -> Maybe (String -> Bool)
         substringCheck ""    = Nothing
         substringCheck "*"   = Just (const True)