diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dbc048d939..8ca8251447 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,13 +1,18 @@ # Contributing to Neovim -## Getting started +Getting started +--------------- -- Help us review [open pull requests](https://github.com/neovim/neovim/pulls)! - See [Reviewing](#reviewing) for guidelines. -- Try an [entry-level issue][entry-level] if you are wondering where to start. -- Or [merge a Vim patch]. +If you want to help but don't know where to start, here are some +low-risk/isolated tasks: -## 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]. - Search [existing issues][github-issues] (including closed!) @@ -18,7 +23,8 @@ - [Bisecting][git-bisect] to the cause of a regression often leads to an immediate fix. -## Pull requests ("PRs") +Pull requests ("PRs") +--------------------- - To avoid duplicate work, you may want to create a `[WIP]` pull request so that others know what you are working on. @@ -34,13 +40,13 @@ ### Stages: WIP, RFC -Pull requests are processed in two stages: _WIP_ (Work In Progress) and _RFC_ -(Request For Comment). +Pull requests have two stages: `[WIP]` (Work In Progress) and `[RFC]` (Request +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. - 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 @@ -86,7 +92,8 @@ Use this commit-message format for coverity fixes: where `` 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]. @@ -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 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 [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 @@ -121,4 +126,6 @@ as context, use the `-W` argument as well. [3174]: https://github.com/neovim/neovim/issues/3174 [travis CI]: https://travis-ci.org/neovim/neovim [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 diff --git a/README.md b/README.md index 63c7dd95d7..03d478d42c 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,6 @@ ![Neovim](https://raw.githubusercontent.com/neovim/neovim.github.io/master/logos/neovim-logo.png) -[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) +[Website] | [Community] | [Wiki] | [Documentation] | [Mailing List] | [Twitter] | [Bountysource] [![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) @@ -14,44 +8,48 @@ [![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) [![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: - Simplify maintenance and encourage [contributions](CONTRIBUTING.md) - Split the work between multiple developers -- Enable the implementation of new/modern user interfaces without any - modifications to the core source +- Enable the implementation of new/modern UIs without modifications to the core - 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)! -### 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) -### What's being worked on now +What's been done so far +----------------------- -- Port all IO to [libuv](https://github.com/libuv/libuv/) -- Convert legacy tests to Lua tests -- VimL => Lua translator +- RPC API based on [MessagePack](https://msgpack.org) +- Embedded [terminal emulator](https://neovim.io/doc/user/nvim_terminal_emulator.html) +- 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 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 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 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 +[nvim-features]: https://neovim.io/doc/user/vim_diff.html#nvim-features +[Roadmap]: https://neovim.io/roadmap/ diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 47380428b0..3c8b728b95 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -64,13 +64,13 @@ these differences. MAJOR FEATURES ~ Embedded terminal emulator |terminal-emulator| -Shared data |shada| RPC API |RPC| +Shared data |shada| +XDG base directories |xdg| Job control |job-control| Remote plugins |remote-plugin| Python plugins |provider-python| Clipboard integration |provider-clipboard| -XDG support OTHER FEATURES ~