vimjar 0.3.0
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.
- data/.gitignore +8 -0
- data/.rspec +2 -0
- data/.rvmrc +1 -0
- data/.travis.yml +11 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +85 -0
- data/Guardfile +21 -0
- data/LICENSE +21 -0
- data/README.md +89 -0
- data/Rakefile +2 -0
- data/bin/vimjar +10 -0
- data/cucumber.yml +6 -0
- data/features/init.feature +37 -0
- data/features/install.feature +8 -0
- data/features/list.feature +7 -0
- data/features/step_definitions/command_steps.rb +21 -0
- data/features/step_definitions/environment_steps.rb +34 -0
- data/features/step_definitions/file_check_steps.rb +20 -0
- data/features/step_definitions/message_steps.rb +23 -0
- data/features/step_definitions/plugin_steps.rb +4 -0
- data/features/support/env.rb +22 -0
- data/features/support/hook.rb +8 -0
- data/features/support/stubs.rb +0 -0
- data/features/uninstall.feature +12 -0
- data/features/update.feature +7 -0
- data/lib/templates/BundleFile +1 -0
- data/lib/vim-jar/cli.rb +91 -0
- data/lib/vim-jar/config.rb +126 -0
- data/lib/vim-jar/installer/base.rb +9 -0
- data/lib/vim-jar/installer/git.rb +66 -0
- data/lib/vim-jar/installer.rb +7 -0
- data/lib/vim-jar/loader.rb +32 -0
- data/lib/vim-jar/pathogen/pathogen_v1.2.vim +139 -0
- data/lib/vim-jar/plugin/git.rb +41 -0
- data/lib/vim-jar/plugin.rb +23 -0
- data/lib/vim-jar/version.rb +5 -0
- data/lib/vim-jar.rb +24 -0
- data/script/github_crawler.rb +76 -0
- data/spec/spec_helper.rb +24 -0
- data/spec/vim-jar/config_spec.rb +126 -0
- data/spec/vim-jar/git-config +16 -0
- data/spec/vim-jar/gitmodules +6 -0
- data/spec/vim-jar/installer/git_spec.rb +51 -0
- data/spec/vim-jar/loader_spec.rb +43 -0
- data/spec/vim-jar/plugin/git-config +1 -0
- data/spec/vim-jar/plugin/git_spec.rb +41 -0
- data/spec/vim-jar/plugin/gitmodules +1 -0
- data/spec/vim-jar/plugin_spec.rb +11 -0
- data/spec/vim-jar_test.rb +17 -0
- data/vimjar.gemspec +33 -0
- metadata +302 -0
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm 1.9.3@vim-jar --create
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
vimjar (0.3.0)
|
5
|
+
thor
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: http://rubygems.org/
|
9
|
+
specs:
|
10
|
+
aruba (0.4.11)
|
11
|
+
childprocess (>= 0.2.3)
|
12
|
+
cucumber (>= 1.1.1)
|
13
|
+
ffi (>= 1.0.11)
|
14
|
+
rspec (>= 2.7.0)
|
15
|
+
builder (3.0.0)
|
16
|
+
childprocess (0.3.4)
|
17
|
+
ffi (~> 1.0, >= 1.0.6)
|
18
|
+
columnize (0.3.6)
|
19
|
+
cucumber (1.2.1)
|
20
|
+
builder (>= 2.1.2)
|
21
|
+
diff-lcs (>= 1.1.3)
|
22
|
+
gherkin (~> 2.11.0)
|
23
|
+
json (>= 1.4.6)
|
24
|
+
debugger (1.2.0)
|
25
|
+
columnize (>= 0.3.1)
|
26
|
+
debugger-linecache (~> 1.1.1)
|
27
|
+
debugger-ruby_core_source (~> 1.1.3)
|
28
|
+
debugger-linecache (1.1.2)
|
29
|
+
debugger-ruby_core_source (>= 1.1.1)
|
30
|
+
debugger-ruby_core_source (1.1.3)
|
31
|
+
diff-lcs (1.1.3)
|
32
|
+
ffi (1.1.0)
|
33
|
+
fuubar (1.0.0)
|
34
|
+
rspec (~> 2.0)
|
35
|
+
rspec-instafail (~> 0.2.0)
|
36
|
+
ruby-progressbar (~> 0.0.10)
|
37
|
+
gherkin (2.11.1)
|
38
|
+
json (>= 1.4.6)
|
39
|
+
growl (1.0.3)
|
40
|
+
guard (1.2.3)
|
41
|
+
listen (>= 0.4.2)
|
42
|
+
thor (>= 0.14.6)
|
43
|
+
guard-cucumber (1.2.0)
|
44
|
+
cucumber (>= 1.2.0)
|
45
|
+
guard (>= 1.1.0)
|
46
|
+
guard-rspec (1.2.0)
|
47
|
+
guard (>= 1.1)
|
48
|
+
json (1.7.3)
|
49
|
+
listen (0.4.7)
|
50
|
+
rb-fchange (~> 0.0.5)
|
51
|
+
rb-fsevent (~> 0.9.1)
|
52
|
+
rb-inotify (~> 0.8.8)
|
53
|
+
rake (0.9.2.2)
|
54
|
+
rb-fchange (0.0.5)
|
55
|
+
ffi
|
56
|
+
rb-fsevent (0.9.1)
|
57
|
+
rb-inotify (0.8.8)
|
58
|
+
ffi (>= 0.5.0)
|
59
|
+
rspec (2.11.0)
|
60
|
+
rspec-core (~> 2.11.0)
|
61
|
+
rspec-expectations (~> 2.11.0)
|
62
|
+
rspec-mocks (~> 2.11.0)
|
63
|
+
rspec-core (2.11.1)
|
64
|
+
rspec-expectations (2.11.1)
|
65
|
+
diff-lcs (~> 1.1.3)
|
66
|
+
rspec-instafail (0.2.4)
|
67
|
+
rspec-mocks (2.11.1)
|
68
|
+
ruby-progressbar (0.0.10)
|
69
|
+
thor (0.15.4)
|
70
|
+
|
71
|
+
PLATFORMS
|
72
|
+
ruby
|
73
|
+
|
74
|
+
DEPENDENCIES
|
75
|
+
aruba
|
76
|
+
cucumber
|
77
|
+
debugger
|
78
|
+
fuubar
|
79
|
+
growl
|
80
|
+
guard-cucumber (~> 1.2.0)
|
81
|
+
guard-rspec (~> 1.2.0)
|
82
|
+
rake
|
83
|
+
rb-fsevent
|
84
|
+
rspec
|
85
|
+
vimjar!
|
data/Guardfile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at http://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
notification :growl
|
5
|
+
|
6
|
+
guard 'rspec', :version => 2, :all_on_start => false, :all_after_pass => false, :cli => "--color --format nested", :bundler => true do
|
7
|
+
watch(%r{^spec/.*_spec\.rb$})
|
8
|
+
watch(%r{^lib/(.*)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
9
|
+
watch(%r{^controllers/(.+)\.rb$}) { |m| "spec/integration/#{m[1]}_spec.rb" }
|
10
|
+
watch(%r{^models/(.+)\.rb$}) { |m| "spec/models/#{m[1]}_spec.rb" }
|
11
|
+
watch(%r{^spec/factories.rb$}) { |m| "spec/factories_spec.rb" }
|
12
|
+
watch(%r{^spec/factories/*.rb$}) { |m| "spec/factories_spec.rb" }
|
13
|
+
watch('spec/spec_helper.rb') { "spec" }
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
guard 'cucumber', :all_on_start => false, :notification => false do
|
18
|
+
watch(%r{features/.+\.feature})
|
19
|
+
#watch(%r{features/support/.+}) { 'features' }
|
20
|
+
#watch(%r{features/step_definitions/(.+)_steps\.rb}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
21
|
+
end
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
Copyright (c) 2012 Allen Wei
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
data/README.md
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
[](http://travis-ci.org/allenwei/vimjar)
|
2
|
+
|
3
|
+
Features
|
4
|
+
=============
|
5
|
+
|
6
|
+
* Provide a easy way to manage your plugin use vim plugin pathogen.
|
7
|
+
* Leverage git submodule, so you can keep your plugin up to date.
|
8
|
+
* Github submodule will make your dotfiles backup easy and fast.
|
9
|
+
|
10
|
+
Get more detail reading my blog post: [use git submodule keep your plugin up to date](http://www.allenwei.cn/tips-using-git-submodule-keep-your-plugin-up-to-date)
|
11
|
+
|
12
|
+
Installation
|
13
|
+
-----------
|
14
|
+
|
15
|
+
`gem install vimjar`
|
16
|
+
|
17
|
+
Usage
|
18
|
+
-----
|
19
|
+
|
20
|
+
### Init your environment
|
21
|
+
|
22
|
+
`vimjar init`
|
23
|
+
|
24
|
+
It will check your whether your .vim path is git repo and install pathogen
|
25
|
+
|
26
|
+
### Open BundleFile in Editor
|
27
|
+
|
28
|
+
`vimjar edit`
|
29
|
+
|
30
|
+
|
31
|
+
### Install plugins by modify .vim/BundleFile
|
32
|
+
|
33
|
+
plugin "git://github.com/tpope/vim-fugitive.git"
|
34
|
+
plugin "git://github.com/tpope/vim-rails.git"
|
35
|
+
|
36
|
+
### Install plugins
|
37
|
+
|
38
|
+
`vimjar install` or just `vimjar`
|
39
|
+
|
40
|
+
|
41
|
+
### Update all plugins
|
42
|
+
|
43
|
+
`vimjar update`
|
44
|
+
|
45
|
+
### List installed plugin
|
46
|
+
|
47
|
+
`vimjar installed`
|
48
|
+
|
49
|
+
### Uninstall plugin
|
50
|
+
|
51
|
+
`vimjar uninstall PLUGIN_NAME`
|
52
|
+
|
53
|
+
### Get help
|
54
|
+
|
55
|
+
`vimjar -h`
|
56
|
+
|
57
|
+
Roadmap
|
58
|
+
=============
|
59
|
+
|
60
|
+
* Update installed plugins
|
61
|
+
* Install from vim.org, autodetect vga, compressed plugin and folds.
|
62
|
+
* Install theme
|
63
|
+
* Preivew theme screeshot
|
64
|
+
* Everyone contribute plugin source
|
65
|
+
* Rank popular plugins
|
66
|
+
* Category plugins
|
67
|
+
|
68
|
+
Troubleshooting
|
69
|
+
=============
|
70
|
+
* Git submodule error - I suggest re-install these plugins
|
71
|
+
Like these
|
72
|
+
|
73
|
+
`Unable to checkout 'e53a8582a4b1fcb664779bf598de9830cc8d4613' in submodule path 'bundle/vim-ruby'
|
74
|
+
error: More than one value for the key submodule.bundle/rails.url: git://github.com/ujihisa/quickrun.git
|
75
|
+
`
|
76
|
+
|
77
|
+
## Note on Patches/Pull Requests
|
78
|
+
|
79
|
+
* Fork the project.
|
80
|
+
* Make your feature addition or bug fix.
|
81
|
+
* Add tests for it. This is important so I don't break it in a
|
82
|
+
future version unintentionally. Note: the existing tests may fail
|
83
|
+
* Commit, do not mess with Rakefile, gemspec or History.
|
84
|
+
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
85
|
+
* Send me a pull request. Bonus points for topic branches.
|
86
|
+
|
87
|
+
## Copyright
|
88
|
+
|
89
|
+
Copyright (c) 2012 Allen Wei. See LICENSE for details.
|
data/Rakefile
ADDED
data/bin/vimjar
ADDED
data/cucumber.yml
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
Feature: Init environment
|
2
|
+
|
3
|
+
Scenario: There is no .vim folder
|
4
|
+
Given There is not .vim folder in user home.
|
5
|
+
When I run command "init"
|
6
|
+
Then I should get there is no .vim folder error
|
7
|
+
|
8
|
+
Scenario: There is no .vimrc
|
9
|
+
Given There is not .vimrc file in .vim
|
10
|
+
When I run command "init"
|
11
|
+
Then I should get there is no .vimrc file error
|
12
|
+
|
13
|
+
Scenario: .vim folder is not a git repo
|
14
|
+
Given .vim and .vimrc
|
15
|
+
Given .vim is not git repo
|
16
|
+
When I run command "init"
|
17
|
+
Then I should get .vim is not a git repo warning
|
18
|
+
|
19
|
+
Scenario: .vim folder is not a git repo
|
20
|
+
Given .vim and .vimrc
|
21
|
+
Given .vim is not git repo
|
22
|
+
When I run command "init"
|
23
|
+
Then I should get .vim is not a git repo warning
|
24
|
+
|
25
|
+
Scenario: there is not pathogen.vim in .vim/autoload
|
26
|
+
Given .vim and .vimrc
|
27
|
+
And .vim is git repo
|
28
|
+
When I run command "init"
|
29
|
+
Then I should get install pathogen notice
|
30
|
+
And It should install pathogen for me
|
31
|
+
|
32
|
+
Scenario: init BundleFile
|
33
|
+
Given .vim and .vimrc
|
34
|
+
And .vim is git repo
|
35
|
+
When I run command "init"
|
36
|
+
Then I should have initial BundleFile
|
37
|
+
And It should get get BundleFile notice
|
@@ -0,0 +1,21 @@
|
|
1
|
+
When /^I run command "([^"]*)"$/ do |command|
|
2
|
+
@aruba_io_wait_seconds = 20
|
3
|
+
step "I run `bundle exec #{bin_path} #{command}`"
|
4
|
+
end
|
5
|
+
|
6
|
+
When /^I successfully run command "([^"]*)"$/ do |command|
|
7
|
+
step "I successfully run `bundle exec #{bin_path} #{command}`"
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
Then /^I should see "([^"]*)" in installed list$/ do |plugin_name|
|
13
|
+
step "I run command \"installed\""
|
14
|
+
step %Q{the stdout should contain "#{plugin_name}"}
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
Then /^I should see update success message$/ do |plugin_name|
|
19
|
+
step %Q{the stdout should contain "All your plugin is up to date."}
|
20
|
+
end
|
21
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
Given /^There is not \.vim folder in user home\.$/ do
|
2
|
+
FileUtils.rm_rf config.vim_home
|
3
|
+
end
|
4
|
+
|
5
|
+
Given /^There is not \.vimrc file in \.vim$/ do
|
6
|
+
FileUtils.rm_rf config.vimrc_path
|
7
|
+
end
|
8
|
+
|
9
|
+
Given /^\.vim and \.vimrc$/ do
|
10
|
+
FileUtils.mkdir_p config.vim_home
|
11
|
+
FileUtils.touch config.vimrc_path
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
Given /^\.vim is not git repo$/ do
|
16
|
+
FileUtils.rm_rf config.vim_home.join(".git")
|
17
|
+
end
|
18
|
+
|
19
|
+
Given /^\.vim is git repo$/ do
|
20
|
+
FileUtils.mkdir_p config.vim_home
|
21
|
+
Dir.chdir(config.vim_home) do
|
22
|
+
`git init > /dev/null`
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
Given /^a full environment$/ do
|
27
|
+
step ".vim and .vimrc"
|
28
|
+
config.check
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
Given /^a installed plugin "(.*?)"$/ do |plugin|
|
33
|
+
FileUtils.mkdir_p(config.bundle_home.join(plugin))
|
34
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Then /^It should install pathogen for me$/ do
|
2
|
+
File.exist?(config.pathogen_path).should be_true
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^I should not see plugin "([^"]*)" in bundle home$/ do |plugin_name|
|
6
|
+
File.exist?(config.bundle_home.join(plugin_name)).should be false
|
7
|
+
end
|
8
|
+
|
9
|
+
Then /^I should not see plugin "([^"]*)" in \.git\/config$/ do |plugin_name|
|
10
|
+
File.read(config.gitmodules_file_path).should_not match /#{plugin_name}/
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^I should not see plugin "([^"]*)" in \.gitmodules$/ do |plugin_name|
|
14
|
+
File.read(config.gitconfig_file_path).should_not match /#{plugin_name}/
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^I should have initial BundleFile$/ do
|
18
|
+
File.exists?(config.bundle_file_path).should eq true
|
19
|
+
end
|
20
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
Then /^I should get there is no \.vim folder error$/ do
|
2
|
+
step "the stderr should contain \"doesn't exist\""
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^I should get there is no \.vimrc file error$/ do
|
6
|
+
step "the stderr should contain \"doesn't exist\""
|
7
|
+
end
|
8
|
+
|
9
|
+
Then /^I should get \.vim is not a git repo warning$/ do
|
10
|
+
step "the stdout should contain \"your .vim folder is not a git repository\""
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^I should get install pathogen notice$/ do
|
14
|
+
step "the stdout should contain \"Pathogen is installed into\""
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^I should see more than one plugin$/ do
|
18
|
+
step %Q{the stdout should contain "vim-rails"}
|
19
|
+
end
|
20
|
+
|
21
|
+
Then /^It should get get BundleFile notice$/ do
|
22
|
+
step %Q{the stdout should contain "You add more plugins by modify this file"}
|
23
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
ENV['VIM_JAR_USER_HOME'] = File.expand_path("../../tmp",File.dirname(__FILE__))
|
3
|
+
|
4
|
+
ENV['VIM_JAR_TEST'] = "true"
|
5
|
+
|
6
|
+
require 'fileutils'
|
7
|
+
require 'aruba/cucumber'
|
8
|
+
require File.expand_path('../../lib/vim-jar', File.dirname(__FILE__))
|
9
|
+
require File.expand_path('../../lib/vim-jar/cli', File.dirname(__FILE__))
|
10
|
+
|
11
|
+
FileUtils.mkdir_p ENV['VIM_JAR_USER_HOME']
|
12
|
+
module Vim::Jar::World
|
13
|
+
def config
|
14
|
+
::Vim::Jar::Config.instance
|
15
|
+
end
|
16
|
+
|
17
|
+
def bin_path
|
18
|
+
File.expand_path('../../bin/vim-jar', File.dirname(__FILE__))
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
World(Vim::Jar::World)
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Feature: Install
|
2
|
+
|
3
|
+
Scenario: install an existing plugin correctly
|
4
|
+
Given a full environment
|
5
|
+
When I run command "install"
|
6
|
+
Then I should see "vim-fugitive" in installed list
|
7
|
+
When I run command "uninstall vim-rails"
|
8
|
+
Then I should not see plugin "vim-rails" in bundle home
|
9
|
+
Then I should not see plugin "vim-rails" in .git/config
|
10
|
+
Then I should not see plugin "vim-rails" in .gitmodules
|
11
|
+
|
12
|
+
|
@@ -0,0 +1 @@
|
|
1
|
+
plugin "git://github.com/tpope/vim-fugitive.git"
|
data/lib/vim-jar/cli.rb
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
require 'vim-jar'
|
2
|
+
|
3
|
+
module Vim
|
4
|
+
module Jar
|
5
|
+
class Cli < Thor
|
6
|
+
map "-T" => :installed
|
7
|
+
default_task :install
|
8
|
+
|
9
|
+
desc "init","init environment"
|
10
|
+
def init
|
11
|
+
check!
|
12
|
+
done
|
13
|
+
exit 0
|
14
|
+
end
|
15
|
+
|
16
|
+
desc "install", "install plugin according to BundleFile"
|
17
|
+
def install
|
18
|
+
check!
|
19
|
+
loader = ::Vim::Jar::Loader.new
|
20
|
+
loader.execute
|
21
|
+
end
|
22
|
+
|
23
|
+
desc "Edit", "open BundleFile in editor"
|
24
|
+
def edit
|
25
|
+
check!
|
26
|
+
editor = [ENV['BUNDLER_EDITOR'], ENV['VISUAL'], ENV['EDITOR']].find{|e| !e.nil? && !e.empty? }
|
27
|
+
if editor
|
28
|
+
command = "#{editor} #{config.bundle_file_path}"
|
29
|
+
success = system(command)
|
30
|
+
raise ::Vim::Jar::InstallError.new "Could not run '#{command}'" unless success
|
31
|
+
else
|
32
|
+
::Vim::Jar::InstallError.new("To open BundleFile, set $EDITOR or $BUNDLER_EDITOR")
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
desc "installed", "list all installed plugins"
|
38
|
+
def installed
|
39
|
+
STDOUT.puts ::Vim::Jar::Plugin.installed.join("\n")
|
40
|
+
end
|
41
|
+
|
42
|
+
desc "update", "Update all installed plugin"
|
43
|
+
def update
|
44
|
+
check!
|
45
|
+
if ::Vim::Jar::Plugin.update
|
46
|
+
STDOUT.puts "All your plugin is up to date."
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
desc "uninstall", "uninstall installed plugin"
|
51
|
+
def uninstall(name)
|
52
|
+
check!
|
53
|
+
if ::Vim::Jar::Plugin.installed.include?(name)
|
54
|
+
::Vim::Jar::Plugin.uninstall(name)
|
55
|
+
STDOUT.puts "plugin #{name} has been already remove from #{config.bundle_home.join(name)}"
|
56
|
+
else
|
57
|
+
STDERR.puts "You didn't install plugin named #{name}"
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
private
|
63
|
+
def config
|
64
|
+
@config ||= Vim::Jar.config
|
65
|
+
end
|
66
|
+
|
67
|
+
def check!
|
68
|
+
begin
|
69
|
+
config.check
|
70
|
+
rescue InitError => e
|
71
|
+
STDERR.puts "Can not init environment because of #{e.message}"
|
72
|
+
exit 1
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
def done
|
78
|
+
#TODO improve finish message
|
79
|
+
STDOUT.puts <<-EOF
|
80
|
+
|
81
|
+
Congratulation! vimjar already initialized your environment.
|
82
|
+
|
83
|
+
Try:
|
84
|
+
|
85
|
+
vimjar install
|
86
|
+
|
87
|
+
EOF
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|