yap-shell 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +9 -24
- data/Gemfile +1 -5
- data/LICENSE.txt +17 -18
- data/README.md +28 -14
- data/Rakefile +4 -1
- data/bin/yap +1 -3
- data/lib/.gitkeep +0 -0
- data/yap-shell.gemspec +12 -11
- metadata +19 -184
- data/.rspec +0 -2
- data/.travis.yml +0 -11
- data/DESIGN.md +0 -87
- data/Gemfile.travis +0 -8
- data/Gemfile.travis.lock +0 -104
- data/WISHLIST.md +0 -54
- data/bin/yap-dev +0 -45
- data/lib/tasks/gem.rake +0 -62
- data/lib/yap.rb +0 -52
- data/lib/yap/addon.rb +0 -24
- data/lib/yap/addon/base.rb +0 -52
- data/lib/yap/addon/export_as.rb +0 -12
- data/lib/yap/addon/loader.rb +0 -84
- data/lib/yap/addon/path.rb +0 -56
- data/lib/yap/addon/rc_file.rb +0 -21
- data/lib/yap/addon/reference.rb +0 -22
- data/lib/yap/cli.rb +0 -4
- data/lib/yap/cli/commands.rb +0 -6
- data/lib/yap/cli/commands/addon.rb +0 -14
- data/lib/yap/cli/commands/addon/disable.rb +0 -35
- data/lib/yap/cli/commands/addon/enable.rb +0 -35
- data/lib/yap/cli/commands/addon/list.rb +0 -37
- data/lib/yap/cli/commands/addon/search.rb +0 -99
- data/lib/yap/cli/commands/generate.rb +0 -13
- data/lib/yap/cli/commands/generate/addon.rb +0 -258
- data/lib/yap/cli/commands/generate/addonrb.template +0 -22
- data/lib/yap/cli/commands/generate/gemspec.template +0 -25
- data/lib/yap/cli/commands/generate/license.template +0 -21
- data/lib/yap/cli/commands/generate/rakefile.template +0 -6
- data/lib/yap/cli/commands/generate/readme.template +0 -40
- data/lib/yap/cli/options.rb +0 -162
- data/lib/yap/cli/options/addon.rb +0 -64
- data/lib/yap/cli/options/addon/disable.rb +0 -62
- data/lib/yap/cli/options/addon/enable.rb +0 -63
- data/lib/yap/cli/options/addon/list.rb +0 -65
- data/lib/yap/cli/options/addon/search.rb +0 -76
- data/lib/yap/cli/options/generate.rb +0 -59
- data/lib/yap/cli/options/generate/addon.rb +0 -63
- data/lib/yap/configuration.rb +0 -74
- data/lib/yap/gem_helper.rb +0 -195
- data/lib/yap/gem_tasks.rb +0 -6
- data/lib/yap/shell.rb +0 -116
- data/lib/yap/shell/aliases.rb +0 -58
- data/lib/yap/shell/builtins.rb +0 -18
- data/lib/yap/shell/builtins/alias.rb +0 -42
- data/lib/yap/shell/builtins/cd.rb +0 -57
- data/lib/yap/shell/builtins/env.rb +0 -11
- data/lib/yap/shell/commands.rb +0 -163
- data/lib/yap/shell/evaluation.rb +0 -439
- data/lib/yap/shell/evaluation/shell_expansions.rb +0 -99
- data/lib/yap/shell/event_emitter.rb +0 -18
- data/lib/yap/shell/execution.rb +0 -16
- data/lib/yap/shell/execution/builtin_command_execution.rb +0 -20
- data/lib/yap/shell/execution/command_execution.rb +0 -30
- data/lib/yap/shell/execution/context.rb +0 -128
- data/lib/yap/shell/execution/file_system_command_execution.rb +0 -137
- data/lib/yap/shell/execution/result.rb +0 -18
- data/lib/yap/shell/execution/ruby_command_execution.rb +0 -80
- data/lib/yap/shell/execution/shell_command_execution.rb +0 -30
- data/lib/yap/shell/prompt.rb +0 -21
- data/lib/yap/shell/repl.rb +0 -237
- data/lib/yap/shell/version.rb +0 -5
- data/lib/yap/world.rb +0 -286
- data/rcfiles/yaprc +0 -390
- data/scripts/4 +0 -8
- data/scripts/bg-vim +0 -4
- data/scripts/fail +0 -3
- data/scripts/letters +0 -8
- data/scripts/lots-of-output +0 -6
- data/scripts/pass +0 -3
- data/scripts/simulate-long-running +0 -4
- data/scripts/write-to-stderr.rb +0 -3
- data/scripts/write-to-stdout.rb +0 -3
- data/spec/features/addons/generating_an_addon_spec.rb +0 -55
- data/spec/features/addons/using_an_addon_spec.rb +0 -182
- data/spec/features/aliases_spec.rb +0 -78
- data/spec/features/environment_variables_spec.rb +0 -69
- data/spec/features/filesystem_commands_spec.rb +0 -61
- data/spec/features/first_time_spec.rb +0 -45
- data/spec/features/grouping_spec.rb +0 -81
- data/spec/features/line_editing_spec.rb +0 -174
- data/spec/features/range_spec.rb +0 -35
- data/spec/features/redirection_spec.rb +0 -234
- data/spec/features/repetition_spec.rb +0 -118
- data/spec/features/shell_expansions_spec.rb +0 -127
- data/spec/spec_helper.rb +0 -172
- data/spec/support/matchers/have_not_printed.rb +0 -30
- data/spec/support/matchers/have_printed.rb +0 -68
- data/spec/support/very_soon.rb +0 -9
- data/spec/support/yap_spec_dsl.rb +0 -258
- data/test.rb +0 -206
- data/update-rawline.sh +0 -6
@@ -1,64 +0,0 @@
|
|
1
|
-
module Yap
|
2
|
-
module Cli
|
3
|
-
class Options::Addon
|
4
|
-
include OptionsLoader
|
5
|
-
|
6
|
-
attr_reader :command, :options
|
7
|
-
|
8
|
-
def initialize(options:)
|
9
|
-
@options = options
|
10
|
-
end
|
11
|
-
|
12
|
-
def parse(args)
|
13
|
-
option_parser.order!(args)
|
14
|
-
end
|
15
|
-
|
16
|
-
def command
|
17
|
-
@command
|
18
|
-
end
|
19
|
-
|
20
|
-
def help_message
|
21
|
-
option_parser.to_s
|
22
|
-
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def set_command(command)
|
27
|
-
@command = load_command('addon').new
|
28
|
-
end
|
29
|
-
|
30
|
-
def option_parser
|
31
|
-
OptionParser.new do |opts|
|
32
|
-
opts.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
33
|
-
|Usage: #{opts.program_name} addon [command] [addon-name] [options]
|
34
|
-
|
|
35
|
-
|#{Term::ANSIColor.cyan('yap addon')} can be used to control yap addons
|
36
|
-
|
|
37
|
-
|Generate commands:
|
38
|
-
|
|
39
|
-
| #{Term::ANSIColor.yellow('enable')} - enables a yap addon
|
40
|
-
| #{Term::ANSIColor.yellow('disable')} - disables a yap addon
|
41
|
-
|
|
42
|
-
|Generate options:
|
43
|
-
TEXT
|
44
|
-
|
45
|
-
opts.on('-h', '--help', 'Prints this help') do
|
46
|
-
puts opts
|
47
|
-
puts
|
48
|
-
puts <<-TEXT.gsub(/^\s*\|/, '')
|
49
|
-
|Example: disabling an addon
|
50
|
-
|
|
51
|
-
| #{opts.program_name} addon disable foo-bar
|
52
|
-
|
|
53
|
-
|Example: enabling an addon
|
54
|
-
|
|
55
|
-
| #{opts.program_name} addon enable foo-bar
|
56
|
-
|
|
57
|
-
TEXT
|
58
|
-
exit 0
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
module Yap
|
2
|
-
module Cli
|
3
|
-
class Options::Addon::Disable
|
4
|
-
include OptionsLoader
|
5
|
-
|
6
|
-
attr_reader :command, :options
|
7
|
-
|
8
|
-
def initialize(options:)
|
9
|
-
@options = options
|
10
|
-
end
|
11
|
-
|
12
|
-
def parse(args)
|
13
|
-
@addon_name = args.shift unless args.first =~ /^-/
|
14
|
-
unless @addon_name
|
15
|
-
args.unshift '--help'
|
16
|
-
STDERR.puts "Missing addon-name!"
|
17
|
-
@exit_status = 1
|
18
|
-
puts
|
19
|
-
end
|
20
|
-
option_parser.order!(args)
|
21
|
-
end
|
22
|
-
|
23
|
-
def command
|
24
|
-
@command ||= load_command('addon/disable').new(@addon_name)
|
25
|
-
end
|
26
|
-
|
27
|
-
def help_message
|
28
|
-
option_parser.to_s
|
29
|
-
end
|
30
|
-
|
31
|
-
private
|
32
|
-
|
33
|
-
def option_parser
|
34
|
-
OptionParser.new do |opts|
|
35
|
-
opts.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
36
|
-
|Usage: #{opts.program_name} addon disable [addon-name] [options]
|
37
|
-
|
|
38
|
-
|#{Term::ANSIColor.cyan('yap addon disable')} can be used to disable yap addons.
|
39
|
-
|
|
40
|
-
|Addon disable options:
|
41
|
-
TEXT
|
42
|
-
|
43
|
-
opts.on('-h', '--help', 'Prints this help') do
|
44
|
-
puts opts
|
45
|
-
puts
|
46
|
-
puts <<-TEXT.gsub(/^\s*\|/, '')
|
47
|
-
|Example: Disable an addon
|
48
|
-
|
|
49
|
-
| #{opts.program_name} addon disable magical-key-bindings
|
50
|
-
|
|
51
|
-
|Example: Enable an addon
|
52
|
-
|
|
53
|
-
| #{opts.program_name} addon disable magical-key-bindings
|
54
|
-
|
|
55
|
-
TEXT
|
56
|
-
exit @exit_status
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
module Yap
|
2
|
-
module Cli
|
3
|
-
class Options::Addon::Enable
|
4
|
-
include OptionsLoader
|
5
|
-
|
6
|
-
attr_reader :command, :options
|
7
|
-
|
8
|
-
def initialize(options:)
|
9
|
-
@options = options
|
10
|
-
@exit_status = 0
|
11
|
-
end
|
12
|
-
|
13
|
-
def parse(args)
|
14
|
-
@addon_name = args.shift unless args.first =~ /^-/
|
15
|
-
unless @addon_name
|
16
|
-
args.unshift '--help'
|
17
|
-
STDERR.puts "Missing addon-name!"
|
18
|
-
@exit_status = 1
|
19
|
-
puts
|
20
|
-
end
|
21
|
-
option_parser.order!(args)
|
22
|
-
end
|
23
|
-
|
24
|
-
def command
|
25
|
-
@command ||= load_command('addon/enable').new(@addon_name)
|
26
|
-
end
|
27
|
-
|
28
|
-
def help_message
|
29
|
-
option_parser.to_s
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def option_parser
|
35
|
-
OptionParser.new do |opts|
|
36
|
-
opts.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
37
|
-
|Usage: #{opts.program_name} addon enable [addon-name] [options]
|
38
|
-
|
|
39
|
-
|#{Term::ANSIColor.cyan('yap addon enable')} can be used to enable yap addons.
|
40
|
-
|
|
41
|
-
|Addon enable options:
|
42
|
-
TEXT
|
43
|
-
|
44
|
-
opts.on('-h', '--help', 'Prints this help') do
|
45
|
-
puts opts
|
46
|
-
puts
|
47
|
-
puts <<-TEXT.gsub(/^\s*\|/, '')
|
48
|
-
|Example: Disable an addon
|
49
|
-
|
|
50
|
-
| #{opts.program_name} addon disable magical-key-bindings
|
51
|
-
|
|
52
|
-
|Example: Enable an addon
|
53
|
-
|
|
54
|
-
| #{opts.program_name} addon enable magical-key-bindings
|
55
|
-
|
|
56
|
-
TEXT
|
57
|
-
exit @exit_status
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
module Yap
|
2
|
-
module Cli
|
3
|
-
class Options::Addon::List
|
4
|
-
include OptionsLoader
|
5
|
-
|
6
|
-
attr_reader :command, :options
|
7
|
-
|
8
|
-
def initialize(options:)
|
9
|
-
@options = options
|
10
|
-
end
|
11
|
-
|
12
|
-
def parse(args)
|
13
|
-
option_parser.order!(args)
|
14
|
-
end
|
15
|
-
|
16
|
-
def command
|
17
|
-
@command ||= load_command('addon/list').new
|
18
|
-
end
|
19
|
-
|
20
|
-
def help_message
|
21
|
-
option_parser.to_s
|
22
|
-
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def option_parser
|
27
|
-
OptionParser.new do |opts|
|
28
|
-
opts.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
29
|
-
|Usage: #{opts.program_name} addon list [options]
|
30
|
-
|
|
31
|
-
|#{Term::ANSIColor.cyan('yap addon list')} can be used to list yap addons.
|
32
|
-
|
|
33
|
-
|Addon list options:
|
34
|
-
TEXT
|
35
|
-
|
36
|
-
opts.on('-h', '--help', 'Prints this help') do
|
37
|
-
puts opts
|
38
|
-
puts
|
39
|
-
puts <<-TEXT.gsub(/^\s*\|/, '')
|
40
|
-
|Example: Listing all addons
|
41
|
-
|
|
42
|
-
| #{opts.program_name} addon list
|
43
|
-
|
|
44
|
-
|Example: Listing disabled addons only
|
45
|
-
|
|
46
|
-
| #{opts.program_name} addon list --disabled
|
47
|
-
|
|
48
|
-
|Example: Listing enabled addons only
|
49
|
-
|
|
50
|
-
| #{opts.program_name} addon list --enabled
|
51
|
-
|
|
52
|
-
TEXT
|
53
|
-
exit 0
|
54
|
-
end
|
55
|
-
opts.on('--enabled', 'Lists yap addons that are enabled') do
|
56
|
-
command.filter = :enabled
|
57
|
-
end
|
58
|
-
opts.on('--disabled', 'Lists yap addons that are disabled') do
|
59
|
-
command.filter = :disabled
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
@@ -1,76 +0,0 @@
|
|
1
|
-
module Yap
|
2
|
-
module Cli
|
3
|
-
class Options::Addon::Search
|
4
|
-
include OptionsLoader
|
5
|
-
|
6
|
-
attr_reader :command, :options
|
7
|
-
|
8
|
-
def initialize(options:)
|
9
|
-
@options = options
|
10
|
-
end
|
11
|
-
|
12
|
-
def parse(args)
|
13
|
-
search_terms = []
|
14
|
-
while args.any?
|
15
|
-
option_parser.order!(args)
|
16
|
-
search_terms << args.shift
|
17
|
-
end
|
18
|
-
command.search_term = search_terms.shift
|
19
|
-
end
|
20
|
-
|
21
|
-
def command
|
22
|
-
@command ||= load_command('addon/search').new
|
23
|
-
end
|
24
|
-
|
25
|
-
def help_message
|
26
|
-
option_parser.to_s
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
def option_parser
|
32
|
-
OptionParser.new do |opts|
|
33
|
-
opts.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
34
|
-
|Usage: #{opts.program_name} addon search [options] [addon-name]
|
35
|
-
|
|
36
|
-
|#{Term::ANSIColor.cyan('yap addon search')} can be used to search for yap addons.
|
37
|
-
|
|
38
|
-
|Addon search options:
|
39
|
-
TEXT
|
40
|
-
|
41
|
-
opts.on('-h', '--help', 'Prints this help') do
|
42
|
-
puts opts
|
43
|
-
puts
|
44
|
-
puts <<-TEXT.gsub(/^\s*\|/, '')
|
45
|
-
|Example: Search for an addon
|
46
|
-
|
|
47
|
-
| #{opts.program_name} addon search --local foo
|
48
|
-
|
|
49
|
-
|Example: Search for an addon locally (no network access)
|
50
|
-
|
|
51
|
-
| #{opts.program_name} addon search foo
|
52
|
-
|
|
53
|
-
TEXT
|
54
|
-
exit 0
|
55
|
-
end
|
56
|
-
opts.on('--local', 'Search locally, no network access') do
|
57
|
-
command.local = true
|
58
|
-
end
|
59
|
-
opts.on('-a', '--all', 'Display all addon versions') do
|
60
|
-
command.all = true
|
61
|
-
end
|
62
|
-
opts.on('--prerelease', 'Display prerelease versions') do
|
63
|
-
command.prerelease = true
|
64
|
-
end
|
65
|
-
opts.on('--gem-name', 'Display rubygem name instead of shortened yap addon name') do
|
66
|
-
command.show_gem_name = true
|
67
|
-
end
|
68
|
-
opts.on('-v', '--version VERSION', 'Specify version of addon to search') do |version|
|
69
|
-
command.version = version
|
70
|
-
end
|
71
|
-
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
module Yap
|
2
|
-
module Cli
|
3
|
-
class Options::Generate
|
4
|
-
include OptionsLoader
|
5
|
-
|
6
|
-
attr_reader :command, :options
|
7
|
-
|
8
|
-
def initialize(options:)
|
9
|
-
@options = options
|
10
|
-
@exit_status = 0
|
11
|
-
end
|
12
|
-
|
13
|
-
def parse(args)
|
14
|
-
if args.empty?
|
15
|
-
args.unshift '--help'
|
16
|
-
STDERR.puts "generate must be called with a component type!"
|
17
|
-
@exit_status = 1
|
18
|
-
puts
|
19
|
-
end
|
20
|
-
|
21
|
-
option_parser.order!(args)
|
22
|
-
end
|
23
|
-
|
24
|
-
def command
|
25
|
-
@command ||= load_command('generate').new
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def option_parser
|
31
|
-
OptionParser.new do |opts|
|
32
|
-
opts.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
33
|
-
|Usage: #{opts.program_name} generate [component-type] [options]
|
34
|
-
|
|
35
|
-
|#{Term::ANSIColor.cyan('yap generate')} can be used to generate yap components, like an addon.
|
36
|
-
|
|
37
|
-
|Generate commands:
|
38
|
-
|
|
39
|
-
| #{Term::ANSIColor.yellow('addon')} - generates a yap addon skeleton
|
40
|
-
|
|
41
|
-
|Generate options:
|
42
|
-
TEXT
|
43
|
-
|
44
|
-
opts.on('-h', '--help', 'Prints this help') do
|
45
|
-
puts opts
|
46
|
-
puts
|
47
|
-
puts <<-TEXT.gsub(/^\s*\|/, '')
|
48
|
-
|Example: Generating an addon
|
49
|
-
|
|
50
|
-
| #{opts.program_name} generate addon magical-key-bindings
|
51
|
-
|
|
52
|
-
TEXT
|
53
|
-
exit @exit_status
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
module Yap
|
2
|
-
module Cli
|
3
|
-
class Options::Generate::Addon
|
4
|
-
include OptionsLoader
|
5
|
-
|
6
|
-
attr_reader :command, :options
|
7
|
-
|
8
|
-
def initialize(options:)
|
9
|
-
@options = options
|
10
|
-
@exit_status = 0
|
11
|
-
end
|
12
|
-
|
13
|
-
def parse(args)
|
14
|
-
@addon_name = args.shift unless args.first =~ /^-/
|
15
|
-
unless @addon_name
|
16
|
-
args.unshift '--help'
|
17
|
-
STDERR.puts "Missing addon-name!"
|
18
|
-
@exit_status = 1
|
19
|
-
puts
|
20
|
-
end
|
21
|
-
option_parser.order!(args)
|
22
|
-
end
|
23
|
-
|
24
|
-
def command
|
25
|
-
@command ||= load_command('generate/addon').new(@addon_name)
|
26
|
-
end
|
27
|
-
|
28
|
-
def help_message
|
29
|
-
option_parser.to_s
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def option_parser
|
35
|
-
OptionParser.new do |opts|
|
36
|
-
opts.banner = <<-TEXT.gsub(/^\s*\|/, '')
|
37
|
-
|Usage: #{opts.program_name} generate addon [addon-name] [options]
|
38
|
-
|
|
39
|
-
|#{Term::ANSIColor.cyan('yap addon')} can be used to generate a yap addon skeleton provided an addon name.
|
40
|
-
|
|
41
|
-
|Generate addon options:
|
42
|
-
TEXT
|
43
|
-
|
44
|
-
opts.on('-h', '--help', 'Prints this help') do
|
45
|
-
puts opts
|
46
|
-
puts
|
47
|
-
puts <<-TEXT.gsub(/^\s*\|/, '')
|
48
|
-
|Example: Generating an addon
|
49
|
-
|
|
50
|
-
| #{opts.program_name} generate addon magical-key-bindings
|
51
|
-
|
|
52
|
-
TEXT
|
53
|
-
exit @exit_status
|
54
|
-
end
|
55
|
-
|
56
|
-
opts.on('--skip-git', 'Skip git initialization') do
|
57
|
-
command.use_git = false
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|