|
d8894e6a
»
|
bruce |
2008-07-06 |
Initial commit |
1 |
require 'ostruct' |
| |
2 |
|
| |
3 |
module Brigit |
| |
4 |
|
| |
5 |
class CLI |
| |
6 |
|
| |
7 |
def parse(*args) |
|
38b95d0c
»
|
mathie |
2008-08-07 |
Show help if no command lin... |
8 |
if !args.empty? && (command = Command[args.shift]) |
|
82c86fd5
»
|
bruce |
2008-07-09 |
Restucture command parsing ... |
9 |
command.new(*args) |
|
d8894e6a
»
|
bruce |
2008-07-06 |
Initial commit |
10 |
else |
|
82c86fd5
»
|
bruce |
2008-07-09 |
Restucture command parsing ... |
11 |
abort "No command given.\n\n#{self.class.usage}" |
|
d8894e6a
»
|
bruce |
2008-07-06 |
Initial commit |
12 |
end |
| |
13 |
end |
| |
14 |
|
|
82c86fd5
»
|
bruce |
2008-07-09 |
Restucture command parsing ... |
15 |
def self.banner |
| |
16 |
%{Brigit (v#{Version::STRING}) Submodule utilities for Git} |
|
de8569e8
»
|
bruce |
2008-07-07 |
Add `grab' command to clone... |
17 |
end |
|
d8894e6a
»
|
bruce |
2008-07-06 |
Initial commit |
18 |
|
|
82c86fd5
»
|
bruce |
2008-07-09 |
Restucture command parsing ... |
19 |
def self.usage |
| |
20 |
lines = [ |
| |
21 |
banner, |
| |
22 |
%{COMMANDS: (`COMMAND --help' for documentation)}, |
| |
23 |
*Command.list.map { |cmd| " #{cmd.name}" }.sort |
| |
24 |
] |
| |
25 |
lines.join "\n" |
|
d8894e6a
»
|
bruce |
2008-07-06 |
Initial commit |
26 |
end |
| |
27 |
|
| |
28 |
end |
| |
29 |
|
| |
30 |
end |