Sha256: f3c91ea9a23fa4191f51a2243489ed4d9fce1fe3047a885ec67c67aa05ca2f2a

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

require 'dots/persistence'
require 'dots/installation'
require 'dots/bootstrap'

module Dots
  class Command < Thor
    include Thor::Actions, Dots::Persistence, Dots::Installation, Dots::Bootstrap
    default_task :usage

    desc :usage, "Show usage information"
    def usage
      say Dots::USAGE_INFORMATION and help
    end

    desc :install, "Copies DOTS to your home directory."
    def install
      copy_to_home_directory and link_dot_files
    end

    desc :update, "Update DOTS, Antigen and all plugins to their latest version."
    def update
      update_the_framework
    end

    desc :version, "Show the current version of DOTS"
    def version
      say "DOTS version #{Dots::VERSION} - http://tubbo.github.com/dots"
    end

    desc :link, "Symlink your ~/.dots/config into dotfiles"
    def link
      link_dot_files
    end

    desc :persist, "Copy a dotfile to .dots/config and symlink the original location"
    def persist name
      persist_dot_file name
    end

    desc :forget, "Remove the symlink and restore a dotfile back to its original location"
    def forget name
      forget_dot_file name
    end

    desc :bootstrap, "Install the whole shebang: gems, C programs, Python stuff, DOTS."
    def bootstrap
      install_programs and install_bundle and install
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zsh_dots-0.5.4 lib/ruby/dots/command.rb