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/status_bar.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.2.0'
Class Method Summary
collapse
Class Method Details
.help ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/git_crecord.rb', line 48
def self.help
puts <<~HELP
usage: git crecord [<options>]
-u, --untracked-files -- show untracked files
-R, --reverse -- unstage hunks
--version -- show version information
-h -- this help message
in-program commands:
#{UI::HelpWindow::CONTENT.gsub(/^/, ' ')}
HELP
end
|
.main(argv) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/git_crecord.rb', line 10
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: untracked_files?(argv), reverse: reverse?(argv))
end
end
|
.reverse?(argv) ⇒ Boolean
28
29
30
|
# File 'lib/git_crecord.rb', line 28
def self.reverse?(argv)
argv.include?('--reverse') || argv.include?('-R')
end
|
.run(with_untracked_files: false, reverse: false) ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/git_crecord.rb', line 32
def self.run(with_untracked_files: false, reverse: false)
toplevel_dir = Git.toplevel_dir
return false if toplevel_dir.empty?
Dir.chdir(toplevel_dir) do
files = Diff.create(reverse: reverse, untracked: with_untracked_files)
return false if files.empty?
UI::StatusBar.reverse = reverse
result = UI.run(files)
return result.call(reverse) == true if result.respond_to?(:call)
true
end
end
|
.untracked_files?(argv) ⇒ Boolean
22
23
24
25
26
|
# File 'lib/git_crecord.rb', line 22
def self.untracked_files?(argv)
return false if reverse?(argv)
argv.include?('--untracked-files') || argv.include?('-u')
end
|