This commit is contained in:
Justin M. Keyes 2016-08-10 00:47:04 -04:00
parent 3b785b32f9
commit db375102ea
3 changed files with 59 additions and 45 deletions

View File

@ -1,13 +1,18 @@
# Contributing to Neovim # Contributing to Neovim
## Getting started Getting started
---------------
- Help us review [open pull requests](https://github.com/neovim/neovim/pulls)! If you want to help but don't know where to start, here are some
See [Reviewing](#reviewing) for guidelines. low-risk/isolated tasks:
- Try an [entry-level issue][entry-level] if you are wondering where to start.
- Or [merge a Vim patch].
## Reporting problems - Help us [review pull requests](#reviewing)!
- Merge a [Vim patch].
- Try a [complexity:low] issue.
- Fix [clang-scan] or [coverity](#coverity) warnings.
Reporting problems
------------------
- Check the [**FAQ**][wiki-faq]. - Check the [**FAQ**][wiki-faq].
- Search [existing issues][github-issues] (including closed!) - Search [existing issues][github-issues] (including closed!)
@ -18,7 +23,8 @@
- [Bisecting][git-bisect] to the cause of a regression often leads to an - [Bisecting][git-bisect] to the cause of a regression often leads to an
immediate fix. immediate fix.
## Pull requests ("PRs") Pull requests ("PRs")
---------------------
- To avoid duplicate work, you may want to create a `[WIP]` pull request so that - To avoid duplicate work, you may want to create a `[WIP]` pull request so that
others know what you are working on. others know what you are working on.
@ -34,13 +40,13 @@
### Stages: WIP, RFC ### Stages: WIP, RFC
Pull requests are processed in two stages: _WIP_ (Work In Progress) and _RFC_ Pull requests have two stages: `[WIP]` (Work In Progress) and `[RFC]` (Request
(Request For Comment). For Comment).
- Untagged PRs are assumed to be RFC, meaning the work is ready for review and - Untagged PRs are assumed to be `[RFC]`, i.e. the work is ready for review and
you would like feedback. you would like feedback.
- Preprend `[WIP]` to the PR title if you are _not_ ready for feedback and the - Preprend `[WIP]` to the PR title if you are _not_ ready for feedback and the
work is still in flux. This saves time and confusion. work is still in flux.
### Commit messages ### Commit messages
@ -86,7 +92,8 @@ Use this commit-message format for coverity fixes:
where `<id>` is the Coverity ID (CID). For example see [#804](https://github.com/neovim/neovim/pull/804). where `<id>` is the Coverity ID (CID). For example see [#804](https://github.com/neovim/neovim/pull/804).
## Reviewing Reviewing
---------
To help review pull requests, start with [this checklist][review-checklist]. To help review pull requests, start with [this checklist][review-checklist].
@ -101,8 +108,6 @@ commits in the feature branch which aren't in the `master` branch; `-p`
shows each commit's diff. To show the whole surrounding function of a change shows each commit's diff. To show the whole surrounding function of a change
as context, use the `-W` argument as well. as context, use the `-W` argument as well.
[entry-level]: https://github.com/neovim/neovim/issues?labels=entry-level&state=open
[gcc-warnings]: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html [gcc-warnings]: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
[git-bisect]: http://git-scm.com/book/tr/v2/Git-Tools-Debugging-with-Git [git-bisect]: http://git-scm.com/book/tr/v2/Git-Tools-Debugging-with-Git
[git-feature-branch]: https://www.atlassian.com/git/tutorials/comparing-workflows [git-feature-branch]: https://www.atlassian.com/git/tutorials/comparing-workflows
@ -121,4 +126,6 @@ as context, use the `-W` argument as well.
[3174]: https://github.com/neovim/neovim/issues/3174 [3174]: https://github.com/neovim/neovim/issues/3174
[travis CI]: https://travis-ci.org/neovim/neovim [travis CI]: https://travis-ci.org/neovim/neovim
[quickbuild]: http://neovim-qb.szakmeister.net/dashboard [quickbuild]: http://neovim-qb.szakmeister.net/dashboard
[merge a Vim patch]: https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim [Vim patch]: https://github.com/neovim/neovim/wiki/Merging-patches-from-upstream-Vim
[clang-scan]: https://neovim.io/doc/reports/clang/
[complexity:low]: https://github.com/neovim/neovim/issues?q=is%3Aopen+is%3Aissue+label%3Acomplexity%3Alow

View File

@ -1,12 +1,6 @@
![Neovim](https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo.png) ![Neovim](https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo.png)
[Website](http://neovim.io) | [Website] | [Community] | [Wiki] | [Documentation] | [Mailing List] | [Twitter] | [Bountysource]
[Community](http://neovim.io/community/) |
[Wiki](https://github.com/neovim/neovim/wiki) |
[Documentation](http://neovim.io/doc) |
[Mailing List](https://groups.google.com/forum/#!forum/neovim) |
[Twitter](http://twitter.com/Neovim) |
[Bountysource](https://www.bountysource.com/teams/neovim)
[![Travis Build Status](https://travis-ci.org/neovim/neovim.svg?branch=master)](https://travis-ci.org/neovim/neovim) [![Travis Build Status](https://travis-ci.org/neovim/neovim.svg?branch=master)](https://travis-ci.org/neovim/neovim)
[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/cf1jwc29198748we/branch/master?svg=true)](https://ci.appveyor.com/project/neovim/neovim/branch/master) [![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/cf1jwc29198748we/branch/master?svg=true)](https://ci.appveyor.com/project/neovim/neovim/branch/master)
@ -14,44 +8,48 @@
[![Coverage Status](https://img.shields.io/coveralls/neovim/neovim.svg)](https://coveralls.io/r/neovim/neovim) [![Coverage Status](https://img.shields.io/coveralls/neovim/neovim.svg)](https://coveralls.io/r/neovim/neovim)
[![Coverity Scan Build](https://scan.coverity.com/projects/2227/badge.svg)](https://scan.coverity.com/projects/2227) [![Coverity Scan Build](https://scan.coverity.com/projects/2227/badge.svg)](https://scan.coverity.com/projects/2227)
[![Clang Scan Build](http://neovim.io/doc/reports/clang/badge.svg)](http://neovim.io/doc/reports/clang) [![Clang Scan Build](http://neovim.io/doc/reports/clang/badge.svg)](http://neovim.io/doc/reports/clang)
[![Join the chat at https://gitter.im/neovim/neovim](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/neovim/neovim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Gitter chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/neovim/neovim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Neovim is a project that seeks to aggressively refactor Vim in order to: Neovim is a project that seeks to aggressively refactor Vim in order to:
- Simplify maintenance and encourage [contributions](CONTRIBUTING.md) - Simplify maintenance and encourage [contributions](CONTRIBUTING.md)
- Split the work between multiple developers - Split the work between multiple developers
- Enable the implementation of new/modern user interfaces without any - Enable the implementation of new/modern UIs without modifications to the core
modifications to the core source
- Improve extensibility with a new [plugin architecture](https://github.com/neovim/neovim/wiki/Plugin-UI-architecture) - Improve extensibility with a new [plugin architecture](https://github.com/neovim/neovim/wiki/Plugin-UI-architecture)
For lots more details, see For more details, see
[the wiki](https://github.com/neovim/neovim/wiki/Introduction)! [the wiki](https://github.com/neovim/neovim/wiki/Introduction)!
### What's been done so far
- Automatic [history merge](https://github.com/neovim/neovim/pull/2506) between multiple editor instances
- [XDG-compliant](https://github.com/neovim/neovim/pull/3470) configuration
- Embedded [terminal emulator](https://neovim.io/doc/user/nvim_terminal_emulator.html)
- Asynchronous [job control](https://github.com/neovim/neovim/pull/2247)
- [MessagePack](https://msgpack.org) remote API
- [Pushdown automaton](https://github.com/neovim/neovim/pull/3413) for state transitions
See the [progress page](https://github.com/neovim/neovim/wiki/Progress) for a comprehensive list.
[![Throughput Graph](https://graphs.waffle.io/neovim/neovim/throughput.svg)](https://waffle.io/neovim/neovim/metrics) [![Throughput Graph](https://graphs.waffle.io/neovim/neovim/throughput.svg)](https://waffle.io/neovim/neovim/metrics)
### What's being worked on now What's been done so far
-----------------------
- Port all IO to [libuv](https://github.com/libuv/libuv/) - RPC API based on [MessagePack](https://msgpack.org)
- Convert legacy tests to Lua tests - Embedded [terminal emulator](https://neovim.io/doc/user/nvim_terminal_emulator.html)
- VimL => Lua translator - Asynchronous [job control](https://github.com/neovim/neovim/pull/2247)
- [Shared data (shada)](https://github.com/neovim/neovim/pull/2506) among multiple editor instances
- [XDG base directories](https://github.com/neovim/neovim/pull/3470) support
- [libuv](https://github.com/libuv/libuv/)-based platform/OS/"mch" layer
- [Pushdown automaton](https://github.com/neovim/neovim/pull/3413) input model
- 1000s of new tests
- Legacy tests converted to Lua tests
### How do I get it? See [`:help nvim-features`][nvim-features] for a comprehensive list.
What's being worked on now
--------------------------
See the [Roadmap].
How do I get it?
----------------
There is a formula for OSX/homebrew, a PKGBUILD for Arch Linux, RPM, deb, and There is a formula for OSX/homebrew, a PKGBUILD for Arch Linux, RPM, deb, and
more. See [the wiki](https://github.com/neovim/neovim/wiki/Installing-Neovim)! more. See [the wiki](https://github.com/neovim/neovim/wiki/Installing-Neovim)!
### License License
-------
Neovim is licensed under the terms of the Apache 2.0 license, except for Neovim is licensed under the terms of the Apache 2.0 license, except for
parts that were contributed under the Vim license. parts that were contributed under the Vim license.
@ -76,6 +74,15 @@ See `LICENSE` for details.
You can also sponsor the development of Vim. Vim sponsors can vote for You can also sponsor the development of Vim. Vim sponsors can vote for
features. The money goes to Uganda anyway. features. The money goes to Uganda anyway.
[Website]: http://neovim.io
[Community]: http://neovim.io/community/
[Wiki]: https://github.com/neovim/neovim/wiki
[Documentation]: http://neovim.io/doc
[Mailing List]: https://groups.google.com/forum/#!forum/neovim
[Twitter]: http://twitter.com/Neovim
[Bountysource]: https://www.bountysource.com/teams/neovim
[license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16afb1a498a89d803 [license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16afb1a498a89d803
[nvim-features]: https://neovim.io/doc/user/vim_diff.html#nvim-features
[Roadmap]: https://neovim.io/roadmap/
<!-- vim: set tw=80: --> <!-- vim: set tw=80: -->

View File

@ -64,13 +64,13 @@ these differences.
MAJOR FEATURES ~ MAJOR FEATURES ~
Embedded terminal emulator |terminal-emulator| Embedded terminal emulator |terminal-emulator|
Shared data |shada|
RPC API |RPC| RPC API |RPC|
Shared data |shada|
XDG base directories |xdg|
Job control |job-control| Job control |job-control|
Remote plugins |remote-plugin| Remote plugins |remote-plugin|
Python plugins |provider-python| Python plugins |provider-python|
Clipboard integration |provider-clipboard| Clipboard integration |provider-clipboard|
XDG support
OTHER FEATURES ~ OTHER FEATURES ~