Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Determines if a string matches a file attribute.
- newtype FileAttributeMatcher = FileAttributeMatcher (ManagedPtr FileAttributeMatcher)
- noFileAttributeMatcher :: Maybe FileAttributeMatcher
- data FileAttributeMatcherEnumerateNamespaceMethodInfo
- fileAttributeMatcherEnumerateNamespace :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> Text -> m Bool
- data FileAttributeMatcherEnumerateNextMethodInfo
- fileAttributeMatcherEnumerateNext :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m Text
- data FileAttributeMatcherMatchesMethodInfo
- fileAttributeMatcherMatches :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> Text -> m Bool
- data FileAttributeMatcherMatchesOnlyMethodInfo
- fileAttributeMatcherMatchesOnly :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> Text -> m Bool
- fileAttributeMatcherNew :: (HasCallStack, MonadIO m) => Text -> m FileAttributeMatcher
- data FileAttributeMatcherRefMethodInfo
- fileAttributeMatcherRef :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m FileAttributeMatcher
- data FileAttributeMatcherSubtractMethodInfo
- fileAttributeMatcherSubtract :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> FileAttributeMatcher -> m FileAttributeMatcher
- data FileAttributeMatcherToStringMethodInfo
- fileAttributeMatcherToString :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m Text
- data FileAttributeMatcherUnrefMethodInfo
- fileAttributeMatcherUnref :: (HasCallStack, MonadIO m) => FileAttributeMatcher -> m ()
Exported types
newtype FileAttributeMatcher Source #
Methods
enumerateNamespace
data FileAttributeMatcherEnumerateNamespaceMethodInfo Source #
((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * FileAttributeMatcherEnumerateNamespaceMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherEnumerateNamespace Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> Text |
|
-> m Bool | Returns: |
Checks if the matcher will match all of the keys in a given namespace.
This will always return True
if a wildcard character is in use (e.g. if
matcher was created with "standard::*" and ns
is "standard", or if matcher was created
using "*" and namespace is anything.)
TODO: this is awkwardly worded.
enumerateNext
data FileAttributeMatcherEnumerateNextMethodInfo Source #
((~) * signature (m Text), MonadIO m) => MethodInfo * FileAttributeMatcherEnumerateNextMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherEnumerateNext Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m Text | Returns: a string containing the next attribute or |
Gets the next matched attribute from a FileAttributeMatcher
.
matches
data FileAttributeMatcherMatchesMethodInfo Source #
((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * FileAttributeMatcherMatchesMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherMatches Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> Text |
|
-> m Bool | Returns: |
Checks if an attribute will be matched by an attribute matcher. If
the matcher was created with the "*" matching string, this function
will always return True
.
matchesOnly
data FileAttributeMatcherMatchesOnlyMethodInfo Source #
((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * FileAttributeMatcherMatchesOnlyMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherMatchesOnly Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> Text |
|
-> m Bool | Returns: |
Checks if a attribute matcher only matches a given attribute. Always
returns False
if "*" was used when creating the matcher.
new
fileAttributeMatcherNew Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m FileAttributeMatcher | Returns: a |
Creates a new file attribute matcher, which matches attributes
against a given string. GFileAttributeMatchers
are reference
counted structures, and are created with a reference count of 1. If
the number of references falls to 0, the FileAttributeMatcher
is
automatically destroyed.
The attribute
string should be formatted with specific keys separated
from namespaces with a double colon. Several "namespace::key" strings may be
concatenated with a single comma (e.g. "standard::type,standard::is-hidden").
The wildcard "*" may be used to match all keys and namespaces, or
"namespace::*" will match all keys in a given namespace.
Examples of file attribute matcher strings and results
"*"
: matches all attributes."standard::is-hidden"
: matches only the key is-hidden in the standard namespace."standard::type,unix::*"
: matches the type key in the standard namespace and all keys in the unix namespace.
ref
data FileAttributeMatcherRefMethodInfo Source #
((~) * signature (m FileAttributeMatcher), MonadIO m) => MethodInfo * FileAttributeMatcherRefMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherRef Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m FileAttributeMatcher | Returns: a |
References a file attribute matcher.
subtract
data FileAttributeMatcherSubtractMethodInfo Source #
((~) * signature (FileAttributeMatcher -> m FileAttributeMatcher), MonadIO m) => MethodInfo * FileAttributeMatcherSubtractMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherSubtract Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> FileAttributeMatcher |
|
-> m FileAttributeMatcher | Returns: A file attribute matcher matching all attributes of
|
Subtracts all attributes of subtract
from matcher
and returns
a matcher that supports those attributes.
Note that currently it is not possible to remove a single
attribute when the matcher
matches the whole namespace - or remove
a namespace or attribute when the matcher matches everything. This
is a limitation of the current implementation, but may be fixed
in the future.
toString
data FileAttributeMatcherToStringMethodInfo Source #
((~) * signature (m Text), MonadIO m) => MethodInfo * FileAttributeMatcherToStringMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherToString Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m Text | Returns: a string describing the attributes the matcher matches
against or |
Prints what the matcher is matching against. The format will be
equal to the format passed to fileAttributeMatcherNew
.
The output however, might not be identical, as the matcher may
decide to use a different order or omit needless parts.
Since: 2.32
unref
data FileAttributeMatcherUnrefMethodInfo Source #
((~) * signature (m ()), MonadIO m) => MethodInfo * FileAttributeMatcherUnrefMethodInfo FileAttributeMatcher signature Source # | |
fileAttributeMatcherUnref Source #
:: (HasCallStack, MonadIO m) | |
=> FileAttributeMatcher |
|
-> m () |
Unreferences matcher
. If the reference count falls below 1,
the matcher
is automatically freed.