You'd like to fix a bug or implement a feature? Great! Check out the bugs on our issues tracker, or implement one of the suggestions there that have been tagged "help wanted". If you have a suggestion of your own, start a discussion on the issues tracker or on the mailing list. If it mirrors a similar feature in another browser or in Vim itself, let us know. Once you've picked something to work on, add a comment to the respective issue so others don't duplicate your effort.
Please include the following when reporting an issue:
- Chrome and OS Version:
chrome://version - Vimium Version:
chrome://extensions
Vimium is written in Coffeescript, which compiles to Javascript. To install Vimium from source:
- Install Coffeescript.
- Run
cake buildfrom within your vimium directory. Any coffeescript files you change will now be automatically compiled to Javascript. - Navigate to
chrome://extensions - Toggle into Developer Mode
- Click on "Load Unpacked Extension..."
- Select the Vimium directory.
- Run
cake autobuildto watch for changes to coffee files, and have the .js files automatically regenerated
Our tests use shoulda.js and PhantomJS. To run the tests:
git submodule update --init --recursive-- this pulls in shoulda.js.- Install PhantomJS.
cake buildto compile*.coffeeto*.jscake testto run the tests.
You can find out which portions of code need them by looking at our coverage reports. To generate these reports:
- Download JSCoverage or
brew install jscoverage npm install tempcake coveragewill generate a coverage report in the form of a JSON file (jscoverage.json), which can then be viewed using jscoverage-report. See jscoverage-report's README for more details.
- We follow the recommendations from this style guide.
- We follow two major differences from this style guide:
- Wrap lines at 110 characters instead of 80.
- Use double-quoted strings by default.
When you're done with your changes, send us a pull request on Github. Feel free to include a change to the CREDITS file with your patch.
This process is currently only done by Phil or Ilya.
-
Increment the version number in manifest.json
-
Update the Changelog in README.md
You can see a summary of commits since the last version:
git log --oneline v1.45.. -
Push your commits
-
Create a git tag for this newly released version
git tag -a v1.45 -m "v1.45 release" -
Run
cake package -
Take the distributable found in
distand upload it here -
Update the description in the Chrome store to include the latest version's release notes
-
Celebrate