4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/boson/commands/core.rb', line 4
def config
command_attributes = Boson::Command::ATTRIBUTES + [:usage, :full_name, :render_options]
library_attributes = Boson::Library::ATTRIBUTES + [:library_type]
commands = {
'usage'=>{:desc=>"Print a command's usage", :options=>{
:verbose=>{:desc=>"Display global options", :type=>:boolean},
:render_options=>{:desc=>"Render options for option tables", :default=>{},
:keys=>[:vertical, :fields, :hide_empty]} } },
'commands'=>{
:desc=>"List or search commands. Query must come before any options.", :default_option=>'query',
:options=>{ :index=>{:type=>:boolean, :desc=>"Searches index"},
:local=>{:type=>:boolean, :desc=>"Local commands only" } },
:render_options=>{
[:headers,:H]=>{:default=>{:desc=>'description'}},
:query=>{:keys=>command_attributes, :default_keys=>'full_name'},
:fields=>{:default=>[:full_name, :lib, :alias, :usage, :desc], :values=>command_attributes, :enum=>false},
:filters=>{:default=>{:render_options=>:inspect, :options=>:inspect, :args=>:inspect, :config=>:inspect}}
}
},
'libraries'=>{
:desc=>"List or search libraries. Query must come before any options.", :default_option=>'query',
:options=>{ :index=>{:type=>:boolean, :desc=>"Searches index"},
:local=>{:type=>:boolean, :desc=>"Local libraries only" } },
:render_options=>{
:query=>{:keys=>library_attributes, :default_keys=>'name'},
:fields=>{:default=>[:name, :commands, :gems, :library_type], :values=>library_attributes, :enum=>false},
:filters=>{:default=>{:gems=>[:join, ','],:commands=>:size}, :desc=>"Filters to apply to library fields" }}
},
'load_library'=>{:desc=>"Load a library", :options=>{[:verbose,:V]=>true}}
}
{:namespace=>false, :library_file=>File.expand_path(__FILE__), :commands=>commands}
end
|