@@ -106,19 +106,19 @@ pattern Path x <- (MkPath x)
106
106
--
107
107
-- Throws: 'PathParseException'
108
108
--
109
- -- >>> parseAbs "/abc" :: Maybe (Path Abs)
109
+ -- >>> parseAbs "/abc" :: Maybe (Path Abs)
110
110
-- Just "/abc"
111
- -- >>> parseAbs "/" :: Maybe (Path Abs)
111
+ -- >>> parseAbs "/" :: Maybe (Path Abs)
112
112
-- Just "/"
113
- -- >>> parseAbs "/abc/def" :: Maybe (Path Abs)
113
+ -- >>> parseAbs "/abc/def" :: Maybe (Path Abs)
114
114
-- Just "/abc/def"
115
115
-- >>> parseAbs "/abc/def/.///" :: Maybe (Path Abs)
116
116
-- Just "/abc/def/"
117
- -- >>> parseAbs "abc" :: Maybe (Path Abs)
117
+ -- >>> parseAbs "abc" :: Maybe (Path Abs)
118
118
-- Nothing
119
- -- >>> parseAbs "" :: Maybe (Path Abs)
119
+ -- >>> parseAbs "" :: Maybe (Path Abs)
120
120
-- Nothing
121
- -- >>> parseAbs "/abc/../foo" :: Maybe (Path Abs)
121
+ -- >>> parseAbs "/abc/../foo" :: Maybe (Path Abs)
122
122
-- Nothing
123
123
parseAbs :: MonadThrow m
124
124
=> ByteString -> m (Path Abs )
@@ -138,23 +138,23 @@ parseAbs filepath =
138
138
--
139
139
-- Throws: 'PathParseException'
140
140
--
141
- -- >>> parseRel "abc" :: Maybe (Path Rel)
141
+ -- >>> parseRel "abc" :: Maybe (Path Rel)
142
142
-- Just "abc"
143
- -- >>> parseRel "def/" :: Maybe (Path Rel)
143
+ -- >>> parseRel "def/" :: Maybe (Path Rel)
144
144
-- Just "def/"
145
- -- >>> parseRel "abc/def" :: Maybe (Path Rel)
145
+ -- >>> parseRel "abc/def" :: Maybe (Path Rel)
146
146
-- Just "abc/def"
147
- -- >>> parseRel "abc/def/." :: Maybe (Path Rel)
147
+ -- >>> parseRel "abc/def/." :: Maybe (Path Rel)
148
148
-- Just "abc/def/"
149
- -- >>> parseRel "/abc" :: Maybe (Path Rel)
149
+ -- >>> parseRel "/abc" :: Maybe (Path Rel)
150
150
-- Nothing
151
- -- >>> parseRel "" :: Maybe (Path Rel)
151
+ -- >>> parseRel "" :: Maybe (Path Rel)
152
152
-- Nothing
153
153
-- >>> parseRel "abc/../foo" :: Maybe (Path Rel)
154
154
-- Nothing
155
- -- >>> parseRel "." :: Maybe (Path Rel)
155
+ -- >>> parseRel "." :: Maybe (Path Rel)
156
156
-- Nothing
157
- -- >>> parseRel ".." :: Maybe (Path Rel)
157
+ -- >>> parseRel ".." :: Maybe (Path Rel)
158
158
-- Nothing
159
159
parseRel :: MonadThrow m
160
160
=> ByteString -> m (Path Rel )
@@ -173,25 +173,25 @@ parseRel filepath =
173
173
--
174
174
-- Throws: 'PathParseException'
175
175
--
176
- -- >>> parseFn "abc" :: Maybe (Path Fn)
176
+ -- >>> parseFn "abc" :: Maybe (Path Fn)
177
177
-- Just "abc"
178
- -- >>> parseFn "..." :: Maybe (Path Fn)
178
+ -- >>> parseFn "..." :: Maybe (Path Fn)
179
179
-- Just "..."
180
- -- >>> parseFn "def/" :: Maybe (Path Fn)
180
+ -- >>> parseFn "def/" :: Maybe (Path Fn)
181
181
-- Nothing
182
- -- >>> parseFn "abc/def" :: Maybe (Path Fn)
182
+ -- >>> parseFn "abc/def" :: Maybe (Path Fn)
183
183
-- Nothing
184
- -- >>> parseFn "abc/def/." :: Maybe (Path Fn)
184
+ -- >>> parseFn "abc/def/." :: Maybe (Path Fn)
185
185
-- Nothing
186
- -- >>> parseFn "/abc" :: Maybe (Path Fn)
186
+ -- >>> parseFn "/abc" :: Maybe (Path Fn)
187
187
-- Nothing
188
- -- >>> parseFn "" :: Maybe (Path Fn)
188
+ -- >>> parseFn "" :: Maybe (Path Fn)
189
189
-- Nothing
190
190
-- >>> parseFn "abc/../foo" :: Maybe (Path Fn)
191
191
-- Nothing
192
- -- >>> parseFn "." :: Maybe (Path Fn)
192
+ -- >>> parseFn "." :: Maybe (Path Fn)
193
193
-- Nothing
194
- -- >>> parseFn ".." :: Maybe (Path Fn)
194
+ -- >>> parseFn ".." :: Maybe (Path Fn)
195
195
-- Nothing
196
196
parseFn :: MonadThrow m
197
197
=> ByteString -> m (Path Fn )
@@ -234,13 +234,13 @@ fromRel = toFilePath
234
234
-- because this library is IO-agnostic and makes no assumptions about
235
235
-- file types.
236
236
--
237
- -- >>> (MkPath "/") </> (MkPath "file" :: Path Rel)
237
+ -- >>> (MkPath "/") </> (MkPath "file" :: Path Rel)
238
238
-- "/file"
239
- -- >>> (MkPath "/path/to") </> (MkPath "file" :: Path Rel)
239
+ -- >>> (MkPath "/path/to") </> (MkPath "file" :: Path Rel)
240
240
-- "/path/to/file"
241
- -- >>> (MkPath "/") </> (MkPath "file/lal" :: Path Rel)
241
+ -- >>> (MkPath "/") </> (MkPath "file/lal" :: Path Rel)
242
242
-- "/file/lal"
243
- -- >>> (MkPath "/") </> (MkPath "file/" :: Path Rel)
243
+ -- >>> (MkPath "/") </> (MkPath "file/" :: Path Rel)
244
244
-- "/file/"
245
245
(</>) :: RelC r => Path b -> Path r -> Path b
246
246
(</>) (MkPath a) (MkPath b) = MkPath (a' `BS.append` b)
@@ -254,15 +254,15 @@ fromRel = toFilePath
254
254
--
255
255
-- The bases must match.
256
256
--
257
- -- >>> (MkPath "/lal/lad") `stripDir` (MkPath "/lal/lad/fad") :: Maybe (Path Rel)
257
+ -- >>> (MkPath "/lal/lad") `stripDir` (MkPath "/lal/lad/fad") :: Maybe (Path Rel)
258
258
-- Just "fad"
259
- -- >>> (MkPath "lal/lad") `stripDir` (MkPath "lal/lad/fad") :: Maybe (Path Rel)
259
+ -- >>> (MkPath "lal/lad") `stripDir` (MkPath "lal/lad/fad") :: Maybe (Path Rel)
260
260
-- Just "fad"
261
- -- >>> (MkPath "/") `stripDir` (MkPath "/") :: Maybe (Path Rel)
261
+ -- >>> (MkPath "/") `stripDir` (MkPath "/") :: Maybe (Path Rel)
262
262
-- Nothing
263
- -- >>> (MkPath "/lal/lad/fad") `stripDir` (MkPath "/lal/lad") :: Maybe (Path Rel)
263
+ -- >>> (MkPath "/lal/lad/fad") `stripDir` (MkPath "/lal/lad") :: Maybe (Path Rel)
264
264
-- Nothing
265
- -- >>> (MkPath "fad") `stripDir` (MkPath "fad") :: Maybe (Path Rel)
265
+ -- >>> (MkPath "fad") `stripDir` (MkPath "fad") :: Maybe (Path Rel)
266
266
-- Nothing
267
267
stripDir :: MonadThrow m
268
268
=> Path b -> Path b -> m (Path Rel )
@@ -278,15 +278,15 @@ stripDir (MkPath p) (MkPath l) =
278
278
-- | Is p a parent of the given location? Implemented in terms of
279
279
-- 'stripDir'. The bases must match.
280
280
--
281
- -- >>> (MkPath "/lal/lad") `isParentOf` (MkPath "/lal/lad/fad")
281
+ -- >>> (MkPath "/lal/lad") `isParentOf` (MkPath "/lal/lad/fad")
282
282
-- True
283
- -- >>> (MkPath "lal/lad") `isParentOf` (MkPath "lal/lad/fad")
283
+ -- >>> (MkPath "lal/lad") `isParentOf` (MkPath "lal/lad/fad")
284
284
-- True
285
- -- >>> (MkPath "/") `isParentOf` (MkPath "/")
285
+ -- >>> (MkPath "/") `isParentOf` (MkPath "/")
286
286
-- False
287
287
-- >>> (MkPath "/lal/lad/fad") `isParentOf` (MkPath "/lal/lad")
288
288
-- False
289
- -- >>> (MkPath "fad") `isParentOf` (MkPath "fad")
289
+ -- >>> (MkPath "fad") `isParentOf` (MkPath "fad")
290
290
-- False
291
291
isParentOf :: Path b -> Path b -> Bool
292
292
isParentOf p l = isJust (stripDir p l :: Maybe (Path Rel ))
@@ -330,7 +330,7 @@ dirname (MkPath fp) = MkPath (takeDirectory $ dropTrailingPathSeparator fp)
330
330
--
331
331
-- >>> basename (MkPath "/abc/def/dod") :: Maybe (Path Fn)
332
332
-- Just "dod"
333
- -- >>> basename (MkPath "/") :: Maybe (Path Fn)
333
+ -- >>> basename (MkPath "/") :: Maybe (Path Fn)
334
334
-- Nothing
335
335
basename :: MonadThrow m => Path b -> m (Path Fn )
336
336
basename (MkPath l)
0 commit comments