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 'todo'. 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 build
from 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.
Our tests use shoulda.js and PhantomJS. To run the tests:
git submodule update --init --recursive
-- this pulls in shoulda.js.- Install PhantomJS.
cake build
to compile*.coffee
to*.js
cake test
to run the tests.
Bugs and features are not the only way to contribute -- more tests are always welcome. 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 temp
cake coverage
will 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.
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.
- 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.