vim-flavor 2.2.0 → 4.0.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.
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"