vim-flavor 2.2.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +12 -0
  3. data/.github/workflows/ci.yml +35 -0
  4. data/.ruby-version +1 -0
  5. data/README.md +126 -45
  6. data/Rakefile +11 -0
  7. data/config/cucumber.yml +1 -0
  8. data/features/.nav +2 -1
  9. data/features/backward_compatibilities/flavorfile.feature +166 -0
  10. data/features/backward_compatibilities/lockfile.feature +22 -0
  11. data/features/branches/changing_tracking_branches.feature +0 -3
  12. data/features/branches/detect_incompatible_declarations.feature +0 -2
  13. data/features/branches/install.feature +0 -2
  14. data/features/branches/update.feature +0 -1
  15. data/features/caching/deployment.feature +1 -0
  16. data/features/flavorfile/README.md +1 -1
  17. data/features/flavorfile/comments.feature +0 -1
  18. data/features/flavorfile/groups.feature +0 -3
  19. data/features/flavorfile/repository_name.feature +0 -3
  20. data/features/flavorfile/version_constraint.feature +3 -7
  21. data/features/install_vim_flavor.md +6 -12
  22. data/features/news.md +72 -0
  23. data/features/philosophy.md +4 -4
  24. data/features/resolve_dependencies/README.md +4 -3
  25. data/features/resolve_dependencies/basics.feature +0 -4
  26. data/features/resolve_dependencies/upgrade_outdated_dependencies.feature +0 -2
  27. data/features/resolve_dependencies/version_conflict.feature +0 -2
  28. data/features/step_definitions/cli_steps.rb +6 -1
  29. data/features/step_definitions/dependency_steps.rb +2 -1
  30. data/features/step_definitions/directory_steps.rb +1 -1
  31. data/features/step_definitions/file_steps.rb +2 -2
  32. data/features/step_definitions/flavor_steps.rb +25 -9
  33. data/features/step_definitions/flavorfile_steps.rb +10 -1
  34. data/features/step_definitions/lockfile_steps.rb +14 -5
  35. data/features/support/env.rb +22 -12
  36. data/features/testing_vim_plugins/README.md +7 -6
  37. data/features/testing_vim_plugins/dependencies.feature +2 -3
  38. data/features/testing_vim_plugins/failures.feature +3 -3
  39. data/features/testing_vim_plugins/specifying_test_scripts.feature +3 -3
  40. data/features/testing_vim_plugins/typical_usage.feature +30 -7
  41. data/features/typical_usage/README.md +7 -7
  42. data/features/typical_usage/deploy_to_arbitrary_place.feature +0 -1
  43. data/features/typical_usage/install_vim_plugins.feature +0 -1
  44. data/features/typical_usage/uninstall_vim_plugins.feature +0 -1
  45. data/features/typical_usage/update_vim_plugins.feature +0 -3
  46. data/features/uninstall_vim_flavor.md +3 -4
  47. data/features/version_lock.feature +0 -1
  48. data/features/version_tag_format.feature +0 -4
  49. data/lib/vim-flavor/cli.rb +2 -2
  50. data/lib/vim-flavor/console.rb +22 -0
  51. data/lib/vim-flavor/facade.rb +18 -49
  52. data/lib/vim-flavor/flavor.rb +2 -2
  53. data/lib/vim-flavor/flavorfile.rb +24 -1
  54. data/lib/vim-flavor/lockfile.rb +15 -0
  55. data/lib/vim-flavor/shellutility.rb +2 -1
  56. data/lib/vim-flavor/stringextension.rb +3 -11
  57. data/lib/vim-flavor/version.rb +1 -1
  58. data/lib/vim-flavor.rb +1 -1
  59. data/spec/branchversion_spec.rb +4 -4
  60. data/spec/stringextension_spec.rb +31 -0
  61. data/vim-flavor.gemspec +8 -5
  62. metadata +69 -26
  63. data/.travis.yml +0 -7
  64. data/features/step_definitions/bootstrap_script_steps.rb +0 -6
  65. data/spec/facade_spec.rb +0 -57
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 73cbe32362402bf8daa1f6951a8048e11dacf480
4
- data.tar.gz: 14b6eee41cb928926aba70453825a08862471b67
2
+ SHA256:
3
+ metadata.gz: 4b56f0299185327f581b7620d37b424150e44c4fbf9b644818f9a58430569116
4
+ data.tar.gz: a49bde472dcd149d79a41f4e260467cc8eb1da9865308536610667a00e50e598
5
5
  SHA512:
6
- metadata.gz: 2f3b0ddc0fad3d8efcbddbced648050759c0b1fbb9ab8d0bf44ce7851da32b8df91a28611f829faca401f607710f2c45e66b4abc674f22c4e5b6f61f376b65fa
7
- data.tar.gz: 95d6f8c557062bb1403affe71deb2bd187a0f29a1ffc7c329d40287ab2d2470360977072d2c341a3d42ed79047c8de13017a0113a85e3248b36398ddaadadf70
6
+ metadata.gz: a9babe8f14a01142a406f0e686c9a1b67ec7bae7418db50320af0ad55c348382b34e7b2a91dd9bfb5b7aa83486f403979a1cb45f3271a9b06365fe592d055605
7
+ data.tar.gz: 3a6f954a798748573d82de17b50b7fa0a6d11621f62231005a00699e3dd8fdb65d12d474a731153822b2b40e35d51e5398b39f1610555e21e3ea7cab4508c75a
@@ -0,0 +1,12 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
12
+ versioning-strategy: increase
@@ -0,0 +1,35 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+ schedule:
9
+ - cron: 0 0 * * *
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ with:
17
+ fetch-depth: 0 # t/blame.vim requires all commits.
18
+ - name: Set up Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
22
+ - name: Set up Vim
23
+ uses: thinca/action-setup-vim@v1
24
+ with:
25
+ vim_version: ${{ github.event_name == 'schedule' && 'head' || 'v8.2.3446' }}
26
+ vim_type: vim
27
+ download: never # For some reason 'available' doesn't build from source as a fallback.
28
+ - name: Set up Git
29
+ run: |
30
+ git config --global user.email 'ci@example.com'
31
+ git config --global user.name 'CI'
32
+ git config --global init.defaultBranch 'master'
33
+ git submodule update --init
34
+ - name: Run tests
35
+ run: rake ci
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.0.2
data/README.md CHANGED
@@ -1,76 +1,157 @@
1
1
  # vim-flavor, a tool to manage your favorite Vim plugins
2
2
 
3
- [![Build Status](https://travis-ci.org/kana/vim-flavor.png)](https://travis-ci.org/kana/vim-flavor)
4
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/kana/vim-flavor)
3
+ [![CI](https://github.com/kana/vim-flavor/actions/workflows/ci.yml/badge.svg)](https://github.com/kana/vim-flavor/actions/workflows/ci.yml)
4
+ [![Maintainability](https://api.codeclimate.com/v1/badges/97414d95fb6d19c7fb72/maintainability)](https://codeclimate.com/github/kana/vim-flavor/maintainability)
5
5
 
6
6
 
7
7
 
8
8
 
9
- ## Getting started
9
+ # Getting started
10
10
 
11
- cd $YOUR_REPOSITORY_FOR_DOTFILES
11
+ ## Create `Flavorfile`
12
12
 
13
- cat >VimFlavor <<'END'
14
- # * Declare using git://github.com/kana/vim-textobj-indent.git
15
- # * vim-flavor fetches git://github.com/$USER/$REPO.git
16
- # if the argument is written in '$USER/$REPO' format.
17
- # * kana/vim-textobj-indent requires kana/vim-textobj-user.
18
- # Such dependencies are automatically installed
19
- # if the flavored plugin declares its dependencies with VimFlavor file.
20
- flavor 'kana/vim-textobj-indent'
13
+ This file contains a set of declarations about what Vim plugins you want to
14
+ install. For example:
21
15
 
22
- # * Declare using git://github.com/vim-scripts/fakeclip.git
23
- # * vim-flavor fetches git://github.com/vim-scripts/$REPO.git
24
- # if the argument is written in '$REPO' format.
25
- flavor 'fakeclip'
16
+ ```ruby
17
+ # Install a Vim plugin from `https://github.com/kana/vim-textobj-indent`.
18
+ #
19
+ # Note that kana/vim-textobj-indent requires kana/vim-textobj-user.
20
+ # Such dependencies are automatically installed if the former plugin
21
+ # declares its dependencies with Flavorfile.
22
+ flavor 'kana/vim-textobj-indent'
26
23
 
27
- # * Declare using git://github.com/kana/vim-altr.git
28
- # * vim-flavor fetches the URI
29
- # if the argument seems to be a URI.
30
- flavor 'git://github.com/kana/vim-altr.git'
24
+ # Install a Vim plugin from `https://github.com/vim-scripts/fakeclip`.
25
+ flavor 'fakeclip'
31
26
 
32
- # * Declare using kana/vim-smartchr 0.1.0 or later and older than 0.2.0.
33
- flavor 'kana/vim-smartchr', '~> 0.1.0'
27
+ # Install a Vim plugin from the specified URI.
28
+ flavor 'git://github.com/kana/vim-altr.git'
34
29
 
35
- # * Declare using kana/vim-smartword 0.1 or later and older than 1.0.
36
- flavor 'kana/vim-smartword', '~> 0.1'
30
+ # You can also specify which version of Vim plugin should be installed.
31
+ # For example:
32
+ flavor 'kana/vim-smartword', '~> 0.1' # 0.1 or later, but older than 0.2
33
+ flavor 'kana/vim-smartchr', '~> 0.2.4' # 0.2.4 or later, but older than 0.3.0
34
+ flavor 'kana/vim-smarttill', '>= 0.3.6' # 0.3.6 or later
37
35
 
38
- # * Declare using kana/vim-smarttill 0.1.0 or later.
39
- flavor 'kana/vim-smarttill', '>= 0.1.0'
40
- END
36
+ # vim-flavor, by design, requires Vim plugins to follow semantic versioning
37
+ # and to create version tags (like `v1.2.3`) in their repositories.
38
+ #
39
+ # For repositories without versioning, branches can be specified.
40
+ flavor 'chriskempson/base16-vim', branch: 'master'
41
+ ```
41
42
 
42
- # Fetch the plugins declared in the VimFlavor,
43
- # create VimFlavor.lock for a snapshot of all plugins and versions,
44
- # then install the plugins and a bootstrap script into ~/.vim etc.
45
- vim-flavor install
43
+ ## Install Vim plugins (for the first time)
46
44
 
47
- # Add the following line into the first line of your vimrc:
48
- #
49
- # runtime flavors/bootstrap.vim
50
- vim vimrc
45
+ Run the following command:
51
46
 
52
- git add VimFlavor VimFlavor.lock vimrc
53
- git commit -m 'Use vim-flavor to manage my favorite Vim plugins'
47
+ ```bash
48
+ vim-flavor install
49
+ ```
54
50
 
55
- See also
56
- [the documentation on relish](https://www.relishapp.com/kana/vim-flavor) or
57
- `features/` directory for the details.
51
+ This command does the following stuffs:
58
52
 
53
+ 1. Fetches Vim plugins declared in the `Flavorfile`.
54
+ 2. Creates `Flavorfile.lock` file. It contains information about what
55
+ versions of plugins to be installed.
56
+ 3. Copies the fetched plugins into `~/.vim/pack/flavors/start`, then updates
57
+ help tags for each plugin.
59
58
 
59
+ It's recommended to commit `Flavorfile` and `Flavorfile.lock` after
60
+ installation.
60
61
 
62
+ ```bash
63
+ git add Flavorfile Flavorfile.lock
64
+ git commit -m 'Use vim-flavor to manage my favorite Vim plugins'
65
+ ```
61
66
 
62
- ## License
67
+ ## Install Vim plugins (from another machine)
68
+
69
+ Suppose that you work with several PCs and/or servers, and you want to use the
70
+ same configuration, including Vim plugins, on all of them.
71
+
72
+ Firstly, let's synchronize your configuration files:
73
+
74
+ ```bash
75
+ cd ~/your/dotfiles/repository
76
+ git pull
77
+ ```
78
+
79
+ Now you have the same `Flavorfile` and `Flavorfile.lock` created by the
80
+ previous step.
81
+
82
+ Then run the following command:
83
+
84
+ ```bash
85
+ vim-flavor install
86
+ ```
87
+
88
+ This time `vim-flavor` installs the same versions of Vim plugins as recorded
89
+ in `Flavorfile.lock`, even if newer versions are available.
90
+
91
+ ## Update Vim plugins
92
+
93
+ To update Vim plugins, run the following command:
94
+
95
+ ```bash
96
+ vim-flavor update
97
+ ```
98
+
99
+ This is similar to `vim-flavor install`, but vim-flavor tries checking and
100
+ installing newer versions of Vim plugins.
101
+
102
+ This command usually updates `Flavorfile.lock`. So that you have to commit it
103
+ again.
104
+
105
+ ```bash
106
+ git add Flavorfile.lock
107
+ git commit -m 'Update Vim plugins'
108
+ ```
109
+
110
+
111
+
112
+
113
+ # References
114
+
115
+ See [`features/`](./features) directory for the details.
116
+ The same [documents](https://www.relishapp.com/kana/vim-flavor) are available
117
+ also on relish.
118
+
119
+
120
+
121
+
122
+ # License
63
123
 
64
124
  vim-flavor is released under the terms of MIT license.
65
- See the LICENSE file for the details.
125
+ See the [LICENSE](./LICENSE) file for the details.
126
+
127
+
128
+
129
+
130
+ # Development
131
+
132
+ ## Set up
133
+
134
+ 1. Install [rbenv](https://github.com/rbenv/rbenv).
135
+ 2. Run the following commands in your clone of vim-flavor repository:
136
+
137
+ ```bash
138
+ git submodule update --init
139
+ rbenv install
140
+ bundle install
141
+ ```
142
+
143
+ ## Run tests
144
+
145
+ ```bash
146
+ rake test
147
+ ```
66
148
 
67
149
 
68
150
 
69
151
 
70
- ## Author
152
+ # Author
71
153
 
72
- * [Kana Natsuno](http://whileimautomaton.net/)
73
- (also known as [@kana1](http://twitter.com/kana1))
154
+ * [kana](https://github.com/kana)
74
155
 
75
156
 
76
157
 
data/Rakefile CHANGED
@@ -1,6 +1,12 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
3
 
4
+ task :ci => [:dump, :test]
5
+
6
+ task :dump do
7
+ sh 'vim --version'
8
+ end
9
+
4
10
  task :test => [:spec, :cucumber]
5
11
 
6
12
  task :spec do
@@ -10,3 +16,8 @@ end
10
16
  task :cucumber do
11
17
  sh 'bundle exec cucumber --format=progress'
12
18
  end
19
+
20
+ task :update_online_documents do
21
+ # Only authorized members can push to relish.
22
+ sh 'bundle exec relish push kana/vim-flavor'
23
+ end
@@ -0,0 +1 @@
1
+ default: --publish-quiet
data/features/.nav CHANGED
@@ -11,7 +11,7 @@
11
11
  - flavorfile:
12
12
  - version_lock.feature
13
13
  - caching:
14
- - resolve_dependencies.feature
14
+ - resolve_dependencies:
15
15
  - testing_vim_plugins:
16
16
  - typical_usage.feature
17
17
  - dependencies.feature
@@ -23,3 +23,4 @@
23
23
  - update.feature
24
24
  - changing_tracking_branches.feature
25
25
  - detect_incompatible_declarations.feature
26
+ - backward_compatibilities:
@@ -0,0 +1,166 @@
1
+ Feature: Flavorfile
2
+ In order to gradually update existing Vim plugins,
3
+ as a lazy Vim user,
4
+ I want to reuse Vim plugins which contain old name of flavorfiles without problems.
5
+
6
+ Scenario: User has old name of flavorfile is warned
7
+ Given a repository "foo" with versions "1.0.0 1.0.1 1.0.2"
8
+ And an old name flavorfile with:
9
+ """ruby
10
+ flavor '$foo_uri'
11
+ """
12
+ When I run `vim-flavor install`
13
+ Then it should pass with template:
14
+ """
15
+ Warning: Rename VimFlavor to Flavorfile. VimFlavor wll be ignored in future version.
16
+ Checking versions...
17
+ Use $foo_uri ... 1.0.2
18
+ Deploying plugins...
19
+ $foo_uri 1.0.2 ... done
20
+ Completed.
21
+ """
22
+ And a lockfile is created with:
23
+ """
24
+ $foo_uri (1.0.2)
25
+ """
26
+ And a flavor "$foo_uri" version "1.0.2" is deployed to "$home/.vim"
27
+
28
+ Scenario: User has both new and old name of flavorfile is warned
29
+ Given a repository "foo" with versions "1.0.0 1.0.1 1.0.2"
30
+ And a repository "bar" with versions "2.0.0 2.0.1 2.0.2"
31
+ And a flavorfile with:
32
+ """ruby
33
+ flavor '$bar_uri'
34
+ """
35
+ And an old name flavorfile with:
36
+ """ruby
37
+ flavor '$foo_uri'
38
+ """
39
+ When I run `vim-flavor install`
40
+ Then it should pass with template:
41
+ """
42
+ Warning: Delete VimFlavor. Flavorfile is being read instead.
43
+ Checking versions...
44
+ Use $bar_uri ... 2.0.2
45
+ Deploying plugins...
46
+ $bar_uri 2.0.2 ... done
47
+ Completed.
48
+ """
49
+ And a lockfile is created with:
50
+ """
51
+ $bar_uri (2.0.2)
52
+ """
53
+ And a flavor "$foo_uri" is not deployed to "$home/.vim"
54
+ And a flavor "$bar_uri" version "2.0.2" is deployed to "$home/.vim"
55
+
56
+ Scenario: Plugin contains old name of flavorfile is not warned
57
+ Given a repository "foo" with versions "1.0.0 1.0.1 1.0.2" and an old name flavorfile:
58
+ """ruby
59
+ # No dependencies
60
+ """
61
+ And a flavorfile with:
62
+ """ruby
63
+ flavor '$foo_uri'
64
+ """
65
+ When I run `vim-flavor install`
66
+ Then it should pass with template:
67
+ """
68
+ Checking versions...
69
+ Use $foo_uri ... 1.0.2
70
+ Deploying plugins...
71
+ $foo_uri 1.0.2 ... done
72
+ Completed.
73
+ """
74
+ And a lockfile is created with:
75
+ """
76
+ $foo_uri (1.0.2)
77
+ """
78
+ And a flavor "$foo_uri" version "1.0.2" is deployed to "$home/.vim"
79
+
80
+ Scenario: Testing a Vim plugin with old name flavorfile is warned
81
+ Given a repository "kana/vim-vspec" from offline cache
82
+ And an old name flavorfile with:
83
+ """ruby
84
+ # No dependencies
85
+ """
86
+ And a file named "plugin/foo.vim" with:
87
+ """vim
88
+ let g:foo = 3
89
+ """
90
+ And a file named "t/basics.vim" with:
91
+ """vim
92
+ " Tests are written with vim-vspec.
93
+ runtime! plugin/foo.vim
94
+ describe 'g:foo'
95
+ it 'is equal to 3'
96
+ Expect g:foo == 3
97
+ end
98
+ end
99
+ """
100
+ When I run `vim-flavor test`
101
+ Then it should pass with regexp:
102
+ """
103
+ -------- Preparing dependencies
104
+ Warning: Rename VimFlavor to Flavorfile. VimFlavor wll be ignored in future version.
105
+ Checking versions...
106
+ Use kana/vim-vspec ... 1\.\d+(\.\d+)?
107
+ Deploying plugins...
108
+ kana/vim-vspec 1\.\d+(\.\d+)? ... done
109
+ Completed.
110
+ -------- Testing a Vim plugin
111
+ t/basics.vim .. ok
112
+ All tests successful.
113
+ Files=1, Tests=1, \d+ wallclock secs .*
114
+ Result: PASS
115
+ """
116
+ And a lockfile is created and matches with:
117
+ """
118
+ kana/vim-vspec \(1\.\d+(\.\d+)?\)
119
+ """
120
+ And a dependency "kana/vim-vspec" is stored in ".vim-flavor/pack/flavors/start"
121
+
122
+ Scenario: Testing a Vim plugin with both new and old name flavorfile is warned
123
+ Given a repository "kana/vim-vspec" from offline cache
124
+ And a flavorfile with:
125
+ """ruby
126
+ # No dependencies
127
+ """
128
+ And an old name flavorfile with:
129
+ """ruby
130
+ # No dependencies
131
+ """
132
+ And a file named "plugin/foo.vim" with:
133
+ """vim
134
+ let g:foo = 3
135
+ """
136
+ And a file named "t/basics.vim" with:
137
+ """vim
138
+ " Tests are written with vim-vspec.
139
+ runtime! plugin/foo.vim
140
+ describe 'g:foo'
141
+ it 'is equal to 3'
142
+ Expect g:foo == 3
143
+ end
144
+ end
145
+ """
146
+ When I run `vim-flavor test`
147
+ Then it should pass with regexp:
148
+ """
149
+ -------- Preparing dependencies
150
+ Warning: Delete VimFlavor. Flavorfile is being read instead.
151
+ Checking versions...
152
+ Use kana/vim-vspec ... 1\.\d+(\.\d+)?
153
+ Deploying plugins...
154
+ kana/vim-vspec 1\.\d+(\.\d+)? ... done
155
+ Completed.
156
+ -------- Testing a Vim plugin
157
+ t/basics.vim .. ok
158
+ All tests successful.
159
+ Files=1, Tests=1, \d+ wallclock secs .*
160
+ Result: PASS
161
+ """
162
+ And a lockfile is created and matches with:
163
+ """
164
+ kana/vim-vspec \(1\.\d+(\.\d+)?\)
165
+ """
166
+ And a dependency "kana/vim-vspec" is stored in ".vim-flavor/pack/flavors/start"
@@ -0,0 +1,22 @@
1
+ Feature: Lockfile
2
+ In order to avoid unexpected result and confusion,
3
+ as a lazy Vim user,
4
+ I want to stop vim-flavor process if obsolete file still exists.
5
+
6
+ Scenario: User has old name of lockfile
7
+ Given a repository "foo" with versions "1.0.0 1.0.1 1.0.2"
8
+ And a flavorfile with:
9
+ """ruby
10
+ flavor '$foo_uri'
11
+ """
12
+ And an old name lockfile with:
13
+ """
14
+ $foo_uri (1.0.1)
15
+ """
16
+ When I run `vim-flavor install`
17
+ Then it should fail with template:
18
+ """
19
+ Error: VimFlavor.lock is no longer used. Rename it to Flavorfile.lock.
20
+ """
21
+ And a lockfile is not created
22
+ And a flavor "$foo_uri" is not deployed to "$home/.vim"
@@ -24,7 +24,6 @@ Feature: Changing tracking branches
24
24
  $foo_uri $foo_rev_102 at master ... done
25
25
  Completed.
26
26
  """
27
- And a bootstrap script is created in "$home/.vim"
28
27
  And a flavor "$foo_uri" version "1.0.2" is deployed to "$home/.vim"
29
28
 
30
29
  Scenario: Use a branch instead of a version
@@ -49,7 +48,6 @@ Feature: Changing tracking branches
49
48
  """
50
49
  $foo_uri ($foo_rev_102 at master)
51
50
  """
52
- And a bootstrap script is created in "$home/.vim"
53
51
  And a flavor "$foo_uri" version "1.0.2" is deployed to "$home/.vim"
54
52
 
55
53
  Scenario: Use a version instead of a branch
@@ -74,5 +72,4 @@ Feature: Changing tracking branches
74
72
  """
75
73
  $foo_uri (1.0.2)
76
74
  """
77
- And a bootstrap script is created in "$home/.vim"
78
75
  And a flavor "$foo_uri" version "1.0.2" is deployed to "$home/.vim"
@@ -32,7 +32,6 @@ Feature: Detect incompatible declarations
32
32
  $L_uri branch: experimental is required by $B_uri
33
33
  Please resolve the conflict.
34
34
  """
35
- And a bootstrap script is not created in "$home/.vim"
36
35
  And a flavor "$A_uri" is not deployed to "$home/.vim"
37
36
  And a flavor "$B_uri" is not deployed to "$home/.vim"
38
37
  And a flavor "$L_uri" is not deployed to "$home/.vim"
@@ -66,7 +65,6 @@ Feature: Detect incompatible declarations
66
65
  $L_uri ~> 0.2 is required by $B_uri
67
66
  Please resolve the conflict.
68
67
  """
69
- And a bootstrap script is not created in "$home/.vim"
70
68
  And a flavor "$A_uri" is not deployed to "$home/.vim"
71
69
  And a flavor "$B_uri" is not deployed to "$home/.vim"
72
70
  And a flavor "$L_uri" is not deployed to "$home/.vim"
@@ -24,7 +24,6 @@ Feature: Install Vim plugins with specific branches
24
24
  """
25
25
  $foo_uri ($foo_rev_102 at master)
26
26
  """
27
- And a bootstrap script is created in "$home/.vim"
28
27
  And a flavor "$foo_uri" version "1.0.2" is deployed to "$home/.vim"
29
28
 
30
29
  Scenario: Install a plugin according to a lockfile
@@ -47,5 +46,4 @@ Feature: Install Vim plugins with specific branches
47
46
  $foo_uri $foo_rev_102 at master ... skipped (already deployed)
48
47
  Completed.
49
48
  """
50
- And a bootstrap script is created in "$home/.vim"
51
49
  And a flavor "$foo_uri" version "1.0.2" is deployed to "$home/.vim"
@@ -26,5 +26,4 @@ Feature: Update Vim plugins with specific branches
26
26
  $foo_uri $foo_rev_103 at master ... done
27
27
  Completed.
28
28
  """
29
- And a bootstrap script is created in "$home/.vim"
30
29
  And a flavor "$foo_uri" version "1.0.3" is deployed to "$home/.vim"
@@ -9,6 +9,7 @@ Feature: Deployment
9
9
  """ruby
10
10
  flavor '$foo_uri', '~> 1.0'
11
11
  """
12
+
12
13
  Scenario: Deploy plugins which are not deployed yet
13
14
  Given a flavor "$foo_uri" is not deployed to "$home/.vim"
14
15
  When I run `vim-flavor install`
@@ -1,6 +1,6 @@
1
1
  Flavorfile is a DSL to declare which versions of Vim plugins to use.
2
2
  Whenever `vim-flavor` is invoked to manage Vim plugins,
3
- `vim-flavor` reads a file `VimFlavor` in the current working directory,
3
+ `vim-flavor` reads a file `Flavorfile` in the current working directory,
4
4
  and evaluates it as a flavorfile.
5
5
 
6
6
 
@@ -19,5 +19,4 @@ Feature: Comments
19
19
  And a lockfile is created with:
20
20
  """
21
21
  """
22
- And a bootstrap script is created in "$home/.vim"
23
22
  But a flavor "$foo_uri" is not deployed to "$home/.vim"
@@ -19,7 +19,6 @@ Feature: Groups
19
19
  """
20
20
  $foo_uri (1.2)
21
21
  """
22
- And a bootstrap script is created in "$home/.vim"
23
22
  And a flavor "$foo_uri" version "1.2" is deployed to "$home/.vim"
24
23
  But a flavor "$bar_uri" is not deployed to "$home/.vim"
25
24
 
@@ -35,7 +34,6 @@ Feature: Groups
35
34
  """
36
35
  $foo_uri (1.2)
37
36
  """
38
- And a bootstrap script is created in "$home/.vim"
39
37
  And a flavor "$foo_uri" version "1.2" is deployed to "$home/.vim"
40
38
  But a flavor "$bar_uri" is not deployed to "$home/.vim"
41
39
 
@@ -52,6 +50,5 @@ Feature: Groups
52
50
  And a lockfile is created with:
53
51
  """
54
52
  """
55
- And a bootstrap script is created in "$home/.vim"
56
53
  But a flavor "$foo_uri" is not deployed to "$home/.vim"
57
54
  But a flavor "$bar_uri" is not deployed to "$home/.vim"
@@ -16,7 +16,6 @@ Feature: Repository name
16
16
  """
17
17
  vspec (0.0.4)
18
18
  """
19
- And a bootstrap script is created in "$home/.vim"
20
19
  And a flavor "vspec" version "0.0.4" is deployed to "$home/.vim"
21
20
 
22
21
  Scenario: Declare using a Vim plugin from GitHub
@@ -32,7 +31,6 @@ Feature: Repository name
32
31
  """
33
32
  kana/vim-vspec (0.0.4)
34
33
  """
35
- And a bootstrap script is created in "$home/.vim"
36
34
  And a flavor "kana/vim-vspec" version "0.0.4" is deployed to "$home/.vim"
37
35
 
38
36
  Scenario: Declare using a Vim plugin from an arbitrary URI
@@ -48,5 +46,4 @@ Feature: Repository name
48
46
  """
49
47
  $vspec_uri (0.0.4)
50
48
  """
51
- And a bootstrap script is created in "$home/.vim"
52
49
  And a flavor "$vspec_uri" version "0.0.4" is deployed to "$home/.vim"
@@ -3,10 +3,9 @@ Feature: Version constraint
3
3
  as a lazy Vim user,
4
4
  I want to declare desirable versions of Vim plugins.
5
5
 
6
- Note that vim-flavor assumes that plugins follow [the versioning policies of
7
- RubyGems](http://docs.rubygems.org/read/chapter/7#page26), to determine
8
- compatibility of plugins. See also [Philosophy](../philosophy) for the
9
- details.
6
+ Note that vim-flavor assumes that plugins follow [Semantic Versioning
7
+ 2.0.0](https://semver.org/spec/v2.0.0.html), to determine compatibility of
8
+ plugins. See also [Philosophy](../philosophy) for the details.
10
9
 
11
10
  Background:
12
11
  Given a repository "foo" with versions "1.0 1.1 1.2 2.0"
@@ -22,7 +21,6 @@ Feature: Version constraint
22
21
  """
23
22
  $foo_uri (2.0)
24
23
  """
25
- And a bootstrap script is created in "$home/.vim"
26
24
  And a flavor "$foo_uri" version "2.0" is deployed to "$home/.vim"
27
25
 
28
26
  Scenario: Declare using a Vim plugin not older than a specific version
@@ -36,7 +34,6 @@ Feature: Version constraint
36
34
  """
37
35
  $foo_uri (2.0)
38
36
  """
39
- And a bootstrap script is created in "$home/.vim"
40
37
  And a flavor "$foo_uri" version "2.0" is deployed to "$home/.vim"
41
38
 
42
39
  Scenario: Declare using the latest and compatible version of a Vim plugin
@@ -50,5 +47,4 @@ Feature: Version constraint
50
47
  """
51
48
  $foo_uri (1.2)
52
49
  """
53
- And a bootstrap script is created in "$home/.vim"
54
50
  And a flavor "$foo_uri" version "1.2" is deployed to "$home/.vim"