Sha256: 3efd08ca652528875f5f07c4e81e04a7d4426d8264cd4ce3198aed90a6d9e75a

Contents?: true

Size: 1.37 KB

Versions: 2

Compression:

Stored size: 1.37 KB

Contents

require 'thor'

module Vim
  module Flavor
    class CLI < Thor
      def self.common_options_to_deploy
        method_option :vimfiles_path,
          :desc => 'Where to install Vim plugins.',
          :banner => 'DIR'
      end

      desc 'install', 'Install Vim plugins according to VimFlavor file.'
      common_options_to_deploy
      def install
        Facade.new().install(
          options[:vimfiles_path] || default_vimfiles_path
        )
      end

      desc 'update [REPO_NAME...]',
        'Update Vim plugins according to VimFlavor file.'
      common_options_to_deploy
      def update(*repo_names)
        Facade.new().update(
          options[:vimfiles_path] || default_vimfiles_path,
          repo_names
        )
      end

      desc 'upgrade [REPO_NAME...]',
        'Update Vim plugins.  (alias of "update")'
      common_options_to_deploy
      def upgrade(*repo_names)
        update(*repo_names)
      end

      desc 'test [FILES or DIRS]',
        'Test a Vim plugin in the current working directory.'
      def test(*files_or_dirs)
        Facade.new().test(files_or_dirs)
      end

      desc 'version', 'Show the current version.'
      def version
        puts VERSION
      end

      no_tasks do
        def default_vimfiles_path
          Env::home.to_vimfiles_path
        end
      end

      def self.exit_on_failure?
        true
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vim-flavor-2.1.1 lib/vim-flavor/cli.rb
vim-flavor-2.1.0 lib/vim-flavor/cli.rb