diff --git a/git_lint.html b/git_lint.html
index 3d488fb..ffdaea1 100644
--- a/git_lint.html
+++ b/git_lint.html
@@ -6,7 +6,7 @@
- git_lint package — Git Lint 0.0.6 documentation
+ git_lint package — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
@@ -100,11 +100,6 @@ return code and the output of the lint process.
Bases: object
-
-
-git_lint.git_lint.
executable_exists
( script , label ) [source]
-
-
git_lint.git_lint.
get_filelist
( options , extras ) [source]
@@ -141,6 +136,11 @@ return code and the output of the lint process.
git_lint.git_lint.
get_shell_response
( fullcmd ) [source]
+
+
+git_lint.git_lint.
linter_exists
( linter , label ) [source]
+
+
git_lint.git_lint.
load_config
( options , base ) [source]
@@ -172,6 +172,66 @@ files for specific linters.
git_lint.option_handler module
+
+
+class git_lint.option_handler.
Arguments
( arguments , filenames , excluded )
+Bases: tuple
+
+
+arguments
+Alias for field number 0
+
+
+
+
+excluded
+Alias for field number 2
+
+
+
+
+filenames
+Alias for field number 1
+
+
+
+
+
+
+class git_lint.option_handler.
Option
( short , long , takes , help , conflicts )
+Bases: tuple
+
+
+conflicts
+Alias for field number 4
+
+
+
+
+help
+Alias for field number 3
+
+
+
+
+long
+Alias for field number 1
+
+
+
+
+short
+Alias for field number 0
+
+
+
+
+takes
+Alias for field number 2
+
+
+
+
git_lint.option_handler.
cleanup_options
( options , commandline ) [source]
@@ -184,6 +244,10 @@ along with any extra arguments.
Help text, list of (long) options superseded by this one.
: param List(strings) commandline
The arguments as received by the start-up process
+: returns List(strings), List(strings), List(strings)
+The longopt dictionary of arguments and associated values (if any)
+The list of filenames left after argument processing
+The longopt list of arguments that were excluded by argument precedence
diff --git a/history.html b/history.html
index 9da5f6d..12df3b3 100644
--- a/history.html
+++ b/history.html
@@ -6,7 +6,7 @@
-
History — Git Lint 0.0.6 documentation
+
History — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/index.html b/index.html
index 8a87540..e557661 100644
--- a/index.html
+++ b/index.html
@@ -6,7 +6,7 @@
-
Git Lint — Git Lint 0.0.6 documentation
+
Git Lint — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
@@ -54,6 +54,7 @@ repository or staging area.
Install
Features
Acknowledgements
+
To do
Disclaimer
diff --git a/installation.html b/installation.html
index dbd597b..33aa4af 100644
--- a/installation.html
+++ b/installation.html
@@ -6,7 +6,7 @@
-
Installation — Git Lint 0.0.6 documentation
+
Installation — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/manual.html b/manual.html
index ceeaf32..6a1fdf3 100644
--- a/manual.html
+++ b/manual.html
@@ -6,7 +6,7 @@
-
git-lint(1) — Git Lint 0.0.6 documentation
+
git-lint(1) — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/modules.html b/modules.html
index 578c272..d245ff6 100644
--- a/modules.html
+++ b/modules.html
@@ -6,7 +6,7 @@
-
git_lint — Git Lint 0.0.6 documentation
+
git_lint — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/modules/git_lint/git_lint.html b/modules/git_lint/git_lint.html
index 22846cd..26381b4 100644
--- a/modules/git_lint/git_lint.html
+++ b/modules/git_lint/git_lint.html
@@ -6,7 +6,7 @@
-
git_lint.git_lint — Git Lint 0.0.6 documentation
+
git_lint.git_lint — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
@@ -52,11 +52,18 @@
import subprocess
import sys
import pprint
+
try :
import configparser
except ImportError as e :
import ConfigParser as configparser
+
try : # noqa: F401
+
from typing import Dict , List , Text , Any , Optional , Union , Callable , Tuple # noqa: F401
+
except : # noqa: F401
+
pass # noqa: F401
+
+
_ = gettext . gettext
@@ -82,36 +89,36 @@
def find_config_file ( options , base ):
""" Returns the configuration file from a prioritized list of locations.
-
+
Locations are prioritized as:
1. From the command line. Fail if specified but not found
2. The repository's root directory, as the file .git-lint
3. The repository's root directory, as the file .git-lint/config
4. The user's home directory, as file .git-lint
5. The user's home directory, as the file .git-lint/config
-
+
If no configuration file is found, this is an error.
"""
-
+
if 'config' in options :
config = options [ 'config' ]
configpath = os . path . abspath ( config )
if not os . path . isfile ( configpath ):
sys . exit ( _ ( 'Configuration file not found: {} \n ' ) . format ( config ))
return configpath
-
+
home = os . environ . get ( 'HOME' , None )
possibles = [ os . path . join ( base , '.git-lint' ),
os . path . join ( base , '.git-lint/config' )] + (( home and [
os . path . join ( home , '.git-lint' ),
os . path . join ( home , '.git-lint/config' )]) or [])
-
+
matches = [ p for p in possibles if os . path . isfile ( p )]
if len ( matches ) == 0 :
sys . exit ( _ ( 'No configuration file found, tried: {} ' ) . format ( ':' . join ( possibles )))
-
+
return matches [ 0 ]
-
+
Linter = namedtuple ( 'Linter' , [ 'name' , 'linter' ])
path = find_config_file ( options , base )
configloader = configparser . SafeConfigParser ()
@@ -210,25 +217,23 @@
# \___|_||_\___\__|_\_\ |_|_|_||_\__\___|_| /__/
#
-
[docs] def executable_exists ( script , label ):
-
if not len ( script ):
-
sys . exit (
-
_ ( 'Syntax error in command configuration for {} ' ) . format ( label ))
+
[docs] def linter_exists ( linter , label ):
+
if not len ( linter ):
+
sys . exit ( _ ( 'Syntax error in linter configuration for {} ' ) . format ( label ))
-
scriptname = script . split ( ' ' ) . pop ( 0 )
-
if not len ( scriptname ):
-
sys . exit (
-
_ ( 'Syntax error in command configuration for {} ' ) . format ( label ))
+
lintername = linter . split ( ' ' ) . pop ( 0 )
+
if not len ( lintername ):
+
sys . exit ( _ ( 'Syntax error in linter configuration for {} ' ) . format ( label ))
def is_executable ( path ):
return os . path . exists ( path ) and os . access ( path , os . X_OK )
-
if scriptname . startswith ( '/' ):
-
return ( is_executable ( scriptname ) and scriptname ) or None
+
if lintername . startswith ( '/' ):
+
return ( is_executable ( lintername ) and lintername ) or None
# shutil.which() doesn't appear until Python 3, darnit.
possibles = [ path for path in
-
[ os . path . join ( path , scriptname )
+
[ os . path . join ( path , lintername )
for path in os . environ . get ( 'PATH' ) . split ( ':' )]
if is_executable ( path )]
@@ -236,11 +241,10 @@
[docs] def get_linter_status ( config ):
-
def get_working_linter_names ( config ):
return [ i . name for i in config
-
if executable_exists ( i . linter [ 'command' ], i . name )]
-
+
if linter_exists ( i . linter [ 'command' ], i . name )]
+
working_linter_names = get_working_linter_names ( config )
broken_linter_names = ( set ([ i . name for i in config ]) - set ( working_linter_names ))
return working_linter_names , broken_linter_names
@@ -314,6 +318,11 @@
return check_for_conflicts ( parse_stream ([], stream ))
+
def revision_list ():
+
cmd = [ 'diff' , '--name-only' , '-z' , options . get ( 'revision' )]
+
return [ entry for entry in get_git_response ( cmd ) . split ( u' \x00 ' )
+
if len ( entry ) > 0 ]
+
def staging_list ():
""" Return the list of files added or modified to the stage """
@@ -345,6 +354,9 @@
working_directory_trans = base_file_filter
file_list_generator = working_list
+
if 'revision' in options :
+
file_list_generator = revision_list
+
working_directory_trans = base_file_filter
if 'all' in options :
file_list_generator = all_list
if 'staging' in options :
@@ -463,6 +475,9 @@
[docs] def run_linters ( options , config , extras = []):
+
if 'pr' in options :
+
options . pop ( 'pr' )
+
options [ 'revision' ] = 'HEAD^..HEAD'
def build_config_subset ( keys ):
""" Returns a subset of the configuration, with only those linters mentioned in keys """
@@ -472,17 +487,25 @@
all_filenames , unfindable_filenames = get_filelist ( options , extras )
is_lintable = MatchFilter ( config )
-
lintable_filenames = set ([ filename for filename in all_filenames
if is_lintable ( filename )])
unlintable_filenames = set ( all_filenames ) - lintable_filenames
+
# Filter the linter config down to the selected ones.
+
if 'only' in options :
+
config = [ linter for linter in config
+
if linter . name in options [ 'only' ]]
+
elif 'exclude' in options :
+
config = [ linter for linter in config
+
if linter . name not in options [ 'exclude' ]]
+
if not len ( config ):
+
raise RuntimeError ( 'No linters left to run! Be less strict with --only and --exclude.' )
+
working_linter_names , broken_linter_names = get_linter_status ( config )
cant_lint_filter = MatchFilter ( build_config_subset (
broken_linter_names ))
-
cant_lint_filenames = [ filename for filename in lintable_filenames
if cant_lint_filter ( filename )]
diff --git a/modules/git_lint/option_handler.html b/modules/git_lint/option_handler.html
index 83a5936..7c13bc8 100644
--- a/modules/git_lint/option_handler.html
+++ b/modules/git_lint/option_handler.html
@@ -6,7 +6,7 @@
-
git_lint.option_handler — Git Lint 0.0.6 documentation
+
git_lint.option_handler — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
@@ -45,8 +45,18 @@
# Author: Elf M. Sternberg
from functools import reduce
+
from collections import namedtuple
import getopt
+
try : # noqa: F401
+
from typing import Dict , List , Text , Any , Optional , Union , Callable , Tuple # noqa: F401
+
except : # noqa: F401
+
pass # noqa: F401
+
+
+
Option = namedtuple ( 'Option' , [ 'short' , 'long' , 'takes' , 'help' , 'conflicts' ]) # type: str, str, str, str, List[str]
+
Arguments = namedtuple ( 'Arguments' , [ 'arguments' , 'filenames' , 'excluded' ]) # type: Dict[str, str], List[str], List[str]
+
# This was a lot shorter and smarter in Hy...
# A lot of what you see here is separated from git_lint itself, since this will not be
@@ -60,6 +70,7 @@
[docs] def cleanup_options ( options , commandline ):
+
# type: (List[Option], List[str]) -> Arguments
"""Takes a table of options and the commandline, and returns a
dictionary of those options that appear on the commandline
along with any extra arguments.
@@ -67,41 +78,50 @@
:param List(Tuple (string, string, boolean, string, List(string))) options,
The table of options: One-letter option, long option, takes arguments,
Help text, list of (long) options superseded by this one.
+
: param List(strings) commandline
The arguments as received by the start-up process
+
+
: returns List(strings), List(strings), List(strings)
+
The longopt dictionary of arguments and associated values (if any)
+
The list of filenames left after argument processing
+
The longopt list of arguments that were excluded by argument precedence
"""
def make_option_streamliner ( options ):
+
# type: (List[Option]) -> Callable[[Dict[str, str], Option], Dict[str, str]]
"""Takes a list of option tuples, and returns a function that takes
the output of getopt and reduces it to the longopt key and
associated values as a dictionary.
"""
-
fullset = {}
+
fullset = {} # type: Dict[str, str]
for option in options :
-
if option [ 1 ]:
-
fullset [ '--' + option [ 1 ]] = option [ 1 ]
-
if option [ 0 ]:
-
fullset [ '-' + option [ 0 ]] = option [ 1 ]
+
if option . long :
+
fullset [ '--' + option . long ] = option . long
+
if option . short :
+
fullset [ '-' + option . short ] = option . long
def streamliner ( acc , it ):
+
# type: (Dict[str, str], Option) -> Dict[str, str]
acc [ fullset [ it [ 0 ]]] = it [ 1 ]
return acc
return streamliner
def remove_conflicted_options ( options , request ):
+
# type: (List[Option], Dict[str, str]) -> Tuple[List[str], List[str]]
"""Takes our list of option tuples, and a cleaned copy of what was
requested from getopt, and returns a copy of the request
without any options that are marked as superseded, along with
the list of superseded options
"""
-
def get_excluded_keys ( memo , opt ):
-
return memo + (( len ( opt ) > 4 and opt [ 4 ]) or [])
+
def get_excluded_keys ( memo , option ):
+
return memo + option . conflicts
keys = request . keys ()
-
marked = [ option for option in options if option [ 1 ] in keys ]
+
marked = [ option for option in options if option . long in keys ]
exclude = reduce ( get_excluded_keys , marked , [])
excluded = [ key for key in keys if key in exclude ]
cleaned = { key : request [ key ] for key in keys
@@ -109,12 +129,12 @@
return ( cleaned , excluded )
def shortoptstogo ( i ):
-
return i [ 0 ] + (( i [ 2 ] and ':' ) or '' )
+
return i . short + (( i . takes and ':' ) or '' )
def longoptstogo ( i ):
-
return i [ 1 ] + (( i [ 2 ] and '=' ) or '' )
+
return i . long + (( i . takes and '=' ) or '' )
-
optstringsshort = '' . join ([ shortoptstogo ( opt ) for opt in options ])
+
optstringsshort = '' . join ([ shortoptstogo ( opt ) for opt in options if opt . short ])
optstringslong = [ longoptstogo ( opt ) for opt in options ]
( chosen_options , filenames ) = getopt . getopt ( commandline [ 1 :],
optstringsshort ,
@@ -127,7 +147,7 @@
( ret , excluded ) = remove_conflicted_options (
options , reduce ( streamline_options , chosen_options , {}))
-
return ( ret , filenames , excluded )
+
return Arguments ( ret , filenames , excluded )
diff --git a/modules/git_lint/reporters.html b/modules/git_lint/reporters.html
index d1bcc6c..f4e9169 100644
--- a/modules/git_lint/reporters.html
+++ b/modules/git_lint/reporters.html
@@ -6,7 +6,7 @@
-
git_lint.reporters — Git Lint 0.0.6 documentation
+
git_lint.reporters — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
@@ -42,6 +42,7 @@
Source code for git_lint.reporters
from __future__ import print_function
+from functools import reduce
from .git_lint import load_config , run_linters , git_base
import operator
import gettext
@@ -106,7 +107,7 @@
[docs] def print_help ( options , name ):
print ( _ ( 'Usage: {} [options] [filenames]' ) . format ( name ))
for item in options :
-
print ( ' - {:<1} -- {:<12} {} ' . format ( item [ 0 ], item [ 1 ], item [ 3 ]))
+ print ( ' {:<2} -- {:<12} {} ' . format (( item [ 0 ] and ( '-' + item [ 0 ])) or '' , item [ 1 ], item [ 3 ]))
[docs] def print_version ( name , version ):
diff --git a/modules/index.html b/modules/index.html
index 24106fb..e088680 100644
--- a/modules/index.html
+++ b/modules/index.html
@@ -6,7 +6,7 @@
-
Overview: module code — Git Lint 0.0.6 documentation
+
Overview: module code — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/objects.inv b/objects.inv
index 39ab2d9..b8184b5 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/py-modindex.html b/py-modindex.html
index 9d38fc6..228cb4a 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -6,7 +6,7 @@
-
Python Module Index — Git Lint 0.0.6 documentation
+
Python Module Index — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/readme.html b/readme.html
index c6e86c3..4394043 100644
--- a/readme.html
+++ b/readme.html
@@ -6,7 +6,7 @@
-
Git Lint: README — Git Lint 0.0.6 documentation
+
Git Lint: README — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
@@ -115,6 +115,15 @@ same, so as not to confuse your build system or IDE.
inspired by Steve Pulec’s
Why You Need a Git Pre-Commit Hook and Why Most Are Wrong , as well as just my own needs
as a software developer.
+
+
To do
+
+The ‘-q’ and ‘–quiet’ arguments do not work.
+Ought to be able to silence the “no linter found” message.
+Ought to be able to configure ‘-q’ and ‘–silence’ commands in .git-lint/config file.
+Ought to be able to override config file for above.
+
+
Disclaimer
This software, including provided configuration and documentation
@@ -146,6 +155,7 @@ otherwise connected with the program is assumed by the user.
Install
Features
Acknowledgements
+
To do
Disclaimer
diff --git a/search.html b/search.html
index 1ca51d1..a9c3938 100644
--- a/search.html
+++ b/search.html
@@ -6,7 +6,7 @@
-
Search — Git Lint 0.0.6 documentation
+
Search — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/searchindex.js b/searchindex.js
index 98438f4..79eee0a 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:49,filenames:["arguments","authors","contributing","git_lint","history","index","installation","manual","modules","readme","strategies","usage"],objects:{"":{git_lint:[3,0,0,"-"]},"git_lint.git_lint":{Linters:[3,1,1,""],MatchFilter:[3,1,1,""],StagingRunner:[3,1,1,""],WorkspaceRunner:[3,1,1,""],executable_exists:[3,4,1,""],get_filelist:[3,4,1,""],get_git_base:[3,4,1,""],get_git_head:[3,4,1,""],get_git_response:[3,4,1,""],get_git_response_raw:[3,4,1,""],get_linter_status:[3,4,1,""],get_shell_response:[3,4,1,""],load_config:[3,4,1,""],run_git_command:[3,4,1,""],run_linters:[3,4,1,""],split_git_response:[3,4,1,""]},"git_lint.git_lint.Linters":{dryrun:[3,2,1,""],encode_shell_messages:[3,3,1,""],run_external_linter:[3,3,1,""],run_one_linter:[3,3,1,""]},"git_lint.git_lint.MatchFilter":{make_match_filter_matcher:[3,3,1,""]},"git_lint.option_handler":{cleanup_options:[3,4,1,""]},"git_lint.reporters":{print_help:[3,4,1,""],print_linters:[3,4,1,""],print_report:[3,4,1,""],print_version:[3,4,1,""]},git_lint:{git_lint:[3,0,0,"-"],option_handler:[3,0,0,"-"],options:[3,0,0,"-"],reporters:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","staticmethod","Python static method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:staticmethod","4":"py:function"},terms:{"boolean":3,"class":3,"default":[0,7,10,11],"function":2,"long":[0,3,7,11],"new":[2,5],"public":6,"return":[3,7],"short":[0,7,11],"static":3,"true":[3,7],"while":9,about:2,accordingli:9,acknowledg:5,action:9,actual:[0,7,11],add:[2,10],against:[3,5,7,9],agre:9,all:[0,2,7,9,10,11],allow:3,along:3,alpha:9,alphanumer:7,also:9,alwai:2,ani:[3,7,9,10],any:2,anyth:[0,2,7,9,11],appear:[0,3,7,11],appreci:2,appropri:10,area:[0,5,7,9,11],argument:3,aris:9,articl:2,asciibetic:7,aside:7,associ:9,assum:9,assume:2,assur:5,author:9,automat:[5,9],avail:9,base:[0,3,7,9,10,11],been:9,befor:[2,7],best:2,better:9,bin:11,bit:2,blog:2,both:9,branch:2,broken:9,broken_linter_nam:3,bugfix:2,build:9,byfil:[0,7,11],bylint:[0,3,7,11],can:[2,6,7,9,11],cant_lint_filenam:3,captur:10,care:11,central:9,chang:[0,2,5,7,9,10,11],check:[0,2,7,9,11],checker:9,checkout:2,chmod:11,choos:7,cleanup_opt:3,clone:[2,6,9],cmake:9,cmd:3,code:[3,7,9],com:[1,2,6,9],combin:3,comma:[0,7,11],command:[5,6,7,9,10],commandlin:3,comment:7,commit:[0,2,4,5,7,9,10],complet:[7,9],complex:9,condit:[3,7],config:[0,3,7,10,11],configur:[0,3,7,9,10,11],confus:9,connect:9,consequenti:9,contract:9,copi:[2,6,9],correspond:10,could:2,coupl:10,creat:[2,3,9],criteria:10,curl:6,current:[0,3,5,7,9,10,11],custom:9,damag:9,data:9,deem:9,delta:10,descript:2,detail:[2,7],determin:10,dictionari:3,differ:[7,10],direct:9,directli:9,directori:[0,3,6,7,9,10,11],directroi:10,disclaim:5,doc:[2,9],docstr:2,don:[0,6,7,9,11],done:2,down:[0,7,9,10,11],download:[6,11],driven:2,dryrun:[0,3,7,11],each:[3,7,9,10],easier:2,edit:9,either:[6,9],elf:1,elfsternberg:[2,6,9],encode_shell_messag:3,ensur:9,entir:9,error:[3,7],even:[2,7],event:9,everi:[0,2,7,11],everyth:9,exampl:6,exclud:[0,7,11],executable_exist:3,exit:10,experiment:11,explain:2,extens:[3,7,9],extra:3,extract:3,fact:9,fail:[0,7,10,11],failur:[3,7,10],file:[0,2,3,5,6,7,9,10,11],filenam:[3,7,11],filter:[3,10],first:[0,1,7,11],fit:9,flake8:2,flip:7,follow:7,fork:2,free:9,from:[0,5],fullcmd:3,get_filelist:3,get_git_bas:3,get_git_head:3,get_git_respons:3,get_git_response_raw:3,get_linter_statu:3,get_shell_respons:3,git:[0,2,3,4],git_dir:[0,7,11],git_lint:2,github:[2,6,9,11],given:2,global:9,gmail:1,greatli:2,group:[0,7,11],grunt:9,guid:6,have:[0,2,3,6,7,9,11],hell:4,help:[0,2,3,7,11],here:2,highli:9,home:[6,9,10],hook:[5,9],how:[2,9],http:[2,6,9],ide:9,identifi:[5,9],impli:9,includ:[2,7,9],index:5,indirect:9,individu:9,inform:[0,7,11],ini:7,inspir:9,instal:[2,6,9],install:[2,5],installat:5,issu:2,just:[0,2,7,9,11],keep:[2,3],kenneth:1,label:3,let:7,letter:3,liabl:9,licens:9,life:9,like:9,line:[5,7,9,10],lint:[0,2,3,4],linter:[0,3,5,6,7,9,10,11],linter_nam:3,list:[0,2,3,7,10,11],littl:2,load:[3,10],load_config:3,local:2,look:2,loss:9,mai:[6,9],make:[2,9],make_match_filter_match:3,mani:2,master:6,match:[3,7,10],matchfilt:3,materi:9,maxim:7,meet:2,merchant:9,messag:[0,3,7,10,11],might:[2,9],minu:7,mit:9,mkvirtualenv:2,mode:10,more:[0,2,7,11],most:9,mostli:9,move:4,name:[2,3],narrow:2,need:9,neglig:9,none:1,noth:3,now:2,npm:9,object:3,offici:2,once:6,one:3,onli:[0,3,7,9,10,11],only:9,open:2,oper:2,order:7,org:2,origin:2,other:[2,9],otherwis:[3,9],ought:9,out:[4,9],output:3,overriden:9,own:9,page:5,param:3,part:2,pass:[0,2,7,10,11],path:[0,7,11],per:[3,9],perform:[3,9],person:9,phase:10,pip:[2,6,9],plan:9,pleas:[2,6,11],possibl:[2,9],post:2,pre:[0,4,5,7,9,10],prefix:[3,7],print:[0,7,10,11],print_help:3,print_lint:3,print_report:3,print_vers:3,process:[3,6],produc:[0,7,11],profit:9,program:[5,9],project:[2,3,9,11],propos:2,provid:[5,9],prune:10,pulec:9,pull_request:2,push:2,put:2,pypi:2,python:[2,6,9],qualiti:[5,9],quiet:[0,7,11],readi:2,readme:[2,5],reason:9,receiv:3,recent:9,record:10,reduc:10,releas:5,rememb:2,replac:3,repo:[2,6,9],repodir:3,report:0,repositori:[3,5,6,7,9,10,11],reproduc:2,requir:9,restor:[9,10],result:[3,7,9,10],risk:9,rst:2,run:[0,2,3,5,6,7,9,10,11],run_external_lint:3,run_git_command:3,run_lint:3,run_one_lint:3,safeconfigpars:3,same:9,scan:[0,7,11],scope:2,script:3,search:5,second:[0,7,11],section:7,send:2,separ:[0,7,11],set:[2,3,7,9],setup:[2,6,9],shall:9,shell:9,should:2,show:[0,7,10,11],simpl:9,sinc:9,skip:[0,7,11],slightli:[0,7,11],softwar:9,some:9,sort:7,sourc:[3,5],special:9,specif:3,specifi:[3,7],split_git_respons:3,sponsor:9,stabl:5,stage:[0,5,7,9,10,11],stagingrunn:3,standard:7,stash:[9,10],statu:[7,10],step:2,sternberg:1,steve:9,still:9,string:3,style:[5,7,9],subset:2,substitut:3,succe:7,success:3,supersed:3,support:2,sure:2,syntax:[5,9],system:[2,9],tabl:3,tag:2,take:3,tarbal:6,termin:6,test:2,test_git_lint:2,text:[3,7],thei:[0,2,7,11],them:2,thi:[2,3,6,7,9,10],those:[0,3,7,11],through:[2,6],time:9,timestamp:[9,10],token:7,tortiou:9,touch:10,tox:2,travi:2,troubleshoot:2,tupl:3,understand:9,understood:9,unfindable_filenam:3,unlintable_filenam:3,unstag:10,updat:2,upon:9,usage:5,used:9,user:[3,9,10],vcs:9,verbos:[0,7,11],vers:7,version:[0,2,3,4,7,11],virtualenv:2,virtualenvwrapp:2,volunt:2,wai:[2,9],want:[2,9],warranti:9,web:2,websit:2,welcom:2,well:9,were:9,what:[0,7,9,10,11],whatev:9,whatsoev:9,when:[2,7,9],whether:[2,9],which:[3,7,10],whoever:2,why:[1,9],without:9,work:[2,7,9],workspac:[0,7,9,10,11],workspacerunn:3,would:[0,2,7,11],wrapper:9,wrong:9,yet:1,you:[2,6,7,9,11],your:[2,5,6,7,9],your_name_her:2,zero:7},titles:["<no title>","Credits","Contributing","git_lint package","History","Git Lint","Installation","git-lint(1)","git_lint","Git Lint: README","Strategies","Usage"],titleterms:{acknowledg:9,bug:2,command:11,commit:11,configuration:7,content:[3,11],contribut:2,contributor:1,credit:1,description:7,develop:1,disclaim:9,document:[2,9],featur:[2,9],feedback:2,fix:2,from:6,get:2,git:[5,7,9],git_lint:[3,8],guidelin:2,histori:4,hook:11,implement:2,indice:5,install:9,installat:6,lead:1,line:11,lint:[5,7,9],modul:3,name:7,option:[3,11],option_handl:3,options:7,output:7,packag:3,pre:11,pull:2,readme:9,releas:6,report:[2,3],request:2,sourc:6,stabl:6,start:2,strategi:10,submit:2,submodul:3,synopsis:7,tabl:5,tip:2,type:2,usage:[9,11],write:2}})
\ No newline at end of file
+Search.setIndex({envversion:49,filenames:["arguments","authors","contributing","git_lint","history","index","installation","manual","modules","readme","strategies","usage"],objects:{"":{git_lint:[3,0,0,"-"]},"git_lint.git_lint":{Linters:[3,1,1,""],MatchFilter:[3,1,1,""],StagingRunner:[3,1,1,""],WorkspaceRunner:[3,1,1,""],get_filelist:[3,4,1,""],get_git_base:[3,4,1,""],get_git_head:[3,4,1,""],get_git_response:[3,4,1,""],get_git_response_raw:[3,4,1,""],get_linter_status:[3,4,1,""],get_shell_response:[3,4,1,""],linter_exists:[3,4,1,""],load_config:[3,4,1,""],run_git_command:[3,4,1,""],run_linters:[3,4,1,""],split_git_response:[3,4,1,""]},"git_lint.git_lint.Linters":{dryrun:[3,2,1,""],encode_shell_messages:[3,3,1,""],run_external_linter:[3,3,1,""],run_one_linter:[3,3,1,""]},"git_lint.git_lint.MatchFilter":{make_match_filter_matcher:[3,3,1,""]},"git_lint.option_handler":{Arguments:[3,1,1,""],Option:[3,1,1,""],cleanup_options:[3,4,1,""]},"git_lint.option_handler.Arguments":{arguments:[3,5,1,""],excluded:[3,5,1,""],filenames:[3,5,1,""]},"git_lint.option_handler.Option":{"long":[3,5,1,""],"short":[3,5,1,""],conflicts:[3,5,1,""],help:[3,5,1,""],takes:[3,5,1,""]},"git_lint.reporters":{print_help:[3,4,1,""],print_linters:[3,4,1,""],print_report:[3,4,1,""],print_version:[3,4,1,""]},git_lint:{git_lint:[3,0,0,"-"],option_handler:[3,0,0,"-"],options:[3,0,0,"-"],reporters:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","staticmethod","Python static method"],"4":["py","function","Python function"],"5":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:staticmethod","4":"py:function","5":"py:attribute"},terms:{"boolean":3,"class":3,"default":[0,7,10,11],"function":2,"long":[0,3,7,11],"new":[2,5],"public":6,"return":[3,7],"short":[0,3,7,11],"static":3,"true":[3,7],"while":9,abl:9,about:2,abov:9,accordingli:9,acknowledg:5,action:9,actual:[0,7,11],add:[2,10],after:3,against:[3,5,7,9],agre:9,alia:3,all:[0,2,7,9,10,11],allow:3,along:3,alpha:9,alphanumer:7,also:9,alwai:2,ani:[3,7,9,10],any:2,anyth:[0,2,7,9,11],appear:[0,3,7,11],appreci:2,appropri:10,area:[0,5,7,9,11],argument:[3,9],aris:9,articl:2,asciibetic:7,aside:7,associ:[3,9],assum:9,assume:2,assur:5,author:9,automat:[5,9],avail:9,base:[0,3,7,9,10,11],been:9,befor:[2,7],best:2,better:9,bin:11,bit:2,blog:2,both:9,branch:2,broken:9,broken_linter_nam:3,bruijn:1,bugfix:2,build:9,byfil:[0,7,11],bylint:[0,3,7,11],can:[2,6,7,9,11],cant_lint_filenam:3,captur:10,care:11,central:9,chang:[0,2,5,7,9,10,11],check:[0,2,7,9,11],checker:9,checkout:2,chmod:11,choos:7,cleanup_opt:3,clone:[2,6,9],cmake:9,cmd:3,code:[3,7,9],com:[1,2,6,9],combin:3,comma:[0,7,11],command:[5,6,7,9,10],commandlin:3,comment:7,commit:[0,2,4,5,7,9,10],complet:[7,9],complex:9,condit:[3,7],config:[0,3,7,9,10,11],configur:[0,3,7,9,10,11],conflict:3,confus:9,connect:9,consequenti:9,contract:9,copi:[2,6,9],correspond:10,could:2,coupl:10,creat:[2,3,9],criteria:10,curl:6,current:[0,3,5,7,9,10,11],custom:9,damag:9,data:9,deem:9,delta:10,descript:2,detail:[2,7],determin:10,dictionari:3,differ:[7,10],direct:9,directli:9,directori:[0,3,6,7,9,10,11],directroi:10,disclaim:5,doc:[2,9],docstr:2,don:[0,6,7,9,11],done:2,down:[0,7,9,10,11],download:[6,11],driven:2,dryrun:[0,3,7,11],each:[3,7,9,10],easier:2,edit:9,either:[6,9],elf:1,elfsternberg:[2,6,9],encode_shell_messag:3,ensur:9,entir:9,error:[3,7],even:[2,7],event:9,everi:[0,2,7,11],everyth:9,exampl:6,exclud:[0,3,7,11],exit:10,experiment:11,explain:2,extens:[3,7,9],extra:3,extract:3,fact:9,fail:[0,7,10,11],failur:[3,7,10],field:3,file:[0,2,3,5,6,7,9,10,11],filenam:[3,7,11],filter:[3,10],first:[0,7,11],fit:9,flake8:2,flip:7,follow:7,fork:2,found:9,free:9,from:[0,5],fullcmd:3,get_filelist:3,get_git_bas:3,get_git_head:3,get_git_respons:3,get_git_response_raw:3,get_linter_statu:3,get_shell_respons:3,git:[0,2,3,4],git_dir:[0,7,11],git_lint:2,github:[2,6,9,11],given:2,global:9,gmail:1,greatli:2,group:[0,7,11],grunt:9,guid:6,have:[0,2,3,6,7,9,11],hell:4,help:[0,2,3,7,11],here:2,highli:9,home:[6,9,10],hook:[5,9],how:[2,9],http:[2,6,9],ide:9,identifi:[5,9],impli:9,includ:[2,7,9],index:5,indirect:9,individu:9,inform:[0,7,11],ini:7,inspir:9,instal:[2,6,9],install:[2,5],installat:5,issu:2,just:[0,2,7,9,11],keep:[2,3],kenneth:1,label:3,left:3,let:7,letter:3,liabl:9,licens:9,life:9,like:9,line:[5,7,9,10],lint:[0,2,3,4],linter:[0,3,5,6,7,9,10,11],linter_exist:3,linter_nam:3,list:[0,2,3,7,10,11],littl:2,load:[3,10],load_config:3,local:2,longopt:3,look:2,loss:9,mai:[6,9],make:[2,9],make_match_filter_match:3,mani:2,master:6,match:[3,7,10],matchfilt:3,materi:9,maxim:7,meet:2,merchant:9,messag:[0,3,7,9,10,11],might:[2,9],minu:7,mit:9,mkvirtualenv:2,mode:10,more:[0,2,7,11],most:9,mostli:9,move:4,name:[2,3],narrow:2,need:9,neglig:9,noth:3,now:2,npm:9,number:3,object:3,offici:2,once:6,one:3,onli:[0,3,7,9,10,11],only:9,open:2,oper:2,order:7,org:2,origin:2,other:[2,9],otherwis:[3,9],ought:9,out:[4,9],output:3,overrid:9,overriden:9,own:9,page:5,param:3,part:2,pass:[0,2,7,10,11],path:[0,7,11],per:[3,9],perform:[3,9],person:9,phase:10,pip:[2,6,9],plan:9,pleas:[2,6,11],possibl:[2,9],post:2,pre:[0,4,5,7,9,10],preced:3,prefix:[3,7],print:[0,7,10,11],print_help:3,print_lint:3,print_report:3,print_vers:3,process:[3,6],produc:[0,7,11],profit:9,program:[5,9],project:[2,3,9,11],propos:2,provid:[5,9],prune:10,pulec:9,pull_request:2,push:2,put:2,pypi:2,python:[2,6,9],qualiti:[5,9],quiet:[0,7,9,11],readi:2,readme:[2,5],reason:9,receiv:3,recent:9,record:10,reduc:10,releas:5,rememb:2,replac:3,repo:[2,6,9],repodir:3,report:0,repositori:[3,5,6,7,9,10,11],reproduc:2,requir:9,restor:[9,10],result:[3,7,9,10],risk:9,rst:2,run:[0,2,3,5,6,7,9,10,11],run_external_lint:3,run_git_command:3,run_lint:3,run_one_lint:3,safeconfigpars:3,same:9,scan:[0,7,11],scope:2,search:5,second:[0,7,11],section:7,send:2,separ:[0,7,11],set:[2,3,7,9],setup:[2,6,9],shall:9,shell:9,should:2,show:[0,7,10,11],silenc:9,simpl:9,sinc:9,skip:[0,7,11],slightli:[0,7,11],softwar:9,some:9,sort:7,sourc:[3,5],special:9,specif:3,specifi:[3,7],split_git_respons:3,sponsor:9,stabl:5,stage:[0,5,7,9,10,11],stagingrunn:3,standard:7,stash:[9,10],statu:[7,10],step:2,sternberg:1,steve:9,still:9,string:3,style:[5,7,9],subset:2,substitut:3,succe:7,success:3,supersed:3,support:2,sure:2,syntax:[5,9],system:[2,9],tabl:3,tag:2,take:3,tarbal:6,termin:6,test:2,test_git_lint:2,text:[3,7],thei:[0,2,7,11],them:2,thi:[2,3,6,7,9,10],those:[0,3,7,11],through:[2,6],time:9,timestamp:[9,10],tino:1,token:7,tortiou:9,touch:10,tox:2,travi:2,troubleshoot:2,tupl:3,understand:9,understood:9,unfindable_filenam:3,unlintable_filenam:3,unstag:10,updat:2,upon:9,usage:5,used:9,user:[3,9,10],valu:3,vcs:9,verbos:[0,7,11],vers:7,version:[0,2,3,4,7,11],virtualenv:2,virtualenvwrapp:2,volunt:2,wai:[2,9],want:[2,9],warranti:9,web:2,websit:2,welcom:2,well:9,were:[3,9],what:[0,7,9,10,11],whatev:9,whatsoev:9,when:[2,7,9],whether:[2,9],which:[3,7,10],whoever:2,why:9,without:9,work:[1,2,7,9],workspac:[0,7,9,10,11],workspacerunn:3,would:[0,2,7,11],wrapper:9,wrong:9,you:[2,6,7,9,11],your:[2,5,6,7,9],your_name_her:2,zero:7},titles:["<no title>","Credits","Contributing","git_lint package","History","Git Lint","Installation","git-lint(1)","git_lint","Git Lint: README","Strategies","Usage"],titleterms:{acknowledg:9,bug:2,command:11,commit:11,configuration:7,content:[3,11],contribut:2,contributor:1,credit:1,description:7,develop:1,disclaim:9,document:[2,9],featur:[2,9],feedback:2,fix:2,from:6,get:2,git:[5,7,9],git_lint:[3,8],guidelin:2,histori:4,hook:11,implement:2,indice:5,install:9,installat:6,lead:1,line:11,lint:[5,7,9],modul:3,name:7,option:[3,11],option_handl:3,options:7,output:7,packag:3,pre:11,pull:2,readme:9,releas:6,report:[2,3],request:2,sourc:6,stabl:6,start:2,strategi:10,submit:2,submodul:3,synopsis:7,tabl:5,tip:2,type:2,usage:[9,11],write:2}})
\ No newline at end of file
diff --git a/strategies.html b/strategies.html
index 38d295f..c10bb54 100644
--- a/strategies.html
+++ b/strategies.html
@@ -6,7 +6,7 @@
-
Strategies — Git Lint 0.0.6 documentation
+
Strategies — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+
diff --git a/usage.html b/usage.html
index cac50ba..1d3c68e 100644
--- a/usage.html
+++ b/usage.html
@@ -6,7 +6,7 @@
-
Usage — Git Lint 0.0.6 documentation
+
Usage — Git Lint 0.0.7 documentation
@@ -14,7 +14,7 @@
-
+