Module: GitCrecord
- Defined in:
- lib/git_crecord.rb,
lib/git_crecord/ui.rb,
lib/git_crecord/git.rb,
lib/git_crecord/diff.rb,
lib/git_crecord/logger.rb,
lib/git_crecord/version.rb,
lib/git_crecord/ui/color.rb,
lib/git_crecord/diff/file.rb,
lib/git_crecord/diff/hunk.rb,
lib/git_crecord/diff/line.rb,
lib/git_crecord/quit_action.rb,
lib/git_crecord/ui/help_window.rb,
lib/git_crecord/diff/difference.rb,
lib/git_crecord/ui/hunks_window.rb
Defined Under Namespace
Modules: Diff, Git, UI
Classes: QuitAction
Constant Summary
collapse
- LOGGER =
Logger.new(File.new(File.join(ENV['HOME'], '.git-crecord.log'), 'w'))
- VERSION =
'1.0.6'.freeze
Class Method Summary
collapse
Class Method Details
.help ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/git_crecord.rb', line 33
def self.help
puts <<EOS
usage: git crecord [<options>]
--no-untracked-files -- ignore untracked files
--version -- show version information
-h -- this help message
in-program commands:
#{UI::HelpWindow::CONTENT.gsub(/^/, ' ')}
EOS
end
|
.main(argv) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/git_crecord.rb', line 8
def self.main(argv)
if argv.include?('--version')
puts VERSION
true
elsif argv.include?('--help') || argv.include?('-h')
help
true
else
run(with_untracked_files: !argv.include?('--no-untracked-files'))
end
end
|
.run(with_untracked_files: false) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/git_crecord.rb', line 20
def self.run(with_untracked_files: false)
toplevel_dir = Git.toplevel_dir
return false if toplevel_dir.empty?
Dir.chdir(toplevel_dir) do
files = Diff.parse(Git.diff)
files.concat(Diff.untracked_files(Git.status)) if with_untracked_files
return false if files.empty?
result = UI.run(files)
return result.call == true if result.respond_to?(:call)
true
end
end
|