Rakefile in travis-1.5.3 vs Rakefile in travis-1.5.4

- old
+ new

@@ -43,79 +43,14 @@ File.write('README.md', readme) end task :completion do require 'travis/cli' + require 'erb' commands = Travis::CLI.commands.sort_by { |c| c.command_name } - names = commands.map(&:command_name).join("\n") - options = commands.map do |command| - flags = command.new.parser.candidate("-").flat_map do |option| - next option unless option.start_with?('--[no-]') - [option.sub('[no-]', ''), option.sub('[no-]', 'no-')] - end.join("\n") - - case command.command_name - when "setup" - completions = command.public_instance_methods. - select { |m| m.to_s.start_with? "setup_" }. - map { |m| m.to_s.sub('setup_', '') + "\n" }.join << flags - when "help" - completions = "#{names}\n#{flags}" - else - completions = flags - end - - <<-SHELL - #{command.command_name}) - completions="#{completions}" - ;; - SHELL - end.join("\n") - - zsh = <<-SHELL - _travis_complete() { - local words completions - read -cA words - if [ "${#words}" -eq 2 ]; then - completions="#{names}" - else - case "${words[2]}" in - #{options} - esac - fi - reply=("${(ps:\n:)completions}") - } - - compctl -K _travis_complete travis - SHELL - - bash = <<-SHELL - _travis_complete() { - COMPREPLY=() - local completions - if [ "$COMP_CWORD" -eq 1 ]; then - completions="#{names}" - else - case "${COMP_WORDS[1]}" in - #{options} - esac - fi - COMPREPLY=( $(compgen -W "$completions" -- "${COMP_WORDS[COMP_CWORD]}") ) - } - - complete -F _travis_complete travis - SHELL - - File.write('completion/travis.sh', <<-SHELL.gsub(/^\s+/, '')) - # This file is generated by `rake completion` - if [ -n "$BASH_VERSION" ]; then - #{bash} - fi - - if [ -n "$ZSH_VERSION" ]; then - #{zsh} - fi - SHELL + template = File.read('completion/travis.sh.erb') + source = ERB.new(template).result(binding).gsub(/^ +\n/, '') + File.write('completion/travis.sh', source) end task 'travis.gemspec' => :update task 'README.md' => :update \ No newline at end of file