-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Runs commands on remote machines using ssh
--
@package vado
@version 0.0.2
-- | Lets you quickly run ssh on a machine that you have an sshfs
-- connection to. It works out the username, host and the directory on
-- the host based on the current directory and the output of
-- mount
module System.Process.Vado
-- | Remote file system mount point
data MountPoint
MountPoint :: Text -> Text -> FilePath -> FilePath -> MountPoint
-- | Account used on remote machine
remoteUser :: MountPoint -> Text
-- | Host name or address of the remote machine
remoteHost :: MountPoint -> Text
-- | Directory on remote machine
remoteDir :: MountPoint -> FilePath
-- | Where it is mounted on this machine
localDir :: MountPoint -> FilePath
-- | Parses a line looking for a remote mount point
parseMountPoint :: String -> Maybe MountPoint
-- | Run mount and look up the mount point relating to the
-- directory in the output
getMountPoint :: FilePath -> IO (Either MountPoint String)
-- | Mount point settings
data MountSettings
MountSettings :: Text -> Text -> Int -> FilePath -> MountSettings
sshfsUser :: MountSettings -> Text
sshfsHost :: MountSettings -> Text
sshfsPort :: MountSettings -> Int
idFile :: MountSettings -> FilePath
-- | Read a list of predefined mount points from the ~/.vadosettings files
readSettings :: IO [MountSettings]
-- | Default mount settings for vagrant
defMountSettings :: IO MountSettings
-- | Get a list of arguments to pass to ssh to run command on a remote
-- machine in the directory that is mounted locally
vado :: MountPoint -> [MountSettings] -> FilePath -> [String] -> FilePath -> [String] -> IO [String]
-- | Get a list of arguments to pass to sshfs to mount a remote filesystem
-- in the given directory
vamount :: MountSettings -> FilePath -> FilePath -> [String] -> [String]
instance Ord MountPoint
instance Eq MountPoint
instance Show MountSettings
instance Read MountSettings
instance Show MountPoint