git-vogue-0.2.0.1: A framework for pre-commit checks.

Safe HaskellNone
LanguageHaskell2010

Git.Vogue.Types

Synopsis

Documentation

data VogueOptions Source

Options parsed from the command-line.

Constructors

Options 

data VogueCommand Source

Commands, with parameters, to be executed.

Constructors

CmdInit

Add git-vogue support to a git repository.

CmdVerify

Verify that support is installed and plugins happen.

CmdPlugins

List the plugins that git-vogue knows about.

CmdDisable PluginName

Disable a plugin

CmdEnable PluginName

Enable a plugin

CmdRunCheck

Run check plugins on files in a git repository.

CmdRunFix

Run fix plugins on files in a git repository.

data Check Source

Phantom type for Statuses related to checking

data Fix Source

Phantom type for Statuses related to fixing

data Result Source

Result of running a Plugin

Instances

data Plugin m Source

A plugin that can be told to check or fix a list of files

Constructors

Plugin 

Instances

Eq (Plugin m) 
Ord (Plugin m) 
Show (Plugin m) 

data SearchMode Source

We want the flexibility of just checking changed files, or maybe checking all of them.

data PluginDiscoverer m Source

A thing that can find plugins, for example we might search through the libexec directory for executables.

Constructors

PluginDiscoverer 

Fields

discoverPlugins :: m [Plugin m]
 
disablePlugin :: PluginName -> m ()
 
enablePlugin :: PluginName -> m ()
 

data VCS m Source

A VCS backend, such as git.

Constructors

VCS 

Fields

getFiles :: SearchMode -> m [FilePath]

Find all staged files

installHook :: m ()

Install pre-commit hook, will only be called if checkHook returns False

removeHook :: m ()

Remove pre-commit hook

checkHook :: m Bool

Check pre-commit hook

getTopLevel :: m FilePath

Find the / of the repo