Copyright | 2019 Emily Pillmore |
---|---|
License | BSD |
Maintainer | Emily Pillmore <emilypi@cohomolo.gy> |
Stability | Experimental |
Portability | TypeFamilies |
Safe Haskell | Safe |
Language | Haskell2010 |
This module provides the associated optics and combinators
for working with CommandSpec
objects. CommandSpec
consists of two
cases: a Shell command, which is a command to execute naively in the shell,
and a Raw command which is a command path together with its arguments.
CommandSpec
has two cases, and therefore a prism into those two cases.
There is also a convenient Traversal
available for working with the arglist
of a Raw command, as well as associated Review
s for each prism, and combinators
for working with arguments monoidally.
We provide classy variants for all useful prisms
Traversals
arguments :: Traversal' CmdSpec [String] Source #
Traversal'
into the arguments of a command
Examples:
>>>
RawCommand "/bin/ls" ["-l"] ^. arguments
["-l"]