Class: Pvim::Plugin
- Inherits:
-
Thor
- Object
- Thor
- Pvim::Plugin
- Includes:
- Thor::Actions
- Defined in:
- lib/pvim/plugin.rb
Instance Method Summary collapse
Instance Method Details
#add(url, *urls) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/pvim/plugin.rb', line 31 def add(url, *urls) urls.unshift url urls.uniq! urls.each do |u| u = add_github_prefix(u) check_url(u) inside pvim do empty_directory bundle_dir unless Dir.exists?(bundle_dir) run "git submodule add #{u.inspect} #{installed_dir(u).inspect}" end end end |
#list ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/pvim/plugin.rb', line 12 def list inside pvim do plugins = load_plugins plugins = plugins.values if plugins.any? plugins.sort_by!{ |(name, _, _)| name.downcase } if [:sort] say "Installed plugins:", Color::GREEN say plugins.unshift [ 'Name', 'Repository URL', 'Installed at' ] print_table plugins say say "Total: #{plugins.size - 1}" else say "No installed plugins." end end end |
#remove(url, *urls) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/pvim/plugin.rb', line 45 def remove(url, *urls) urls.unshift url urls.uniq! urls.each do |u| u = add_github_prefix(u) check_url(u) if plugin = find_plugin(u) inside pvim do empty_directory bundle_dir unless Dir.exists?(bundle_dir) path = plugin.last submodule = ['submodule', path].join('.') run "git submodule deinit -f #{path.inspect}" run "git rm -rf #{path.inspect}" run "git config -f .gitmodules --remove-section #{submodule.inspect}" remove_file File.join('.git', 'modules', path) end else say "#{url} is not installed", Color::RED end end end |
#update ⇒ Object
68 69 70 71 72 73 |
# File 'lib/pvim/plugin.rb', line 68 def update inside pvim do empty_directory bundle_dir run "git submodule update" end end |