com.github.arturopala.gitignore

Type members

Classlikes

object Debug
case class GitIgnore(gitPatterns: Seq[String])

Filter paths using .gitignore patterns.

Note

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

Companion
object
object GitIgnore
Companion
class
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 ''.

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.

Companion
object
object Zoom
Companion
class