org.encalmo.utils

Members list

Type members

Classlikes

object Debug

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Debug.type
case class GitIgnore(gitPatterns: Seq[String])

Filter paths using .gitignore patterns.

Attributes

Note

Paths representing directories MUST end with a slash, paths representing files MUST NOT end with a slash.

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object GitIgnore

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
GitIgnore.type
object Glob

Globbing pathnames.

Globbing pathnames.

Wildcard pattern matcher implementing the same rules as https://www.man7.org/linux/man-pages/man7/glob.7.html

Note that wildcard patterns are not regular expressions, although they are a bit similar. First of all, they match filenames, rather than text, and secondly, the conventions are not the same: for example, in a regular expression '*' means zero or more copies of the preceding thing.

Pattern syntax:

A string is a wildcard pattern if it contains one of the characters '?', '*' or '['. Globbing is the operation that expands a wildcard pattern into the list of pathnames matching the pattern. Matching is defined by:

A '?' (not between brackets) matches any single character.

A '*' (not between brackets) matches any string, including the empty string.

A '/' in a pathname cannot be matched by a '?' or '*' wildcard, or by a range like "[.-0]". A range containing an explicit '/' character is syntactically incorrect.

An expression "[...]" where the first character after the leading '[' is not an '!' matches a single character, namely any of the characters enclosed by the brackets. The string enclosed by the brackets cannot be empty; therefore ']' can be allowed between the brackets, provided that it is the first character. (Thus, "[][!]" matches the three characters '[', ']' and '!'.)

There is one special convention: two characters separated by '-' denote a range. (Thus, "[A-Fa-f0-9]" is equivalent to "[ABCDEFabcdef0123456789]".) One may include '-' in its literal meaning by making it the first or last character between the brackets. (Thus, "[]-]" matches just the two characters ']' and '-', and "[--0]" matches the three characters '-', '.', '0', since '/' cannot be matched.)

Now that regular expressions have bracket expressions where the negation is indicated by a '^', POSIX has declared the effect of a wildcard pattern "[^...]" to be undefined.

An expression "[!...]" matches a single character, namely any character that is not matched by the expression obtained by removing the first '!' from it. (Thus, "[!]a-]" matches any single character except ']', 'a' and '-'.)

One can remove the special meaning of '?', '' and '[' by preceding them by a backslash, or, in case this is part of a shell command line, enclosing them in quotes. Between brackets these characters stand for themselves. Thus, "[[?]" matches the four characters '[', '?', '*' and ''.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Glob.type
final class Zoom(input: CharSequence)

A Mutable wrapper of the character sequence. Helps track different lookup operations.

A Mutable wrapper of the character sequence. Helps track different lookup operations.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Zoom

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Zoom.type