mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
doc
This commit is contained in:
parent
3b785b32f9
commit
db375102ea
@ -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
|
||||||
|
63
README.md
63
README.md
@ -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: -->
|
||||||
|
@ -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 ~
|
||||||
|
Loading…
Reference in New Issue
Block a user