A specialization of Glob that applies only to relative paths. RelativeGlob instances
can always be combined with the /
operator whereas general Glob
instances cannot because they
may correspond to an absolute file path:
val combined = Glob("/foo/bar") / RelativeGlob("
- Companion:
- object
Value members
Concrete methods
Appends additional components to this RelativeGlob:
Appends additional components to this RelativeGlob:
val glob = Glob("foo/bar")
val scalaSources = glob / "**<code>/</code>*.scala"
scalaSources.matches(Paths.get("foo/bar/Foo.scala")) // true
scalaSources.matches(Paths.get("foo/bar/baz/fizz/buzz/Bar.scala")) // true
scalaSources.matches(Paths.get("foo/bar/baz/fizz/buzz/Baz.java")) // false
- Value parameters:
- relativeGlob
the additional query string to parse and append
- Returns:
a Glob with the new RelativeGlob appended to the query.
Appends an additional RelativeGlob to this RelativeGlob:
Appends an additional RelativeGlob to this RelativeGlob:
val glob = Glob("foo/bar")
val scalaSources = glob / ** / "*.scala"
scalaSources.matches(Paths.get("foo/bar/Foo.scala")) // true
scalaSources.matches(Paths.get("foo/bar/baz/fizz/buzz/Bar.scala")) // true
scalaSources.matches(Paths.get("foo/bar/baz/fizz/buzz/Baz.java")) // false
- Value parameters:
- relativeGlob
the additional query string to parse and append
- Returns:
a Glob with the new RelativeGlob appended to the query.
Appends a relative glob specified by a regex pattern to an existing Glob. For example:
Appends a relative glob specified by a regex pattern to an existing Glob. For example:
val glob = Glob("foo/bar")
val scalaSources = glob / "^[^.].*\\.scala".r
scalaSources.matches(Paths.get("foo/bar/Foo.scala")) // true
scalaSources.matches(Paths.get("foo/bar/.hidden.scala")) // false
Note that it is not possible to specify a recursive glob this way because **
is not valid
in regex. To make a recursive glob, combine with RecursiveGlob:
val scalaSources = Glob("foo/bar") / ** / "^[^.].*\\.scala".r
scalaSources.matches(Paths.get("foo/bar/baz/fizz/buzz/Foo.scala")) // true
scalaSources.matches(Paths.get("foo/bar/baz/fizz/buzz/.hidden.scala")) // false
On Windows, \
will be treated as a regex escape character but /
will be treated
as a path separator.
- Value parameters:
- regex
the pattern to apply
- Returns:
a Glob with the new RelativeGlob appended to the query.