graykode

(remove) endline argument

...@@ -26,14 +26,12 @@ def get_diff_from_project(): ...@@ -26,14 +26,12 @@ def get_diff_from_project():
26 staged_files = [f.decode("utf-8") for f in staged_files] 26 staged_files = [f.decode("utf-8") for f in staged_files]
27 return staged_files 27 return staged_files
28 28
29 -def commit_message_parser(messages, endline=1): 29 +def commit_message_parser(messages):
30 - message = "" 30 + result = []
31 for idx, (path, commit) in enumerate(messages.items()): 31 for idx, (path, commit) in enumerate(messages.items()):
32 click.echo(" - " + " ".join(commit["message"])) 32 click.echo(" - " + " ".join(commit["message"]))
33 - message += " ".join(commit["message"]) 33 + result.append(" ".join(commit["message"]))
34 - if len(messages) - 1 != idx: 34 + return result
35 - message += ("\n" * endline)
36 - return message
37 35
38 def tokenizing(code): 36 def tokenizing(code):
39 data = {"code": code } 37 data = {"code": code }
...@@ -80,8 +78,11 @@ def commit_autosuggestions(diffs): ...@@ -80,8 +78,11 @@ def commit_autosuggestions(diffs):
80 commit_message[example.header.new_path] = commit 78 commit_message[example.header.new_path] = commit
81 return commit_message 79 return commit_message
82 80
83 -def commit(message): 81 +def commit(messages):
84 - subprocess.Popen(["git", "commit", "-m", message], stdout=subprocess.PIPE) 82 + m = []
83 + for msg in messages:
84 + m.extend(["-m", msg])
85 + subprocess.Popen(["git", "commit"] + m, stdout=subprocess.PIPE)
85 86
86 @click.group(invoke_without_command=True) 87 @click.group(invoke_without_command=True)
87 @click.pass_context 88 @click.pass_context
...@@ -92,25 +93,23 @@ def commit(message): ...@@ -92,25 +93,23 @@ def commit(message):
92 help='print suggested commit message more detail.') 93 help='print suggested commit message more detail.')
93 @click.option('--autocommit', '-a', is_flag=True, 94 @click.option('--autocommit', '-a', is_flag=True,
94 help='automatically commit without asking if you want to commit') 95 help='automatically commit without asking if you want to commit')
95 -@click.option('--endline', '-e', type=int, default=1, 96 +def cli(ctx, file, verbose, autocommit):
96 - help='number of endlines for each commit message generated by the diff of each file')
97 -def cli(ctx, file, verbose, autocommit, endline):
98 if not ctx.invoked_subcommand: 97 if not ctx.invoked_subcommand:
99 staged_files = file if file else get_diff_from_project() 98 staged_files = file if file else get_diff_from_project()
100 staged_files = [f.strip() for f in staged_files] 99 staged_files = [f.strip() for f in staged_files]
101 diffs = "\n".join(staged_files) 100 diffs = "\n".join(staged_files)
102 101
103 - messages = commit_autosuggestions(diffs=diffs) 102 + result = commit_autosuggestions(diffs=diffs)
104 if verbose: 103 if verbose:
105 click.echo( 104 click.echo(
106 - json.dumps(messages, indent=4, sort_keys=True) + "\n" 105 + json.dumps(result, indent=4, sort_keys=True) + "\n"
107 ) 106 )
108 107
109 click.echo(click.style('[INFO]', fg='green') + " The generated message is as follows:") 108 click.echo(click.style('[INFO]', fg='green') + " The generated message is as follows:")
110 - message = commit_message_parser(messages, endline=endline) 109 + messages = commit_message_parser(result)
111 110
112 if autocommit or click.confirm('Do you want to commit this message?'): 111 if autocommit or click.confirm('Do you want to commit this message?'):
113 - commit(message) 112 + commit(messages)
114 113
115 114
116 @cli.command() 115 @cli.command()
......